diff mothur/tools/mothur/remove.rare.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 7bfe1f843858
line wrap: on
line diff
--- a/mothur/tools/mothur/remove.rare.xml	Tue Jun 07 17:35:35 2011 -0400
+++ b/mothur/tools/mothur/remove.rare.xml	Tue Jun 07 17:39:06 2011 -0400
@@ -1,71 +1,103 @@
-<tool id="mothur_remove_rare" name="Remove.rare" version="1.16.0">
+<tool id="mothur_remove_rare" name="Remove.rare" version="1.19.0">
  <description>Remove rare OTUs</description>
  <command interpreter="python">
   mothur_wrapper.py 
-  ## output {group_file_name}.pick.{label}.groups   {list_file_name}.pick.{label}.list 
+  ## output {group_file_name}.pick.groups   {list_file_name}.pick.{format} 
   #import re, os.path
   #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
   --cmd='remove.rare'
   --outputdir='$logfile.extra_files_path'
-  #if isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('shared').__class__):
-   --shared=$otu
-   #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
-    --group=$group_in
+  #if isinstance($input.otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('shared').__class__):
+   --shared=$input.otu
+   $input.bygroup
+   #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+    --groups=$input.groups
    #end if
-   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $pick_shared.__str__]
-  #elif isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('rabund').__class__):
-   --rabund=$otu
-   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $pick_rabund.__str__]
-  #elif isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('sabund').__class__):
-   --sabund=$otu
-   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $pick_sabund.__str__]
-  #elif isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('list').__class__):
-   --list=$otu
-   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $pick_list.__str__]
-   $bygroup
+   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu.__str__)) + ":'" + $pick_otu.__str__]
+  #elif isinstance($input.otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('rabund').__class__):
+   --rabund=$input.otu
+   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu.__str__)) + ":'" + $pick_otu.__str__]
+  #elif isinstance($input.otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('sabund').__class__):
+   --sabund=$input.otu
+   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu.__str__)) + ":'" + $pick_otu.__str__]
+  #elif isinstance($input.otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('list').__class__):
+   --list=$input.otu
+   #if $input.group.__str__ != "None" and len($input.group.__str__) > 0:
+    --group=$input.group
+    #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.group.__str__)) + ":'" + $pick_group.__str__]
+   #end if
+   #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+    --groups=$input.groups
+   #end if
+   #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($input.otu.__str__)) + ":'" + $pick_otu.__str__]
   #end if
-  #if $label.__str__ != "None" and len($label.__str__) > 0:
-   --label=$label
-  #end if
-  #if $groups.__str__ != "None" and len($groups.__str__) > 0:
-   --groups=$groups
+  #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+   --label=$input.label
   #end if
   --nseqs=$nseqs
   --result=#echo ','.join($results)
  </command>
  <inputs>
