annotate reheader.xml @ 3:d6ec32ce882b draft default tip

Uploaded
author wolma
date Tue, 28 Mar 2017 04:34:04 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
1 <tool id="reheader" name="Reheader BAM file" version="0.1.7.3">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
2 <description>From a BAM file generate a new file with the original header (if any) replaced or modified by that found in a second SAM file</description>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
3 <expand macro="requirements" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
4 <version_command>mimodd version -q</version_command>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
5 <command>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
6 #if ($str($rg.treat_rg) != "ignore" and $str($rg.rginfo.source) == "from_form") or $str($co.treat_co) != "ignore":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
7 mimodd header
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
8 #if $str($rg.treat_rg) != "ignore" and $str($rg.rginfo.source) == "from_form":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
9 #for $rginfo in $rg.rginfo.rg
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
10 #if $str($rginfo.source_id):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
11 --rg-id "${rginfo.source_id}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
12 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
13 #if $str($rginfo.rg_sm):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
14 --rg-sm "${rginfo.rg_sm}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
15 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
16 #if $str($rginfo.rg_cn):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
17 --rg-cn "${rginfo.rg_cn}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
18 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
19 --rg-cn ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
20 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
21 #if $str($rginfo.rg_ds):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
22 --rg-ds "${rginfo.rg_ds}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
23 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
24 --rg-ds ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
25 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
26 #if $str($rginfo.rg_date):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
27 --rg-dt "${rginfo.rg_date}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
28 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
29 --rg-dt ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
30 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
31 #if $str($rginfo.rg_lb):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
32 --rg-lb "${rginfo.rg_lb}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
33 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
34 --rg-lb ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
35 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
36 #if $str($rginfo.rg_pl):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
37 --rg-pl "${rginfo.rg_pl}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
38 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
39 --rg-pl ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
40 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
41 #if $str($rginfo.rg_pi):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
42 --rg-pi "${rginfo.rg_pi}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
43 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
44 --rg-pi ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
45 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
46 #if $str($rginfo.rg_pu):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
47 --rg-pu "${rginfo.rg_pu}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
48 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
49 --rg-pu ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
50 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
51 #end for
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
52 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
53 #if $str($co.treat_co) != "ignore":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
54 --co
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
55 #for $comment in $co.coinfo
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
56 #if $str($comment.line):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
57 "${comment.line}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
58 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
59 #end for
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
60 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
61 |
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
62 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
63 mimodd reheader "$inputfile" --sq ignore
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
64 --rg ${rg.treat_rg}
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
65 #if $str($rg.treat_rg) != "ignore":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
66 #if $str($rg.rginfo.source) == "from_file":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
67 "${rg.rginfo.data}"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
68 #else:
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
69 -
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
70 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
71 #for $rgmapping in $rg.rginfo.rg
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
72 #if $str($rgmapping.source_id) and $str($rgmapping.rg_id):
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
73 "$str($rgmapping.source_id)" : "$str($rgmapping.rg_id)"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
74 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
75 #end for
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
76 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
77
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
78 --co ${co.treat_co}
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
79 #if $str($co.treat_co) != "ignore":
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
80 -
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
81 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
82
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
83 #set $restr = ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
84 #for $rename in $rg_renaming
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
85 #set $restr = $restr + ($str($rename.from) and $str($rename.to) and '"' + $str($rename.from) + '" : "' + $str($rename.to) + '" ')
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
86 #end for
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
87 #if $restr
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
88 --rgm $restr
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
89 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
90
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
91 #set $restr = ""
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
92 #for $rename in $sq_renaming
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
93 #set $restr = $restr + ($str($rename.from) and $str($rename.to) and '"' + $str($rename.from) + '" : "' + $str($rename.to) + '" ')
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
94 #end for
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
95 #if $restr
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
96 --sqm $restr
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
97 #end if
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
98
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
99 -o "$output"
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
100 </command>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
101
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
102 <macros>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
103 <import>toolshed_macros.xml</import>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
104 <macro name="getreadgroupinfo">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
105 <conditional name="rginfo">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
106 <param help="" label="source of new read-group information" name="source" type="select">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
107 <option value="from_file">existing SAM file</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
108 <option value="from_form">input form</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
109 </param>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
110 <when value="from_file">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
111 <param format="sam" help="use the read group information found in this file" label="read-group template file in SAM format" name="data" type="data" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
112 <repeat default="0" help="read-group information found in the input file, by default, gets updated / replaced with information from template file read-groups with matching IDs. Alternatively, you may specify explicit read-group mappings below." min="0" name="rg" title="custom read-group mapping">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
113 <param label="modify input file information for read-group ID (will create the read-group if it does not exist)" name="source_id" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
114 <param label="with template file information for read-group ID" name="rg_id" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
115 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
116 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
117 <when value="from_form">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
118 <repeat default="1" min="1" name="rg" title="new read-group info">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
119 <param help="required field" label="read-group ID (will create the read-group if it does not exist)" name="source_id" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
120 <param name="rg_id" type="hidden" value="" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
121 <param help="required field" label="sample name" name="rg_sm" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
122 <param label="description" name="rg_ds" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
123 <param label="date (YY-MM-DD format) the run was produced" name="rg_date" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
124 <param label="name of sequencing center" name="rg_cn" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
125 <param label="read-group library" name="rg_lb" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
126 <param label="platform/technology used to produce the reads" name="rg_pl" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
127 <param label="predicted median insert size" name="rg_pi" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
128 <param label="platform unit; unique identifier" name="rg_pu" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
129 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
130 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
131 </conditional>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
132 </macro>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
133 </macros>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
134
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
135 <inputs>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
136
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
137 <param format="bam" help="the file to reheader." label="input file in BAM format" name="inputfile" type="data" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
138
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
139 <conditional name="rg">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
140 <param help="Replace mode will ignore ALL existing read group information in the input file and use ONLY template information, Update mode will COPY existing input file information and UPDATE it with template information; choose No, ... to leave read-group information alone." label="modify read-group information ?" name="treat_rg" type="select">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
141 <option value="ignore">No, do not change read-groups.</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
142 <option value="update">Yes, update existing information</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
143 <option value="replace">Yes, replace existing information</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
144 </param>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
145 <when value="update">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
146 <expand macro="getreadgroupinfo" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
147 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
148 <when value="replace">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
149 <expand macro="getreadgroupinfo" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
150 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
151 </conditional>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
152
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
153 <conditional name="co">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
154 <param help="" label="modify comments in the input file ?" name="treat_co" type="select">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
155 <option value="ignore">No, do not change comments.</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
156 <option value="update">Yes, append new comments to existing ones</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
157 <option value="replace">Yes, replace all existing comments</option>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
158 </param>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
159 <when value="update">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
160 <repeat default="0" min="0" name="coinfo" title="comment line">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
161 <param name="line" size="80" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
162 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
163 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
164 <when value="replace">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
165 <repeat default="0" min="0" name="coinfo" title="comment line">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
166 <param name="line" size="80" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
167 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
168 </when>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
169 </conditional>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
170
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
171 <repeat default="0" help="Warning: changing read-group IDs may increase job runtime substantially." min="0" name="rg_renaming" title="rename read-group">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
172 <param help="as it appears in the current input file header" label="old name" name="from" size="30" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
173 <param label="new name" name="to" size="30" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
174 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
175
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
176 <repeat default="0" help="Warning: changing sequence names may increase job runtime substantially." min="0" name="sq_renaming" title="rename sequence">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
177 <param help="as it appears in the current input file header" label="old name" name="from" size="30" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
178 <param label="new name" name="to" size="30" type="text" />
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
179 </repeat>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
180
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
181 </inputs>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
182
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
183 <outputs>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
184 <data format="bam" label="(Re)headered bam file from MiModd ${tool.name} on ${on_string}" name="output">
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
185 </data>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
186 </outputs>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
187
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
188 <help>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
189 .. class:: infomark
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
190
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
191 **What it does**
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
192
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
193 The tool generates a copy of the BAM input file with a modified header (i.e., metadata).
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
194
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
195 It can update or replace read-group information (i.e., information about the samples in the file), add or replace comment lines, and rename reference sequences declared in the header.
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
196
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
197 The tool ensures that the resulting BAM file is valid and can be further processed by other MiModD tools and standard software like samtools. It aborts with an error message if a valid BAM file cannot be generated with the user-specified settings.
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
198
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
199 The template information used to modify or replace the input file metadata is provided through forms or, in the case of read-group information, can be taken from an existing SAM file as can be generated, for example, with the *NGS Run Annotation* tool.
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
200
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
201 </help>
d6ec32ce882b Uploaded
wolma
parents:
diff changeset
202 </tool>