PageRenderTime 30ms CodeModel.GetById 17ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/tools/peak_calling/macs_wrapper.xml

https://bitbucket.org/cistrome/cistrome-harvard/
XML | 239 lines | 200 code | 8 blank | 31 comment | 0 complexity | e7f92133940a2659ab850afc81a44767 MD5 | raw file
  1<tool id="peakcalling_macs" name="MACS" version="1.0.1">
  2  <description>Model-based Analysis of ChIP-Seq</description>
  3  <command interpreter="python">macs_wrapper.py $options_file $output_bed_file $output_extra_files $output_extra_files.files_path</command>
  4  <requirements>
  5    <requirement type="python-module">macs</requirement>
  6    <requirement type="package">macs</requirement>
  7  </requirements>
  8  <inputs>
  9    <param name="experiment_name" type="text" value="MACS in Galaxy" size="50" label="Experiment Name"/>
 10    <conditional name="input_type">
 11      <param name="input_type_selector" type="select" label="Paired End Sequencing">
 12        <option value="paired_end">Paired End (requires elandmulti format)</option>
 13        <option value="single_end" selected="true">Single End</option>
 14      </param>
 15      <when value="paired_end">
 16        <param name="input_chipseq_file1" type="data" format="elandmulti" label="ChIP-Seq Tag File 1" />
 17        <param name="input_chipseq_file2" type="data" format="elandmulti" label="ChIP-Seq Tag File 2" />
 18        <param name="input_control_file1" type="data" format="elandmulti" optional="True" label="ChIP-Seq Control File 1" />
 19        <param name="input_control_file2" type="data" format="elandmulti" optional="True" label="ChIP-Seq Control File 2" />
 20        <param name="petdist" type="integer" label="Best distance between Pair-End Tags" value="200"/>
 21      </when>
 22      <when value="single_end">
 23        <param name="input_chipseq_file1" type="data" format="bed,sam,bam,eland,elandmulti" label="ChIP-Seq Tag File" />
 24        <param name="input_control_file1" type="data" format="bed,sam,bam,eland,elandmulti" optional="True" label="ChIP-Seq Control File" />
 25      </when>
 26    </conditional>
 27    <param name="gsize" type="float" label="Effective genome size" value="2.7e+9" help="default: 2.7e+9"/>
 28    <param name="tsize" type="integer" label="Tag size" value="25"/>
 29    <param name="bw" type="integer" label="Band width" value="300"/>
 30    <param name="pvalue" type="float" label="Pvalue cutoff for peak detection" value="1e-5" help="default: 1e-5"/>
 31    <param name="mfold" type="integer" label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model" value="32"/>
 32    <param name="xls_to_interval" label="Parse xls files into into distinct interval files" type="boolean" truevalue="create" falsevalue="do_not_create" checked="False"/>
 33    <conditional name="wig_type">
 34      <param name="wig_type_selector" type="select" label="Save shifted raw tag count at every bp into a wiggle file">
 35        <option value="wig">Save</option>
 36        <option value="no_wig" selected="true">Do not create wig file (faster)</option>
 37      </param>
 38      <when value="wig">
 39        <param name="wigextend" type="integer" label="Extend tag from its middle point to a wigextend size fragment." value="-1" help="Use value less than 0 for default (modeled d)"/>
 40        <param name="space" type="integer" label="Resolution for saving wiggle files" value="10"/>
 41      </when>
 42      <when value="no_wig">
 43        <!-- do nothing here -->
 44      </when>
 45    </conditional>
 46    <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"/>
 47    <param name="lambdaset" type="text" label="3 levels of regions around the peak region to calculate the maximum lambda as local lambda" value="1000,5000,10000" size="50"/>
 48    <conditional name="nomodel_type">
 49      <param name="nomodel_type_selector" type="select" label="Build Model">
 50        <option value="nomodel">Do not build the shifting model</option>
 51        <option value="create_model" selected="true">Build the shifting model</option>
 52      </param>
 53      <when value="nomodel">
 54        <param name="shiftsize" type="integer" label="Arbitrary shift size in bp" value="100"/>
 55      </when>
 56      <when value="create_model">
 57        <!-- do nothing here -->
 58      </when>
 59    </conditional>
 60    <conditional name="diag_type">
 61      <param name="diag_type_selector" type="select" label="Diagnosis report" help="up to 9X more time consuming">
 62        <option value="diag">Produce a diagnosis report</option>
 63        <option value="no_diag" selected="true">Do not produce report (faster)</option>
 64      </param>
 65      <when value="diag">
 66        <param name="fe-min" type="integer" label="Min fold enrichment to consider" value="0"/>
 67        <param name="fe-max" type="integer" label="Max fold enrichment to consider" value="32"/>
 68        <param name="fe-step" type="integer" label="Fold enrichment step" value="20"/>
 69      </when>
 70      <when value="no_diag">
 71        <!-- do nothing here -->
 72      </when>
 73    </conditional>
 74    <param name="futurefdr" label="Perform the new peak detection method (futurefdr)" type="boolean" truevalue="--futurefdr" falsevalue="" checked="False" help="The default method only consider the peak location, 1k, 5k, and 10k regions in the control data; whereas the new future method also consider the 5k, 10k regions in treatment data to calculate local bias."/>
 75  </inputs>
 76  <outputs>
 77    <data name="output_bed_file" format="bed" label="${tool.name} on ${on_string} (peaks: bed)"/>
 78    <data name="output_xls_to_interval_peaks_file" format="interval" label="${tool.name} on ${on_string} (peaks: interval)">
 79      <filter>xls_to_interval is True</filter>
 80    </data>
 81    <data name="output_xls_to_interval_negative_peaks_file" format="interval" label="${tool.name} on ${on_string} (negative peaks: interval)">
 82      <filter>xls_to_interval is True</filter>
 83      <filter>input_type['input_control_file1'] is not None</filter>
 84    </data>
 85    <data name="output_treatment_wig_file" format="wig" label="${tool.name} on ${on_string} (treatment: wig)">
 86      <filter>wig_type['wig_type_selector']=='wig'</filter>
 87    </data>
 88    <data name="output_control_wig_file" format="wig" label="${tool.name} on ${on_string} (control: wig)">
 89      <filter>wig_type['wig_type_selector'] == 'wig'</filter>
 90      <filter>input_type['input_control_file1'] is not None</filter>
 91    </data>
 92    <data name="output_extra_files" format="html" label="${tool.name} on ${on_string} (html report)"/>
 93  </outputs>
 94  <configfiles>
 95    <configfile name="options_file">&lt;%
 96import simplejson
 97%&gt;
 98#set $__options = { 'experiment_name':str( $experiment_name ), 'gsize':int( float( str( $gsize ) ) ), 'tsize':str( $tsize ), 'bw':str( $bw ), 'pvalue':str( $pvalue ), 'mfold':str( $mfold ), 'nolambda':str( $nolambda ), 'lambdaset': str( $lambdaset ), 'futurefdr':str( $futurefdr ) }
 99#if str( $xls_to_interval ) == 'create':
