comparison macs2_wrapper.xml @ 0:642c0da30ca6 draft

Initial upload.
author stemcellcommons
date Thu, 17 Oct 2013 12:47:49 -0400
parents
children c05f607d116c
comparison
equal deleted inserted replaced
-1:000000000000 0:642c0da30ca6
1 <tool id="macs2_peakcalling" name="MACS2" version="2.0.10">
2 <description>Model-based Analysis of ChIP-Seq</description>
3 <command interpreter="python">macs2_wrapper.py $options_file $outputs_file</command>
4 <inputs>
5 <!--experiment name and option of selecting paired or single end will always be present-->
6 <param name="experiment_name" type="text" value="MACS2 in Galaxy" size="50" label="Experiment Name"/>
7
8 <!--select one of the 7 major commands offered by macs2-->
9 <conditional name="major_command">
10 <param name="major_command_selector" type="select" label="Select action to be performed">
11 <option value="callpeak">Peak Calling</option>
12 <!--<option value="filterdup">filterdup</option>
13 <option value="randsample">randsample</option>-->
14 <option value="bdgcmp">Compare .bdg Files</option>
15 <!--<option value="bdgdiff">bdgdiff</option>
16 <option value="bdgpeakcall">bdgpeakcall</option>
17 <option value="bdgbroadcall">bdgbroadcall</option>-->
18 </param>
19 <!--callpeak option of macs2-->
20 <when value="callpeak">
21 <!--may need to add a few more formats at later time-->
22 <param name="input_chipseq_file1" type="data" format="bam" label="ChIP-Seq Tag File" />
23 <param name="input_control_file1" type="data" format="bam" optional="True" label="ChIP-Seq Control File" />
24 <param name="gsize" type="float" label="Effective genome size" value="2.7e+9" help="Human: 3.3e+9, Mouse: 3.0e+9, Fly: 1.9e+8, Worm: 1.3e+8 (--gsize)"/>
25 <param name="bw" type="integer" label="Band width" value="300" help="(--bw)"/>
26 <param name="xls_to_interval" label="Parse xls files into into distinct interval files" type="boolean" truevalue="True" falsevalue="False" checked="False"/>
27 <param name="bdg" label="Save fragment pileup, control lambda, -log10pvalue/qvalue in bedGraph" type="boolean" truevalue="-B" falsevalue="" checked="False" help="files located in html report"/>
28
29 <conditional name="pq_options">
30 <param name="pq_options_selector" type="select" label="Select p-value or q-value" help="default uses q-value">
31 <option value="qvalue">q-value</option>
32 <option value="pvalue">p-value</option>
33 </param>
34 <when value="pvalue">
35 <param name="pvalue" type="float" label="p-value cutoff for peak detection" value="1e-2" help="default: 1e-2 (--pvalue)"/>
36 </when>
37 <when value="qvalue">
38 <param name="qvalue" type="float" label="q-value cutoff for peak detection" value="5e-2" help="default: 5e-2 (--qvalue)"/>
39 </when>
40 </conditional>
41 <conditional name="advanced_options">
42 <param name="advanced_options_selector" type="select" label="Display advanced options">
43 <option value="off">Hide</option>
44 <option value="on">Display</option>
45 </param>
46 <when value="on">
47 <param name="mfoldlo" type="integer" label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (lower-limit)" value="10" help="(--mfold)"/>
48 <param name="mfoldhi" type="integer" label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (upper-limit)" value="30" help="(--mfold)"/>
49 <param name="nolambda" label="Use fixed background lambda as local lambda for every peak region" type="boolean" truevalue="--nolambda" falsevalue="" checked="False" help="up to 9X more time consuming (--nolambda)"/>
50 </when>
51 <when value="off">
52 <!--display nothing-->
53 </when>
54 </conditional>
55 <conditional name="nomodel_type">
56 <param name="nomodel_type_selector" type="select" label="Build Model">
57 <option value="nomodel">Do not build the shifting model (--nomodel enabled)</option>
58 <option value="create_model" selected="true">Build the shifting model (--nomodel disabled)</option>
59 </param>
60 <when value="nomodel">
61 <param name="shiftsize" type="integer" label="Arbitrary shift size in bp" value="100" help="(--shiftsize)"/>
62 </when>
63 </conditional>
64 </when>
65
66 <!--callpeak option of macs2-->
67 <when value="bdgcmp">
68 <param name="input_chipseq_file1" type="data" format="bam" label="ChIP-Seq Tag File" />
69 <param name="input_control_file1" type="data" format="bam" optional="True" label="ChIP-Seq Control File" />
70 <param name="pseudocount" type="float" label="Set pseudocount" value="0.00001" help="default: 0.00001 (-p)"/>
71
72 <conditional name="bdgcmp_options">
73 <param name="bdgcmp_options_selector" type="select" label="Select action to be performed">
74 <option value="ppois">ppois</option>
75 <option value="qpois">qpois</option>
76 <option value="subtract">subtract</option>
77 <option value="logFE">logFE</option>
78 <option value="FE">FE</option>
79 <option value="logLR">logLR</option>
80 </param>
81 </conditional>
82 </when>
83 </conditional>
84 </inputs>
85
86 <outputs>
87 <!--callpeaks output-->
88 <data name="output_bed_file" format="bed" label="${tool.name}: callpeak on ${on_string} (peaks: bed)">
89 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
90 </data>
91 <data name="output_extra_files" format="html" label="${tool.name}: callpeak on ${on_string} (html report)">
92 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
93 </data>
94 <data name="output_peaks_file" format="xls" label="${tool.name}: callpeak on ${on_string} (peaks: xls)">
95 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
96 </data>
97 <data name="output_narrowpeaks_file" format="txt" label="${tool.name}: callpeak on ${on_string} (peaks: encodePeak)">
98 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
99 </data>
100 <data name="output_xls_to_interval_peaks_file" format="interval" label="${tool.name}: callpeak on ${on_string} (peaks: interval)">
101 <filter>major_command['xls_to_interval'] is True</filter>
102 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
103 </data>
104 <data name="output_xls_to_interval_negative_peaks_file" format="interval" label="${tool.name}: callpeak on ${on_string} (negative peaks: interval)">
105 <filter>major_command['xls_to_interval'] is True</filter>
106 <filter>major_command['input_control_file1'] is not None</filter>
107 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
108 </data>
109 <!--bdgcmp output-->
110 <data name="output_bdgcmp_file" format="bdg" label="${tool.name}: bdgcmp on ${on_string} (bdg)">
111 <filter>major_command['major_command_selector'] == 'bdgcmp'</filter>
112 </data>
113 </outputs>
114 <configfiles>
115
116 <configfile name="outputs_file">&lt;%
117 import simplejson
118 %&gt;
119 ##=======================================================================================
120 #set $__outputs = { 'command':str( $major_command.major_command_selector ) }
121 #if str( $major_command.major_command_selector ) == 'callpeak':
122 #set $__outputs['output_bed_file'] = str( $output_bed_file )
123 #set $__outputs['output_extra_file'] = str( $output_extra_files )
124 #set $__outputs['output_extra_file_path'] = str( $output_extra_files.files_path )
125 #set $__outputs['output_peaks_file'] = str( $output_peaks_file )
126 #set $__outputs['output_narrowpeaks_file'] = str( $output_narrowpeaks_file )
127 #set $__outputs['output_xls_to_interval_peaks_file'] = str( $output_xls_to_interval_peaks_file )
128 #set $__outputs['output_xls_to_interval_negative_peaks_file'] = str( $output_xls_to_interval_negative_peaks_file )
129 #end if
130 ##=======================================================================================
131 #if str( $major_command.major_command_selector ) == 'bdgcmp':
132 #set $__outputs['output_bdgcmp_file'] = str( $output_bdgcmp_file )
133 #end if
134
135 ${ simplejson.dumps( __outputs ) }
136 </configfile>
137 <configfile name="options_file">&lt;%
138 import simplejson
139 %&gt;
140 ##=======================================================================================
141 #set $__options = { 'experiment_name':str( $experiment_name ) }
142 ##treatment/tag input files and format
143 #set $__options['input_chipseq'] = [ str( $major_command.input_chipseq_file1 ) ]
144 #set $__options['format'] = $major_command.input_chipseq_file1.extension.upper()
145
146 ##control/input files
147 #set $__options['input_control'] = []
148 #if str( $major_command.input_control_file1 ) != 'None':
149 #set $_hole = __options['input_control'].append( str( $major_command.input_control_file1 ) )
150 #end if
151
152 #if str( $major_command.major_command_selector ) == 'callpeak':
153 #set $__options['command'] = str( "callpeak" )
154 #set $__options['gsize'] = int( $major_command.gsize )
155 #set $__options['bw'] = str( $major_command.bw )
156 #set $__options['bdg'] = str( $major_command.bdg )
157 #set $__options['xls_to_interval'] = str( $major_command.xls_to_interval )
158
159 ##advanced options
160 #if str( $major_command.advanced_options.advanced_options_selector ) == 'on':
161 #set $__options['mfoldlo'] = int( $major_command.advanced_options.mfoldlo )
162 #set $__options['mfoldhi'] = int( $major_command.advanced_options.mfoldhi )
163 #set $__options['nolambda'] = str( $major_command.advanced_options.nolambda )
164 #else:
165 #set $__options['mfoldlo'] = int( "10" )
166 #set $__options['mfoldhi'] = int( "30" )
167 #set $__options['nolambda'] = str( "" )
168 #end if
169
170 ##enable xls file options
171 ##if str( $major_command.xls_to_interval ) == 'create':
172 ##set $__options['xls_to_interval'] = { 'peaks_file': str( $output_xls_to_interval_peaks_file ), 'negative_peaks_file': str( $output_xls_to_interval_negative_peaks_file ) }
173 ##end if
174
175 ##pq value select options
176 #if str( $major_command.pq_options.pq_options_selector ) == 'qvalue':
177 #set $__options['qvalue'] = str( $major_command.pq_options.qvalue )
178 #else:
179 #set $__options['pvalue'] = str( $major_command.pq_options.pvalue )
180 #end if
181
182 ##model options
183 #if str( $major_command.nomodel_type.nomodel_type_selector ) == 'nomodel':
184 #set $__options['nomodel'] = str( $major_command.nomodel_type.shiftsize )
185 #end if
186 #end if
187 ##=======================================================================================
188 #if str( $major_command.major_command_selector ) == 'bdgcmp':
189 #set $__options['command'] = str( "bdgcmp" )
190 #set $__options['pseudocount'] = float( str( $major_command.pseudocount ) )
191 #set $__options['m'] = str( $major_command.bdgcmp_options.bdgcmp_options_selector )
192 #end if
193 ##=======================================================================================
194
195 ${ simplejson.dumps( __options ) }
196 </configfile>
197 </configfiles>
198 <tests>
199 <!--none yet for macs2-->
200 </tests>
201 <help>
202 **What it does**
203
204 With the improvement of sequencing techniques, chromatin immunoprecipitation followed by high throughput sequencing (ChIP-Seq)
205 is getting popular to study genome-wide protein-DNA interactions. To address the lack of powerful ChIP-Seq analysis method, we present a novel algorithm, named Model-based Analysis of ChIP-Seq (MACS), for
206 identifying transcript factor binding sites. MACS captures the influence of genome complexity to evaluate the significance of enriched ChIP regions, and MACS improves the spatial resolution of
207 binding sites through combining the information of both sequencing tag position and orientation. MACS can be easily used for ChIP-Seq data alone, or with control sample with the increase of specificity.
208
209 View the original MACS2 documentation: https://github.com/taoliu/MACS/blob/master/README
210
211 ------
212
213 **Usage**
214
215 **Peak Calling**: Main MACS2 Function to Call peaks from alignment results.
216
217 **Compare .bdg files**: Deduct noise by comparing two signal tracks in bedGraph.
218
219
220 ------
221
222 **Citation**
223
224 For the underlying tool, please cite Zhang Y, Liu T, Meyer CA, Eeckhoute J, Johnson DS, Bernstein BE, Nusbaum C, Myers RM, Brown M, Li W, Liu XS. Model-based analysis of ChIP-Seq (MACS). Genome Biol. 2008;9(9):R137.
225
226 Integration of MACS2 with Galaxy performed by Ziru Zhou ( ziruzhou@gmail.com ). Please send your comments/questions to modENCODE DCC at help@modencode.org.
227 </help>
228 </tool>