comparison picard_MergeBamAlignment.xml @ 0:5166ed57b1c4 draft

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