comparison picard_MergeBamAlignment.xml @ 5:3d4f1fa26f0e draft

Uploaded
author devteam
date Tue, 16 Dec 2014 19:03:21 -0500
parents
children 3a3234d7a2e8
comparison
equal deleted inserted replaced
4:ab1f60c26526 5:3d4f1fa26f0e
1 <tool name="MergeBamAlignment" id="picard_MergeBamAlignment" version="1.126.0">
2 <description>merge alignment data with additional info stored in an unmapped BAM dataset</description>
3 <requirements><requirement type="package" version="1.126.0">picard</requirement></requirements>
4
5 <macros>
6 <import>picard_macros.xml</import>
7 </macros>
8
9 <command>
10 @java_options@
11 #set $picard_dict = "localref.dict"
12 #set $ref_fasta = "localref.fa" ## This is done because picards "likes" .fa extension
13
14 ln -s "${reference_source.ref_file}" "${ref_fasta}" &amp;&amp;
15
16 #if str( $reference_source.reference_source_selector ) == "history":
17
18 java -jar \$JAVA_JAR_PATH/picard.jar CreateSequenceDictionary REFERENCE="${ref_fasta}" OUTPUT="${picard_dict}"
19 QUIET=true
20 VERBOSITY=ERROR
21
22 &amp;&amp;
23
24 #else:
25
26 #set $ref_fasta = str( $reference_source.ref_file.fields.path )
27
28 #end if
29
30 java -jar \$JAVA_JAR_PATH/picard.jar
31 MergeBamAlignment
32 UNMAPPED_BAM="${unmapped_bam}"
33
34 PAIRED_RUN=true ##This argument is ignored and will be removed. Required. Possible values: {true, false}
35
36 #if str( $aligned_or_read1_and_read2.aligned_or_read1_and_read2_selector ) == "paired_one_file":
37 #for $dataset in $aligned_or_read1_and_read2.aligned_bams:
38 ALIGNED_BAM="${dataset.aligned_bam}"
39 #end for
40 #elif str( $aligned_or_read1_and_read2.aligned_or_read1_and_read2_selector ) == "paired_two_files":
41 #for $dataset in $aligned_or_read1_and_read2.read1_aligned_bams:
42 READ1_ALIGNED_BAM="${dataset.read1_aligned_bam}"
43 #end for
44 #for $dataset in $aligned_or_read1_and_read2.read2_aligned_bams:
45 READ2_ALIGNED_BAM="${dataset.read1_aligned_bam}"
46 #end for
47 #else
48 #for $dataset in $aligned_or_read1_and_read2.read1_aligned_bams:
49 READ1_ALIGNED_BAM="${dataset.read1_aligned_bam}"
50 #end for
51 #end if
52
53 OUTPUT="${outFile}"
54 REFERENCE_SEQUENCE="${ref_fasta}"
55
56 CLIP_ADAPTERS="${clip_adapters}"
57 IS_BISULFITE_SEQUENCE="${is_bisulfite_sequence}"
58 ALIGNED_READS_ONLY="${aligned_reads_only}"
59 MAX_INSERTIONS_OR_DELETIONS="${max_insertions_or_deletions}"
60
61 #for $attribute in $attributes_to_retain:
62 ATTRIBUTES_TO_RETAIN="${$attribute.attribute}"
63 #end for
64
65 #for $attribute in $attributes_to_remove:
66 ATTRIBUTES_TO_REMOVE="${$attribute.attribute}"
67 #end for
68
69 READ1_TRIM="${read1_trim}"
70 READ2_TRIM="${read2_trim}"
71
72 #if str( $orientations ) != "None":
73 #for $orientation in str( $orientations ).split(','): ## See trello card https://trello.com/c/9nW02Zhd
74 EXPECTED_ORIENTATIONS="${orientation}"
75 #end for
76 #end if
77
78 ALIGNER_PROPER_PAIR_FLAGS="${aligner_proper_pair_flags}"
79 PRIMARY_ALIGNMENT_STRATEGY="${primary_alignment_strategy}"
80 CLIP_OVERLAPPING_READS="${clip_overlapping_reads}"
81 INCLUDE_SECONDARY_ALIGNMENTS="${include_secondary_alignments}"
82 ADD_MATE_CIGAR="${add_mate_cigar}"
83
84 VALIDATION_STRINGENCY="${validation_stringency}"
85
86 SORT_ORDER=coordinate
87 QUIET=true
88 VERBOSITY=ERROR
89
90 </command>
91
92 <inputs>
93
94 <conditional name="reference_source">
95 <param name="reference_source_selector" type="select" label="Load reference genome from">
96 <option value="cached">Local cache</option>
97 <option value="history">History</option>
98 </param>
99 <when value="cached">
100 <param name="ref_file" type="select" label="Use dictionary from the list" help="Select genome from the list">
101 <options from_data_table="picard_indexes">
102 <filter type="sort_by" column="2" />
103 <validator type="no_options" message="No indexes are available" />
104 </options>
105 <validator type="no_options" message="A built-in dictionary is not available for the build associated with the selected input file"/>
106 </param>
107 </when>
108 <when value="history">
109 <param name="ref_file" type="data" format="fasta" label="Use the following dataset to create dictionary" help="You can upload a FASTA sequence to the history from which Picard will automatically generate dictionary using CreateSequenceDictionary command" />
110 </when>
111 </conditional>
112
113 <param format="sam,bam" name="unmapped_bam" type="data" label="Selected unaligned SAM or BAM with original reads" help="UNMAPPED_BAM; This dataset must be sorted in queryname order (use picard_SortSam to do this)" />
114 <conditional name="aligned_or_read1_and_read2">
115 <param name="aligned_or_read1_and_read2_selector" type="select" label="What type of aligned data do you have?">
116 <option value="paired_one_file">Paired data in a single BAM file (ALIGNED_BAM)</option>
117 <option value="paired_two_files">Paired data in separate files (READ1_ALIGNED_BAM and READ2_ALIGNED_BAM)</option>
118 <option value="single_file">Singe end data (READ1_ALIGNED_BAM)</option>
119 </param>
120 <when value="paired_one_file">
121 <repeat name="aligned_bams" title="Aligned SAM or BAM dataset" min="1" help="You can provide multiple datasets">
122 <param name="aligned_bam" type="data" format="sam,bam" label="SAM or BAM dataset(s) with alignment data" help="ALIGNED_BAM"/>
123 </repeat>
124 </when>
125 <when value="paired_two_files">
126 <repeat name="read1_aligned_bams" title="Aligned SAM or BAM dataset for Read 1" min="1" help="You can provide multiple datasets">
127 <param name="read1_aligned_bam" type="data" format="sam,bam" label="SAM or BAM dataset(s) with alignment data for Read1" help="READ1_ALIGNED_BAM"/>
128 </repeat>
129 <repeat name="read2_aligned_bams" title="Aligned SAM or BAM dataset for Read 2" min="1" help="You can provide multiple datasets">
130 <param name="read2_aligned_bam" type="data" format="sam,bam" label="SAM or BAM dataset(s) with alignment data for Read2" help="READ2_ALIGNED_BAM"/>
131 </repeat>
132 </when>
133 <when value="single_file">
134 <repeat name="read1_aligned_bams" title="Aligned SAM or BAM dataset for Single Reads" min="1" help="You can provide multiple datasets">
135 <param name="read1_aligned_bam" type="data" format="sam,bam" label="SAM or BAM dataset(s) with alignment data" help="READ1_ALIGNED_BAM"/>
136 </repeat>
137 </when>
138 </conditional>
139
140 <param name="clip_adapters" type="boolean" checked="true" label="Whether to clip adapters where identified" help="CLIP_ADAPTERS; default=True"/>
141 <param name="is_bisulfite_sequence" type="boolean" label="Whether the data is from bisulfite sequencing (used when caculating the NM tag)" help="IS_BISULFITE_SEQUENCE; default=False"/>
142 <param name="aligned_reads_only" type="boolean" label="Whether to output only aligned reads" help="ALIGNED_READS_ONLY; default=False"/>
143 <param name="max_insertions_or_deletions" type="integer" value="1" label="The maximum number of insertions or deletions permitted for an alignment to be included" help="MAX_INSERTIONS_OR_DELETIONS; Alignments with more than this many insertions or deletions will be ignored. Set to -1 to allow any number of insertions or deletions. default=1"/>
144
145 <repeat name="attributes_to_retain" title="Retain the following alignment attribute" min="0" help="You can provide multiple attributes">
146 <param name="attribute" type="text" size="4" label="Reserved alignment attributes (tags starting with X, Y, or Z) that should be brought over from the alignment data when merging" help="ATTRIBUTES_TO_RETAIN; example: XA"/>
147 </repeat>
148
149 <repeat name="attributes_to_remove" title="Remove the following alignment attribute" min="0" help="You can provide multiple attributes">
150 <param name="attribute" type="text" size="4" label="Attributes from the alignment record that should be removed when merging." help="ATTRIBUTES_TO_REMOVE; This overrides ATTRIBUTES_TO_RETAIN if they share common tags"/>
151 </repeat>
152
153 <param name="read1_trim" type="integer" value="0" label="The number of bases trimmed from the beginning of read 1 prior to alignment" help="READ1_TRIM; default=0"/>
154 <param name="read2_trim" type="integer" value="0" label="The number of bases trimmed from the beginning of read 2 prior to alignment" help="READ2_TRIM; default=0"/>
155
156 <param name="orientations" type="select" multiple="True" display="checkboxes" label="The expected orientation of proper read pairs" help="EXPECTED_ORIENTATIONS; multiple orinetations can be selected">
157 <option value="FR">Forward/Reverse (FR)</option>
158 <option value="RF">Reverse/Forward (RF)</option>
159 <option value="TANDEM">Tandem</option>
160 </param>
161
162
163 <param name="aligner_proper_pair_flags" type="boolean" label="Use the aligner's idea of what a proper pair is rather than computing in this program" help="ALIGNER_PROPER_PAIR_FLAGS; default=False"/>
164
165 <param name="primary_alignment_strategy" type="select" label="Strategy for selecting primary alignment when the aligner has provided more than one alignment for a pair or fragments" help="PRIMARY_ALIGNMENT_STRATEGY; see help below for more info; default=BestMapq">
166 <option value="BestMapq" selected="True">BestMapq</option>
167 <option value="EarliestFragment">EarliestFragment</option>
168 <option value="BestEndMapq">BestEndMapq</option>
169 <option value="MostDistant">MostDistant</option>
170 </param>
171
172 <param name="clip_overlapping_reads" type="boolean" checked="True" label="For paired reads, soft clip the 3' end of each read if necessary so that it does not extend past the 5' end of its mate" help="CLIP_OVERLAPPING_READS; default=True"/>
173 <param name="include_secondary_alignments" type="boolean" checked="True" label="If false, do not write secondary alignments to output" help="INCLUDE_SECONDARY_ALIGNMENTS; default=True"/>
174 <param name="add_mate_cigar" type="boolean" checked="True" label="Adds the mate CIGAR tag (MC) if true, does not if false" help="ADD_MATE_CIGAR; default=True"/>
175 <expand macro="VS" />
176 </inputs>
177 <outputs>
178 <data name="outFile" format="bam" label="${tool.name} on ${on_string}: BAM with merged alignments"/>
179 </outputs>
180 <tests>
181 <test>
182 <param name="reference_source_selector" value="history" />
183 <param name="ref_file" value="picard_MergeBamAlignment_ref.fa" ftype="fasta" />
184 <param name="unmapped_bam" value="picard_MergeBamAlignment_unaligned.bam" ftype="bam"/>
185 <param name="aligned_or_read1_and_read2_selector" value="paired_one_file"/>
186 <param name="aligned_bam" value="picard_MergeBamAlignment_aligned.bam" ftype="bam"/>
187 <param name="clip_adapters" value="True"/>
188 <param name="is_bisulfite_sequence" value="False"/>
189 <param name="aligned_reads_only" value="False"/>
190 <param name="max_insertions_or_deletions" value="1"/>
191 <param name="read1_trim" value="0"/>
192 <param name="read2_trim" value="0"/>
193 <param name="orientation" value="FR"/>
194 <param name="aligner_proper_pair_flags" value="False"/>
195 <param name="primary_alignment_strategy" value="BestMapq"/>
196 <param name="clip_overlapping_reads" value="True"/>
197 <param name="include_secondary_alignments" value="True"/>
198 <param name="add_mate_cigar" value="True"/>
199 <output name="outFile" file="picard_MergeBamAlignment_test1.bam" ftype="bam" lines_diff="2"/>
200 </test>
201 </tests>
202
203 <stdio>
204 <exit_code range="1:" level="fatal"/>
205 </stdio>
206
207 <help>
208
209 .. class:: infomark
210
211 **Purpose**
212
213 Merges alignment data from a SAM or BAM dataset with additional data stored in an unmapped BAM dataset and produces a third SAM or BAM dataset of aligned and unaligned reads.
214
215 @dataset_collections@
216
217 @description@
218
219 UNMAPPED_BAM=File
220 UNMAPPED=File Original SAM or BAM file of unmapped reads, which must be in queryname order. Required.
221
222 ALIGNED_BAM=File
223 ALIGNED=File SAM or BAM file(s) with alignment data. This option may be specified 0 or more times.
224 Cannot be used in conjuction with option(s) READ1_ALIGNED_BAM (R1_ALIGNED)
225 READ2_ALIGNED_BAM (R2_ALIGNED)
226
227 READ1_ALIGNED_BAM=File
228 R1_ALIGNED=File SAM or BAM file(s) with alignment data from the first read of a pair. This option may be
229 specified 0 or more times. Cannot be used in conjuction with option(s) ALIGNED_BAM
230 (ALIGNED)
231
232 READ2_ALIGNED_BAM=File
233 R2_ALIGNED=File SAM or BAM file(s) with alignment data from the second read of a pair. This option may
234 be specified 0 or more times. Cannot be used in conjuction with option(s) ALIGNED_BAM
235 (ALIGNED)
236
237 PAIRED_RUN=Boolean
238 PE=Boolean This argument is ignored and will be removed. Required. Possible values: {true, false}
239
240 JUMP_SIZE=Integer
241 JUMP=Integer The expected jump size (required if this is a jumping library). Deprecated. Use
242 EXPECTED_ORIENTATIONS instead Default value: null. Cannot be used in conjuction with
243 option(s) EXPECTED_ORIENTATIONS (ORIENTATIONS)
244
245 CLIP_ADAPTERS=Boolean Whether to clip adapters where identified. Default value: true. Possible values: {true, false}
246
247 IS_BISULFITE_SEQUENCE=Boolean Whether the lane is bisulfite sequence (used when caculating the NM tag). Default value:
248 false. Possible values: {true, false}
249
250 ALIGNED_READS_ONLY=Boolean Whether to output only aligned reads. Default value: false. Possible values: {true, false}
251
252 MAX_INSERTIONS_OR_DELETIONS=Integer
253 MAX_GAPS=Integer The maximum number of insertions or deletions permitted for an alignment to be included.
254 Alignments with more than this many insertions or deletions will be ignored. Set to -1 to
255 allow any number of insertions or deletions. Default value: 1.
256
257 ATTRIBUTES_TO_RETAIN=String Reserved alignment attributes (tags starting with X, Y, or Z) that should be brought over
258 from the alignment data when merging. This option may be specified 0 or more times.
259
260 ATTRIBUTES_TO_REMOVE=String Attributes from the alignment record that should be removed when merging. This overrides
261 ATTRIBUTES_TO_RETAIN if they share common tags. This option may be specified 0 or more
262 times.
263
264 READ1_TRIM=Integer
265 R1_TRIM=Integer The number of bases trimmed from the beginning of read 1 prior to alignment Default
266 value: 0.
267
268 READ2_TRIM=Integer
269 R2_TRIM=Integer The number of bases trimmed from the beginning of read 2 prior to alignment Default
270 value: 0.
271
272 EXPECTED_ORIENTATIONS=PairOrientation
273 ORIENTATIONS=PairOrientation The expected orientation of proper read pairs. Replaces JUMP_SIZE Possible values: {FR,
274 RF, TANDEM} This option may be specified 0 or more times. Cannot be used in conjuction
275 with option(s) JUMP_SIZE (JUMP)
276
277 ALIGNER_PROPER_PAIR_FLAGS=Boolean
278 Use the aligner's idea of what a proper pair is rather than computing in this program.
279 Default value: false. Possible values: {true, false}
280
281 SORT_ORDER=SortOrder
282 SO=SortOrder The order in which the merged reads should be output. Default value: coordinate.
283 Possible values: {unsorted, queryname, coordinate}
284
285 PRIMARY_ALIGNMENT_STRATEGY=PrimaryAlignmentStrategy
286 Strategy for selecting primary alignment when the aligner has provided more than one
287 alignment for a pair or fragment, and none are marked as primary, more than one is marked
288 as primary, or the primary alignment is filtered out for some reason. BestMapq expects
289 that multiple alignments will be correlated with HI tag, and prefers the pair of
290 alignments with the largest MAPQ, in the absence of a primary selected by the aligner.
291 EarliestFragment prefers the alignment which maps the earliest base in the read. Note
292 that EarliestFragment may not be used for paired reads. BestEndMapq is appropriate for
293 cases in which the aligner is not pair-aware, and does not output the HI tag. It simply
294 picks the alignment for each end with the highest MAPQ, and makes those alignments
295 primary, regardless of whether the two alignments make sense together.MostDistant is also
296 for a non-pair-aware aligner, and picks the alignment pair with the largest insert size.
297 If all alignments would be chimeric, it picks the alignments for each end with the best
298 MAPQ. For all algorithms, ties are resolved arbitrarily. Default value: BestMapq.
299 Possible values: {BestMapq, EarliestFragment, BestEndMapq, MostDistant}
300
301 CLIP_OVERLAPPING_READS=BooleanFor paired reads, soft clip the 3' end of each read if necessary so that it does not
302 extend past the 5' end of its mate. Default value: true. Possible values: {true, false}
303
304 INCLUDE_SECONDARY_ALIGNMENTS=Boolean
305 If false, do not write secondary alignments to output. Default value: true.
306 Possible values: {true, false}
307
308 ADD_MATE_CIGAR=Boolean
309 MC=Boolean Adds the mate CIGAR tag (MC) if true, does not if false. Possible values: {true, false}
310
311
312
313
314 @more_info@
315 </help>
316 </tool>
317
318
319
320
321
322
323
324
325
326
327
328
329