view mothur/tools/mothur/chimera.pintail.xml @ 2:e990ac8a0f58

Migrated tool version 1.19.0 from old tool shed archive to new tool shed repository
author jjohnson
date Tue, 07 Jun 2011 17:39:06 -0400
parents fcc0778f6987
children ce6e81622c6a
line wrap: on
line source

<tool id="mothur_chimera_pintail" name="Chimera.pintail" version="1.19.0">
 <description>Find putative chimeras using pintail</description>
 <command interpreter="python">
  mothur_wrapper.py 
  --cmd='chimera.pintail'
  ## --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.pintail\.chimeras$:'$out_file,'^\S+\.pintail\.accnos$:'$out_accnos,'^\S+\.freq$:'$out_freq,'^\S+\.quan$:'$out_quantile
  #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
  #set results = $results + ["'^\S+\.pintail\.chimeras$:'" + $out_file.__str__]
  #set results = $results + ["'^\S+\.pintail\.accnos$:'" + $out_accnos.__str__]
  --outputdir='$logfile.extra_files_path'
  --fasta=$fasta
  --reference=$alignment.template
  $filter
  #if $mask.source == 'default':
   --mask=default
  #elif $mask.source == 'history':
   --mask=$mask.input
  #end if
  #if $conservation.__str__ != "None" and len($conservation.__str__) > 0:
   --conservation='$conservation'
  #else
   #set results = $results + ["'^\S+\.freq$:'" + $out_freq.__str__]
  #end if
  #if $quantile.__str__ != "None" and len($quantile.__str__) > 0:
   --quantile='$quantile'
  #else
   #set results = $results + ["'^\S+\.quan$:'" + $out_quantile.__str__]
  #end if
  #if int($window.__str__) > 0:
   --window=$window
  #end if
  #if int($increment.__str__) > 0:
   --increment=$increment
  #end if
  --result=#echo ','.join($results)
  --processors=2
 </command>
 <inputs>
  <param name="fasta" type="data" format="fasta" label="fasta - Candiate Sequences"/>
  <conditional name="alignment">
   <param name="source" type="select" label="Select Reference Template from" help="">
    <option value="hist">History</option>
    <option value="ref">Cached Reference</option>
   </param>
   <when value="ref">
    <param name="template" type="select" label="reference - Select an alignment database " help="">
     <options from_file="mothur_aligndb.loc">
      <column name="name" index="0" />
      <column name="value" index="1" />
     </options>
    </param>
   </when>
   <when value="hist">
    <param name="template" type="data" format="fasta" label="reference - Reference to align with" help=""/>
   </when>
  </conditional>
  <param name="filter" type="boolean" falsevalue="" truevalue="--filter=true" checked="false" label="filter - Apply a 50% soft vertical filter"/>
  <!-- mask -->
  <conditional name="mask">
   <param name="source" type="select" label="Mask option">
    <option value="">None</option>
    <option value="default">default ecoli mask</option>
    <option value="history">From your history</option>
   </param>
   <when value=""/>
   <when value="default"/>
   <when value="history">
    <param name="input" type="data" format="filter" label="Mask for the template file" help=""/>
   </when>
  </conditional>
  <param name="conservation" type="data" format="freq" optional="true" label="conservation - Template Conserved frequencies"
         help="a file containing the frequency information for your template file to increase speed. Mothur will generate this for you but it takes a long time.">
   <validator type="metadata" metadata_name="columns" />
  </param>
  <param name="quantile" type="data" format="quan" optional="true" label="quantile - Template quantile information"
         help=" file containing the quantiles information for your template file to increase speed. Mothur can generate this for you but it takes a VERY long time.  Note that when you use the filter, mask or mask and filter you need to select the appropriate quantile file. The filter parameter makes the quantile file generated specific to the query set you are analyzing."/>
  <param name="window" type="integer" value="0" label="window - Length of sequence you want in each window analyzed (uses default if &lt; 1)" 
         help="Default is set to 300. Note, changing the window size will require new quantile files to be made."/>
  <param name="increment" type="integer" value="25" label="increment - Increment for window slide on each iteration (uses default if &lt; 1)"
         help="Default is 25. Note, changing the increment will require new quantile files to be made."/>
 </inputs>
 <outputs>
  <data format="html" name="logfile" label="${tool.name} on ${on_string}: logfile" />
  <data format="txt" name="out_file" label="${tool.name} on ${on_string}: pintail.chimeras" />
  <data format="accnos" name="out_accnos" label="${tool.name} on ${on_string}: pintail.accnos" />
  <data format="freq" name="out_freq" label="${tool.name} on ${on_string}: pintail.freq" >
   <filter>conservation == None</filter>
  </data>
  <data format="quan" name="out_quantile" label="${tool.name} on ${on_string}: pintail.quan" >
   <filter>quantile == None</filter>
   <!-- The following is not working, need to see if filter param can be referenced -->
   <actions>
    <conditional name="filter">
     <when value="True">
       <conditional name="mask">
        <when value="">
         <action type="format" default="filtered.quan"/>
        </when>
        <when value="default">
         <action type="format" default="filtered.masked.quan"/>
        </when>
        <when value="history">
         <action type="format" default="filtered.masked.quan"/>
        </when>
       </conditional>
     </when>
     <when value="False">
       <conditional name="mask">
        <when value="">
         <action type="format" default="quan"/>
        </when>
        <when value="default">
         <action type="format" default="masked.quan"/>
        </when>
        <when value="history">
         <action type="format" default="masked.quan"/>
        </when>
       </conditional>
     </when>
    </conditional>
   </actions>
  </data>
 </outputs>
 <requirements>
  <requirement type="binary">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 chimera.pintail_ command identifies putative chimeras using the pintail approach.  It looks at the variation between the expected differences and the observed differences in the query sequence over several windows.

