diff pangolin.xml @ 1:f557122d379e draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/pangolin commit 1522bdb834ffab157d1ca25e6e74db21f62e3aae"
author iuc
date Sun, 25 Apr 2021 20:17:07 +0000
parents 0ec813ad2910
children 514a786baaa9
line wrap: on
line diff
--- a/pangolin.xml	Mon Apr 12 20:31:42 2021 +0000
+++ b/pangolin.xml	Sun Apr 25 20:17:07 2021 +0000
@@ -8,8 +8,16 @@
         <requirement type="package" version="0.22.0">csvtk</requirement>
     </requirements>
     <command detect_errors="exit_code"><![CDATA[
+        #if str($db.source) == "download"
+            python '$__tool_directory__/fetch_latest_pangolearn.py' &&
+        #else if str($db.source) == "builtin"
+            ln -s $db.db_release.fields.path datadir &&
+        #end if
         pangolin
         --threads \${GALAXY_SLOTS:-1}
+        #if str($db.source) == "download" or str($db.source) == "builtin"
+            --datadir 'datadir'
+        #end if
         $alignment
         --outfile report.csv 
         --max-ambig $max_ambig
@@ -28,6 +36,27 @@
           value="0.5" min="0" max="1" help="Maximum proportion of Ns allowed for pangolin to attempt assignment" />
       <param argument="--min-length" type="integer" label="Minimum query length allowed" 
           value="10000" min="0" help="Minimum query length allowed for pangolin to attempt assignment"/>
+      <conditional name="db">
+            <param type="select" name="source" label="pangoLEARN source" help="Where to find the pangoLEARN database">
+                <option value="download">Download latest from web</option>
+                <option value="builtin">Use database from Galaxy server</option>
+                <option value="default">Use default database built in to pangolin (not recommended)</option>
+            </param>
+            <when value="download">
+            </when>
+            <when value="builtin">
+                <param name="db_release" label="pangoLEARN release" type="select">
+                    <options from_data_table="pangolearn">
+                        <column name="value" index="0" />
+                        <column name="name" index="1" />
+                        <column name="path" index="3" />                         
+                        <filter type="sort_by" column="0"/>
+                    </options>
+                </param>
+            </when>
+            <when value="default">
+            </when>
+      </conditional>
     </inputs>
     <outputs>
         <data name="output1" format="tabular" label="pangolin on ${on_string}">
@@ -42,14 +71,41 @@
     <tests>
       <test expect_num_outputs="1">
           <param name="input1" value="test1.fasta"/>
-          <output name="output1" file="result1.tsv" ftype="tabular" />
+          <conditional name="db">
+              <param name="source" value="download" />
+          </conditional>
+          <output name="output1">
+            <assert_contents>
+                <has_text text="B.1.1" />
+                <has_text text="passed_qc" />
+            </assert_contents>
+          </output>
       </test>
       <test expect_num_outputs="2">
           <param name="alignment" value="--alignment" />
           <param name="input1" value="test1.fasta" />
-          <output name="output1" file="result1.tsv" ftype="tabular" />
+          <conditional name="db">
+            <param name="source" value="download" />
+          </conditional>
+          <output name="output1">
+            <assert_contents>
+                <has_text text="B.1.1" />
+                <has_text text="passed_qc" />
+            </assert_contents>
+          </output>
           <output name="align1" file="aln1.fasta" ftype="fasta" />
       </test>
+      <test expect_num_outputs="1">
+        <param name="input1" value="test1.fasta"/>
+        <conditional name="db">
+            <param name="source" value="builtin" />
+        </conditional>
+        <output name="output1">
+            <assert_contents>
+                <has_text text="2021-04-21" />
+            </assert_contents>
+        </output>
+    </test>
     </tests>
     <help><![CDATA[
 
@@ -58,6 +114,13 @@
 `Pangolin <https://cov-lineages.org/pangolin.html>`_ (Phylogenetic Assignment of Named Global Outbreak LINeages) 
 is used to assign a SARS-CoV-2 genome sequence the most likely lineage based on the PANGO nomenclature system.
 
+Pangolin uses the `pangoLEARN <https://github.com/cov-lineages/pangoLEARN>`_ stored model for lineage assignment. This
+model is updated more frequently than the pangolin tool is. In general one should use the most recent model for lineage
+assignment, and the default option for this tool is to download the latest version of the model before the pangolin
+tool runs. A pangoLEARN data manager exists so that the Galaxy admin can download specific versions of the pangoLEARN
+model as required. Finally the pangolin tool can use its default built-in model, but this is **not recommended** as the
+default model rapidly becomes out of date.
+
     ]]></help>
     <citations>
       <citation type="bibtex">