Mercurial > repos > bgruening > peakachu
comparison peakachu.xml @ 0:28c319539b42 draft default tip
planemo upload for repository https://github.com/tbischler/PEAKachu commit 21413560ba7ac260a92531c08899c4a342d1660d
| author | bgruening |
|---|---|
| date | Thu, 15 Feb 2018 11:09:43 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:28c319539b42 |
|---|---|
| 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> |
