diff qiime/pick_otus.xml @ 0:003162f90751 draft

Uploaded
author azuzolo
date Wed, 06 Jun 2012 16:40:30 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qiime/pick_otus.xml	Wed Jun 06 16:40:30 2012 -0400
@@ -0,0 +1,171 @@
+<tool id="pick_otus" name="pick_otus" version="2.0.0">
+ <description>OTU picking</description>
+ <requirements>
+  <requirement type="binary">pick_otus.py</requirement>
+ </requirements>
+ <command interpreter="python">
+  qiime_wrapper.py
+  --galaxy_outputdir='$log.extra_files_path'
+  #if $pick.otu_picking_method == 'uclust' and $pick.refseqs_fp.__str__ != 'None':
+    --galaxy_datasets='^\S+_otus\.txt$:'$otus,'^\S+_otus\.log$:'$log,'^\S+_failures\.txt$:'$failures
+  #else:
+    --galaxy_datasets='^\S+_otus\.txt$:'$otus,'^\S+_otus\.log$:'$log
+  #end if
+  pick_otus.py
+  --input_seqs_filepath=$input_seqs_filepath
+  #if $pick.otu_picking_method.__str__ == 'uclust':
+    #if $pick.refseqs_fp.__str__ != 'None':
+      --refseqs_fp=$pick.refseqs_fp
+      --otu_picking_method='uclust_ref'
+      $pick.suppress_new_clusters
+    #else:
+      --otu_picking_method=$pick.otu_picking_method
+    #end if
+    --similarity=$pick.similarity
+    $pick.enable_rev_strand_match
+    $pick.optimal_uclust
+    $pick.exact_uclust
+    $pick.user_sort
+    $pick.suppress_presort_by_abundance_uclust
+    --max_accepts=$pick.max_accepts
+    --max_rejects=$pick.max_rejects
+    #if $pick.uclust_otu_id_prefix != None and $pick.uclust_otu_id_prefix.__str__ != 'None' and $pick.uclust_otu_id_prefix.__str__ != '':
+    --uclust_otu_id_prefix=$pick.uclust_otu_id_prefix
+    #end if
+    $pick.uclust_stable_sort
+    $pick.save_uc_files
+  #elif $pick.otu_picking_method.__str__ == 'mothur':
+    --otu_picking_method=$pick.otu_picking_method
+    --clustering_algorithm=$pick.clustering_algorithm
+    --similarity=$pick.similarity
+  #elif $pick.otu_picking_method.__str__ == 'trie':
+    --otu_picking_method=$pick.otu_picking_method
+    $pick.trie_reverse_seqs
+  #elif $pick.otu_picking_method.__str__ == 'prefix_suffix':
+    --otu_picking_method=$pick.otu_picking_method
+    --prefix_length=$pick.prefix_length
+    --suffix_length=$pick.suffix_length
+  #elif pick.otu_picking_method.__str__ == 'blast':
+    --otu_picking_method=$pick.otu_picking_method
+    #if $refseqs_fp.__str__ != 'None':
+      --refseqs_fp=$pick.refseqs_fp
+    #end if
+    #if $pick.blast_db != None and $pick.blast_db.__str__ != 'None' and $pick.blast_db.__str__ != '':
+    --blast_db=$pick.blast_db
+    #end if
+    --similarity=$pick.similarity
+    --max_e_value=$pick.max_e_value
+    --min_aligned_percent=$pick.min_aligned_percent
+  #elif $pick.otu_picking_method == 'cdhit':
+    --otu_picking_method=$pick.otu_picking_method
+    --similarity=$pick.similarity
+    --max_cdhit_memory=$pick.max_cdhit_memory
+    #if $pick.prefix_prefilter_length != 0:
+    --prefix_prefilter_length=$pick.prefix_prefilter_length
+    #end if
+    $pick.trie_prefilter
+  #end if
+  --output_dir='$log.extra_files_path'
+ </command>
+ <inputs>
+  <param name="input_seqs_filepath" type="data"  format="fasta" label="input_seqs_filepath"
+   help="Input sequences [REQUIRED]"/>
+  <conditional name="pick">
+  <param name="otu_picking_method" type="select" label="otu_picking_method"
+   help="Method for picking OTUs.  Valid choices are: mothur, trie, uclust_ref, prefix_suffix, blast, cdhit, uclust. The mothur method requires an input file of aligned sequences [default: uclust]">
+    <option value="uclust" selected="true">uclust</option>
+    <option value="mothur">mothur</option>
+    <option value="trie">trie</option>
+    <option value="prefix_suffix">prefix_suffix</option>
+    <option value="blast">blast</option>
+    <option value="cdhit">cdhit</option>
+  </param>
+  <when value="mothur">
+    <param name="clustering_algorithm" type="select" label="clustering_algorithm"
+     help="Clustering algorithm for mothur otu picking method. [default: furthest]">
+      <option value="furthest" selected="true">furthest</option>
+      <option value="nearest">nearest</option>
+      <option value="average">average</option>
+    </param>
+    <param name="similarity" type="float" value="0.97" label="similarity"
+     help="Sequence similarity threshold (for cdhit, uclust, or uclust_ref) [default: 0.97]"/>
+  </when> <!-- mothur -->
+  <when value="trie">
+    <param name="trie_reverse_seqs" type="boolean" truevalue="--trie_reverse_seqs" falsevalue="" checked="false" label="trie_reverse_seqs"
+     help="Reverse seqs before picking OTUs with the Trie OTU picker for suffix (rather than prefix) collapsing [default: False]"/>
+  </when> <!-- trie -->
+  <when value="uclust">
+    <param name="refseqs_fp" type="data" format="fasta" label="refseqs_fp" optional="true"
+     help="Reference sequences to search against when using blast, uclust_ref, or usearch_ref [OPTIONAL]"/>
+    <param name="suppress_new_clusters" type="boolean" truevalue="--suppress_new_clusters" falsevalue="" checked="false" label="suppress_new_clusters"
+     help="Suppress creation of new clusters using seqs that don't match reference when using -m uclust_ref [default: False]"/>
+    <param name="suppress_presort_by_abundance_uclust" type="boolean" truevalue="--suppress_presort_by_abundance_uclust" falsevalue="" checked="false" label="suppress_presort_by_abundance_uclust"
+     help="Suppress presorting of sequences by abundance when picking OTUs with uclust or uclust_ref [default: False]"/>
+    <param name="similarity" type="float" value="0.97" label="similarity"
+     help="Sequence similarity threshold (for cdhit, uclust, or uclust_ref) [default: 0.97]"/>
+    <param name="enable_rev_strand_match" type="boolean" truevalue="--enable_rev_strand_match" falsevalue="" checked="false" label="enable_rev_strand_match"
+     help="Enable reverse strand matching for uclust otu picking, will double the amount of memory used. [default: False]"/>
+    <param name="optimal_uclust" type="boolean" truevalue="--optimal_uclust" falsevalue="" checked="false" label="optimal_uclust"
+     help="Pass the --optimal flag to uclust for uclust otu picking. [default: False]"/>
+    <param name="exact_uclust" type="boolean" truevalue="--exact_uclust" falsevalue="" checked="false" label="exact_uclust"
+     help="Pass the --exact flag to uclust for uclust otu picking. [default: False]"/>
+    <param name="user_sort" type="boolean" truevalue="--user_sort" falsevalue="" checked="false" label="user_sort"
+     help="Pass the --user_sort flag to uclust for uclust otu picking. [default: False]"/>
+    <param name="max_accepts" type="integer" value="20" label="max_accepts"
+     help="max_accepts value to uclust and uclust_ref [default: 20]"/>
+    <param name="max_rejects" type="integer" value="500" label="max_rejects"
+     help="max_rejects value to uclust and uclust_ref [default: 500]"/>
+    <param name="uclust_otu_id_prefix" type="text"  label="uclust_otu_id_prefix"
+     help="OTU identifier prefix (string) for the de novo uclust OTU picker [default: None, OTU ids are ascending integers]"/>
+    <param name="uclust_stable_sort" type="boolean" truevalue="--uclust_stable_sort" falsevalue="" checked="false" label="uclust_stable_sort"
+     help="pass --stable_sort to uclust (uclust versions uclustq1.2.15 and later only) [default: False]"/>
+    <param name="save_uc_files" type="boolean" truevalue="" falsevalue="--save_uc_files" checked="false" label="save_uc_files"
+     help="Enable preservation of intermediate uclust (.uc) files that are used to generate clusters via uclust. [default: True]"/>
+  </when> <!-- uclust -->
+  <when value="prefix_suffix">
+    <param name="prefix_length" type="integer" value="50" label="prefix_length"
+     help="Prefix length when using the prefix_suffix otu picker; WARNING: CURRENTLY DIFFERENT FROM prefix_prefilter_length (-n)! [default: 50]"/>
+    <param name="suffix_length" type="integer" value="50" label="suffix_length"
+     help="Suffix length when using the prefix_suffix otu picker [default: 50]"/>
+
+  </when> <!-- prefix_suffix -->
+  <when value="blast">
+    <param name="refseqs_fp" type="data" format="fasta" label="refseqs_fp" optional="true"
+     help="Reference sequences to search against"/>
+    <param name="blast_db" type="data" format="txt" optional="True" label="blast_db"
+     help="Pre-existing database to blast against when using -m blast [OPTIONAL]"/>
+    <param name="min_aligned_percent" type="float" value="0.5" label="min_aligned_percent"
+     help="Minimum percent of query sequence that can be aligned to consider a hit  (BLAST OTU picker only) [default: 0.5]"/>
+    <param name="max_e_value" type="float" value="1e-10" label="max_e_value"
+     help="Max E-value when clustering with BLAST [default: 1e-10]"/>
+  </when> <!-- blast -->
+  <when value="cdhit">
+    <param name="max_cdhit_memory" type="integer" value="400" label="max_cdhit_memory"
+     help="Maximum available memory to cd-hit-est (via the program's -M option) for cdhit OTU picking method (units of Mbyte) [default: 400]"/>
+    <param name="similarity" type="float" value="0.97" label="similarity"
+     help="Sequence similarity threshold (for cdhit, uclust, or uclust_ref) [default: 0.97]"/>
+    <param name="prefix_prefilter_length" type="integer" value="0" label="prefix_prefilter_length"
+     help="Prefilter data so seqs with identical first prefix_prefilter_length are automatically grouped into a single OTU.  This is useful for large sequence collections where OTU picking doesn't scale well [default: None; 100 is a good value]"/>
+    <param name="trie_prefilter" type="boolean" truevalue="--trie_prefilter" falsevalue="" checked="false" label="trie_prefilter"
+     help="prefilter data so seqs which are identical prefixes of a longer seq are automatically grouped into a single OTU; useful for large sequence collections where OTU picking doesn't scale well [default: False]"/>
+  </when> <!-- cdhit -->
+  </conditional> <!-- pick -->
+ </inputs>
+ <outputs>
+   <data format="txt" name="log" label="${tool.name} on ${on_string}: log" />
+   <data format="qiimeotu" name="otus" label="${tool.name} on ${on_string}: otus" />
+   <data format="txt" name="failures" label="${tool.name} on ${on_string}: failures.txt" >
+     <filter>(pick['otu_picking_method'] == 'uclust' and pick['refseqs_fp'])</filter>
+   </data>
+ </outputs>
+ <tests>
+ </tests>
+ <help>For more information, see pick_otus_ in the Qiime documentation.
+  
+Updated and validated 01/16/12 by Amanda Zuzolo, Microbiome Analysis Center, George Mason University, Fairfax, VA
+
+Qiime integration courtesy Jim Johnson, Minnesota Supercomputing Institute, University of Minnesota, Minneapolis, MN
+
+.. _pick_otus: http://qiime.org/scripts/pick_otus.html</help>
+</tool>
+