100#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 ) }
101#else:
102#set $__options['xls_to_interval'] = False
103#end if
104##treatment/tag input files and format
105#set $__options['input_chipseq'] = [ str( $input_type['input_chipseq_file1'] ) ]
106#if  $input_type['input_type_selector'] == 'paired_end':
107#set $_hole = __options['input_chipseq'].append( str( $input_type['input_chipseq_file2'] ) )
108#set $__options['format'] = 'ELANDMULTIPET'
109#else:
110#set $__options['format'] = $input_type['input_chipseq_file1'].extension.upper()
111#end if
112##control/input files
113#set $__options['input_control'] = []
114#if str( $input_type['input_control_file1'] ) != 'None':
115#set $_hole = __options['input_control'].append( str( $input_type['input_control_file1'] ) )
116#end if
117#if $input_type['input_type_selector'] == 'paired_end' and str( $input_type['input_control_file2'] ) != 'None':
118#set $_hole = __options['input_control'].append( str( $input_type['input_control_file2'] ) )
119#end if
120##wig options
121#if $wig_type['wig_type_selector'] == 'wig':
122#set $__options['wig'] = {}
123#set $__options['wig']['wigextend'] = str( $wig_type['wigextend'] )
124#set $__options['wig']['space'] = str( $wig_type['space'] )
125#set  $__options['wig']['output_treatment_file'] = str( $output_treatment_wig_file )
126#if $input_type['input_control_file1'] is not None:
127#set  $__options['wig']['output_control_file'] = str( $output_control_wig_file )
128#end if
129#end if
130##model options
131#if $nomodel_type['nomodel_type_selector'] == 'nomodel':
132#set $__options['nomodel'] = str( $nomodel_type['shiftsize'] )
133#end if
134##diag options
135#if $diag_type['diag_type_selector'] == 'diag':
136#set $__options['diag'] = { 'fe-min':str( $diag_type['fe-min'] ), 'fe-max':str( $diag_type['fe-max'] ), 'fe-step':str( $diag_type['fe-step'] ) }
137#end if
138${ simplejson.dumps( __options ) }
139    </configfile>
140  </configfiles>
141  <tests>
142    <test>
143      <param name="input_type_selector" value="single_end" />
144      <param name="input_chipseq_file1" value="chipseq_enriched.bed.gz" ftype="bed" />
145      <param name="input_control_file1" value="chipseq_input.bed.gz" ftype="bed" />
146      <param name="experiment_name" value="Galaxy Test Run" />
147      <param name="tsize" value="36" />
148      <param name="mfold" value="13" />
149      <param name="gsize" value="2.7e+9" />
150      <param name="bw" value="300" />
151      <param name="pvalue" value="1e-5" />
152      <param name="xls_to_interval" />
153      <param name="wig_type_selector" value="no_wig" />
154      <param name="nolambda"/>
155      <param name="lambdaset" value="1000,5000,10000"/>
156      <param name="nomodel_type_selector" value="create_model" />
157      <param name="diag_type_selector" value="no_diag" />
158      <param name="futurefdr"/>
159      <output name="output_bed_file" file="peakcalling_macs/macs_test_1_out.bed" />
160      <output name="output_html_file" file="peakcalling_macs/macs_test_1_out.html" compare="re_match" >
161        <extra_files type="file" name="Galaxy_Test_Run_model.pdf" value="peakcalling_macs/test2/Galaxy_Test_Run_model.pdf" compare="re_match"/>
162        <extra_files type="file" name="Galaxy_Test_Run_model.r" value="peakcalling_macs/test2/Galaxy_Test_Run_model.r" compare="re_match"/>
163        <extra_files type="file" name="Galaxy_Test_Run_model.r.log" value="peakcalling_macs/test2/Galaxy_Test_Run_model.r.log"/>
164        <extra_files type="file" name="Galaxy_Test_Run_negative_peaks.xls" value="peakcalling_macs/test2/Galaxy_Test_Run_negative_peaks.xls" compare="re_match"/>
165        <extra_files type="file" name="Galaxy_Test_Run_peaks.xls" value="peakcalling_macs/test2/Galaxy_Test_Run_peaks.xls" compare="re_match"/>
166      </output>
167    </test>
168    <test>
169      <param name="input_type_selector" value="single_end" />
170      <param name="input_chipseq_file1" value="chipseq_enriched.bed.gz" ftype="bed" />
171      <param name="input_control_file1" value="chipseq_input.bed.gz" ftype="bed" />
172      <param name="experiment_name" value="Galaxy Test Run" />
173      <param name="tsize" value="36" />
174      <param name="mfold" value="13" />
175      <param name="gsize" value="2.7e+9" />
176      <param name="bw" value="300" />
177      <param name="pvalue" value="1e-5" />
178      <param name="xls_to_interval" value="true" />
179      <param name="wig_type_selector" value="no_wig" />
180      <param name="nolambda"/>
181      <param name="lambdaset" value="1000,5000,10000"/>
182      <param name="nomodel_type_selector" value="create_model" />
183      <param name="diag_type_selector" value="no_diag" />
184      <param name="futurefdr"/>
185      <output name="output_bed_file" file="peakcalling_macs/macs_test_1_out.bed" />
186      <output name="output_xls_to_interval_peaks_file" file="peakcalling_macs/macs_test_2_peaks_out.interval" lines_diff="4" />
187      <output name="output_xls_to_interval_negative_peaks_file" file="peakcalling_macs/macs_test_2_neg_peaks_out.interval" />
188      <output name="output_html_file" file="peakcalling_macs/macs_test_1_out.html" compare="re_match" >
189        <extra_files type="directory" value="peakcalling_macs/test2/" compare="re_match"/>
190      </output>
191    </test>
192    <!-- <test>
193      <param name="input_type_selector" value="single_end" />
194      <param name="input_chipseq_file1" value="chipseq_enriched.bed.gz" ftype="bed" />
195      <param name="input_control_file1" value="chipseq_input.bed.gz" ftype="bed" />
196      <param name="experiment_name" value="Galaxy Test Run" />
197      <param name="tsize" value="36" />
198      <param name="mfold" value="13" />
199      <param name="gsize" value="2.7e+9" />
200      <param name="bw" value="300" />
201      <param name="pvalue" value="1e-5" />
202      <param name="xls_to_interval" value="true" />
203      <param name="wig_type_selector" value="wig" />
204      <param name="wigextend" value="-1" />
205      <param name="space" value="10" />
206      <param name="nolambda"/>
207      <param name="lambdaset" value="1000,5000,10000"/>
208      <param name="nomodel_type_selector" value="create_model" />
209      <param name="diag_type_selector" value="no_diag" />
210      <param name="futurefdr"/>
211      <output name="output_bed_file" file="peakcalling_macs/macs_test_1_out.bed" />
212      <output name="output_xls_to_interval_peaks_file" file="peakcalling_macs/macs_test_2_peaks_out.interval" lines_diff="4" />
213      <output name="output_xls_to_interval_negative_peaks_file" file="macs_test_2_neg_peaks_out.interval" />
214      <output name="output_treatment_wig_file" file="peakcalling_macs/macs_test_3_treatment_out.wig" />
215      <output name="output_control_wig_file" file="peakcalling_macs/macs_test_3_control_out.wig" />
216      <output name="output_html_file" file="peakcalling_macs/macs_test_3_out.html" compare="re_match" >
217        <extra_files type="directory" value="peakcalling_macs/test2/" compare="re_match"/>
218      </output>
219    </test> -->
220  </tests>
221  <help>
222**What it does**
223
224This tool allows ChIP-seq peak calling using MACS.
225
226Depending upon selected options, 2 to 6 history items will be created; the first output will be a standard BED file and the last will be an HTML report containing links to download additional files generated by MACS. Up to two each of wig and interval files can be optionally created; the interval files are parsed from the xls output.
227
228View the original MACS documentation: http://liulab.dfci.harvard.edu/MACS/00README.html.
229
230------
231
232**Citation**
233
234For 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. &lt;http://www.ncbi.nlm.nih.gov/pubmed/18798982&gt;`_
235
236If you use this tool in Galaxy, please cite Blankenberg D, et al. *In preparation.*
237
238  </help>
239</tool>