comparison metaspades.xml @ 0:292d633441ad draft default tip

planemo upload commit c251e9b174b5370300a209b2b4c5e2052976eb2d
author estrain
date Fri, 13 Mar 2026 12:07:47 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:292d633441ad
1 <tool id="metaspades" name="metaSPAdes" version="3.15.5+galaxy1.01" profile="20.01">
2 <description>metagenome assembler (minimal; interlaced / R1+R2 / paired collection; maps list:paired)</description>
3
4 <requirements>
5 <requirement type="package" version="4.2.0">spades</requirement>
6
7 </requirements>
8
9 <stdio>
10 <exit_code range="1:" level="fatal"/>
11 </stdio>
12
13 <version_command><![CDATA[
14 metaspades.py --version
15 ]]></version_command>
16
17 <command detect_errors="exit_code"><![CDATA[
18 ## ---------------------------------
19 ## Prep short-read inputs / symlinks
20 ## ---------------------------------
21 #set $library = 1
22
23 #if str($singlePaired.sPaired) == "paired_interlaced"
24 mkdir -p reads1 &&
25 #set $ext = $singlePaired.input1.ext.replace('fastqsanger','fastq').replace('fastqillumina','fastq')
26 ln -s '$singlePaired.input1' 'reads1/interlaced_1.${ext}' &&
27 #end if
28
29 #if str($singlePaired.sPaired) == "paired_two_files"
30 mkdir -p paired_reads1 &&
31 #set $ext1 = $singlePaired.input1.ext.replace('fastqsanger','fastq').replace('fastqillumina','fastq')
32 #set $ext2 = $singlePaired.input2.ext.replace('fastqsanger','fastq').replace('fastqillumina','fastq')
33 ln -s '$singlePaired.input1' 'paired_reads1/reads_1.${ext1}' &&
34 ln -s '$singlePaired.input2' 'paired_reads1/reads_2.${ext2}' &&
35 #end if
36
37 #if str($singlePaired.sPaired) == "paired_collection"
38 mkdir -p paired_reads1 &&
39 #set $extc = $singlePaired.input.forward.ext.replace('fastqsanger','fastq').replace('fastqillumina','fastq')
40 ln -s '$singlePaired.input.forward' 'paired_reads1/reads_1.${extc}' &&
41 ln -s '$singlePaired.input.reverse' 'paired_reads1/reads_2.${extc}' &&
42 #end if
43
44 ## ---------------------------------
45 ## Optional long-read inputs / links
46 ## ---------------------------------
47 #set $nano_paths = []
48 #if $longreads.nanopore and len($longreads.nanopore) > 0
49 mkdir -p lr_nanopore &&
50 #for $lri, $lr in enumerate($longreads.nanopore)
51 #set $link = 'lr_nanopore/nano_%s.%s' % ($lri, $lr.ext)
52 ln -s '$lr' '$link' &&
53 $nano_paths.append($link)
54 #end for
55 #end if
56
57 #set $pbhifi_paths = []
58 #if $longreads.pacbio_hifi and len($longreads.pacbio_hifi) > 0
59 mkdir -p lr_pbhifi &&
60 #for $lri, $lr in enumerate($longreads.pacbio_hifi)
61 #set $link2 = 'lr_pbhifi/pbhifi_%s.%s' % ($lri, $lr.ext)
62 ln -s '$lr' '$link2' &&
63 $pbhifi_paths.append($link2)
64 #end for
65 #end if
66
67 #set $nano_joined = ' '.join(["'%s'" % p for p in $nano_paths]) if $nano_paths else ''
68 #set $pbhifi_joined = ' '.join(["'%s'" % p for p in $pbhifi_paths]) if $pbhifi_paths else ''
69
70 ## ----------
71 ## Run SPAdes
72 ## ----------
73 metaspades.py
74 -o 'output'
75 -t \${GALAXY_SLOTS:-4}
76 #if $resources.ram_gb
77 -m ${resources.ram_gb}
78 #end if
79 ## short-read layout
80 #if str($singlePaired.sPaired) == "paired_interlaced"
81 --${singlePaired.type_paired}-12 ${library} 'reads1/interlaced_1.${ext}'
82 --${singlePaired.type_paired}-or ${library} ${singlePaired.orientation}
83 #elif str($singlePaired.sPaired) == "paired_two_files"
84 --${singlePaired.type_paired}-1 ${library} 'paired_reads1/reads_1.${ext1}'
85 --${singlePaired.type_paired}-2 ${library} 'paired_reads1/reads_2.${ext2}'
86 --${singlePaired.type_paired}-or ${library} ${singlePaired.orientation}
87 #else
88 ## paired_collection (and list:paired maps to this one pair per job)
89 --${singlePaired.type_paired}-1 ${library} 'paired_reads1/reads_1.${extc}'
90 --${singlePaired.type_paired}-2 ${library} 'paired_reads1/reads_2.${extc}'
91 --${singlePaired.type_paired}-or ${library} ${singlePaired.orientation}
92 #end if
93 ## long-reads
94 #if $nano_paths
95 --nanopore ${nano_joined}
96 #end if
97 #if $pbhifi_paths
98 --pacbio-hifi ${pbhifi_joined}
99 #end if
100 ## chemistry / pipeline flags
101 #if $pipeline.iontorrent
102 --iontorrent
103 #end if
104 #if $pipeline.phred and str($pipeline.phred) != ''
105 --phred-offset ${pipeline.phred}
106 #end if
107 #if $pipeline.kmers and str($pipeline.kmers) != ''
108 -k '${pipeline.kmers}'
109 #end if
110 ]]></command>
111
112 <inputs>
113 <!-- Short-read entry points -->
114 <conditional name="singlePaired" label="Short-read layout">
115 <param name="sPaired" type="select" label="Reads are">
116 <option value="paired_interlaced">Interlaced paired reads (single FASTQ)</option>
117 <option value="paired_two_files">Paired-end reads in two files (R1/R2, not a collection)</option>
118 <option value="paired_collection">Paired-end reads as a paired collection</option>
119 </param>
120
121 <!-- (1) Interlaced -->
122 <when value="paired_interlaced">
123 <param name="input1" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz"
124 label="Interlaced FASTQ"/>
125 <param name="type_paired" type="select" label="Library type">
126 <option value="pe" selected="true">Paired-end (--pe-*)</option>
127 <option value="hqmp">High-quality mate-pairs (--hqmp-*)</option>
128 <option value="mp">Mate-pairs (--mp-*)</option>
129 </param>
130 <param name="orientation" type="select" label="Orientation (--*-or)">
131 <option value="fr" selected="true">fr (forward-reverse)</option>
132 <option value="rf">rf (reverse-forward)</option>
133 <option value="ff">ff (forward-forward)</option>
134 </param>
135 </when>
136
137 <!-- (2) Two files (R1/R2) -->
138 <when value="paired_two_files">
139 <param name="input1" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz"
140 label="Forward (R1) FASTQ"/>
141 <param name="input2" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz"
142 label="Reverse (R2) FASTQ"/>
143 <param name="type_paired" type="select" label="Library type">
144 <option value="pe" selected="true">Paired-end (--pe-*)</option>
145 <option value="hqmp">High-quality mate-pairs (--hqmp-*)</option>
146 <option value="mp">Mate-pairs (--mp-*)</option>
147 </param>
148 <param name="orientation" type="select" label="Orientation (--*-or)">
149 <option value="fr" selected="true">fr (forward-reverse)</option>
150 <option value="rf">rf (reverse-forward)</option>
151 <option value="ff">ff (forward-forward)</option>
152 </param>
153 </when>
154
155 <!-- (3) Paired collection (maps list:paired automatically) -->
156 <when value="paired_collection">
157 <param name="input" type="data_collection" collection_type="paired"
158 label="Paired collection (forward/reverse). To run one job per pair from a list:paired, map the list to this input."/>
159 <param name="type_paired" type="select" label="Library type">
160 <option value="pe" selected="true">Paired-end (--pe-*)</option>
161 <option value="hqmp">High-quality mate-pairs (--hqmp-*)</option>
162 <option value="mp">Mate-pairs (--mp-*)</option>
163 </param>
164 <param name="orientation" type="select" label="Orientation (--*-or)">
165 <option value="fr" selected="true">fr (forward-reverse)</option>
166 <option value="rf">rf (reverse-forward)</option>
167 <option value="ff" >ff (forward-forward)</option>
168 </param>
169 </when>
170 </conditional>
171
172 <!-- Optional long-reads -->
173 <section name="longreads" title="Optional long-read data">
174 <param name="nanopore" type="data" multiple="true"
175 format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fasta,fasta.gz"
176 optional="true" label="Nanopore reads (--nanopore)"/>
177 <param name="pacbio_hifi" type="data" multiple="true"
178 format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fasta,fasta.gz"
179 optional="true" label="PacBio HiFi reads (--pacbio-hifi)"/>
180 </section>
181
182 <!-- Simple knobs -->
183 <section name="resources" title="Resources">
184 <param name="ram_gb" type="integer" value="16" min="1"
185 label="Max RAM for SPAdes (-m, in GB)"/>
186 </section>
187
188 <section name="pipeline" title="Chemistry and pipeline options">
189 <param name="iontorrent" type="boolean" truevalue="true" falsevalue=""
190 checked="false" label="IonTorrent data (--iontorrent)"/>
191 <param name="phred" type="select" optional="true" label="Phred offset (--phred-offset)">
192 <option value="" selected="true">auto (default)</option>
193 <option value="33">33</option>
194 <option value="64">64</option>
195 </param>
196 <param name="kmers" type="text" optional="true"
197 label="K-mer sizes (-k)" help="Comma-separated odd integers between 21 and 127, e.g. 21,33,55"/>
198 </section>
199 </inputs>
200
201 <outputs>
202 <data name="out_cn" format="fasta" from_work_dir="output/contigs.fasta"
203 label="metaSPAdes on ${on_string}: contigs"/>
204 <data name="out_sc" format="fasta" from_work_dir="output/scaffolds.fasta"
205 label="metaSPAdes on ${on_string}: scaffolds"/>
206 <data name="out_ag" format="fasta" from_work_dir="output/assembly_graph.fastg"
207 label="metaSPAdes on ${on_string}: assembly graph (FASTG)"/>
208 <data name="out_ags" format="gfa1" from_work_dir="output/assembly_graph_with_scaffolds.gfa"
209 label="metaSPAdes on ${on_string}: assembly graph with scaffolds (GFA)"/>
210 <data name="out_l" format="txt" from_work_dir="output/spades.log"
211 label="metaSPAdes on ${on_string}: log"/>
212 </outputs>
213
214 <help><![CDATA[
215 ]]></help>
216
217 <citations>
218 <citation type="doi">10.1101/gr.213959.116</citation>
219 </citations>
220 </tool>
221