comparison macros.xml @ 0:a941babb9268 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/samtools/samtools_ampliconclip commit 4596e7b08744df85b48d106cf4d44ebdd90dd554
author iuc
date Mon, 27 Jun 2022 20:07:59 +0000
parents
children 5f3ea90dc6ae
comparison
equal deleted inserted replaced
-1:000000000000 0:a941babb9268
1 <macros>
2 <xml name="requirements">
3 <requirements>
4 <requirement type="package" version="@TOOL_VERSION@">samtools</requirement>
5 <yield/>
6 </requirements>
7 </xml>
8 <token name="@TOOL_VERSION@">1.13</token>
9 <token name="@PROFILE@">20.05</token>
10 <token name="@FLAGS@"><![CDATA[
11 #set $flags = 0
12 #if $filter
13 #set $flags = sum(map(int, str($filter).split(',')))
14 #end if
15 ]]></token>
16 <token name="@PREPARE_IDX@"><![CDATA[
17 ##prepare input and indices
18 ln -s '$input' infile &&
19 #if $input.is_of_type('bam'):
20 #if str( $input.metadata.bam_index ) != "None":
21 ln -s '${input.metadata.bam_index}' infile.bai &&
22 #else:
23 samtools index infile infile.bai &&
24 #end if
25 #elif $input.is_of_type('cram'):
26 #if str( $input.metadata.cram_index ) != "None":
27 ln -s '${input.metadata.cram_index}' infile.crai &&
28 #else:
29 samtools index infile infile.crai &&
30 #end if
31 #end if
32 ]]></token>
33 <token name="@PREPARE_IDX_MULTIPLE@"><![CDATA[
34 ##prepare input and indices
35 #for $i, $bam in enumerate( $input_bams ):
36 ln -s '$bam' '${i}' &&
37 #if $bam.is_of_type('bam'):
38 #if str( $bam.metadata.bam_index ) != "None":
39 ln -s '${bam.metadata.bam_index}' '${i}.bai' &&
40 #else:
41 samtools index '${i}' '${i}.bai' &&
42 #end if
43 #elif $bam.is_of_type('cram'):
44 #if str( $bam.metadata.cram_index ) != "None":
45 ln -s '${bam.metadata.cram_index}' '${i}.crai' &&
46 #else:
47 samtools index '${i}' '${i}.crai' &&
48 #end if
49 #end if
50 #end for
51 ]]></token>
52 <token name="@PREPARE_FASTA_IDX@"><![CDATA[
53 ## Make the user-selected reference genome, if any, accessible through
54 ## a shell variable $reffa, index the reference if necessary, and make
55 ## the fai-index file available through a shell variable $reffai.
56
57 ## For a cached genome simply sets the shell variables to point to the
58 ## genome file and its precalculated index.
59 ## For a genome from the user's history, if that genome is a plain
60 ## fasta file, the code creates a symlink in the pwd, creates the fai
61 ## index file next to it, then sets the shell variables to point to the
62 ## symlink and its index.
63 ## For a fasta.gz dataset from the user's history, it tries the same,
64 ## but this will only succeed if the file got compressed with bgzip.
65 ## For a regular gzipped file samtools faidx will fail, in which case
66 ## the code falls back to decompressing to plain fasta before
67 ## reattempting the indexing.
68 ## Indexing of a bgzipped file produces a regular fai index file *and*
69 ## a compressed gzi file. The former is identical to the fai index of
70 ## the uncompressed fasta.
71
72 ## If the user has not selected a reference (it's an optional parameter
73 ## in some samtools wrappers), a cheetah boolean use_ref is set to
74 ## False to encode that fact.
75
76 #set use_ref=True
77 #if $addref_cond.addref_select == "history":
78 #if $addref_cond.ref.is_of_type('fasta'):
79 reffa="reference.fa" &&
80 ln -s '${addref_cond.ref}' \$reffa &&
81 samtools faidx \$reffa &&
82 #else:
83 reffa="reference.fa.gz" &&
84 ln -s '${addref_cond.ref}' \$reffa &&
85 {
86 samtools faidx \$reffa ||
87 {
88 echo "Failed to index compressed reference. Trying decompressed ..." 1>&2 &&
89 gzip -dc \$reffa > reference.fa &&
90 reffa="reference.fa" &&
91 samtools faidx \$reffa;
92 }
93 } &&
94 #end if
95 reffai=\$reffa.fai &&
96 #elif $addref_cond.addref_select == "cached":
97 ## in case of cached the absolute path is used which allows to read
98 ## a cram file without specifying the reference
99 reffa='${addref_cond.ref.fields.path}' &&
100 reffai=\$reffa.fai &&
101 #else
102 #set use_ref=False
103 #end if
104 ]]></token>
105
106 <xml name="optional_reference">
107 <conditional name="addref_cond">
108 <param name="addref_select" type="select" label="Use a reference sequence">
109 <help>@HELP@</help>
110 <option value="no">No</option>
111 <option value="history">Use a genome/index from the history</option>
112 <option value="cached">Use a built-in genome</option>
113 </param>
114 <when value="no"/>
115 <when value="history">
116 <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
117 </when>
118 <when value="cached">
119 <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
120 <options from_data_table="fasta_indexes">
121 <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
122 </options>
123 <validator type="no_options" message="No reference genome is available for the build associated with the selected input dataset"/>
124 </param>
125 </when>
126 </conditional>
127 </xml>
128 <xml name="mandatory_reference" token_help="" token_argument="">
129 <conditional name="addref_cond">
130 <param name="addref_select" type="select" label="Use a reference sequence">
131 <help>@HELP@</help>
132 <option value="history">Use a genome/index from the history</option>
133 <option value="cached">Use a built-in genome</option>
134 </param>
135 <when value="history">
136 <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
137 </when>
138 <when value="cached">
139 <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
140 <options from_data_table="fasta_indexes">
141 <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
142 <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" />
143 </options>
144 </param>
145 </when>
146 </conditional>
147 </xml>
148
149
150 <token name="@ADDTHREADS@"><![CDATA[
151 ##compute the number of ADDITIONAL threads to be used by samtools (-@)
152 addthreads=\${GALAXY_SLOTS:-1} && (( addthreads-- )) &&
153 ]]></token>
154 <token name="@ADDMEMORY@"><![CDATA[
155 ##compute the number of memory available to samtools sort (-m)
156 ##use only 75% of available: https://github.com/samtools/samtools/issues/831
157 addmemory=\${GALAXY_MEMORY_MB_PER_SLOT:-768} &&
158 ((addmemory=addmemory*75/100)) &&
159 ]]></token>
160 <xml name="seed_input">
161 <param name="seed" type="integer" optional="True" label="Seed for random number generator" help="If empty a random seed is used." />
162 </xml>
163 <xml name="flag_options" token_s1="false" token_s2="false" token_s4="false" token_s8="false" token_s16="false" token_s32="false" token_s64="false" token_s128="false" token_s256="false" token_s512="false" token_s1024="false" token_s2048="false">
164 <option value="1" selected="@S1@">Read is paired</option>
165 <option value="2" selected="@S2@">Read is mapped in a proper pair</option>
166 <option value="4" selected="@S4@">Read is unmapped</option>
167 <option value="8" selected="@S8@">Mate is unmapped</option>
168 <option value="16" selected="@S16@">Read is mapped to the reverse strand of the reference</option>
169 <option value="32" selected="@S32@">Mate is mapped to the reverse strand of the reference</option>
170 <option value="64" selected="@S64@">Read is the first in a pair</option>
171 <option value="128" selected="@S128@">Read is the second in a pair</option>
172 <option value="256" selected="@S256@">Alignment of the read is not primary</option>
173 <option value="512" selected="@S512@">Read fails platform/vendor quality checks</option>
174 <option value="1024" selected="@S1024@">Read is a PCR or optical duplicate</option>
175 <option value="2048" selected="@S2048@">Alignment is supplementary</option>
176 </xml>
177
178 <!-- region specification macros and tokens for tools that allow the specification
179 of region by bed file / space separated list of regions -->
180 <token name="@REGIONS_FILE@"><![CDATA[
181 #if $cond_region.select_region == 'tab':
182 -t '$cond_region.targetregions'
183 #end if
184 ]]></token>
185 <token name="@REGIONS_MANUAL@"><![CDATA[
186 #if $cond_region.select_region == 'text':
187 #for $i, $x in enumerate($cond_region.regions_repeat):
188 '${x.region}'
189 #end for
190 #end if
191 ]]></token>
192 <xml name="regions_macro">
193 <conditional name="cond_region">
194 <param name="select_region" type="select" label="Filter by regions" help="restricts output to only those alignments which overlap the specified region(s)">
195 <option value="no" selected="True">No</option>
196 <option value="text">Manualy specify regions</option>
197 <option value="tab">Regions from tabular file</option>
198 </param>
199 <when value="no"/>
200 <when value="text">
201 <repeat name="regions_repeat" min="1" default="1" title="Regions">
202 <param name="region" type="text" label="region" help="format chr:from-to">
203 <validator type="regex" message="Required format: CHR[:FROM[-TO]]; where CHR: string containing any character except quotes, whitespace and colon; FROM and TO: any integer">^[^\s'\":]+(:\d+(-\d+){0,1}){0,1}$</validator>
204 </param>
205 </repeat>
206 </when>
207 <when value="tab">
208 <param name="targetregions" argument="-t/--target-regions" type="data" format="tabular" label="Target regions file" help="Do stats in these regions only. Tab-delimited file chr,from,to (1-based, inclusive)" />
209 </when>
210 </conditional>
211 </xml>
212
213 <xml name="citations">
214 <citations>
215 <citation type="bibtex">
216 @misc{SAM_def,
217 title={Definition of SAM/BAM format},
218 url = {https://samtools.github.io/hts-specs/},}
219 </citation>
220 <citation type="doi">10.1093/bioinformatics/btp352</citation>
221 <citation type="doi">10.1093/bioinformatics/btr076</citation>
222 <citation type="doi">10.1093/bioinformatics/btr509</citation>
223 <citation type="bibtex">
224 @misc{Danecek_et_al,
225 Author={Danecek, P., Schiffels, S., Durbin, R.},
226 title={Multiallelic calling model in bcftools (-m)},
227 url = {http://samtools.github.io/bcftools/call-m.pdf},}
228 </citation>
229 <citation type="bibtex">
230 @misc{Durbin_VCQC,
231 Author={Durbin, R.},
232 title={Segregation based metric for variant call QC},
233 url = {http://samtools.github.io/bcftools/rd-SegBias.pdf},}
234 </citation>
235 <citation type="bibtex">
236 @misc{Li_SamMath,
237 Author={Li, H.},
238 title={Mathematical Notes on SAMtools Algorithms},
239 url = {http://www.broadinstitute.org/gatk/media/docs/Samtools.pdf},}
240 </citation>
241 <citation type="bibtex">
242 @misc{SamTools_github,
243 title={SAMTools GitHub page},
244 url = {https://github.com/samtools/samtools},}
245 </citation>
246 </citations>
247 </xml>
248 <xml name="version_command">
249 <version_command><![CDATA[samtools 2>&1 | grep Version]]></version_command>
250 </xml>
251 <xml name="stdio">
252 <stdio>
253 <exit_code range="1:" level="fatal" description="Error" />
254 </stdio>
255 </xml>
256 </macros>