Repository 'metaphlan'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/metaphlan

Changeset 11:b6897977d13e (2024-07-29)
Previous changeset 10:289b3807e80c (2024-04-30) Next changeset 12:1a037928504c (2024-08-11)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/metaphlan/ commit 3c1a0c4a94f78437c6df74b5348826e33e734a05
modified:
macros.xml
metaphlan.xml
tool_data_table_conf.xml.test
added:
test-data/SRS014464-Anterior_nares.fastq.gz
test-data/test_database_versioned.loc.test
removed:
test-data/test_database_versioned.loc
b
diff -r 289b3807e80c -r b6897977d13e macros.xml
--- a/macros.xml Tue Apr 30 09:09:32 2024 +0000
+++ b/macros.xml Mon Jul 29 07:14:21 2024 +0000
b
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <macros>
-    <token name="@TOOL_VERSION@">4.0.6</token>
-    <token name="@VERSION_SUFFIX@">3</token>
+    <token name="@TOOL_VERSION@">4.1.1</token>
+    <token name="@VERSION_SUFFIX@">0</token>
     <token name="@PROFILE@">22.05</token>
     <!-- Metaphlan DB compatible with this version of Metaphlan
     v4 introduced single genome level bins (SGB) and the index syntax differs from previous versions --> 
@@ -23,4 +23,9 @@
             <citation type="doi">10.7554/eLife.65088</citation>
         </citations>
     </xml>
+
+    <xml name="subsample_common">
+        <param argument="--mapping_subsampling" type="boolean" truevalue="--mapping_subsampling" falsevalue="" label="Subsampling on the mapping results" help="instead of on the reads"/>
+        <param argument="--subsampling_seed" type="integer" optional="true" label="Subsampling seed" help="No value: random"/>
+    </xml>
 </macros>
