comparison nanocomp.xml @ 3:8b2f1e817c9d draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/nanocomp commit 69a2f2135f021f6e7bc35bce7b4954d2779efc07
author iuc
date Fri, 12 Dec 2025 08:20:02 +0000
parents 0670dca750f7
children
comparison
equal deleted inserted replaced
2:0670dca750f7 3:8b2f1e817c9d
1 <tool id="nanocomp" name="NanoComp" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.2"> 1 <tool id="nanocomp" name="NanoComp" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.2">
2 <description>Compare multiple runs of long read sequencing data and alignments</description> 2 <description>Compare multiple runs of long read sequencing data and alignments</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">1.25.6</token> 4 <token name="@TOOL_VERSION@">1.25.6</token>
5 <token name="@VERSION_SUFFIX@">0</token> 5 <token name="@VERSION_SUFFIX@">1</token>
6 </macros> 6 </macros>
7 <xrefs> 7 <xrefs>
8 <xref type="bio.tools">nanocomp</xref> 8 <xref type="bio.tools">nanocomp</xref>
9 </xrefs> 9 </xrefs>
10 <requirements> 10 <requirements>
11 <requirement type="package" version="@TOOL_VERSION@">nanocomp</requirement> 11 <requirement type="package" version="@TOOL_VERSION@">nanocomp</requirement>
12 </requirements> 12 </requirements>
13 <version_command>NanoComp -v</version_command> 13 <version_command>NanoComp -v</version_command>
14 <command detect_errors="exit_code"><![CDATA[ 14 <command detect_errors="exit_code"><![CDATA[
15 #import re 15 #import re
16 ##link input file with names 16
17 ##link input files with proper names (Nanocomp checks file-extensions)
18 #set $linked_files = []
17 #for $file in $inputs.input_type.input_data 19 #for $file in $inputs.input_type.input_data
18 #if '.' in str($file.name) 20 #if '.' in str($file.name)
19 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name)) 21 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name))
20 #else 22 #else
21 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name)) + "." + $file.ext 23 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name)) + "." + $file.ext
22 #end if 24 #end if
23 ln -sf $file $in_name && 25 ln -sf '$file' '$in_name' &&
26 #silent $linked_files.append($in_name)
24 #end for 27 #end for
25 28
26 ##run nanocomp 29 ##run nanocomp
27 NanoComp 30 NanoComp
28 31
29 ##no need for the static images (becomes deprecated) 32 ##no need for the static images (becomes deprecated)
30 --make_no_static 33 --make_no_static
31 34
32 ## Compute options 35 ##Compute options
33 --threads \${GALAXY_SLOTS:-4} 36 --threads \${GALAXY_SLOTS:-4}
34 37
35 ##add input files 38 ##add input files
36 #if $inputs.input_type.input_type_selector == "fastq" 39 #if $inputs.input_type.input_type_selector == "fastq"
37 --fastq 40 --fastq
49 --pickle 52 --pickle
50 #else if $inputs.input_type.input_type_selector == "arrow" 53 #else if $inputs.input_type.input_type_selector == "arrow"
51 --arrow 54 --arrow
52 #end if 55 #end if
53 56
54 #for $file in $inputs.input_type.input_data 57 ## add the input files
55 #if '.' in str($file.name) 58 #for $file in $linked_files
56 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name)) 59 '$file'
57 #else
58 #set $in_name = re.sub('[\-\:\s]', '_', str($file.name)) + "." + $file.ext
59 #end if
60 $in_name
61 #end for 60 #end for
62 61
63 ##Filter options 62 ##Filter options
64 #if $filters.maxlength 63 #if $filters.maxlength
65 --maxlength $filters.maxlength 64 --maxlength $filters.maxlength
92 91
93 --verbose 92 --verbose
94 >& $out_log 93 >& $out_log
95 94
96 ]]></command> 95 ]]></command>
97 <inputs> 96 <inputs>
98 <section name="inputs" title="Input data" expanded="True"> 97 <section name="inputs" title="Input data" expanded="True">
99 <conditional name="input_type"> 98 <conditional name="input_type">
100 <param name="input_type_selector" type="select" label="Choose Input Format and Files"> 99 <param name="input_type_selector" type="select" label="Choose Input Format and Files">
101 <option value="fastq" selected="true">FASTQ files</option> 100 <option value="fastq" selected="true">FASTQ files</option>
102 <option value="fastq_r">FASTQ-rich files</option> 101 <option value="fastq_r">FASTQ-rich files</option>
103 <option value="fasta">FASTA files</option> 102 <option value="fasta">FASTA files</option>
104 <option value="bam">BAM files</option> 103 <option value="bam">BAM files</option>
105 <option value="ubam">uBAM files</option> 104 <option value="ubam">uBAM files</option>
106 <option value="cram">CRAM files</option> 105 <option value="cram">CRAM files</option>
107 <option value="pickle">PICKLE files</option> 106 <option value="pickle">PICKLE files</option>
108 <option value="arrow">ARROW files</option> 107 <option value="arrow">ARROW files</option>
109 </param> 108 </param>
110 <when value="fastq"> 109 <when value="fastq">
111 <param name="input_data" type="data" format="fastq,fastq.gz" multiple="true" label="FASTQ input files" help="Data is in (compressed) fastq format" /> 110 <param name="input_data" type="data" format="fastqsanger,fastqsanger.gz" multiple="true" label="FASTQ input files" help="Data is in (compressed) fastq format" />
112 </when> 111 </when>
113 <when value="fastq_r"> 112 <when value="fastq_r">
114 <param name="input_data" type="data" format="fastq,fastq.gz" multiple="true" label="FASTQ input files" help="Data is in one or more fastq file(s) generated by MinKNOW or guppy with additional information concerning channel and time" /> 113 <param name="input_data" type="data" format="fastqsanger,fastqsanger.gz" multiple="true" label="FASTQ input files" help="Data is in one or more fastq file(s) generated by MinKNOW or guppy with additional information concerning channel and time" />
115 </when> 114 </when>
116 <when value="fasta"> 115 <when value="fasta">
117 <param name="input_data" type="data" format="fasta,fasta.gz" multiple="true" label="FASTA input files" help="Data is in (compressed) fasta format" /> 116 <param name="input_data" type="data" format="fasta,fasta.gz" multiple="true" label="FASTA input files" help="Data is in (compressed) fasta format" />
118 </when> 117 </when>
119 <when value="bam"> 118 <when value="bam">
120 <param name="input_data" type="data" format="bam" multiple="true" label="BAM input files" help="Data is in sorted bam files." /> 119 <param name="input_data" type="data" format="bam" multiple="true" label="BAM input files" help="Data is in sorted bam files." />
121 </when> 120 </when>
122 <when value="ubam"> 121 <when value="ubam">
123 <param name="input_data" type="data" format="bam" multiple="true" label="Unmapped BAM input files" help="Data is in one or more unmapped bam files." /> 122 <param name="input_data" type="data" format="bam" multiple="true" label="Unmapped BAM input files" help="Data is in one or more unmapped bam files." />
124 </when> 123 </when>
125 <when value="cram"> 124 <when value="cram">
126 <param name="input_data" type="data" format="cram" multiple="true" label="CRAM input files" help="Data is in sorted cram files." /> 125 <param name="input_data" type="data" format="cram" multiple="true" label="CRAM input files" help="Data is in sorted cram files." />
127 </when> 126 </when>
128 <when value="pickle"> 127 <when value="pickle">
129 <param name="input_data" type="data" format="binary" multiple="true" label="PICKLE input files" help="Data is in one or more pickle file(s) from using NanoComp/NanoPlot." /> 128 <param name="input_data" type="data" format="binary" multiple="true" label="PICKLE input files" help="Data is in one or more pickle file(s) from using NanoComp/NanoPlot." />
130 </when> 129 </when>
131 <when value="arrow"> 130 <when value="arrow">
132 <param name="input_data" type="data" format="binary" multiple="true" label="ARROW input files" help="Data is in one or more feather/arrow file(s)." /> 131 <param name="input_data" type="data" format="binary" multiple="true" label="ARROW input files" help="Data is in one or more feather/arrow file(s)." />
133 </when> 132 </when>
134 </conditional> 133 </conditional>
135 </section> 134 </section>
136 135
137 <section name="filters" title="Filtering Input Prior To Plotting" expanded="false"> 136 <section name="filters" title="Filtering Input Prior To Plotting" expanded="false">
138 <param argument="--maxlength" type="integer" optional="true" label="Max read length filtering" help="Drop reads longer than length specified." /> 137 <param argument="--maxlength" type="integer" optional="true" label="Max read length filtering" help="Drop reads longer than length specified." />
139 <param argument="--minlength" type="integer" optional="true" label="Min read length filtering" help="Drop reads shorter than length specified." /> 138 <param argument="--minlength" type="integer" optional="true" label="Min read length filtering" help="Drop reads shorter than length specified." />
140 </section> 139 </section>
141 140
142 <section name="plot_options" title="Plot Customization Options" expanded="false"> 141 <section name="plot_options" title="Plot Customization Options" expanded="false">
143 <param argument="--plot" type="select" label="Plot Type" help="Specify the type of plot to be used."> 142 <param argument="--plot" type="select" label="Plot Type" help="Specify the type of plot to be used.">
144 <option value="box">Box plot</option> 143 <option value="box">Box plot</option>
145 <option value="violin" selected="true">Violin plot</option> 144 <option value="violin" selected="true">Violin plot</option>
146 <option value="ridge">Ridge (joyplot) plot</option> 145 <option value="ridge">Ridge (joyplot) plot</option>
147 <option value="not">No plot</option> 146 <option value="not">No plot</option>
148 </param> 147 </param>
149 <param argument="--title" type="text" label="Custom plot titles" help="Add a title to all plots." /> 148 <param argument="--title" type="text" label="Custom plot titles" help="Add a title to all plots." />
150 <param argument="--names" type="text" label="Custom names" help="Specify the names (space seperated, respective to input) to be used for the datasets." /> 149 <param argument="--names" type="text" label="Custom names" help="Specify the names (space seperated, respective to input) to be used for the datasets." />
151 <param argument="--colors" type="text" label="Custom colors" help="Specify the colors (space seperated, respective to input) to be used for each the datasets. Can be any valid Matplotlib color: Named, HEX-string, RGB, ... " /> 150 <param argument="--colors" type="text" label="Custom colors" help="Specify the colors (space seperated, respective to input) to be used for each the datasets. Can be any valid Matplotlib color: Named, HEX-string, RGB, ... " />
152 </section> 151 </section>
153 152
154 <section name="output_options" title="Output Options" expanded="false"> 153 <section name="output_options" title="Output Options" expanded="false">
155 <param argument="--tsv_stats" type="boolean" truevalue="--tsv_stats" falsevalue="" optional="true" checked="false" label="TSV Output Format" help="Output the statistics file as properly formatted TSV."/> 154 <param argument="--tsv_stats" type="boolean" truevalue="--tsv_stats" falsevalue="" optional="true" checked="false" label="TSV Output Format" help="Output the statistics file as properly formatted TSV."/>
156 </section> 155 </section>
157 156
158 </inputs> 157 </inputs>
159 158
160 159 <outputs>
161 <outputs> 160 <data name="out_log" format="txt" label="${tool.name} on ${on_string}: Log file"/>
162 <data name="out_log" format="txt" label="${tool.name} on ${on_string}: Log file"/> 161 <data name="stats_file" format="txt" from_work_dir="NanoStats.txt" label="${tool.name} on ${on_string}: Statistics file"/>
163 <data name="stats_file" format="txt" from_work_dir="NanoStats.txt" label="${tool.name} on ${on_string}: Statistics file"/> 162 <data name="html_report" format="html" from_work_dir="NanoComp-report.html" label="${tool.name} on ${on_string}: Html Report"/>
164 <data name="html_report" format="html" from_work_dir="NanoComp-report.html" label="${tool.name} on ${on_string}: Html Report"/> 163 </outputs>
165 </outputs> 164 <tests>
166 <tests> 165 <!-- 1) fastq.gz input -->
167 <test expect_num_outputs="3"> 166 <test expect_num_outputs="3">
168 <section name="inputs"> 167 <section name="inputs">
169 <conditional name="input_type"> 168 <conditional name="input_type">
170 <param name="input_type_selector" value="fastq" /> 169 <param name="input_type_selector" value="fastq" />
171 <param name="input_data" value="in1.fastq.gz,in2.fastq.gz,in3.fastq.gz" /> 170 <param name="input_data" ftype="fastqsanger.gz" value="in1.fastq.gz,in2.fastq.gz,in3.fastq.gz" />
172 </conditional> 171 </conditional>
173 </section> 172 </section>
174 <output name="stats_file" > 173 <output name="stats_file" ftype="txt">
175 <assert_contents> 174 <assert_contents>
176 <has_text text="General summary" /> 175 <has_text text="General summary" />
177 </assert_contents> 176 </assert_contents>
178 </output> 177 </output>
179 <output name="html_report"> 178 <output name="html_report" ftype="html">
180 <assert_contents> 179 <assert_contents>
181 <has_text text="html"/> 180 <has_text text="html"/>
182 <has_text text="Summary statistics"/> 181 <has_text text="Summary statistics"/>
183 </assert_contents> 182 </assert_contents>
184 </output> 183 </output>
185 </test> 184 </test>
186 <test expect_num_outputs="3"> 185 <!-- 2) bam input -->
187 <section name="inputs"> 186 <test expect_num_outputs="3">
188 <conditional name="input_type"> 187 <section name="inputs">
189 <param name="input_type_selector" value="bam" /> 188 <conditional name="input_type">
190 <param name="input_data" value="in4.bam,in5.bam" /> 189 <param name="input_type_selector" value="bam" />
191 </conditional> 190 <param name="input_data" ftype="bam" value="in4.bam,in5.bam" />
192 </section> 191 </conditional>
193 <section name="filters" > 192 </section>
194 <param name="maxlength" value="15000"/> 193 <section name="filters" >
195 <param name="minlength" value="500"/> 194 <param name="maxlength" value="15000"/>
196 </section> 195 <param name="minlength" value="500"/>
197 <output name="html_report"> 196 </section>
198 <assert_contents> 197 <output name="html_report" ftype="html">
199 <has_text text="html"/> 198 <assert_contents>
200 <has_text text="Summary statistics"/> 199 <has_text text="html"/>
201 </assert_contents> 200 <has_text text="Summary statistics"/>
202 </output> 201 </assert_contents>
203 </test> 202 </output>
204 <test expect_num_outputs="3"> 203 </test>
205 <section name="inputs"> 204 <!-- 3) fastq.gz input, tsv output -->
206 <conditional name="input_type"> 205 <test expect_num_outputs="3">
207 <param name="input_type_selector" value="fastq" /> 206 <section name="inputs">
208 <param name="input_data" value="in1.fastq.gz,in3.fastq.gz" /> 207 <conditional name="input_type">
209 </conditional> 208 <param name="input_type_selector" value="fastq" />
210 </section> 209 <param name="input_data" ftype="fastqsanger.gz" value="in1.fastq.gz,in3.fastq.gz" />
211 <section name="output_options"> 210 </conditional>
212 <param name="tsv_stats" value="true"/> 211 </section>
213 </section> 212 <section name="output_options">
214 <output name="stats_file" > 213 <param name="tsv_stats" value="true"/>
215 <assert_contents> 214 </section>
216 <has_text text="Metrics" /> 215 <output name="stats_file" ftype="txt">
217 </assert_contents> 216 <assert_contents>
218 </output> 217 <has_text text="Metrics" />
219 </test> 218 </assert_contents>
220 <test expect_num_outputs="3"> 219 </output>
221 <section name="inputs"> 220 </test>
222 <conditional name="input_type"> 221 <!-- 4) bam input, box plot output -->
223 <param name="input_type_selector" value="bam" /> 222 <test expect_num_outputs="3">
224 <param name="input_data" value="in4.bam,in5.bam" /> 223 <section name="inputs">
225 </conditional> 224 <conditional name="input_type">
226 </section> 225 <param name="input_type_selector" value="bam" />
227 <section name="plot_options" > 226 <param name="input_data" ftype="bam" value="in4.bam,in5.bam" />
228 <param name="plot" value="box"/> 227 </conditional>
229 </section> 228 </section>
230 <output name="html_report"> 229 <section name="plot_options" >
231 <assert_contents> 230 <param name="plot" value="box"/>
232 <has_text text="html"/> 231 </section>
233 <has_text text="Plots"/> 232 <output name="html_report" ftype="html">
234 </assert_contents> 233 <assert_contents>
235 </output> 234 <has_text text="html"/>
236 </test> 235 <has_text text="Plots"/>
237 </tests> 236 </assert_contents>
238 <help><![CDATA[ 237 </output>
238 </test>
239 </tests>
240 <help><![CDATA[
239 **NanoComp** 241 **NanoComp**
240 242
241 Compare multiple runs of long read sequencing data and alignments. Creates violin plots or box plots of length, quality and percent identity and creates dynamic, overlaying read length histograms and a cumulative yield plot. 243 Compare multiple runs of long read sequencing data and alignments. Creates violin plots or box plots of length, quality and percent identity and creates dynamic, overlaying read length histograms and a cumulative yield plot.
242 244
243 **Usage Instructions** 245 **Usage Instructions**
250 252
251 **More Information** 253 **More Information**
252 254
253 - **Official Repository**: [GitHub - wdecoster/nanocomp](https://github.com/wdecoster/nanocomp) 255 - **Official Repository**: [GitHub - wdecoster/nanocomp](https://github.com/wdecoster/nanocomp)
254 ]]></help> 256 ]]></help>
255 <citations> 257 <citations>
256 <citation type="doi">10.1093/bioinformatics/btad311</citation> 258 <citation type="doi">10.1093/bioinformatics/btad311</citation>
257 </citations> 259 </citations>
258 </tool> 260 </tool>