annotate bwa_macros.xml @ 6:09a7281d24c5 draft

planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
author devteam
date Tue, 21 Jul 2015 14:12:49 -0400
parents fbf460831036
children d8c9597bfb09
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
1 <macros>
5
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
2 <import>read_group_macros.xml</import>
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
3 <token name="@set_rg_string@">
5
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
4 #set $rg_string = "@RG\tID:" + str($rg_id)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
5 #set $rg_string += $format_read_group("\tSM:", $rg_sm)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
6 #set $rg_string += $format_read_group("\tPL:", $rg_pl)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
7 #set $rg_string += $format_read_group("\tLB:", $rg_lb)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
8 #set $rg_string += $format_read_group("\tCN:", $rg_cn)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
9 #set $rg_string += $format_read_group("\tDS:", $rg_ds)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
10 #set $rg_string += $format_read_group("\tDT:", $rg_dt)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
11 #set $rg_string += $format_read_group("\tFO:", $rg_fo)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
12 #set $rg_string += $format_read_group("\tKS:", $rg_ks)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
13 #set $rg_string += $format_read_group("\tPG:", $rg_pg)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
14 #set $rg_string += $format_read_group("\tPI:", $rg_pi)
fbf460831036 planemo upload commit d0e3412c58bd3bdc1a483a1e2f7f9c2aa5c87a1f-dirty
devteam
parents: 4
diff changeset
15 #set $rg_string += $format_read_group("\tPU:", $rg_pu)
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
16 </token>
6
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
17
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
18 <xml name="stdio">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
19 <stdio>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
20 <exit_code range="1:" />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
21 <exit_code range=":-1" />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
22 <regex match="Error:" />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
23 <regex match="Exception:" />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
24 </stdio>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
25 </xml>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
26
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
27 <macro name="dbKeyActionsBwa">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
28 <expand macro="dbKeyActions">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
29 <option type="from_data_table" name="bwa_indexes" column="1" offset="0">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
30 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
31 <filter type="param_value" ref="reference_source.ref_file" column="0"/>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
32 </option>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
33 </expand>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
34 </macro>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
35
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
36 <macro name="dbKeyActionsBwaMem">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
37 <expand macro="dbKeyActions">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
38 <option type="from_data_table" name="bwa_mem_indexes" column="1" offset="0">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
39 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
40 <filter type="param_value" ref="reference_source.ref_file" column="0"/>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
41 </option>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
42 </expand>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
43 </macro>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
44
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
45 <macro name="dbKeyActions">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
46 <actions>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
47 <conditional name="reference_source.reference_source_selector">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
48 <when value="cached">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
49 <action type="metadata" name="dbkey">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
50 <yield />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
51 </action>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
52 </when>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
53 <when value="history">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
54 <action type="metadata" name="dbkey">
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
55 <option type="from_param" name="reference_source.ref_file" param_attribute="dbkey" />
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
56 </action>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
57 </when>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
58 </conditional>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
59 </actions>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
60 </macro>
09a7281d24c5 planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
devteam
parents: 5
diff changeset
61
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
62 <token name="@RG@">
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
63 -----
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
64
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
65 .. class:: warningmark
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
66
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
67 **Read Groups are Important!**
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
68
4
ac30bfd3e2a8 planemo upload commit a50a3947aebc8a1d11bac39599f4efd8ed9a3bd5
devteam
parents: 2
diff changeset
69 One of the recommended best practices in NGS analysis is adding read group information to BAM files. You can do this directly in BWA interface using the
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
70 **Specify read group information?** widget. If you are not familiar with read groups you shold know that this is effectively a way to tag reads with an additional ID.
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
71 This allows you to combine BAM files from, for example, multiple BWA runs into a single dataset. This significantly simplifies downstream processing as
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
72 instead of dealing with multiple datasets you only have to handle only one. This is possible because the read group information allows you to identify
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
73 data from different experiments even if they are combined in one file. Many downstream analysis tools such as varinat callers (e.g., FreeBayes or Naive Varinat Caller
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
74 present in Galaxy) are aware of readgtroups and will automatically generate calls for each individual sample even if they are combined within a single file.
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
75
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
76 **Description of read groups fields**
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
77
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
78 (from GATK FAQ webpage):
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
79
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
80 .. csv-table::
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
81 :header-rows: 1
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
82
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
83 Tag,Importance,Definition,Meaning
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
84 "ID","Required","Read group identifier. Each @RG line must have a unique ID. The value of ID is used in the RG tags of alignment records. Must be unique among all read groups in header section. Read group IDs may be modified when merging SAM files in order to handle collisions.","Ideally, this should be a globally unique identify across all sequencing data in the world, such as the Illumina flowcell + lane name and number. Will be referenced by each read with the RG:Z field, allowing tools to determine the read group information associated with each read, including the sample from which the read came. Also, a read group is effectively treated as a separate run of the NGS instrument in tools like base quality score recalibration (a GATK component) -- all reads within a read group are assumed to come from the same instrument run and to therefore share the same error model."
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
85 "SM","Sample. Use pool name where a pool is being sequenced.","Required. As important as ID.","The name of the sample sequenced in this read group. GATK tools treat all read groups with the same SM value as containing sequencing data for the same sample. Therefore it's critical that the SM field be correctly specified, especially when using multi-sample tools like the Unified Genotyper (a GATK component)."
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
86 "PL","Platform/technology used to produce the read. Valid values: ILLUMINA, SOLID, LS454, HELICOS and PACBIO.","Important. Not currently used in the GATK, but was in the past, and may return. The only way to known the sequencing technology used to generate the sequencing data","It's a good idea to use this field."
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
87 "LB","DNA preparation library identify","Essential for MarkDuplicates","MarkDuplicates uses the LB field to determine which read groups might contain molecular duplicates, in case the same DNA library was sequenced on multiple lanes."
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
88
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
89
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
90 **Example of Read Group usage**
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
91
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
92 Suppose we have a trio of samples: MOM, DAD, and KID. Each has two DNA libraries prepared, one with 400 bp inserts and another with 200 bp inserts. Each of these libraries is run on two lanes of an illumina hiseq, requiring 3 x 2 x 2 = 12 lanes of data. When the data come off the sequencer, we would create 12 BAM files, with the following @RG fields in the header::
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
93
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
94 Dad's data:
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
95 @RG ID:FLOWCELL1.LANE1 PL:illumina LB:LIB-DAD-1 SM:DAD PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
96 @RG ID:FLOWCELL1.LANE2 PL:illumina LB:LIB-DAD-1 SM:DAD PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
97 @RG ID:FLOWCELL1.LANE3 PL:illumina LB:LIB-DAD-2 SM:DAD PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
98 @RG ID:FLOWCELL1.LANE4 PL:illumina LB:LIB-DAD-2 SM:DAD PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
99
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
100 Mom's data:
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
101 @RG ID:FLOWCELL1.LANE5 PL:illumina LB:LIB-MOM-1 SM:MOM PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
102 @RG ID:FLOWCELL1.LANE6 PL:illumina LB:LIB-MOM-1 SM:MOM PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
103 @RG ID:FLOWCELL1.LANE7 PL:illumina LB:LIB-MOM-2 SM:MOM PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
104 @RG ID:FLOWCELL1.LANE8 PL:illumina LB:LIB-MOM-2 SM:MOM PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
105
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
106 Kid's data:
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
107 @RG ID:FLOWCELL2.LANE1 PL:illumina LB:LIB-KID-1 SM:KID PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
108 @RG ID:FLOWCELL2.LANE2 PL:illumina LB:LIB-KID-1 SM:KID PI:200
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
109 @RG ID:FLOWCELL2.LANE3 PL:illumina LB:LIB-KID-2 SM:KID PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
110 @RG ID:FLOWCELL2.LANE4 PL:illumina LB:LIB-KID-2 SM:KID PI:400
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
111
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
112 Note the hierarchical relationship between read groups (unique for each lane) to libraries (sequenced on two lanes) and samples (across four lanes, two lanes for each library).
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
113 </token>
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
114 <token name="@info@">
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
115 -----
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
116
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
117 .. class:: infomark
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
118
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
119 **More info**
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
120
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
121 To obtain more information about BWA and ask questions use these resources:
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
122
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
123 1. https://biostar.usegalaxy.org/
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
124 2. https://www.biostars.org/
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
125 3. https://github.com/lh3/bwa
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
126 4. http://bio-bwa.sourceforge.net/
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
127
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
128 </token>
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
129
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
130 <token name="@dataset_collections@">
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
131 ------
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
132
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
133 **Dataset collections - processing large numbers of datasets at once**
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
134
4
ac30bfd3e2a8 planemo upload commit a50a3947aebc8a1d11bac39599f4efd8ed9a3bd5
devteam
parents: 2
diff changeset
135 Dataset collections are in beta-testing. Extensive documentation will be added later this Spring.
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
136
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
137
2
e29bc5c169bc Uploaded
devteam
parents: 0
diff changeset
138 </token>
0
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
139
ff1ae217ccc2 Uploaded
devteam
parents:
diff changeset
140 </macros>