changeset 7:f6482e570d32 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/funannotate commit 9e3708d04faea0f1be4ea8918e859d6f2c7eb31d
author iuc
date Wed, 26 Jun 2024 09:37:48 +0000
parents c8eccad1b953
children 51ca9670dcd1
files funannotate_annotate.xml macros.xml
diffstat 2 files changed, 52 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/funannotate_annotate.xml	Tue Apr 25 18:24:17 2023 +0000
+++ b/funannotate_annotate.xml	Wed Jun 26 09:37:48 2024 +0000
@@ -1,8 +1,9 @@
-<tool id="funannotate_annotate" name="Funannotate functional" profile="20.01" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
+<tool id="funannotate_annotate" name="Funannotate functional" profile="20.01" version="@TOOL_VERSION@+galaxy5">
     <description>annotation</description>
     <macros>
         <import>macros.xml</import>
     </macros>
+    <expand macro="biotools" />
     <requirements>
         <expand macro="requirements" />
     </requirements>
@@ -25,6 +26,7 @@
 #end if
 
 --out output
+--tmpdir "\${_GALAXY_JOB_TMP_DIR:-/tmp}"
 
 --database '$database.fields.path'
 
@@ -66,24 +68,19 @@
 #if $remove:
     --remove '${remove}'
 #end if
-
+--header_length $header_length
 --cpus \${GALAXY_SLOTS:-2}
 
 &&
 
