view mothur/tools/mothur/pcr.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 49058b1f8d3f
children 040410b8167e
line wrap: on
line source

<tool id="mothur_pcr_seqs" name="Pcr.seqs" version="1.26.0">
 <description>Trim sequences</description>
 <command interpreter="python">
  mothur_wrapper.py 
  --cmd='pcr.seqs'
  #import re, os.path
  #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
  ## adds .pcr before the last extension to the input file
  #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pcr.\2',$os.path.basename($fasta.__str__)) + ":'" + $pcr_fasta.__str__]
  #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pcr.scrap.\2',$os.path.basename($fasta.__str__)) + ":'" + $scrap_fasta.__str__]
  --outputdir='$logfile.extra_files_path'
  --fasta=$fasta
  #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
   --name=$name_in
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pcr.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
  #end if
  #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
   --group=$group_in
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pcr.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
  #end if
  #if $taxonomy_in.__str__ != "None" and len($taxonomy_in.__str__) > 0:
   --taxonomy=$taxonomy_in
   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pcr.\2',$os.path.basename($taxonomy_in.__str__)) + ":'" + $taxonomy_out.__str__]
  #end if
  #if $trim.method == 'oligos': 
   --oligos=$trim.oligos
   --nomatch=$trim.nomatch
   $trim.keepprimer
  #elif $trim.method == 'reference': 
   --ecoli=$trim.ecoli
  #elif $trim.method == 'position': 
   #if $trim.start.__str__ != '' and int($trim.start.__str__) > 0:
    --start=$trim.start
   #end if
   #if $trim.end.__str__ != '' and int($trim.end.__str__) > 0:
    --end=$trim.end
   #end if
  #end if
  $keepdots
  --result=#echo ','.join($results)
  --processors=8
  #if $pdiffs.__str__ != '' and int($pdiffs.__str__) > 0:
   --pdiffs=$pdiffs
  #end if
 </command>
 <inputs>
  <param name="fasta" type="data" format="fasta" label="fasta - Candiate Sequences"/>

  <conditional name="trim">
   <param name="method" type="select" label="Trim with an oligos file?" help="">
    <option value="oligos">oligos</option>
    <option value="reference">reference sequence</option>
    <option value="position">start and end positions</option>
   </param>
   <when value="oligos">
    <param name="oligos" type="data" format="oligos" optional="true" label="oligos - barcodes and primers"
           help="a file that can contain the sequences of the forward and reverse primers and barcodes and their sample identifier. 
                Each line of the oligos file can start with the key words &quot;forward&quot;, &quot;reverse&quot;, 
                and &quot;barcode&quot; or it can start with a &quot;#&quot; to tell mothur to ignore that line of the oligos file.  "/>
    <param name="nomatch" type="select" label="nomatch - action when no primer is found" 
           help="">
     <option value="reject" selected="true">reject (default)</option>
     <option value="keep">keep</option>
    </param>
    <param name="keepprimer" type="boolean" falsevalue="" truevalue="--keepprimer=true" checked="false" 
           label="keepprimer - keep the primer in the output sequence"/>
   </when>
   <when value="reference">
    <param name="ecoli" type="data" format="fasta" optional="true" label="ecoli - An aligned reference sequence for trimming"
         help="The ecoli parameter is used to provide a fasta file containing a single reference sequence (e.g. for e. coli) this must be aligned. Mothur will trim to the start and end positions of the reference sequence."/>
   </when>
   <when value="position">
    <param name="start" type="integer" value="" optional="true" label="start - a starting position to trim to">
     <validator type="in_range" message="Starting position can't be negative" min="0"/>
    </param>
    <param name="end" type="integer" value="" optional="true" label="end - a ending position to trim from">
     <validator type="in_range" message="Starting position can't be negative and should be " min="0"/>
    </param>
   </when>
  </conditional> <!-- trimtype -->

  <param name="keepdots" type="boolean" falsevalue="--keepdots=false" truevalue="" checked="true" 
         label="keepdots - keep the leading and trailing alignment dots in the output sequences"/>
  <param name="taxonomy_in" type="data" format="seq.taxonomy" optional="true" label="taxonomy - Sequence Taxonomy"/>
  <param name="name_in" type="data" format="names" optional="true" label="name - Sequence representative name list"/>
  <param name="group_in" type="data" format="groups" optional="true" label="group - Group file"/>
 <param name="pdiffs" type="integer" value="0" label="pdiffs - number of differences to allow in the primer (default 0)">
      <validator type="in_range" message="Number of differences can't be negative" min="0"/>
    </param>
 </inputs>
 <outputs>
  <data format="html" name="logfile" label="${tool.name} on ${on_string}: logfile" />
  <data format_source="fasta" name="pcr_fasta" label="${tool.name} on ${on_string}: pcr.fasta" />
  <data format_source="fasta" name="scrap_fasta" label="${tool.name} on ${on_string}: pcr.scrap.fasta" />
  <data format="seq.taxonomy" name="taxonomy_out" label="${tool.name} on ${on_string}: tax.summary" >
    <filter>taxonomy_in != None</filter>
  </data>
  <data format="groups" name="group_out" label="${tool.name} on ${on_string}: " >
    <filter>group_in != None</filter>
  </data>
  <data format="names" name="name_out" label="${tool.name} on ${on_string}: " >
    <filter>name_in != 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 pcr.seqs_ command assigns sequences to chosen taxonomy outline.

.. _pcr.seqs: http://www.mothur.org/wiki/Pcr.seqs


 </help>
</tool>