view pick_otus.xml @ 0:e5c3175506b7 default tip

Initial tool configs for qiime, most need work.
author Jim Johnson <jj@umn.edu>
date Sun, 17 Jul 2011 10:30:11 -0500
parents
children
line wrap: on
line source

<tool id="pick_otus" name="pick_otus" version="1.2.1">
 <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 == '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
    --stepwords=$pick.stepwords
    --word_length=$pick.word_length
    --uclust_otu_id_prefix=$pick.uclust_otu_id_prefix
    $pick.uclust_stable_sort
    $pick.save_uc_files
  #elif $pick.otu_picking_method == 'mothur':
    --otu_picking_method=$pick.otu_picking_method
    --clustering_algorithm=$pick.clustering_algorithm
    --similarity=$pick.similarity
  #elif $pick.otu_picking_method == 'trie':
    --otu_picking_method=$pick.otu_picking_method
    $pick.trie_reverse_seqs
  #elif $pick.otu_picking_method == 'prefix_suffix':
    --otu_picking_method=$pick.otu_picking_method
    --prefix_length=$pick.prefix_length
    --suffix_length=$pick.suffix_length
  #elif pick.otu_picking_method == 'blast':
    --otu_picking_method=$pick.otu_picking_method
    #if $refseqs_fp.__str__ != 'None':
      --refseqs_fp=$pick.refseqs_fp
    #end if
    --blast_db=$pick.blast_db
    --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
    --prefix_prefilter_length=$pick.prefix_prefilter_length
    $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.  Valid choices are: furthest, nearest, average. [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"/>
    <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="stepwords" type="integer" value="20" label="stepwords"
     help="stepwords value to uclust and uclust_ref [default: 20]"/>
    <param name="word_length" type="integer" value="12" label="word_length"
     help="w value to uclust and uclust_ref [default: 12]"/>

    <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: %default, 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="text"  label="blast_db"
     help="Pre-existing database to blast against when using -m blast [default: ('NO', 'DEFAULT')]"/>
    <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="-1" 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: %default; 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>
  
 </help>
</tool>