comparison nextclade.xml @ 17:07ab9bd68a02 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/nextclade commit 2c63aeec74c260ccd9b2cdbbe1869bef2f3d5cda
author iuc
date Thu, 04 Aug 2022 06:58:48 +0000
parents 9e10ba792be2
children feb40665d7cd
comparison
equal deleted inserted replaced
16:9e10ba792be2 17:07ab9bd68a02
1 <tool id="nextclade" name="Nextclade" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01" license="MIT"> 1 <tool id="nextclade" name="Nextclade" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01" license="MIT">
2 <description>Viral genome clade assignment, mutation calling, and sequence quality checks</description> 2 <description>Viral genome clade assignment, mutation calling, and sequence quality checks</description>
3 <macros> 3 <macros>
4 <import>macros.xml</import> 4 <import>macros.xml</import>
5 <token name="@VERSION_SUFFIX@">0</token> 5 <token name="@VERSION_SUFFIX@">0</token>
6 <!-- sars-cov-2 and influenza databases are compatible with nextclade 1+, MPXV ones
7 with nextclade 2+ but at time of writing this tool is for nextclade version 2,
8 so the following regexp will select all databases known to be compatible with
9 this tool and exclude any requiring a future nextclade version 3. -->
10 <token name="@COMPATIBILITY_SPEC@"><![CDATA[(^1\..+$|^2\.[0-4](\..+)*$)]]></token>
6 </macros> 11 </macros>
7 <requirements> 12 <requirements>
8 <requirement type="package" version="@TOOL_VERSION@">nextclade</requirement> 13 <requirement type="package" version="@TOOL_VERSION@">nextclade</requirement>
9 <requirement type="package" version="9.0">coreutils</requirement> 14 <requirement type="package" version="9.0">coreutils</requirement>
10 </requirements> 15 </requirements>
11 <version_command>nextclade --version-detailed</version_command> 16 <version_command>nextclade --version-detailed</version_command>
12 <command detect_errors="exit_code"><![CDATA[ 17 <command detect_errors="exit_code"><![CDATA[
13 nextclade dataset get -n '${organism}' -o db && 18 #if $db.source == "cached"
19 ln -s '${db.release.fields.path}' db &&
20 #elif $db.source == "download"
21 nextclade dataset get -n '${organism}' -o db &&
22 #end if
23 @QUERY_FASTA@
14 nextclade run 24 nextclade run
15 --input-fasta '${input_fasta}'
16 --input-dataset db/ 25 --input-dataset db/
17 #if $adv.advanced_options == 'yes' 26 #if $adv.advanced_options == 'yes'
18 #if $adv.input_qc_config 27 #if $adv.input_qc_config
19 --input-qc-config '$adv.input_qc_config' 28 --input-qc-config '$adv.input_qc_config'
20 #end if 29 #end if
51 --output-fasta "${output_fasta}" 60 --output-fasta "${output_fasta}"
52 #if str($adv.advanced_options) == "yes" 61 #if str($adv.advanced_options) == "yes"
53 $adv.include_reference 62 $adv.include_reference
54 #end if 63 #end if
55 #end if 64 #end if
65 $query
56 #if $outputs and "report_tsv" in $outputs and not $include_header 66 #if $outputs and "report_tsv" in $outputs and not $include_header
57 && tail -n+2 report.tsv >'$report_tsv' 67 && tail -n+2 report.tsv >'$report_tsv'
58 #end if 68 #end if
59 ]]></command> 69 ]]></command>
60 <inputs> 70 <inputs>
61 <param argument="--input-fasta" name="input_fasta" type="data" format="fasta" label="SARS-CoV-2 consensus sequences (FASTA)" /> 71 <param argument="--input-fasta" name="input_fasta" type="data" format="fasta,fasta.gz" label="FASTA file with input sequences" />
72 <param name="organism" type="select" label="Organism">
73 <option value="sars-cov-2" selected="true">SARS-CoV-2</option>
74 <option value="sars-cov-2-no-recomb">SARS-CoV-2 without recombinants</option>
75 <option value="flu_h1n1pdm_ha">Influenza A H1N1pdm HA</option>
76 <option value="flu_h3n2_ha">Influenza A H3N2 HA</option>
77 <option value="flu_vic_ha">Influenza B Victoria HA</option>
78 <option value="flu_yam_ha">Influenza B Yamagata HA</option>
79 <option value="MPXV">Monkeypox (All Clades)</option>
80 <option value="hMPXV">Human Monkeypox (hMPXV)</option>
81 <option value="hMPXV_B1">Human Monkeypox Clade B.1</option>
82 </param>
83 <conditional name="db">
84 <param name="source" type="select" label="Version of database to use">
85 <option value="cached" selected="true">Use specific database version cached on this Galaxy server</option>
86 <option value="download">Download latest available database version from web</option>
87 </param>
88 <when value="cached">
89 <param name="release" label="Cached nextclade database release" type="select">
90 <options from_data_table="nextclade">
91 <column name="value" index="0" />
92 <column name="description" index="2" />
93 <column name="date" index="4" />
94 <column name="path" index="5" />
95 <filter type="sort_by" column="4" />
96 <filter type="param_value" ref="organism" column="1" />
97 <filter type="regexp" column="3" value="@COMPATIBILITY_SPEC@" />
98 </options>
99 </param>
100 </when>
101 <when value="download"></when>
102 </conditional>
62 <param name="outputs" type="select" label="Output options" help="Output reports and optionally tree" multiple="true"> 103 <param name="outputs" type="select" label="Output options" help="Output reports and optionally tree" multiple="true">
63 <option value="report_json">JSON format report</option> 104 <option value="report_json">JSON format report</option>
64 <option value="report_tsv" selected="true">Tabular format report</option> 105 <option value="report_tsv" selected="true">Tabular format report</option>
65 <option value="output_tree">Auspice v2 tree file (JSON format)</option> 106 <option value="output_tree">Auspice v2 tree file (JSON format)</option>
66 <option value="output_fasta">Aligned sequences (FASTA format)</option> 107 <option value="output_fasta">Aligned sequences (FASTA format)</option>
67 </param> 108 </param>
68 <param name="include_header" type="boolean" label="Include header line in output file" 109 <param name="include_header" type="boolean" label="Include header line in output file"
69 truevalue="true" falsevalue="false" /> 110 truevalue="true" falsevalue="false" />
70 <param name="organism" type="select" label="Organism">
71 <option value="sars-cov-2" selected="true">SARS-CoV-2</option>
72 <option value="flu_h1n1pdm_ha">Influenza A H1N1pdm HA</option>
73 <option value="flu_h3n2_ha">Influenza A H3N2 HA</option>
74 <option value="flu_vic_ha">Influenza B Victoria HA</option>
75 <option value="flu_yam_ha">Influenza B Yamagata HA</option>
76 </param>
77 <conditional name="adv"> 111 <conditional name="adv">
78 <param name="advanced_options" type="select" label="Use advanced options" > 112 <param name="advanced_options" type="select" label="Use advanced options" >
79 <option value="yes">Yes</option> 113 <option value="yes">Yes</option>
80 <option value="no" selected="true">No</option> 114 <option value="no" selected="true">No</option>
81 </param> 115 </param>
94 </inputs> 128 </inputs>
95 <outputs> 129 <outputs>
96 <data name="report_tsv" format="tabular" label="${tool.name} on ${on_string} (TSV report)"> 130 <data name="report_tsv" format="tabular" label="${tool.name} on ${on_string} (TSV report)">
97 <filter>outputs and "report_tsv" in outputs</filter> 131 <filter>outputs and "report_tsv" in outputs</filter>
98 <actions> 132 <actions>
99 <action name="column_names" type="metadata" default="seqName,clade,qc.overallScore,qc.overallStatus,totalSubstitutions,totalDeletions,totalInsertions,totalFrameShifts,totalAminoacidSubstitutions,totalAminoacidDeletions,totalAminoacidInsertions,totalMissing,totalNonACGTNs,totalPcrPrimerChanges,substitutions,deletions,insertions,privateNucMutations.reversionSubstitutions,privateNucMutations.labeledSubstitutions,privateNucMutations.unlabeledSubstitutions,privateNucMutations.totalReversionSubstitutions,privateNucMutations.totalLabeledSubstitutions,privateNucMutations.totalUnlabeledSubstitutions,privateNucMutations.totalPrivateSubstitutions,frameShifts,aaSubstitutions,aaDeletions,aaInsertions,missing,nonACGTNs,pcrPrimerChanges,alignmentScore,alignmentStart,alignmentEnd,qc.missingData.missingDataThreshold,qc.missingData.score,qc.missingData.status,qc.missingData.totalMissing,qc.mixedSites.mixedSitesThreshold,qc.mixedSites.score,qc.mixedSites.status,qc.mixedSites.totalMixedSites,qc.privateMutations.cutoff,qc.privateMutations.excess,qc.privateMutations.score,qc.privateMutations.status,qc.privateMutations.total,qc.snpClusters.clusteredSNPs,qc.snpClusters.score,qc.snpClusters.status,qc.snpClusters.totalSNPs,qc.frameShifts.frameShifts,qc.frameShifts.totalFrameShifts,qc.frameShifts.frameShiftsIgnored,qc.frameShifts.totalFrameShiftsIgnored,qc.frameShifts.score,qc.frameShifts.status,qc.stopCodons.stopCodons,qc.stopCodons.totalStopCodons,qc.stopCodons.score,qc.stopCodons.status,errors" /> 133 <action name="column_names" type="metadata" default="seqName,clade,Nextclade_pango,qc.overallScore,qc.overallStatus,totalSubstitutions,totalDeletions,totalInsertions,totalFrameShifts,totalAminoacidSubstitutions,totalAminoacidDeletions,totalAminoacidInsertions,totalMissing,totalNonACGTNs,totalPcrPrimerChanges,substitutions,deletions,insertions,privateNucMutations.reversionSubstitutions,privateNucMutations.labeledSubstitutions,privateNucMutations.unlabeledSubstitutions,privateNucMutations.totalReversionSubstitutions,privateNucMutations.totalLabeledSubstitutions,privateNucMutations.totalUnlabeledSubstitutions,privateNucMutations.totalPrivateSubstitutions,frameShifts,aaSubstitutions,aaDeletions,aaInsertions,missing,nonACGTNs,pcrPrimerChanges,alignmentScore,alignmentStart,alignmentEnd,qc.missingData.missingDataThreshold,qc.missingData.score,qc.missingData.status,qc.missingData.totalMissing,qc.mixedSites.mixedSitesThreshold,qc.mixedSites.score,qc.mixedSites.status,qc.mixedSites.totalMixedSites,qc.privateMutations.cutoff,qc.privateMutations.excess,qc.privateMutations.score,qc.privateMutations.status,qc.privateMutations.total,qc.snpClusters.clusteredSNPs,qc.snpClusters.score,qc.snpClusters.status,qc.snpClusters.totalSNPs,qc.frameShifts.frameShifts,qc.frameShifts.totalFrameShifts,qc.frameShifts.frameShiftsIgnored,qc.frameShifts.totalFrameShiftsIgnored,qc.frameShifts.score,qc.frameShifts.status,qc.stopCodons.stopCodons,qc.stopCodons.totalStopCodons,qc.stopCodons.score,qc.stopCodons.status,isReverseComplement,failedGenes,warnings,errors" />
100 </actions> 134 </actions>
101 </data> 135 </data>
102 <data name="report_json" format="json" label="${tool.name} on ${on_string} (JSON report)"> 136 <data name="report_json" format="json" label="${tool.name} on ${on_string} (JSON report)">
103 <filter>outputs and "report_json" in outputs</filter> 137 <filter>outputs and "report_json" in outputs</filter>
104 </data> 138 </data>
110 </data> 144 </data>
111 </outputs> 145 </outputs>
112 <tests> 146 <tests>
113 <test expect_num_outputs="1"> 147 <test expect_num_outputs="1">
114 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" /> 148 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" />
149 <conditional name="db">
150 <param name="source" value="download" />
151 </conditional>
115 <param name="outputs" value="report_tsv" /> 152 <param name="outputs" value="report_tsv" />
116 <param name="organism" value="sars-cov-2" /> 153 <param name="organism" value="sars-cov-2" />
117 <output name="report_tsv"> 154 <output name="report_tsv">
118 <assert_contents> 155 <assert_contents>
119 <has_n_columns n="63" /> 156 <has_n_columns n="66" />
120 <has_text text="20A" /> 157 <has_text text="20A" />
121 </assert_contents> 158 </assert_contents>
122 </output> 159 </output>
123 </test> 160 </test>
124 <test expect_num_outputs="3"> 161 <test expect_num_outputs="3">
125 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" /> 162 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" />
163 <conditional name="db">
164 <param name="source" value="download" />
165 </conditional>
126 <param name="outputs" value="report_tsv,report_json,output_tree" /> 166 <param name="outputs" value="report_tsv,report_json,output_tree" />
127 <param name="organism" value="sars-cov-2" /> 167 <param name="organism" value="sars-cov-2" />
128 <output name="report_tsv"> 168 <output name="report_tsv">
129 <assert_contents> 169 <assert_contents>
130 <has_n_columns n="63" /> 170 <has_n_columns n="66" />
131 <has_text text="20A" /> 171 <has_text text="20A" />
132 </assert_contents> 172 </assert_contents>
133 </output> 173 </output>
134 <output name="report_json"> 174 <output name="report_json">
135 <assert_contents> 175 <assert_contents>
142 </assert_contents> 182 </assert_contents>
143 </output> 183 </output>
144 </test> 184 </test>
145 <test expect_num_outputs="1"> 185 <test expect_num_outputs="1">
146 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" /> 186 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" />
187 <conditional name="db">
188 <param name="source" value="download" />
189 </conditional>
147 <param name="outputs" value="report_tsv" /> 190 <param name="outputs" value="report_tsv" />
148 <param name="organism" value="sars-cov-2" /> 191 <param name="organism" value="sars-cov-2" />
149 <conditional name="adv"> 192 <conditional name="adv">
150 <param name="advanced_options" value="yes" /> 193 <param name="advanced_options" value="yes" />
151 <param name="input_qc_config" value="strict_qc.json" ftype="json" /> 194 <param name="input_qc_config" value="strict_qc.json" ftype="json" />
152 </conditional> 195 </conditional>
153 <output name="report_tsv"> 196 <output name="report_tsv">
154 <assert_contents> 197 <assert_contents>
155 <has_n_columns n="63" /> 198 <has_n_columns n="66" />
156 <has_text text="mediocre" /> 199 <has_text text="mediocre" />
157 </assert_contents> 200 </assert_contents>
158 </output> 201 </output>
159 </test> 202 </test>
160 <test expect_num_outputs="2"> 203 <test expect_num_outputs="2">
161 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" /> 204 <param name="input_fasta" value="sarscov2_1.fasta" ftype="fasta" />
205 <conditional name="db">
206 <param name="source" value="download" />
207 </conditional>
162 <param name="outputs" value="report_tsv,output_fasta" /> 208 <param name="outputs" value="report_tsv,output_fasta" />
163 <param name="organism" value="sars-cov-2" /> 209 <param name="organism" value="sars-cov-2" />
164 <conditional name="adv"> 210 <conditional name="adv">
165 <param name="advanced_options" value="yes" /> 211 <param name="advanced_options" value="yes" />
166 <param name="include_reference" value="true" /> 212 <param name="include_reference" value="true" />
167 </conditional> 213 </conditional>
168 <output name="report_tsv"> 214 <output name="report_tsv">
169 <assert_contents> 215 <assert_contents>
170 <has_n_columns n="63" /> 216 <has_n_columns n="66" />
171 <has_text text="mediocre" /> 217 <has_text text="mediocre" />
172 </assert_contents> 218 </assert_contents>
173 </output> 219 </output>
174 <output name="output_fasta" value="output_alignment.fasta" ftype="fasta" /> 220 <output name="output_fasta" value="output_alignment.fasta" ftype="fasta" />
221 </test>
222 <test expect_num_outputs="1">
223 <param name="input_fasta" value="mpxv.fasta.gz" ftype="fasta.gz" />
224 <conditional name="db">
225 <param name="source" value="download" />
226 </conditional>
227 <param name="outputs" value="report_tsv" />
228 <param name="organism" value="MPXV" />
229 <output name="report_tsv">
230 <assert_contents>
231 <has_n_columns n="66" />
232 <has_text text="hMPXV-1" />
233 </assert_contents>
234 </output>
175 </test> 235 </test>
176 </tests> 236 </tests>
177 <help><![CDATA[ 237 <help><![CDATA[
178 238
179 .. class:: infomark 239 .. class:: infomark