-mv output/annotate_results/*.gbk out.gbk &&
-mv output/annotate_results/*.annotations.txt out.annotations.txt &&
-mv output/annotate_results/*.contigs.fsa out.contigs.fsa &&
-mv output/annotate_results/*.agp out.agp &&
-mv output/annotate_results/*.tbl out.tbl &&
-mv output/annotate_results/*.sqn out.sqn &&
-mv output/annotate_results/*.scaffolds.fa out.scaffolds.fa &&
-mv output/annotate_results/*.proteins.fa out.proteins.fa &&
-mv output/annotate_results/*.mrna-transcripts.fa out.mrna-transcripts.fa &&
-mv output/annotate_results/*.cds-transcripts.fa out.cds-transcripts.fa &&
-mv output/annotate_results/*.gff3 out.gff3 &&
-mv output/annotate_results/*.discrepency.report.txt out.discrepency.report.txt &&
-mv output/annotate_results/*.stats.json out.stats.json
+## Funannotate sometimes leaves multiple *part.tbl and *part.sqn files:
+## https://github.com/nextgenusfs/funannotate/issues/777
+## The partial tbl files are combined by funannotate and are deleted below.
+## The sqn files are discrete and are collected with discover_datasets.
+find output/annotate_results
+-regex ".*part_[0-9]+\.\(tbl\)$"
+-delete
+
     ]]></command>
     <inputs>
 
@@ -104,8 +101,6 @@
             </when>
         </conditional>
 
-
-
         <param name="database" label="Funannotate database" type="select">
             <options from_data_table="funannotate">
                 <column name="value" index="0" />
@@ -136,6 +131,7 @@
         <param argument="--fix" type="data" format="tabular" optional="true" label="Gene/Product names fixed" help="TSV: GeneID	Name	Product" />
         <param argument="--remove" type="data" format="tabular" optional="true" label="Gene/Product names to remove" help="TSV: Gene	Product" />
 
+        <param argument="--header_length" type="integer" value="16" min="1" label="Maximum length of FASTA headers" help="The NCBI max FASTA header length is 16. Increase if you don't submit to NCBI." />
         <param name="outputs" type="select" optional="true" multiple="true" label="Which outputs should be generated">
             <option value="gbk" selected="true">Annotated genome (genbank)</option>
             <option value="annotations">TSV file of all annotations added to genome. (i.e. import into excel)</option>
@@ -156,43 +152,44 @@
         </param>
     </inputs>
     <outputs>
-        <data name='gbk' format='genbank' label="${tool.name} on ${on_string}: annotated genome (genbank)" from_work_dir="out.gbk">
+        <data name='gbk' format='genbank' label="${tool.name} on ${on_string}: annotated genome (genbank)" from_work_dir="output/annotate_results/*.gbk">
             <filter>outputs and 'gbk' in outputs</filter>
         </data>
-        <data name='annot' format='tabular' label="${tool.name} on ${on_string}: all annotations" from_work_dir="out.annotations.txt">
+        <data name='annot' format='tabular' label="${tool.name} on ${on_string}: all annotations" from_work_dir="output/annotate_results/*.annotations.txt">
             <filter>outputs and 'annotations' in outputs</filter>
         </data>
-        <data name='contigs_fsa' format='fasta' label="${tool.name} on ${on_string}: contigs fasta, split at gaps" from_work_dir="out.contigs.fsa">
+        <data name='contigs_fsa' format='fasta' label="${tool.name} on ${on_string}: contigs fasta, split at gaps" from_work_dir="output/annotate_results/*.contigs.fsa">
             <filter>outputs and 'contigs_fsa' in outputs</filter>
         </data>
-        <data name='agp' format='tabular' label="${tool.name} on ${on_string}: AGP file" from_work_dir="out.agp">
+        <data name='agp' format='tabular' label="${tool.name} on ${on_string}: AGP file" from_work_dir="output/annotate_results/*.agp">
             <filter>outputs and 'agp' in outputs</filter>
         </data>
-        <data name='tbl' format='txt' label="${tool.name} on ${on_string}: NCBI tbl annotation file" from_work_dir="out.tbl">
+        <data name='tbl' format='txt' label="${tool.name} on ${on_string}: NCBI tbl annotation file" from_work_dir="output/annotate_results/*.tbl">
             <filter>outputs and 'tbl' in outputs</filter>
         </data>
-        <data name='sqn' format='txt' label="${tool.name} on ${on_string}: NCBI Sequin genome" from_work_dir="out.sqn">
+        <collection name="sqn" type="list" label="${tool.name} on ${on_string}: NCBI Sequin genome files">
+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.sqn" directory="output/annotate_results" format="txt" recurse="false"/>
             <filter>outputs and 'sqn' in outputs</filter>
-        </data>
-        <data name='fa_scaffolds' format='fasta' label="${tool.name} on ${on_string}: scaffolds sequences" from_work_dir="out.scaffolds.fa">
+        </collection>
+        <data name='fa_scaffolds' format='fasta' label="${tool.name} on ${on_string}: scaffolds sequences" from_work_dir="output/annotate_results/*.scaffolds.fa">
             <filter>outputs and 'scaffolds_fa' in outputs</filter>
         </data>
-        <data name='fa_proteins' format='fasta' label="${tool.name} on ${on_string}: protein sequences" from_work_dir="out.proteins.fa">
+        <data name='fa_proteins' format='fasta' label="${tool.name} on ${on_string}: protein sequences" from_work_dir="output/annotate_results/*.proteins.fa">
             <filter>outputs and 'proteins_fa' in outputs</filter>
         </data>
-        <data name='fa_transcripts_mrna' format='fasta' label="${tool.name} on ${on_string}: transcript mRNA sequences" from_work_dir="out.mrna-transcripts.fa">
+        <data name='fa_transcripts_mrna' format='fasta' label="${tool.name} on ${on_string}: transcript mRNA sequences" from_work_dir="output/annotate_results/*.mrna-transcripts.fa">
             <filter>outputs and 'mrna_transcripts_fa' in outputs</filter>
         </data>
-        <data name='fa_transcripts_cds' format='fasta' label="${tool.name} on ${on_string}: transcript CDS sequences" from_work_dir="out.cds-transcripts.fa">
+        <data name='fa_transcripts_cds' format='fasta' label="${tool.name} on ${on_string}: transcript CDS sequences" from_work_dir="output/annotate_results/*.cds-transcripts.fa">
             <filter>outputs and 'cds_transcripts_fa' in outputs</filter>
         </data>
-        <data name='gff3' format='gff3' label="${tool.name} on ${on_string}: annotation (GFF3)" from_work_dir="out.gff3">
+        <data name='gff3' format='gff3' label="${tool.name} on ${on_string}: annotation (GFF3)" from_work_dir="output/annotate_results/*.gff3">
             <filter>outputs and 'gff3' in outputs</filter>
         </data>
-        <data name='tbl2asn_report' format='txt' label="${tool.name} on ${on_string}: tbl2asn summary report of annotated genome" from_work_dir="out.discrepency.report.txt">
+        <data name='tbl2asn_report' format='txt' label="${tool.name} on ${on_string}: tbl2asn summary report of annotated genome" from_work_dir="output/annotate_results/*.discrepency.report.txt">
             <filter>outputs and 'discrepency' in outputs</filter>
         </data>
-        <data name='stats' format='json' label="${tool.name} on ${on_string}: stats" from_work_dir="out.stats.json">
+        <data name='stats' format='json' label="${tool.name} on ${on_string}: stats" from_work_dir="output/annotate_results/*.stats.json">
             <filter>outputs and 'gbk' in outputs</filter>
         </data>
         <data name='must_fix' format='json' label="${tool.name} on ${on_string}: Gene Name/Product must-fix" from_work_dir="output/annotate_results/Gene2Products.must-fix.txt">
@@ -206,7 +203,7 @@
         </data>
     </outputs>
     <tests>
-        <test>
+        <test expect_num_outputs="16">
             <conditional name="input">
                 <param name="input_type" value="gbk" />
                 <param name="genbank" value="predict_augustus/Genus_species.gbk" />
@@ -240,11 +237,13 @@
                     <has_text text="locus_tag" />
                 </assert_contents>
             </output>
-            <output name="sqn">
-                <assert_contents>
-                    <has_text text="Seq-submit" />
-                </assert_contents>
-            </output>
+            <output_collection name="sqn" type="list">
+                <element name="Genus_species">
+                    <assert_contents>
+                        <has_text text="Seq-submit" />
+                    </assert_contents>
+                </element>
+            </output_collection>
             <output name="fa_scaffolds">
                 <assert_contents>
                     <has_text text=">sample" />
@@ -296,7 +295,7 @@
                 </assert_contents>
             </output>
         </test>
-        <test>
+        <test expect_num_outputs="16">
             <conditional name="input">
                 <param name="input_type" value="gff" />
                 <param name="gff" value="predict_augustus/Genus_species.gff3" />
@@ -332,11 +331,13 @@
                     <has_text text="locus_tag" />
                 </assert_contents>
             </output>
-            <output name="sqn">
-                <assert_contents>
-                    <has_text text="Seq-submit" />
-                </assert_contents>
-            </output>
+            <output_collection name="sqn" type="list">
+                <element name="Genus_species">
+                    <assert_contents>
+                        <has_text text="Seq-submit" />
+                    </assert_contents>
+                </element>
+            </output_collection>
             <output name="fa_scaffolds">
                 <assert_contents>
                     <has_text text=">sample" />
--- a/macros.xml	Tue Apr 25 18:24:17 2023 +0000
+++ b/macros.xml	Wed Jun 26 09:37:48 2024 +0000
@@ -1,8 +1,14 @@
 <?xml version="1.0"?>
 <macros>
     <token name="@TOOL_VERSION@">1.8.15</token>
-    <token name="@VERSION_SUFFIX@">1</token>
-
+    <token name="@VERSION_SUFFIX@">5</token>
+    <xml name="biotools">
+        <xrefs>
+            <xref type="bio.tools">
+                funannotate
+            </xref>
+        </xrefs>
+    </xml>
     <xml name="requirements">
         <requirement type="package" version="@TOOL_VERSION@">funannotate</requirement>
     </xml>