b
diff -r 289b3807e80c -r b6897977d13e metaphlan.xml
--- a/metaphlan.xml Tue Apr 30 09:09:32 2024 +0000
+++ b/metaphlan.xml Mon Jul 29 07:14:21 2024 +0000
[
b'@@ -38,14 +38,12 @@\n         #set full_ext=$inputs.in.raw_in.in.datatype.file_ext\n         #if $full_ext.endswith("gz")\n             #set $file_path="in"     \n-zcat \'$inputs.in.raw_in.in\' > \'$file_path\'\n-&&\n+            zcat \'$inputs.in.raw_in.in\' > \'$file_path\' &&\n         #else if $full_ext.endswith("bz2")\n             #set $file_path="in"\n-bzcat \'$inputs.in.raw_in.in\' > \'$file_path\'\n-&&\n+            bzcat \'$inputs.in.raw_in.in\' > \'$file_path\' &&\n         #else\n-            #set $file_path=$inputs.in.raw_in.in\n+            #set $file_path="\'%s\'" % $inputs.in.raw_in.in\n         #end if\n     #else if $inputs.in.raw_in.selector == "multiple"\n         #set full_ext=$inputs.in.raw_in.in[0].datatype.file_ext\n@@ -53,45 +51,54 @@\n         #set sep=""\n         #for $i, $f in enumerate($inputs.in.raw_in.in)\n             #if $f.datatype.file_ext != $full_ext\n-echo "Different datatypes for input files"\n-&&\n-exit 1\n+            echo "Different datatypes for input files" &&\n+            exit 1\n             #end if          \n             #if $full_ext.endswith("gz")\n                 #set fp="input_%s" % ($i)\n-zcat \'$f\' > \'$fp\'\n-&&\n+                zcat \'$f\' > \'$fp\' &&\n             #else if $full_ext.endswith("bz2")\n                 #set fp="input_%s" % ($i)\n-bzcat \'$f\' > \'$fp\'\n-&&\n+                bzcat \'$f\' > \'$fp\' &&\n             #else\n                 #set fp=$f\n             #end if\n-            #set $file_path+="%s%s" % ($sep, $fp)\n+            #set $file_path+="\'%s%s\'" % ($sep, $fp)\n             #set $sep=","\n         #end for\n     #else if $inputs.in.raw_in.selector == "paired"\n         #set full_ext=$inputs.in.raw_in.in_f.datatype.file_ext\n         #if $full_ext != $inputs.in.raw_in.in_r.datatype.file_ext\n-echo "Different datatypes for input paired-end files"\n-&&\n-exit 1\n+            echo "Different datatypes for input paired-end files" &&\n+            exit 1\n         #end if\n         #if $full_ext.endswith("gz")\n-zcat \'$inputs.in.raw_in.in_f\' > \'in_f\'\n-&&\n-zcat \'$inputs.in.raw_in.in_r\' > \'in_r\'\n-&&\n-            #set file_path="in_f,in_r"\n+            zcat \'$inputs.in.raw_in.in_f\' > \'in_f\' &&\n+            zcat \'$inputs.in.raw_in.in_r\' > \'in_r\' &&\n+            #set file_path="-1 in_f -2 in_r"\n         #else if $full_ext.endswith("bz2")\n-bzcat \'$inputs.in.raw_in.in_f\' > \'in_f\'\n-&&\n-bzcat \'$inputs.in.raw_in.in_r\' > \'in_r\'\n-&&\n-            #set file_path="in_f,in_r"\n+            bzcat \'$inputs.in.raw_in.in_f\' > \'in_f\' && \n+            bzcat \'$inputs.in.raw_in.in_r\' > \'in_r\' &&\n+            #set file_path="-1 in_f -2 in_r"\n         #else\n-            #set file_path="%s,%s" % ($inputs.in.raw_in.in_f,$inputs.in.raw_in.in_r)\n+            #set file_path="-1 \'%s\' -2 \'%s\'" % ($inputs.in.raw_in.in_f,$inputs.in.raw_in.in_r)\n+        #end if\n+    #else if $inputs.in.raw_in.selector == "paired_collection"\n+        #set full_ext=$inputs.in.raw_in.in.forward.ext\n+        #if $full_ext != $inputs.in.raw_in.in.reverse.ext\n+            echo "Different datatypes for input paired-end files" &&\n+            exit 1\n+        #end if\n+        #if $full_ext.endswith("gz")\n+            zcat \'$inputs.in.raw_in.in.forward\' > \'in_f\' &&\n+            zcat \'$inputs.in.raw_in.in.reverse\' > \'in_r\' &&\n+            #set file_path="-1 in_f -2 in_r"\n+        #else if $full_ext.endswith("bz2")\n+            bzcat \'$inputs.in.raw_in.in.forward\' > \'in_f\' && \n+            bzcat \'$inputs.in.raw_in.in.reverse\' > \'in_r\' &&\n+            #set file_path="-1 in_f -2 in_r"\n+        #else\n+            #set file_path="-1 \'%s\' -2 \'%s\'" % ($inputs.in.raw_in.in_f,$inputs.in.raw_in.in_r)\n         #end if\n     #end if\n \n@@ -105,20 +112,18 @@\n #end if\n \n #if $inputs.db.db_selector == "history"\n-mkdir \'ref_db\'\n-&&\n-bowtie2-build --large-index \'$inputs.db.bowtie2db\' \'ref_db/custom_db\'\n-&&\n-python \'$__tool_directory__/customizemetadata.py\'\n+mkdir \'ref_db\' &&\n+bowtie2-build --large-index \'$inputs.db.bowtie2db\' \'ref_db/custom_db\' &&\n+python\n+    \'$__tool_directory__/customizemetadata.py\'\n     tra'..b'="raw_in">\n-                        <!-- Single FASTA file -->\n                         <param name="selector" value="single"/>\n                         <param name="in" value="SRS014464-Anterior_nares.fasta"/>\n                     </conditional>\n@@ -930,7 +1127,6 @@\n                     </section>\n                 </conditional>\n                 <conditional name="db">\n-                    <!-- Cached db -->\n                     <param name="db_selector" value="cached"/>\n                     <param name="cached_db" value="test-db-20210409"/>\n                 </conditional>\n@@ -1054,20 +1250,24 @@\n                     <has_n_columns n="9"/>\n                 </assert_contents>\n             </output>\n+            <assert_stderr>\n+                <has_text text="Downloading" negate="true"/>\n+            </assert_stderr>\n         </test>\n-        <!-- Check a non-default analysis mode -->\n-        <test expect_num_outputs="4">\n+        <!-- Check a non-default analysis mode \n+             and viral analysis -->\n+        <test expect_num_outputs="6">\n             <section name="inputs">\n                 <conditional name="in">\n                     <param name="selector" value="raw"/>\n                     <conditional name="raw_in">\n                         <param name="selector" value="single"/>\n-                        <param name="in" value="SRS014464-Anterior_nares.fasta"/>\n+                        <param name="in" value="SRS014464-Anterior_nares.fastq.gz"/>\n                     </conditional>\n                 </conditional>\n                 <conditional name="db">\n                     <param name="db_selector" value="cached"/>\n-                    <param name="cached_db" value="test-db-20210409"/>\n+                    <param name="cached_db" value="mpa_vJan21_TOY_CHOCOPhlAnSGB"/>\n                 </conditional>\n             </section>\n             <section name="analysis">\n@@ -1075,13 +1275,43 @@\n                     <param name="t" value="marker_ab_table"/>\n                 </conditional>\n             </section>\n+            <conditional name="viral_analysis">\n+                <param name="profile_vsc" value="--profile_vsc"/>\n+                <param name="vsc_out" value="true"/>\n+            </conditional>\n+            <conditional name="subsample">\n+                <param name="selector" value="single"/>\n+                <param name="subsampling" value="10000"/>\n+                <param name="subsampling_seed" value="42"/>\n+            </conditional>\n+            <param name="test" value="true"/>\n             <output name="output_file" ftype="tabular" file="SRS014464-Anterior_nares-legacy-abundances.tabular" compare="sim_size">\n                 <assert_contents>\n-                    <has_text text="29394__H3NC06__B8A41_08715"/>\n+                    <has_text text="SGB7017__MKDPKOFL_00679"/>\n                     <has_text text="SampleID"/>\n                     <has_text text="Metaphlan_Analysis"/>\n                 </assert_contents>\n             </output>\n+            <output name="subsample_single">\n+                <assert_contents>\n+                    <has_text text="@" n="10000"/>\n+                </assert_contents>\n+            </output>\n+            <!-- reference data empty -> empty output -->\n+            <output name="vcs_breath_coverage" ftype="tabular">\n+                <assert_contents>\n+                    <has_size size="0"/>\n+                </assert_contents>\n+            </output>\n+            <assert_command>\n+                <has_text text="--profile_vsc"/>\n+                <has_text text="--vsc_breadth 0.75"/>\n+                <has_text text="--vsc_out"/>\n+            </assert_command>\n+            <assert_stderr>\n+                <has_text text="Downloading"/> <!-- due to test=true and the absence of the TOY reference DB Metaphlan will download to ~10MB-->\n+                <has_text text="No reads aligning to VSC markers"/>\n+            </assert_stderr>\n         </test>\n     </tests>\n     <help><![CDATA[\n'
b
diff -r 289b3807e80c -r b6897977d13e test-data/SRS014464-Anterior_nares.fastq.gz
b
Binary file test-data/SRS014464-Anterior_nares.fastq.gz has changed
b
diff -r 289b3807e80c -r b6897977d13e test-data/test_database_versioned.loc
--- a/test-data/test_database_versioned.loc Tue Apr 30 09:09:32 2024 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,7 +0,0 @@
-# Tab separated with 5 columns:
-# - value (Galaxy records this in the Galaxy DB)
-# - name (Galaxy shows this in the UI)
-# - value (Galaxy records this in the Galaxy DB)
-# - path (folder name containing the Kraken DB)
-# - db version (whether it is SGB of Metaphlan v4 or not)
-test-db-20210409 "Test Database" test-db ${__HERE__}/test-db SGB
b
diff -r 289b3807e80c -r b6897977d13e test-data/test_database_versioned.loc.test
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_database_versioned.loc.test Mon Jul 29 07:14:21 2024 +0000
b
@@ -0,0 +1,11 @@
+# Tab separated with 5 columns:
+# - value (Galaxy records this in the Galaxy DB)
+# - name (Galaxy shows this in the UI)
+# - dbkey
+# - path (folder name containing the Kraken DB)
+# - db version (whether it is SGB of Metaphlan v4 or not)
+test-db-20210409 "Test Database" test-db ${__HERE__}/test-db SGB
+# the TOY DB should be called in tests with the hidden test parameter enables this will make Metaphlan
+# download the data to the JWD
+mpa_vJan21_TOY_CHOCOPhlAnSGB mpa_vJan21_TOY_CHOCOPhlAnSGB mpa_vJan21_TOY_CHOCOPhlAnSGB_202103 ./ SGB
+# mpa_vJun23_CHOCOPhlAnSGB_202403 mpa_vJun23_CHOCOPhlAnSGB_202403 mpa_vJun23_CHOCOPhlAnSGB_202403 ${__HERE__}/mpa_vJun23_CHOCOPhlAnSGB_202403/ SGB
b
diff -r 289b3807e80c -r b6897977d13e tool_data_table_conf.xml.test
--- a/tool_data_table_conf.xml.test Tue Apr 30 09:09:32 2024 +0000
+++ b/tool_data_table_conf.xml.test Mon Jul 29 07:14:21 2024 +0000
b
@@ -2,6 +2,6 @@
 <tables>
     <table name="metaphlan_database_versioned" comment_char="#">
         <columns>value, name, dbkey, path, db_version</columns>
-        <file path="${__HERE__}/test-data/test_database_versioned.loc"/>
+        <file path="${__HERE__}/test-data/test_database_versioned.loc.test"/>
     </table>
 </tables>