view mothur/tools/mothur/screen.seqs.xml @ 35:95d75b35e4d2

Updated tools to use Mothur 1.33. Added some misc. fixes and updates (blast repository, tool fixes)
author certain cat
date Fri, 31 Oct 2014 15:09:32 -0400
parents a3eed59297ea
children
line wrap: on
line source

<tool id="mothur_screen_seqs" name="Screen.seqs" version="1.24.0">
 <description>Screen sequences</description>
 <command interpreter="python">
  mothur_wrapper.py 
  #import re, os.path
  --cmd='screen.seqs'
  #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
  #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_fasta.__str__)) + ":'" + $out_file.__str__]
  #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.bad.accnos',$os.path.basename($input_fasta.__str__)) + ":'" + $bad_accnos.__str__]
  --outputdir='$logfile.extra_files_path'
  --tmpdir='${logfile.extra_files_path}/input'
  --fasta=$input_fasta
  #if int($start) >= 0:
   --start=$start
  #end if
  #if int($end) >= 0:
   --end=$end
  #end if
  #if int($minlength) >= 0:
   --minlength=$minlength
  #end if
  #if int($maxlength) >= 0:
   --maxlength=$maxlength
  #end if
  #if int($maxambig) >= 0:
   --maxambig=$maxambig
  #end if
  #if int($maxhomop) >= 0:
   --maxhomop=$maxhomop
  #end if
  #if int($criteria) >= 0:
   --criteria=$criteria
  #end if
  #if $optimize != None and $optimize.__str__ != "None":
   --optimize=$optimize
  #end if
  #if $input_qfile != None and $input_qfile.__str__ != "None":
   --qfile=$input_qfile
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_qfile.__str__)) + ":'" + $output_qfile.__str__]
  #end if
  #if $input_names != None and $input_names.__str__ != "None":
   --name=$input_names
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_names.__str__)) + ":'" + $output_names.__str__]
  #end if
  #if $input_groups != None and $input_groups.__str__ != "None":
   --group=$input_groups
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_groups.__str__)) + ":'" + $output_groups.__str__]
  #end if
  #if $input_alignreport != None and $input_alignreport.__str__ != "None":
   --alignreport=$input_alignreport
   ###set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_alignreport.__str__)) + ":'" + $output_alignreport.__str__]
   #set results = $results + ["'^\S+\.good\.align\.report$:'" + $output_alignreport.__str__]
  #end if
  #if $input_taxonomy != None and $input_taxonomy.__str__ != "None":
   --taxonomy=$input_taxonomy
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.good.\2',$os.path.basename($input_taxonomy.__str__)) + ":'" + $output_taxonomy.__str__]
  #end if
  --result=#echo ','.join($results)
  --processors=8
	#if $count.__str__ != "None" and len($count.__str__) > 0:
		--count=$count
	#end if
  #if $summary != None and $summary.__str__ != "None":
   --summary=$summary
  #end if
	#if $contigsreport != None and $contigsreport.__str__ != "None":
   --contigsreport=$contigsreport
  #end if


 </command>
 <inputs>
  <param name="input_fasta" type="data" format="fasta,align" label="fasta - Fasta to screen"/>
  <param name="start" type="integer" value="-1" label="start - Remove sequences that start after position (ignored when negative)"/>
  <param name="end" type="integer" value="-1" label="end - Remove sequences that end before position (ignored when negative)"/>
  <param name="minlength" type="integer" value="-1" label="minlength - Remove sequences shorter than (ignored when negative)"/>
  <param name="maxlength" type="integer" value="-1" label="maxlength - Remove sequences longer than (ignored when negative)"/>
  <param name="maxambig" type="integer" value="-1" label="maxambig - Remove sequences with ambiguous bases greater than (ignored when negative)"/>
  <param name="maxhomop" type="integer" value="-1" label="maxhomop - Remove sequences with homopolymers greater than (ignored when negative)"/>
  <param name="criteria" type="integer" value="-1" label="criteria - Percent of sequences that an optimize value must match to be retained(ignored when negative)"/>
  <param name="optimize" type="select" multiple="true" display="checkboxes" label="optimize - Optimize selected paramenters">
   <option value="start">start</option>
   <option value="end">end</option>
   <option value="minlength">minlength</option>
   <option value="maxlength">maxlength</option>
   <option value="maxambig">maxambig</option>
   <option value="maxhomop">maxhomop</option>
  </param>
  <param name="input_qfile" type="data" format="qual" optional="true" label="qfile - Sequence Quality file  to screen"/>
  <param name="input_names" type="data" format="names" optional="true" label="name - Sequence Names to screen"/>
  <param name="input_groups" type="data" format="groups" optional="true" label="group - Groups to screen"/>
  <param name="input_alignreport" type="data" format="align.report" optional="true" label="alignreport - Align Report to screen"/>
  <param name="summary" type="data" format="synnary" optional="true" label="summary - allows you to enter the summary file created by summary.seqs to save processing time when screening with parameters in the summary file"/>
  <param name="contigsreport" type="data" format="contigs.report" optional="true" label="contigsreport - file is created by the make.contigs command. If you provide the contigs report file you can screen your sequences using the following parameters: minoverlap, ostart, oend and mismatches"/>
  <param name="input_taxonomy" type="data" format="taxonomy" optional="true" label="taxonomy - Taxonomy to screen"/>
	<param name="count" type="data" format="count_table" optional="true" label="count - a count_table" help="generated by count.seqs"/>
 </inputs>
 <outputs>
  <data format="html" name="logfile" label="${tool.name} on ${on_string}: logfile" />
  <data format_source="input_fasta" name="out_file" label="${tool.name} on ${on_string}: good.${input_fasta.datatype.file_ext}" />
  <data format="accnos" name="bad_accnos" label="${tool.name} on ${on_string}: bad.accnos" />
  <data format_source="input_qfile" name="output_qfile" label="${tool.name} on ${on_string}: qfile" >
   <filter>input_qfile != None</filter>
  </data>
  <data format="names" name="output_names" label="${tool.name} on ${on_string}: names" >
   <filter>input_names != None</filter>
  </data>
  <data format="groups" name="output_groups" label="${tool.name} on ${on_string}: groups" >
   <filter>input_groups != None</filter>
  </data>
  <data format="align.report" name="output_alignreport" label="${tool.name} on ${on_string}: align.report" >
   <filter>input_alignreport != None</filter>
  </data>
  <data format="taxonomy" name="output_taxonomy" label="${tool.name} on ${on_string}: taxonomy" >
   <filter>input_taxonomy != None</filter>
  </data>
 </outputs>
 <requirements>
<requirement type = "package" version ="1.33">mothur</requirement>
 </requirements>
 <tests>
 </tests>
 <help>
**Mothur Overview**

Mothur_, initiated by Dr. Patrick Schloss and his software development team
in the Department of Microbiology and Immunology at The University of Michigan,
provides bioinformatics for the microbial ecology community.

.. _Mothur: http://www.mothur.org/wiki/Main_Page

**Command Documenation**

The screen.seqs_ command enables you to keep sequences that fulfill certain user defined criteria. Furthermore, it enables you to cull those sequences not meeting the criteria from a name_, group_, or align.report_ file. 

.. _name: http://www.mothur.org/wiki/Name_file
.. _group: http://www.mothur.org/wiki/Group_file
.. _align.report: http://www.mothur.org/wiki/Align.seqs
.. _screen.seqs: http://www.mothur.org/wiki/Screen.seqs


 </help>
</tool>