comparison peakachu.xml @ 0:bc594df2aba3 draft

planemo upload for repository https://github.com/tbischler/PEAKachu commit 21413560ba7ac260a92531c08899c4a342d1660d
author rnateam
date Thu, 15 Feb 2018 15:59:41 -0500
parents
children 68656d100a7f
comparison
equal deleted inserted replaced
-1:000000000000 0:bc594df2aba3
1 <tool id="peakachu" name="PEAKachu" version="0.1.0.0">
2 <description>Calls Peaks in CLIP data</description>
3 <requirements>
4 <requirement type="package" version="3.6">python</requirement>
5 <requirement type="package" version="0.1.0">peakachu</requirement>
6 </requirements>
7 <version_command>
8 <![CDATA[
9 peakachu --version
10 ]]>
11 </version_command>
12 <command detect_errors="aggressive">
13 <![CDATA[
14 #for $i, $clib in enumerate($controlLibs):
15 #if $clib:
16 ln -s -f '$clib' ${i}.c.bam &&
17 ln -s -f '$clib.metadata.bam_index' ${i}.c.bam.bai &&
18 #end if
19 #end for
20 #for $j, $elib in enumerate($experimentLibs):
21 ln -s -f '$elib' ${j}.e.bam &&
22 ln -s -f '$elib.metadata.bam_index' ${j}.e.bam.bai &&
23 #end for
24
25 pwd &&
26 mkdir ./tmp_output &&
27 peakachu
28 ${mode.mode_selector}
29 --exp_libs
30 #for $i, $elib in enumerate($experimentLibs):
31 '${i}.e.bam'
32 #end for
33 #for $i, $clib in enumerate($controlLibs):
34 #if $clib and $i == 0:
35 --ctr_libs
36 #end if
37 #if $clib:
38 '${i}.c.bam'
39 #end if
40 #end for
41 $pairwise_replicates
42 $paired_end
43 --max_insert_size $max_insert_size
44 --features '$features'
45 --sub_features '$sub_features'
46 --max_proc "\${GALAXY_SLOTS:-1}"
47 --output_folder ./tmp_output
48 #if str($mode.mode_selector) == 'adaptive':
49 --min_cluster_expr_frac $mode.min_cluster_expr_frac
50 --min_block_overlap $mode.min_block_overlap
51 --min_max_block_expr $mode.min_max_block_expr
52 #elif str($mode.mode_selector) == 'window':
53 --window_size $mode.window_size
54 --step_size $mode.step_size
55 --stat_test $mode.stat_test
56 --het_p_val_threshold $mode.het_p_val_threshold
57 --rep_pair_p_val_threshold $mode.rep_pair_p_val_threshold
58 #end if
59 --norm_method $mode.norm_method.norm_method_selector
60 #if str($mode.norm_method.norm_method_selector) == 'manual':
61 --size_factors $size_factors
62 #end if
63 --mad_multiplier $mad_multiplier
64 --fc_cutoff $fc_cutoff
65 --padj_threshold $padj_threshold
66
67 &&
68 head -n 1 -q ./tmp_output/peak_tables/*.csv | head -n 1 > peaks.tsv &&
69 tail -n +2 -q ./tmp_output/peak_tables/*.csv >> peaks.tsv &&
70 mv peaks.tsv '$peak_tables' &&
71 mv ./tmp_output/plots/Initial*.png '$MA_plot'
72
73 ]]>
74 </command>
75 <inputs>
76 <param name="experimentLibs" type="data" format="bam" label="Experiment Libraries" multiple="True"/>
77 <param name="controlLibs" type="data" format="bam" label="Control Libraries" multiple="True" optional="True"/>
78 <param argument="--pairwise_replicates" type="boolean" truevalue="--pairwise_replicates" falsevalue="" checked="False" label="Pairwise Replicates" />
79 <param argument="--paired_end" type="boolean" truevalue="--paired_end" falsevalue="" checked="False" label="Paired End" />
80 <param argument="--max_insert_size" type="integer" value="50" label="Maximum Insert Size"/>
81 <!-- The gff feature is not implemented, because the function can easily be accomplished with featureCount or other tools
82 <param name="gffs" type="data" format="gff" label="Annotation" optional="True" multiple="True"/-->
83 <param argument="--features" type="text" label="Features">
84 <sanitizer>
85 <valid initial="default"/>
86 </sanitizer>
87 </param>
88 <param argument="--sub_features" type="text" label="Sub-Features">
89 <sanitizer>
90 <valid initial="default"/>
91 </sanitizer>
92 </param>
93
94 <conditional name="mode">
95 <param name="mode_selector" type="select" label="Select Mode" help="These modes work differently.">
96 <option value="adaptive" selected="True">Adaptive</option>
97 <option value="window">Window</option>
98 <!-- The following options are not implemented because they are vastly different and should be implemented as their own tool, if need be.
99 <option value="coverage">Coverage</option>
100 <option value="consensus_peak">Consensus Peak</option-->
101 </param>
102 <when value="adaptive">
103 <param argument="--min_cluster_expr_frac" label="Minimum cluster Expression Fraction" help="Minimum fraction of a block in a cluster for further consideration." type="float" value="0.01"/>
104 <param argument="--min_block_overlap" label="Minimum Block Overlap" help="Minimum fraction of the width of blocks for merging." type="float" value="0.5"/>
105 <param argument="--min_max_block_expr" label="Minimum Block Expression" help="Minimum fraction of expression of blocks for merging." type="float" value="0.1"/>
106 <conditional name="norm_method">
107 <param name="norm_method_selector" type="select" label="Normalisation Method.">
108 <option value="deseq" selected="True">DESeq2</option>
109 <option value="manual">Manual</option>
110 <option value="none">None</option>
111 </param>
112 <when value="deseq"/>
113 <when value="none"/>
114 <when value="manual">
115 <param argument="--size_factors" label="Size Factors" type="text" help="Size factors have to be seperated by SPACE">
116 <sanitizer>
117 <valid initial="default"/>
118 </sanitizer>
119 </param>
120 </when>
121 </conditional>
122 </when>
123 <when value="window">
124 <param argument="--window_size" label="Window Size" type="integer" value="25"/>
125 <param argument="--step_size" label="Step Size" type="integer" value="5"/>
126 <param name="stat_test" type="select" label="Statistical Test">
127 <option value="gtest" selected="True">gtest</option>
128 <option value="deseq">DESeq2</option>
129 </param>
130 <conditional name="norm_method">
131 <param name="norm_method_selector" type="select" label="Normalisation Method.">
132 <option value="tmm" selected="True">TMM</option>
133 <option value="deseq">DESeq2</option>
134 <option value="count">Count</option>
135 <option value="manual">Manual</option>
136 <option value="none">None</option>
137 </param>
138 <when value="deseq"/>
139 <when value="tmm"/>
140 <when value="count"/>
141 <when value="none"/>
142 <when value="manual">
143 <param argument="--size_factors" label="Size Factors" type="text" help="Size factors have to be seperated by SPACE">
144 <sanitizer>
145 <valid initial="default"/>
146 </sanitizer>
147 </param>
148 </when>
149 </conditional>
150 <param argument="--het_p_val_threshold" label="Heterogeneous p-value Threshold" type="float" value="0.01"/>
151 <param argument="--rep_pair_p_val_threshold" label="Paired p-value Threshold" type="float" value="0.05"/>
152 </when>
153 </conditional>
154 <param argument="--mad_multiplier" label="Mad Multiplier" type="float" value="2.0"/>
155 <param argument="--fc_cutoff" label="Fold Change Threshold" type="float" value="2.0"/>
156 <param argument="--padj_threshold" type="float" label="Adjusted p-value Threshold" value="0.05"/>
157 </inputs>
158 <outputs>
159 <data format="tabular" name="peak_tables" label="${tool.name} ${mode.mode_selector} on ${on_string}: peaks"/>
160 <data format="png" name="MA_plot" label="${tool.name} ${mode.mode_selector} on ${on_string}: MA plot"/>
161 </outputs>
162 <tests>
163 <test>
164 <param name="experimentLibs" value="test1_+xl.bam"/>
165 <param name="controlLibs" value="test1_-xl.bam"/>
166 <output name="peak_tables" ftype="tabular" file="test1_peaks.tsv"/>
167 <output name="MA_plot" ftype="png" file="test1_MA.png"/>
168 </test>
169 </tests>
170 <help>
171 <![CDATA[
172 **PEAKachu**
173
174 PEAKachu is a tool for the accurate mapping of RBP binding sites based on CLIP-seq and RIP-seq data.
175 PEAKachu uses signal and control libraries (ideally more than three each) to detect binding sites.
176 It implements two peak calling approaches
177
178 **adaptive**
179
180 The adaptive approach applies a three-step procedure to detect regions that are significantly enriched over controls.
181
182 - blockbuster is applied to the pooled libraries to combine similar sets of reads into blocks
183 - blocks are decomposed into peaks by iteratively applying a block merging heuristic
184 - peaks with significant enrichment of signal over control libraries are determined using DESeq2
185
186 **windowed**
187
188 The windowed approach subdivides the genome into overlapping regions.
189 After filtering of lowly expressed regions and library normalization (either using manual size factors, TMM, or DESeq2), this approach determines significantly enriched windows using eiterh DESeq2 or repeated G-tests of goodness-of-fit.
190
191 ]]>
192 </help>
193 <citations>
194 </citations>
195 </tool>