Repository 'lotus2'
hg clone https://toolshed.g2.bx.psu.edu/repos/earlhaminst/lotus2

Changeset 2:cf56a6553385 (2021-05-19)
Previous changeset 1:85da3173a488 (2021-05-19) Next changeset 3:77cb867e9608 (2021-05-26)
Commit message:
"planemo upload for repository https://github.com/TGAC/earlham-galaxytools/tree/master/tools/lotus2 commit 4f154640ea9b8d9472307287f0ee6483649c9466"
modified:
lotus2.xml
added:
test-data/mapping.txt
tool-data/all_fasta.loc.sample
tool_data_table_conf.xml.sample
b
diff -r 85da3173a488 -r cf56a6553385 lotus2.xml
--- a/lotus2.xml Wed May 19 02:38:24 2021 +0000
+++ b/lotus2.xml Wed May 19 19:15:08 2021 +0000
[
b'@@ -1,7 +1,7 @@\n <tool id="lotus2" name="LotuS2" version="@VERSION@" profile="20.01">\n     <description>fast OTU processing pipeline</description>\n     <macros>\n-        <token name="@VERSION@">2.05.1</token>\n+        <token name="@VERSION@">2.06</token>\n         <xml name="refDB_macro">\n             <param argument="-refDB" type="select" label="Reference Database">\n                 <option value="SLV" selected="true">Silva LSU (23/28S) or SSU (16/18S) (SLV)</option>\n@@ -11,6 +11,10 @@\n                 <option value="beetax">Bee gut specific database and tax names (beetax)</option>\n                 <option value="HITdb">Human gut microbiota (HITdb)</option>\n             </param>\n+            <param argument="-useBestBlastHitOnly" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Use the best Blast hit only" help="Do not use LCA (lowest common ancestor) to determine the most likely taxonomic level (not recommended)" />\n+        </xml>\n+        <xml name="id_macro">\n+            <param argument="-id" type="float" min="0" max="1" value="0.97" label="Clustering threshold for OTUs" />\n         </xml>\n     </macros>\n     <requirements>\n@@ -18,12 +22,28 @@\n     </requirements>\n     <version_command>lotus2 --version</version_command>\n     <command detect_errors="exit_code"><![CDATA[\n+#import os.path\n+#import re\n+#def symlink_basename($f):\n+    #set fn = re.sub(\'[^\\w\\-_.]\', \'_\', $f.element_identifier)\n+    #if fn.endswith(\'.gz\'):\n+        #set fn = fn[:-3]\n+    #end if\n+    #for ext in (\'.fq\', \'.fastq\', \'.fastqsanger\'):\n+        #if fn.endswith($ext):\n+            #set fn = fn[:-len($ext)]\n+            #break\n+        #end if\n+    #end for\n+$fn#slurp\n+#end def\n+\n mkdir input\n &&\n #if $inputs.paired_or_single == \'single\':\n-    #for i, f in enumerate($inputs.input):\n+    #for f in $inputs.input:\n         #set ext = $f.ext.replace(\'sanger\', \'\')\n-        ln -s \'$f\' \'input/input${i}.${ext}\' &&\n+        ln -s \'$f\' \'input/${symlink_basename(f)}.${ext}\' &&\n     #end for\n #elif $inputs.paired_or_single == \'paired\':\n     #for i, f in enumerate($inputs.left_input):\n@@ -35,11 +55,11 @@\n         ln -s \'$f\' \'input/input${i}.2.${ext}\' &&\n     #end for\n #else:\n-    #for i, f in enumerate($inputs.pair_input):\n+    #for f in $inputs.pair_input:\n         #set ext = $f.forward.ext.replace(\'sanger\', \'\')\n-        ln -s \'$f.forward\' \'input/input${i}.1.${ext}\' &&\n+        ln -s \'$f.forward\' \'input/${symlink_basename(f)}.1.${ext}\' &&\n         #set ext = $f.reverse.ext.replace(\'sanger\', \'\')\n-        ln -s \'$f.reverse\' \'input/input${i}.2.${ext}\' &&\n+        ln -s \'$f.reverse\' \'input/${symlink_basename(f)}.2.${ext}\' &&\n     #end for\n #end if\n \n@@ -62,9 +82,16 @@\n #if $reversePrimer:\n     -reversePrimer \'$reversePrimer\'\n #end if\n+#if $offtarget_cond.offtargetDB != \'no\':\n+    -offtargetDB \'$offtarget_cond.ref_file\'\n+#end if\n \n--clustering $clu_args.clustering\n--id $clu_args.id\n+-clustering $clu_args.clu_cond.clustering\n+#if $clu_args.clu_cond.clustering in (\'1\', \'3\'):\n+    -id $clu_args.clu_cond.id\n+#elif $clu_args.clu_cond.clustering == \'2\':\n+    -swarm_distance $clu_args.clu_cond.swarm_distance\n+#end if\n #if $clu_args.derepMin:\n     -derepMin \'$clu_args.derepMin\'\n #end if\n@@ -79,6 +106,7 @@\n     -utax_thr $tax_args.aligner_cond.utax_thr\n #else:\n     -refDB $tax_args.aligner_cond.refDB\n+    -useBestBlastHitOnly $tax_args.aligner_cond.useBestBlastHitOnly\n #end if\n -amplicon_type $tax_args.amplicon_type\n -tax_group $tax_args.tax_group\n@@ -87,6 +115,8 @@\n -LCA_cover $tax_args.LCA_cover\n -LCA_frac $tax_args.LCA_frac\n -greengenesSpecies $tax_args.greengenesSpecies\n+-lulu $tax_args.lulu\n+-buildPhylo $tax_args.buildPhylo\n \n ; EXIT_VALUE=\\$? ;\n \n@@ -99,16 +129,17 @@\n         <conditional name="inputs">\n             <param name="paired_or_single" type="select" label="Paired or Single-end data?">\n                 <option value="single" selected="true">Single-end</option>\n-                <option value="paired">Paired-end</option>\n                 <option v'..b'tions">\n             <conditional name="aligner_cond">\n-                <param argument="-taxAligner" type="select" label="Taxonomy aligner">\n-                    <option value="0" selected="true">Deactivated (just use RDP)</option>\n-                    <option value="1">Blast</option>\n-                    <option value="2">Use LAMBDA to search against a 16S reference database for taxonomic profiling of OTUs</option>\n-                    <option value="3">Use UTAX with custom databases</option>\n-                    <option value="4">Use VSEARCH to align OTUs to custom databases</option>\n+                <param argument="-taxAligner" type="select" label="Taxonomy aligner for taxonomic profiling of OTUs">\n+                    <option value="0" selected="true">RDPclassifier (max likelihood)</option>\n+                    <option value="1">Blast LCA against custom reference database</option>\n+                    <option value="2">LAMBDA LCA against custom reference database</option>\n+                    <option value="3">UTAX likelihood corrected</option>\n+                    <option value="4">VSEARCH LCA against custom reference database</option>\n                 </param>\n                 <when value="0">\n                     <param argument="-rdp_thr" type="float" min="0" max="1" value="0.8" label="Confidence threshold for RDP"/>\n@@ -182,6 +246,12 @@\n             <param argument="-LCA_cover" type="float" min="0" max="1" value="0.9" label="Minimum horizontal coverage of an OTU sequence against ref DB"/>\n             <param argument="-LCA_frac" type="float" min="0" max="1" value="0.9" label="Minimum fraction of reads with identical taxonomy"/>\n             <param argument="-greengenesSpecies" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Create greengenes output labels instead of OTU" />\n+            <param argument="-lulu" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Use LULU to merge OTUs based on their occurence" />\n+            <param argument="-buildPhylo" type="select" label="Build OTU phylogeny">\n+                <option value="0">Disable</option>\n+                <option value="1" selected="true">Use fasttree2</option>\n+                <option value="2">Use iqtree2</option>\n+            </param>\n         </section>\n     </inputs>\n \n@@ -190,9 +260,8 @@\n         <data name="otu_biom" format="biom" label="${tool.name} on ${on_string}: biom-formatted OTU abundance matrix" from_work_dir="output/OTU.biom" />\n         <data name="otu_fna" format="fasta" label="${tool.name} on ${on_string}: FASTA-formatted extended OTU seed sequences" from_work_dir="output/OTU.fna" />\n         <data name="OTUphylo_nwk" format="newick" label="${tool.name} on ${on_string}: Newick-formatted phylogenetic tree between sequences" from_work_dir="output/OTUphylo.nwk" />\n-        <data name="hiera_blast" format="tabular" label="${tool.name} on ${on_string}: OTU taxonomy assignments based on Blastn" from_work_dir="output/hiera_BLAST.txt" />\n-        <data name="hiera_rdp" format="tabular" label="${tool.name} on ${on_string}: OTU taxonomy assignments based on RDP classifier" from_work_dir="output/hiera_RDP.txt" />\n-        <data name="primary" format="tar" label="${tool.name} on ${on_string}: All output files" from_work_dir="output.tar.gz" />\n+        <data name="mapping" format="tabular" label="${tool.name} on ${on_string}: mapping file" from_work_dir="output/primary/in.map" />\n+        <data name="outputs" format="tar" label="${tool.name} on ${on_string}: All output files" from_work_dir="output.tar.gz" />\n     </outputs>\n \n     <tests>\n@@ -203,7 +272,7 @@\n             <param name="clustering" value="3" />\n             <output name="otu" file="OTU.txt" compare="sim_size" />\n             <output name="otu_fna" file="OTU.fna" compare="sim_size" />\n-            <output name="hiera_rdp" file="hiera_RDP.txt" compare="sim_size" />\n+            <output name="mapping" file="mapping.txt" />\n         </test>\n     </tests>\n \n'
b
diff -r 85da3173a488 -r cf56a6553385 test-data/mapping.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mapping.txt Wed May 19 19:15:08 2021 +0000
b
@@ -0,0 +1,3 @@
+#SampleID fastqFile SequencingRun
+SMPL0 Anh_sample1.fastq.gz a
+SMPL1 Anh_sample2.fastq.gz a
b
diff -r 85da3173a488 -r cf56a6553385 tool-data/all_fasta.loc.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/all_fasta.loc.sample Wed May 19 19:15:08 2021 +0000
b
@@ -0,0 +1,18 @@
+#This file lists the locations and dbkeys of all the fasta files
+#under the "genome" directory (a directory that contains a directory
+#for each build). The script extract_fasta.py will generate the file
+#all_fasta.loc. This file has the format (white space characters are
+#TAB characters):
+#
+#<unique_build_id> <dbkey> <display_name> <file_path>
+#
+#So, all_fasta.loc could look something like this:
+#
+#apiMel3 apiMel3 Honeybee (Apis mellifera): apiMel3 /path/to/genome/apiMel3/apiMel3.fa
+#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /path/to/genome/hg19/hg19canon.fa
+#hg19full hg19 Human (Homo sapiens): hg19 Full /path/to/genome/hg19/hg19full.fa
+#
+#Your all_fasta.loc file should contain an entry for each individual
+#fasta file. So there will be multiple fasta files for each build,
+#such as with hg19 above.
+#
b
diff -r 85da3173a488 -r cf56a6553385 tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Wed May 19 19:15:08 2021 +0000
b
@@ -0,0 +1,9 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+    <!-- Locations of all fasta files under genome directory -->
+    <table name="all_fasta" comment_char="#" allow_duplicate_entries="False">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/all_fasta.loc" />
+    </table>
+</tables>
+