0
|
1 <tool id="macs2_1_peakcalling" name="MACS2.1.0" version="2.1.0-4">
|
|
2 <description>Model-based Analysis of ChIP-Seq: peak calling</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="2.7">python</requirement>
|
|
5 <requirement type="package" version="1.9">numpy</requirement>
|
|
6 <requirement type="package" version="2.1.0.20140616">macs2</requirement>
|
|
7 <requirement type="package" version="3.1.2">R</requirement>
|
|
8 <requirement type="package" version="1.0">ucsc_tools_for_macs21</requirement>
|
|
9 </requirements>
|
|
10 <version_command>macs2 --version</version_command>
|
|
11 <command interpreter="python">
|
|
12 macs21_wrapper.py callpeak
|
|
13 ##
|
|
14 ## ChIP-seq input
|
|
15 $input_chipseq_file1
|
|
16 ##
|
|
17 ## ChIP-seq control
|
|
18 #if str($input_control_file1) != 'None'
|
|
19 -c $input_control_file1
|
|
20 #end if
|
|
21 ##
|
|
22 --format=$input_chipseq_file1.extension
|
|
23 --name="$experiment_name"
|
|
24 --bw=$bw
|
|
25 ##
|
|
26 ## Genome size
|
|
27 #if str($genome_size.gsize) == ''
|
|
28 --gsize=$genome_size.user_defined_gsize
|
|
29 #else:
|
|
30 --gsize=$genome_size.gsize
|
|
31 #end if
|
|
32 ##
|
|
33 ## Broad peaks
|
|
34 #if str($broad_options.broad_regions) == 'broad'
|
|
35 --broad --broad-cutoff=$broad_options.broad_cutoff
|
|
36 #end if
|
|
37 ##
|
|
38 ## (no)model options
|
|
39 #if str($nomodel_type.nomodel_type_selector) == 'nomodel'
|
|
40 --nomodel --extsize=$nomodel_type.extsize
|
|
41 #end if
|
|
42 ##
|
|
43 ## pq value select options
|
|
44 #if str($pq_options.pq_options_selector) == 'qvalue'
|
|
45 --qvalue=$pq_options.qvalue
|
|
46 #else
|
|
47 --pvalue=$pq_options.pvalue
|
|
48 #end if
|
|
49 ##
|
|
50 ## Bedgraph options
|
|
51 #if $bdg_options.bdg
|
|
52 -B $bdg_options.spmr
|
|
53 #end if
|
|
54 ##
|
|
55 ## Advanced options
|
|
56 #if $advanced_options.advanced_options_selector
|
|
57 --mfold $advanced_options.mfoldlo $advanced_options.mfoldhi
|
|
58 $advanced_options.nolambda
|
|
59 $advanced_options.call_summits
|
|
60 #if str($advanced_options.keep_duplicates.keep_dup) == ''
|
|
61 --keep-dup $advanced_options.keep_duplicates.maximum_tags
|
|
62 #else
|
|
63 --keep-dup $advanced_options.keep_duplicates.keep_dup
|
|
64 #end if
|
|
65 #else
|
|
66 ## Defaults if advanced options not set
|
|
67 --mfold 10 30 --keep-dup 1
|
|
68 #end if
|
|
69 ##
|
|
70 ## Output files
|
|
71 --output-summits=$output_summits_bed_file
|
|
72 --output-extra-files=$output_extra_files
|
|
73 --output-extra-files-path=$output_extra_files.files_path
|
|
74 ##
|
|
75 ## Narrow/broad peak outputs
|
|
76 #if str($broad_options.broad_regions) == 'broad'
|
|
77 --output-broadpeaks=$output_broadpeaks_file
|
|
78 --output-gappedpeaks=$output_gappedpeaks_file
|
|
79 #else
|
|
80 --output-narrowpeaks=$output_narrowpeaks_file
|
|
81 #end if
|
|
82 ##
|
|
83 ## Bedgraph outputs
|
|
84 #if $bdg_options.bdg
|
|
85 --output-pileup=$output_treat_pileup_file
|
|
86 --output-lambda-bedgraph=$output_lambda_bedgraph_file
|
|
87 #if $bdg_options.make_bigwig
|
|
88 --output-bigwig=$output_bigwig_file
|
|
89 --length=$GALAXY_DATA_INDEX_DIR/shared/ucsc/chrom/${input_chipseq_file1.dbkey}.len
|
|
90 #end if
|
|
91 #end if
|
|
92 ##
|
|
93 ## XLS/interval output
|
|
94 #if str($xls_to_interval) == 'True'
|
|
95 --output-xls-to-interval=$output_xls_to_interval_peaks_file
|
|
96 #else
|
|
97 --output-peaks=$output_peaks_file
|
|
98 #end if
|
|
99 </command>
|
|
100 <inputs>
|
|
101 <!--experiment name used as base for output file names -->
|
|
102 <param name="experiment_name" type="text" value="MACS2.1.0 in Galaxy" size="50"
|
|
103 label="Experiment Name"/>
|
|
104 <!--choose 'broad' or 'narrow' regions-->
|
|
105 <conditional name="broad_options">
|
|
106 <param name="broad_regions" type="select" label="Type of region to call"
|
|
107 help="Broad regions are formed by linking nearby enriched regions">
|
|
108 <option value="" selected="true">Narrow regions</option>
|
|
109 <option value="broad">Broad regions</option>
|
|
110 </param>
|
|
111 <when value="broad">
|
|
112 <param name="broad_cutoff" type="float"
|
|
113 label="Cutoff for broad regions"
|
|
114 value="0.1" help="default: 0.1 (--broad-cutoff)"/>
|
|
115 </when>
|
|
116 </conditional>
|
|
117 <param name="input_chipseq_file1" type="data" format="bed,sam,bam"
|
|
118 label="ChIP-seq read file" />
|
|
119 <param name="input_control_file1" type="data" format="bed,sam,bam" optional="True"
|
|
120 label="ChIP-seq control read file" />
|
|
121 <conditional name="genome_size">
|
|
122 <param name="gsize" type="select" label="Effective genome size"
|
|
123 help="Either pre-defined (for common organisms), or user-defined (--gsize)">
|
|
124 <option value="hs" selected="true">Human (2.7e9)</option>
|
|
125 <option value="mm">Mouse (1.87e9)</option>
|
|
126 <option value="ce">C. elegans (9e7)</option>
|
|
127 <option value="dm">Fruitfly (1.2e8)</option>
|
|
128 <option value="">User-defined</option>
|
|
129 </param>
|
|
130 <when value="">
|
|
131 <!-- User-defined effective genome size -->
|
|
132 <param name="user_defined_gsize" type="float" value=""
|
|
133 label="Enter effective genome size (number of bases)"
|
|
134 help="e.g. '1.0e+9' or '1000000000'" />
|
|
135 </when>
|
|
136 </conditional>
|
|
137 <param name="bw" type="integer" label="Band width" value="300" help="(--bw)"/>
|
|
138 <param name="xls_to_interval" label="Include XLS file from MACS"
|
|
139 type="boolean" truevalue="True" falsevalue="False" checked="True"
|
|
140 help="MACS2 XLS file will be output to the history in 'interval' format (suitable for subsequent analysis in Galaxy). Note that start positions are 1-based."/>
|
|
141
|
|
142 <conditional name="bdg_options">
|
|
143 <param name="bdg"
|
|
144 label="Save treatment and control lambda pileups in bedGraph"
|
|
145 type="boolean" truevalue="-B" falsevalue="" checked="False" />
|
|
146 <when value="-B">
|
|
147 <param name="spmr"
|
|
148 type="boolean" truevalue="--SPMR" falsevalue="" checked="False"
|
|
149 label="Save signal per million reads for fragment pileup profiles"
|
|
150 help="(--SPMR)" />
|
|
151 <param name="make_bigwig" type="boolean" checked="True"
|
|
152 truevalue="True" falsevalue=""
|
|
153 label="Also generate bigWig file from bedGraph"
|
|
154 help="bigWig file can used in subsequent analyses e.g. CEAS" />
|
|
155 </when>
|
|
156 <when value="">
|
|
157 <!-- Display nothing -->
|
|
158 </when>
|
|
159 </conditional>
|
|
160
|
|
161 <conditional name="pq_options">
|
|
162 <param name="pq_options_selector" type="select"
|
|
163 label="Select p-value or q-value" help="default uses q-value">
|
|
164 <option value="qvalue">q-value</option>
|
|
165 <option value="pvalue">p-value</option>
|
|
166 </param>
|
|
167 <when value="pvalue">
|
|
168 <param name="pvalue" type="float"
|
|
169 label="p-value cutoff for binding region detection"
|
|
170 value="1e-2" help="default: 1e-2 (--pvalue)"/>
|
|
171 </when>
|
|
172 <when value="qvalue">
|
|
173 <param name="qvalue" type="float"
|
|
174 label="q-value cutoff for binding region detection"
|
|
175 value="0.01" help="default: 0.01 (--qvalue)"/>
|
|
176 </when>
|
|
177 </conditional>
|
|
178 <conditional name="advanced_options">
|
|
179 <param name="advanced_options_selector"
|
|
180 type="boolean" truevalue="on" falsevalue="off" checked="False"
|
|
181 label="Use advanced options?" />
|
|
182 <when value="on">
|
|
183 <param name="mfoldlo" type="integer"
|
|
184 label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (lower-limit)"
|
|
185 value="10" help="(--mfold)"/>
|
|
186 <param name="mfoldhi" type="integer"
|
|
187 label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (upper-limit)"
|
|
188 value="30" help="(--mfold)"/>
|
|
189 <param name="nolambda"
|
|
190 label="Use fixed background lambda as local lambda for every binding region"
|
|
191 type="boolean" truevalue="--nolambda" falsevalue="" checked="False"
|
|
192 help="(--nolambda)"/>
|
|
193 <param name="call_summits"
|
|
194 label="Detect subpeaks within binding region"
|
|
195 type="boolean" truevalue="--call-summits" falsevalue="" checked="False"
|
|
196 help="(--call-summits)"/>
|
|
197 <conditional name="keep_duplicates">
|
|
198 <param name="keep_dup" type="select"
|
|
199 label="Use of duplicate reads">
|
|
200 <option value="auto">Automatically calculate maximum number of duplicates to keep (auto)</option>
|
|
201 <option value="all">Use all duplicates (all)</option>
|
|
202 <option value="" selected="true">Manually specify maxium number of duplicates</option>
|
|
203 </param>
|
|
204 <when value="">
|
|
205 <param name="maximum_tags" type="integer" value="1"
|
|
206 label="Maxium number of duplicated tags to keep at each location"/>
|
|
207 </when>
|
|
208 </conditional>
|
|
209 </when>
|
|
210 <when value="off">
|
|
211 <!--display nothing-->
|
|
212 </when>
|
|
213 </conditional>
|
|
214 <conditional name="nomodel_type">
|
|
215 <param name="nomodel_type_selector" type="select" label="Build Model">
|
|
216 <option value="nomodel">Do not build the shifting model (--nomodel enabled)</option>
|
|
217 <option value="create_model" selected="true">Build the shifting model (--nomodel disabled)</option>
|
|
218 </param>
|
|
219 <when value="nomodel">
|
|
220 <param name="extsize" type="integer" label="Arbitrary extension size in bp" value="200" help="Used as fragment size to extend each read towards 3' end (--extsize)"/>
|
|
221 </when>
|
|
222 </conditional>
|
|
223 </inputs>
|
|
224
|
|
225 <outputs>
|
|
226 <!--callpeaks output-->
|
|
227 <data name="output_extra_files" format="html"
|
|
228 label="${tool.name}: callpeak on ${on_string} (html report)">
|
|
229 </data>
|
|
230 <data name="output_summits_bed_file" format="bed"
|
|
231 label="${tool.name}: callpeak on ${on_string} (summits: bed)">
|
|
232 </data>
|
|
233 <data name="output_peaks_file" format="xls"
|
|
234 label="${tool.name}: callpeak on ${on_string} (peaks: xls)">
|
|
235 <filter>xls_to_interval is False</filter>
|
|
236 </data>
|
|
237 <data name="output_narrowpeaks_file" format="interval"
|
|
238 label="${tool.name}: callpeak on ${on_string} (peaks: narrowPeak)">
|
|
239 <filter>broad_options['broad_regions'] == ''</filter>
|
|
240 </data>
|
|
241 <data name="output_broadpeaks_file" format="interval"
|
|
242 label="${tool.name}: callpeak on ${on_string} (peaks: broadPeak)">
|
|
243 <filter>broad_options['broad_regions'] == 'broad'</filter>
|
|
244 </data>
|
|
245 <data name="output_gappedpeaks_file" format="interval"
|
|
246 label="${tool.name}: callpeak on ${on_string} (peaks: gappedPeak)">
|
|
247 <filter>broad_options['broad_regions'] == 'broad'</filter>
|
|
248 </data>
|
|
249 <data name="output_xls_to_interval_peaks_file" format="interval"
|
|
250 label="${tool.name}: callpeak on ${on_string} (peaks: interval)">
|
|
251 <filter>xls_to_interval is True</filter>
|
|
252 </data>
|
|
253 <data name="output_treat_pileup_file" format="bedgraph"
|
|
254 label="${tool.name}: callpeak on ${on_string} (treat pileup: bedGraph)">
|
|
255 <filter>bdg_options['bdg'] is True</filter>
|
|
256 </data>
|
|
257 <data name="output_lambda_bedgraph_file" format="bedgraph"
|
|
258 label="${tool.name}: callpeak on ${on_string} (control lambda: bedGraph)">
|
|
259 <filter>bdg_options['bdg'] is True</filter>
|
|
260 </data>
|
|
261 <data name="output_bigwig_file" format="bigwig"
|
|
262 label="${tool.name}: callpeak on ${on_string} (treat pileup: bigWig)">
|
|
263 <filter>bdg_options['bdg'] is True</filter>
|
|
264 <filter>bdg_options['make_bigwig'] is True</filter>
|
|
265 </data>
|
|
266 </outputs>
|
|
267 <tests>
|
|
268 <!-- Peak calling without bigwig output -->
|
|
269 <test>
|
|
270 <!-- Inputs -->
|
|
271 <param name="experiment_name" value="test_MACS2.1.0" />
|
|
272 <param name="broad_regions" value="" />
|
|
273 <param name="input_chipseq_file1" value="test_region_IP.bed" dbkey="galGal3"
|
|
274 ftype="bed" />
|
|
275 <param name="input_control_file1" value="test_region_Input.bed"
|
|
276 ftype="bed" />
|
|
277 <param name="gsize" value="" />
|
|
278 <param name="user_defined_gsize" value="775000000.0" />
|
|
279 <param name="bw" value="300" />
|
|
280 <param name="xls_to_interval" value="true" />
|
|
281 <param name="bdg_options|bdg" value="-B" />
|
|
282 <param name="bdg_options|spmr" value="--SPMR" />
|
|
283 <param name="bdg_options|make_bigwig" value="false" />
|
|
284 <param name="pq_options_selector" value="qvalue" />
|
|
285 <param name="qvalue" value="0.05" />
|
|
286 <param name="advanced_options_selector" value="true" />
|
|
287 <param name="advanced_options|mfoldlo" value="5" />
|
|
288 <param name="advanced_options|mfoldhi" value="50" />
|
|
289 <param name="advanced_options|nolambda" value="" />
|
|
290 <param name="advanced_options|call_summits" value="" />
|
|
291 <param name="advanced_options|keep_duplicates" value="" />
|
|
292 <param name="advanced_options|maximum_tags" value="1" />
|
|
293 <param name="nomodel_type_selector" value="nomodel" />
|
|
294 <param name="nomodel_type|extsize" value="243" />
|
|
295 <!-- Outputs -->
|
|
296 <output name="output_extra_files" file="test_MACS2.1.0_html_report.zip"
|
|
297 compare="sim_size" delta="1500" />
|
|
298 <output name="output_summits_bed_file" file="test_MACS2.1.0_summits.bed" />
|
|
299 <output name="output_narrowpeaks_file" file="test_MACS2.1.0_peaks_narrowPeak.interval" />
|
|
300 <output name="output_xls_to_interval_peaks_file"
|
|
301 file="test_MACS2.1.0_peaks.xls.re_match"
|
|
302 compare="re_match" lines_diff="1" />
|
|
303 <output name="output_treat_pileup_file" file="test_MACS2.1.0_treat_pileup.bdg" />
|
|
304 <output name="output_lambda_bedgraph_file" file="test_MACS2.1.0_control_lambda.bdg" />
|
|
305 </test>
|
|
306 <!-- Peak calling with bigwig output -->
|
|
307 <test>
|
|
308 <!-- Inputs -->
|
|
309 <param name="experiment_name" value="test_MACS2.1.0" />
|
|
310 <param name="broad_regions" value="" />
|
|
311 <param name="input_chipseq_file1" value="test_region_IP.bed" dbkey="galGal3"
|
|
312 ftype="bed" />
|
|
313 <param name="input_control_file1" value="test_region_Input.bed"
|
|
314 ftype="bed" />
|
|
315 <param name="gsize" value="" />
|
|
316 <param name="user_defined_gsize" value="775000000.0" />
|
|
317 <param name="bw" value="300" />
|
|
318 <param name="xls_to_interval" value="true" />
|
|
319 <param name="bdg_options|bdg" value="-B" />
|
|
320 <param name="bdg_options|spmr" value="--SPMR" />
|
|
321 <param name="bdg_options|make_bigwig" value="true" />
|
|
322 <param name="pq_options_selector" value="qvalue" />
|
|
323 <param name="qvalue" value="0.05" />
|
|
324 <param name="advanced_options_selector" value="true" />
|
|
325 <param name="advanced_options|mfoldlo" value="5" />
|
|
326 <param name="advanced_options|mfoldhi" value="50" />
|
|
327 <param name="advanced_options|nolambda" value="" />
|
|
328 <param name="advanced_options|call_summits" value="" />
|
|
329 <param name="advanced_options|keep_duplicates" value="" />
|
|
330 <param name="advanced_options|maximum_tags" value="1" />
|
|
331 <param name="nomodel_type_selector" value="nomodel" />
|
|
332 <param name="nomodel_type|extsize" value="243" />
|
|
333 <!-- Outputs -->
|
|
334 <output name="output_extra_files" file="test_MACS2.1.0_bw_html_report.zip"
|
|
335 compare="sim_size" delta="2500" />
|
|
336 <output name="output_summits_bed_file" file="test_MACS2.1.0_summits.bed" />
|
|
337 <output name="output_narrowpeaks_file" file="test_MACS2.1.0_peaks_narrowPeak.interval" />
|
|
338 <output name="output_xls_to_interval_peaks_file"
|
|
339 file="test_MACS2.1.0_peaks.xls.re_match"
|
|
340 compare="re_match" lines_diff="1" />
|
|
341 <output name="output_treat_pileup_file" file="test_MACS2.1.0_treat_pileup.bdg" />
|
|
342 <output name="output_lambda_bedgraph_file" file="test_MACS2.1.0_control_lambda.bdg" />
|
|
343 <output name="output_bigwig_file" file="test_MACS2.1.0_treat_pileup.bw"
|
|
344 compare="sim_size" />
|
|
345 </test>
|
|
346 </tests>
|
|
347 <help>
|
|
348 **What it does**
|
|
349
|
|
350 MACS (Model-based Analysis of ChIP-seq) 2.1.0 provides algorithms for identifying
|
|
351 transcript factor binding sites. The program can be used either for ChIP-Seq data alone,
|
|
352 or with control sample data to improve specificity.
|
|
353
|
|
354 View the MACS2 documentation at:
|
|
355 https://github.com/taoliu/MACS/blob/master/README.rst
|
|
356
|
|
357 ------
|
|
358
|
|
359 **Usage**
|
|
360
|
|
361 The tool interfaces with the **callpeak** function in MACS, which calls peaks from
|
|
362 alignment results.
|
|
363
|
|
364 ------
|
|
365
|
|
366 **Credits**
|
|
367
|
|
368 This Galaxy tool was based on the MACS2 tool hosted in the Galaxy toolshed at
|
|
369
|
|
370 * http://toolshed.g2.bx.psu.edu/view/modencode-dcc/macs2
|
|
371
|
|
372 (specifically the 16:14f378e35191 revision of the tool) which is credited to Ziru
|
|
373 Zhou. This version is a reimplemented version developed within the Bioinformatics
|
|
374 Core Facility at the University of Manchester, which uses more up-to-date Galaxy
|
|
375 syntax and adds some extra features.
|
|
376
|
|
377 The tool runs Tao Liu's MACS2 software:
|
|
378
|
|
379 * https://github.com/taoliu/MACS
|
|
380
|
|
381 The reference for MACS is:
|
|
382
|
|
383 * Zhang Y, Liu T, Meyer CA, Eeckhoute J, Johnson DS, Bernstein BE, Nusbaum C,
|
|
384 Myers RM, Brown M, Li W, Liu XS. Model-based analysis of ChIP-Seq (MACS).
|
|
385 Genome Biol. 2008;9(9):R137.
|
|
386
|
|
387 Please kindly acknowledge both this Galaxy tool and the MACS2 package if you
|
|
388 use it.
|
|
389 </help>
|
|
390 <citations>
|
|
391 <!--
|
|
392 See https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Ccitations.3E_tag_set
|
|
393 Can be either DOI or Bibtex
|
|
394 Use http://www.bioinformatics.org/texmed/ to convert PubMed to Bibtex
|
|
395 -->
|
|
396 <citation type="doi">10.1186/gb-2008-9-9-r137</citation>
|
|
397 </citations>
|
|
398 </tool>
|