This method was written using the algorithms described in the paper_ "At Least 1 in 20 16S rRNA Sequence Records Currently Held in the Public Repositories is Estimated To Contain Substantial Anomalies" by Kevin E. Ashelford 1, Nadia A. Chuzhanova 3, John C. Fry 1, Antonia J. Jones 2 and Andrew J. Weightman 1.


From www.bioinformatics-toolkit.org_

The Pintail algorithm is a technique for determining whether a 16S rDNA sequence is anomalous.  It is based on the idea that the extent of local base differences between two aligned 16S rDNA sequences should be roughly the same along the length of the alignment (having allowed for the underlying pattern of hypervariable and conserved regions known to exist within the 16S rRNA gene).  In other words, evolutionary distance between two reliable sequences should be constant along the length of the gene.  

In contrast, if an error-free sequence is compared with an anomalous sequence, evolutionary distance along the alignment is unlikely to be constant, especially if the anomaly in question is a chimera and formed from phylogenetically different parental sequences.  

The Pintail algorithm is designed to detect and quantify such local variations and in doing so generates the Deviation from Expectation (DE) statistic.  The higher the DE value, the greater the likelihood that the query is anomalous.

The algorithm works as follows

The sequence to be checked (the query) is first globally aligned with a phylogenetically similar sequence known to be error-free (the subject).  At regular intervals along the resulting alignment, the local evolutionary distance between query and subject is estimated by recording percentage base mismatches within a sampling window of fixed length.  The resulting array of percentages (observed percentage differences) reflects variations in evolutionary distance between the query and subject along the length of the 16S rRNA gene.  Subtracting observed percentage differences from an equivalent array of expected percentage differences (predicted values for error-free sequences), we obtain a set of deviations, the standard deviation of which (Deviation from Expectation, DE) summarises the variation between observed and expected datasets.  The greater the DE value, the greater the disparity there is between observed and expected percentage differences, and the more likely it is that the query sequence is anomalous.  


.. _paper: http://www.ncbi.nlm.nih.gov/pubmed/16332745
.. _www.bioinformatics-toolkit.org: http://www.bioinformatics-toolkit.org/Help/Topics/pintailAlgorithm.html
.. _chimera.pintail: http://www.mothur.org/wiki/Chimera.pintail


 </help>
</tool>