-  <param name="otu" type="data" format="list,rabund,sabund,shared" label="shared/relabund - Otu dataset"/>
-  <param name="group_in" type="data" format="groups" label="group - Groups" optional="true"/>
-  <param name="label" type="select" optional="true" label="label - OTU Labels" >
-   <options from_dataset="otu">
-    <column name="name" index="0"/>
-    <column name="value" index="0"/>
-    <filter type="unique_value" name="unq_lbl" column="0" />
-   </options>
-  </param>
-  <param name="groups" type="select" optional="true" label="groups - Pick groups to annalyze" multiple="true">
-   <options from_dataset="otu">
-    <column name="name" index="1"/>
-    <column name="value" index="1"/>
-    <filter type="unique_value" name="unq_grp" column="1" />
-   </options>
-  </param>
-  <param name="nseqs" type="integer" value="1" label="nseqs - iNumber of sequences cutoff for an otu to be deemed rare"/> 
-  <param name="bygroup" type="boolean" truevalue="--bygroup=true" falsevalue="" checked="false" label="bygroup - Remove any OTU that has nseqs or fewer sequences across all groups"/> 
+  <conditional name="input">
+   <param name="source" type="select" label="Select Input Format">
+    <option value="shared">shared</option>
+    <option value="list">list and groups</option>
+    <option value="default">rabund, sabund, or list</option>
+   </param>
+   <when value="shared">
+    <param name="otu" type="data" format="shared" label="shared - Otu dataset"/>
+    <param name="groups" type="select" optional="true" label="groups - Pick groups to analyze" multiple="true">
+     <options from_dataset="otu">
+      <column name="name" index="1"/>
+      <column name="value" index="1"/>
+      <filter type="unique_value" name="unq_grp" column="1" />
+     </options>
+    </param>
+    <param name="bygroup" type="boolean" truevalue="--bygroup=true" falsevalue="" checked="false" label="bygroup - Remove any OTU that has nseqs or fewer sequences across all groups"/> 
+    <param name="label" type="select" multiple="true" optional="true" label="label - OTU Labels" >
+     <options from_dataset="otu">
+      <column name="name" index="0"/>
+      <column name="value" index="0"/>
+      <filter type="unique_value" name="unq_lbl" column="0" />
+     </options>
+    </param>
+   </when>
+   <when value="list">
+    <param name="otu" type="data" format="list" label="list - Otu dataset"/>
+    <param name="group" type="data" format="groups" label="group - Groups" />
+    <param name="groups" type="select" optional="true" label="groups - Pick groups to analyze" multiple="true">
+     <options from_dataset="group">
+      <column name="name" index="1"/>
+      <column name="value" index="1"/>
+      <filter type="unique_value" name="unq_grp" column="1" />
+     </options>
+    </param>
+    <param name="label" type="select" multiple="false" optional="true" label="label - OTU Labels" >
+     <options from_dataset="otu">
+      <column name="name" index="0"/>
+      <column name="value" index="0"/>
+      <filter type="unique_value" name="unq_lbl" column="0" />
+     </options>
+    </param>
+   </when>
+   <when value="default">
+    <param name="otu" type="data" format="shared,list,rabund,sabund" label="shared,list,rabund,sabund - Otu dataset"/>
+    <param name="label" type="select" multiple="true" optional="true" label="label - OTU Labels" >
+     <options from_dataset="otu">
+      <column name="name" index="0"/>
+      <column name="value" index="0"/>
+      <filter type="unique_value" name="unq_lbl" column="0" />
+     </options>
+    </param>
+   </when>
+  </conditional>
+  <param name="nseqs" type="integer" value="1" label="nseqs - Number of sequences cutoff for an otu to be deemed rare"/> 
  </inputs>
  <outputs>
   <data format="html" name="logfile" label="${tool.name} on ${on_string}: logfile" />
-  <data format="list" name="pick_list" label="${tool.name} on ${on_string}: pick.list">
-   <filter>otu.datatype == 'list'</filter>
-  </data>
-  <data format="rabund" name="pick_rabund" label="${tool.name} on ${on_string}: pick.rabund">
-   <filter>otu.datatype == 'rabund'</filter>
-  </data>
-  <data format="sabund" name="pick_sabund" label="${tool.name} on ${on_string}: pick.sabund">
-   <filter>otu.datatype == 'sabund'</filter>
-  </data>
-  <data format="shared" name="pick_shared" label="${tool.name} on ${on_string}: pick.shared">
-   <filter>otu.datatype == 'shared'</filter>
+  <data format_source="otu" name="pick_otu" label="${tool.name} on ${on_string}: pick.${input.otu.ext}"/>
+  <data format="groups" name="pick_group" label="${tool.name} on ${on_string}: pick.groups">
+   <filter>input['source'] == 'list'</filter>
   </data>
  </outputs>
  <requirements>
@@ -84,8 +116,12 @@
 
 **Command Documenation**
 
-The remove.rare_ command reads one of the following file types: list, rabund, sabund or shared file. It outputs a new file after removing the rare otus.
+The remove.rare_ command reads one of the following file types: list_, rabund_, sabund_ or shared_ file. It outputs a new file after removing the rare otus.
 
+.. _list: http://www.mothur.org/wiki/List_file
+.. _sabund: http://www.mothur.org/wiki/Sabund_file
+.. _rabund: http://www.mothur.org/wiki/Rabund_file
+.. _shared: http://www.mothur.org/wiki/Shared_file
 .. _remove.rare: http://www.mothur.org/wiki/Remove.rare