diff remove.seqs.xml @ 0:e59ddb750b65 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mothur commit a9d1e0debcd357d8080a1c6c5f1d206dd45a7a4d
author iuc
date Fri, 19 May 2017 05:58:47 -0400
parents
children 0b8ca0026f28
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remove.seqs.xml	Fri May 19 05:58:47 2017 -0400
@@ -0,0 +1,185 @@
+<tool profile="16.07" id="mothur_remove_seqs" name="Remove.seqs" version="@WRAPPER_VERSION@.0">
+    <description>Remove sequences by name</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <expand macro="stdio"/>
+    <expand macro="version_command"/>
+    <command><![CDATA[
+        @SHELL_OPTIONS@
+
+        ## if accnos file is empty, just output files as-is, mothur errors if accnos empty (e.g. chimera filtering in pipeline but sample had no chimeras)
+        #import os
+        #if $os.lstat(str($accnos)).st_size == 0:
+            echo "accnos file empty, nothing to remove, skipping step"
+            #if $fasta_in:
+                && cp $fasta_in $fasta_out
+            #end if
+            #if $fastq_in:
+                && cp $fastq_in $fastq_out
+            #end if
+            #if $count_in:
+                && cp $count_in $count_out
+            #end if
+            #if $qfile_in:
+                && cp $qfile_in $qfile_out
+            #end if
+            #if $name_in:
+                && cp $name_in $name_out
+            #end if
+            #if $group_in:
+                && cp $group_in $group_out
+            #end if
+            #if $alignreport_in:
+                && cp $alignreport_in $alignreport_out
+            #end if
+            #if $list_in:
+                && cp $list_in $list_out
+            #end if
+            #if $taxonomy_in:
+                && cp $taxonomy_in $taxonomy_out
+            #end if
+        #else:
+            ## create symlinks to input datasets
+            ln -s "$accnos" accnos.dat &&
+            ln -s "$fasta_in" fasta_in.dat &&
+            ln -s "$fastq_in" fastq_in.dat &&
+            ln -s "$count_in" count_in.dat &&
+            ln -s "$qfile_in" qfile_in.dat &&
+            ln -s "$name_in" name_in.dat &&
+            ln -s "$group_in" group_in.dat &&
+            ln -s "$alignreport_in" alignreport_in.dat &&
+            ln -s "$list_in" list_in.dat &&
+            ln -s "$taxonomy_in" taxonomy_in.dat &&
+
+            echo 'remove.seqs(
+                accnos=accnos.dat
+                #if $fasta_in:
+                    ,fasta=fasta_in.dat
+                #end if
+                #if $fastq_in:
+                    ,fastq=fastq_in.dat
+                #end if
+                #if $count_in:
+                    ,count=count_in.dat
+                #end if
+                #if $qfile_in:
+                    ,qfile=qfile_in.dat
+                #end if
+                #if $name_in:
+                    ,name=name_in.dat
+                #end if
+                #if $group_in:
+                    ,group=group_in.dat
+                #end if
+                #if $alignreport_in:
+                    ,alignreport=alignreport_in.dat
+                #end if
+                #if $list_in:
+                    ,list=list_in.dat
+                #end if
+                #if $taxonomy_in:
+                    ,taxonomy=taxonomy_in.dat
+                #end if
+                $dups
+            )'
+            | sed 's/ //g'  ## mothur trips over whitespace
+            | mothur
+        | tee mothur.out.log
+        #end if
+    ]]></command>
+    <inputs>
+        <param name="accnos" type="data" format="mothur.accnos" label="accnos - Accession Names of sequences to be removed"/>
+        <param name="fasta_in" type="data" format="fasta" optional="true" label="fasta - Fasta Sequences"/>
+        <param name="qfile_in" type="data" format="qual" optional="true" label="qfile - Fasta Quality"/>
+        <param name="fastq_in" type="data" format="fastq" optional="true" label="fastq"/>
+        <param name="name_in" type="data" format="mothur.names" optional="true" label="name - Sequences Name reference"/>
+        <param name="group_in" type="data" format="mothur.groups" optional="true" label="group - Sequences Groups"/>
+        <param name="alignreport_in" type="data" format="mothur.align.report" optional="true" label="alignreport - Align Report"/>
+        <param name="list_in" type="data" format="mothur.list" optional="true" label="list - OTU List"/>
+        <param name="taxonomy_in" type="data" format="mothur.seq.taxonomy" optional="true" label="taxonomy - Taxonomy"/>
+        <param name="count_in" type="data" format="mothur.count_table" optional="true" label="count - a count_table" help="generated by count.seqs"/>
+        <param name="dups" type="boolean" truevalue="" falsevalue=",dups=false" checked="true" label="dups - Apply to duplicates"/>
+    </inputs>
+    <outputs>
+        <expand macro="logfile-output"/>
+        <data name="fasta_out" format_source="fasta_in" from_work_dir="fasta_in.pick.dat" label="${tool.name} on ${on_string}: pick.fasta">
+            <filter>fasta_in</filter>
+        </data>
+        <data name="fastq_out" format_source="fastq_in" from_work_dir="fastq_in.pick.dat" label="${tool.name} on ${on_string}: pick.fastq">
+            <filter>fastq_in</filter>
+        </data>
+        <data name="count_out" format_source="count_in" from_work_dir="count_in.pick.dat" label="${tool.name} on ${on_string}: pick.count">
+            <filter>count_in</filter>
+        </data>
+        <data name="qfile_out" format_source="qfile_in" from_work_dir="qfile_in.pick.dat" label="${tool.name} on ${on_string}: pick.qfile">
+            <filter>qfile_in</filter>
+        </data>
+        <data name="name_out" format="mothur.names" from_work_dir="name_in.pick.dat" label="${tool.name} on ${on_string}: pick.names">
+            <filter>name_in</filter>
+        </data>
+        <data name="group_out" format="mothur.groups" from_work_dir="group_in.pick.dat" label="${tool.name} on ${on_string}: pick.groups">
+            <filter>group_in</filter>
+        </data>
+        <data name="alignreport_out" format="mothur.align.report" from_work_dir="alignreport_in.pick.dat" label="${tool.name} on ${on_string}: pick.align.report">
+            <filter>alignreport_in</filter>
+        </data>
+        <data name="list_out" format="mothur.list" from_work_dir="list_in.pick.dat" label="${tool.name} on ${on_string}: pick.list">
+            <filter>list_in</filter>
+        </data>
+        <data name="taxonomy_out" format="mothur.seq.taxonomy" from_work_dir="taxonomy_in.pick.dat" label="${tool.name} on ${on_string}: pick.taxonomy">
+            <filter>taxonomy_in</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="accnos" value="Mock_S280_L001_R1_001_small.trim.contigs.bad.accnos"/>
+            <param name="fasta_in" value="Mock_S280_L001_R1_001_small.trim.contigs.fasta"/>
+            <param name="dups" value=""/>
+            <expand macro="logfile-test"/>
+            <output name="fasta_out" md5="2357e1429647afbe21521a60935919bf"/>
+        </test>
+        <test>
+            <param name="accnos" value="Mock_S280_L001_R1_001_small.trim.contigs.bad.accnos"/>
+            <param name="fastq_in" value="Mock_S280_L001_R1_001_small.fastq"/>
+            <expand macro="logfile-test"/>
+            <output name="fastq_out" md5="1e10d0793f1c5f12388156d5922c0eb8"/>
+        </test>
+        <test><!-- test two input files -->
+            <param name="accnos" value="Mock_S280_L001_R1_001_small.trim.contigs.bad.accnos"/>
+            <param name="fasta_in" value="Mock_S280_L001_R1_001_small.trim.contigs.fasta"/>
+            <param name="fastq_in" value="Mock_S280_L001_R1_001_small.fastq"/>
+            <param name="dups" value=",dups=false"/>
+            <expand macro="logfile-test"/>
+            <output name="fasta_out" md5="2357e1429647afbe21521a60935919bf"/>
+            <output name="fastq_out" md5="1e10d0793f1c5f12388156d5922c0eb8"/>
+        </test>
+        <test>
+            <param name="accnos" value="amazon.bad.accnos"/>
+            <param name="count_in" value="amazon.count_table"/>
+            <expand macro="logfile-test"/>
+            <output name="count_out" md5="bd1cb7af6f277210c5c11ff7d7c54592"/>
+        </test>
+        <!-- TODO: make test for empty accnos file -->
+    </tests>
+    <help>
+<![CDATA[
+
+@MOTHUR_OVERVIEW@
+
+**Command Documentation**
+
+The remove.seqs_ command takes a list of sequence names and either a fasta, name_, group_, list_, align.report_ or taxonomy_ file to generate a new file that does not contain the sequences in the list. This command may be used in conjunction with the list.seqs_ command to help screen a sequence collection.
+
+.. _name: https://www.mothur.org/wiki/Name_file
+.. _group: https://www.mothur.org/wiki/Group_file
+.. _list: https://www.mothur.org/wiki/List_file
+.. _align.report: https://www.mothur.org/wiki/Align.seqs
+.. _taxonomy: https://www.mothur.org/wiki/Taxonomy_outline
+.. _list.seqs: https://www.mothur.org/wiki/list.seqs
+.. _remove.seqs: https://www.mothur.org/wiki/Remove.seqs
+]]>
+    </help>
+    <expand macro="citations"/>
+</tool>