comparison MethylDackel.xml @ 9:d6787bab7b11 draft default tip

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/methyldackel commit c1027a3f78bca2fd8a53f076ef718ea5adbf4a8a"
author bgruening
date Sat, 05 Jun 2021 09:18:31 +0000
parents 15df15127c18
children
comparison
equal deleted inserted replaced
8:183cb55b1729 9:d6787bab7b11
1 <tool id="pileometh" name="MethylDackel" version="0.3.0.1"> 1 <tool id="pileometh" name="MethylDackel" version="@TOOL_VERSION@+@GALAXY_TOOL_VERSION@" profile="20.01">
2 <description>A tool for processing bisulfite sequencing alignments</description> 2 <description>A tool for processing bisulfite sequencing alignments</description>
3 <requirements> 3 <macros>
4 <requirement type="package" version="0.3.0">methyldackel</requirement> 4 <import>macros.xml</import>
5 </requirements> 5 </macros>
6 <expand macro="edam_ontology"/>
7 <expand macro="requirements"/>
6 <version_command><![CDATA[MethylDackel --version]]></version_command> 8 <version_command><![CDATA[MethylDackel --version]]></version_command>
7 <command detect_errors="aggressive"><![CDATA[ 9 <command detect_errors="aggressive"><![CDATA[
8 #if $reference_source.reference_source_selector == "cached": 10 #if $reference_source.reference_source_selector == "cached":
9 ln -s $reference_source.ref_file.fields.path reference.fasta && 11 ln -s $reference_source.ref_file.fields.path reference.fasta &&
10 #else: 12 #else:
11 ln -s $reference_source.ref_file reference.fasta && 13 ln -s $reference_source.ref_file reference.fasta &&
12 #end if 14 #end if
13 15
16 ln -s '$input_sortedAlignBAM' ./infile.bam &&
17 ln -s '${input_sortedAlignBAM.metadata.bam_index}' infile.bai &&
18
14 MethylDackel 19 MethylDackel
15 $main_task.task 20 $main_task.task
16 21
17 -@ \${GALAXY_SLOTS:-4} 22 -@ \${GALAXY_SLOTS:-4}
18 #if $main_task.task == "extract": 23 #if $main_task.task == 'extract':
19 -o output 24 -o output
20 $main_task.mergeContext 25 $main_task.mergeContext
21 #if str($main_task.OT).strip() != "": 26 #if str($main_task.OT).strip() != '':
22 --OT $main_task.OT 27 --OT $main_task.OT
23 #end if 28 #end if
24 #if str($main_task.OB).strip() != "": 29 #if str($main_task.OB).strip() != '':
25 --OB $main_task.OB 30 --OB $main_task.OB
26 #end if 31 #end if
27 #if str($main_task.CTOT).strip() != "": 32 #if str($main_task.CTOT).strip() != '':
28 --CTOT $main_task.CTOT 33 --CTOT $main_task.CTOT
29 #end if 34 #end if
30 #if str($main_task.CTOB).strip() != "": 35 #if str($main_task.CTOB).strip() != '':
31 --CTOB $main_task.CTOB 36 --CTOB $main_task.CTOB
32 #end if 37 #end if
38 #if str($main_task.mappability_options.mappability_status) == 'True':
39 -M '${main_task.mappability_options.mappability}'
40 --mappabilityThreshold $main_task.mappability_options.mappabilityThreshold
41 --minMappableBases $main_task.mappability_options.minMappableBases
42 #end if
33 #end if 43 #end if
34 44 #if $advanced_options.mbias_regionString:
35 #if $advanced_options.options=="yes": 45 -r $advanced_options.mbias_regionString
36 #if $advanced_options.mbias_regionString:
37 -r $advanced_options.mbias_regionString
38 #end if
39 #if $advanced_options.regionBed:
40 -l '$advanced_options.regionBed'
41 #end if
42 $advanced_options.keepDupes
43 $advanced_options.keepSingleton
44 $advanced_options.keepDiscordant
45 -q $advanced_options.min_mapq
46 -p $advanced_options.min_phred
47 -D $advanced_options.max_pbdepth
48 #if $main_task.task == "extract":
49 --minOppositeDepth $advanced_options.minOppositeDepth
50 --maxVariantFrac $advanced_options.maxVariantFrac
51 -d $advanced_options.min_pbdepth
52 --ignoreFlags $advanced_options.ignoreFlags
53 --requireFlags $advanced_options.requireFlags
54 $advanced_options.fraction
55 $advanced_options.counts
56 $advanced_options.methylKit
57 $advanced_options.logit
58 #if str($advanced_options.nOT).strip() != "":
59 --nOT $advanced_options.nOT
60 #end if
61 #if str($advanced_options.nOB).strip() != "":
62 --nOB $advanced_options.nOB
63 #end if
64 #if str($advanced_options.nCTOT).strip() != "":
65 --nCTOT $advanced_options.nCTOT
66 #end if
67 #if str($advanced_options.nCTOB).strip() != "":
68 --nCTOB $advanced_options.nCTOB
69 #end if
70 #end if
71 $advanced_options.CHG
72 $advanced_options.CHH
73 $advanced_options.noCpG
74 #end if 46 #end if
47 #if $regionBed_options.regionBed_status == 'True':
48 -l '$regionBed_options.regionBed'
49 $regionBed_options.keepStrand
50 #end if
51 $advanced_options.keepDupes
52 $advanced_options.keepSingleton
53 $advanced_options.keepDiscordant
54 -q $advanced_options.min_mapq
55 -p $advanced_options.min_phred
56 #if $advanced_options.methylation_metrics
57 #for $context_methylation in $advanced_options.methylation_metrics:
58 $context_methylation
59 #end for
60 #end if
61 #if $main_task.task == 'extract':
62 --minOppositeDepth $advanced_options.minOppositeDepth
63 --maxVariantFrac $advanced_options.maxVariantFrac
64 -d $advanced_options.min_pbdepth
65 --ignoreFlags $advanced_options.ignoreFlags
66 --requireFlags $advanced_options.requireFlags
67 #if $main_task.extract_outputs
68 $main_task.extract_outputs
69 #end if
70 #if str($advanced_options.nOT).strip() != '':
71 --nOT $advanced_options.nOT
72 #end if
73 #if str($advanced_options.nOB).strip() != '':
74 --nOB $advanced_options.nOB
75 #end if
76 #if str($advanced_options.nCTOT).strip() != '':
77 --nCTOT $advanced_options.nCTOT
78 #end if
79 #if str($advanced_options.nCTOB).strip() != '':
80 --nCTOB $advanced_options.nCTOB
81 #end if
82 #end if
83
75 84
76 reference.fasta 85 reference.fasta
77 86
78 $input_sortedAlignBAM 87 ./infile.bam
79 88
80 #if $main_task.task == "mbias": 89 #if $main_task.task == 'mbias':
81 out_mbias $main_task.tsv > out_mbias.tsv && 90 out_mbias $main_task.tsv > out_mbias.tsv &&
82 touch out_mbias_OT.svg && 91 touch out_mbias_OT.svg &&
83 touch out_mbias_OB.svg && 92 touch out_mbias_OB.svg &&
84 touch out_mbias_CTOT.svg && 93 touch out_mbias_CTOT.svg &&
85 touch out_mbias_CTOB.svg 94 touch out_mbias_CTOB.svg
99 </when> 108 </when>
100 <when value="history"> 109 <when value="history">
101 <param name="ref_file" type="data" format="fasta" label="Use the folloing dataset as the reference sequence" help="REFERENCE_SEQUENCE; You can upload a FASTA sequence to the history and use it as reference" /> 110 <param name="ref_file" type="data" format="fasta" label="Use the folloing dataset as the reference sequence" help="REFERENCE_SEQUENCE; You can upload a FASTA sequence to the history and use it as reference" />
102 </when> 111 </when>
103 </conditional> 112 </conditional>
104 113 <param name="input_sortedAlignBAM" multiple="False" type="data" format="bam" label="Sorted BAM file"/>
105 <param name="input_sortedAlignBAM" multiple="False" type="data" format="bam" label="sorted_alignments.bam"/> 114 <conditional name="regionBed_options">
115 <param name="regionBed_status" type="select" label="Use a BED file of regions for inclusion">
116 <option value="True">Enabled</option>
117 <option value="False" selected="True">Disabled</option>
118 </param>
119 <when value="True">
120 <param name="regionBed" type="data" format='bed' label="BED file of regions for inclusion"/>
121 <param argument="--keepStrand" type="boolean" truevalue="--keepStrand" falsevalue="" checked="False" label="Use the strand column" help="If a BED file is specified, then this option will cause the strand column (column 6) to be utilized, if present. Thus, if a region has a '+' in this column, then only metrics from the top strand will be output. " />
122 </when>
123 <when value="False">
124 </when>
125 </conditional>
106 <conditional name="main_task"> 126 <conditional name="main_task">
107 <param name="task" type="select" label="What do you want to do?" > 127 <param name="task" type="select" label="What do you want to do?" >
108 <option value="extract">Extract methylation metrics from an alignment file in BAM/CRAM format</option> 128 <option value="extract">Extract methylation metrics from an alignment file in BAM/CRAM format (extract)</option>
109 <option value="mbias">Determine the position-dependent methylation bias in a dataset, producing diagnostic SVG images</option> 129 <option value="mbias">Determine the position-dependent methylation bias in a dataset, producing diagnostic SVG images (mbias)</option>
110 </param> 130 </param>
111 <when value="extract"> 131 <when value="extract">
112 <param name="mergeContext" type="boolean" checked="false" truevalue="--mergeContext" falsevalue="" 132 <conditional name="mappability_options">
113 label="Merge per-Cytosine metrics from CpG and CHG contexts into per-CPG or per-CHG metrics" help="(--mergeContext)" /> 133 <param name="mappability_status" type="select" label="Provide a bigWig file containing mappability data" >
114 <param name="OT" type="text" value="" label="Original top strand bounds (comma-separated, no spaces)" 134 <option value="True">Enabled</option>
115 help="Inclusion bounds for methylation calls from reads/pairs 135 <option value="False" selected="True">Disabled</option>
116 origination from the original top strand. Suggested values can 136 </param>
117 be obtained from the MBias program. Each integer represents a 137 <when value="True">
118 1-based position on a read. For example --OT A,B,C,D 138 <param argument="--mappability" type="data" format="bigwig" label="A bigWig file containing mappability data for filtering reads." help="Given a bigWig of Bismap mappability data (using the -M option), MethylDackel can also filter out reads with a mappability score which is too low to support methylation calling. "/>
119 translates to, 'Include calls at positions from A through B 139 <param argument="--mappabilityThreshold" type="float" min="0" max="1" value="0.01" label="Mappability threshold" help="If a bigWig file is provided, this sets the threshold mappability value above which a base is considered mappable (default 0.01)." />
120 on read #1 and C through D on read #2'. If a 0 is used a any 140 <param argument="--minMappableBases" type="integer" value="15" label="Minimum mappable bases" help="If a bigWig file is provided, this sets the number of mappable bases needed for a read to be considered mappable (default 15)." />
121 position then that is translated to mean start/end of the 141 </when>
122 alignment, as appropriate. For example, --OT 5,0,0,0 would 142 <when value="False">
123 include all but the first 4 bases on read #1. Users are 143 </when>
124 strongly advised to consult a methylation bias plot, for 144 </conditional>
145 <param argument="--mergeContext" type="boolean" checked="false" truevalue="--mergeContext" falsevalue="" label="Merge per-Cytosine metrics" help="Merge per-Cytosine metrics from CpG and CHG contexts into per-CPG or per-CHG metrics"/>
146 <param argument="--OT" type="text" value="" label="Original top strand bounds (comma-separated, no spaces)"
147 help="Inclusion bounds for methylation calls from reads/pairs origination from the original top strand. Suggested values can
148 be obtained from the MBias program. Each integer represents a 1-based position on a read. For example --OT A,B,C,D
149 translates to, 'Include calls at positions from A through B on read #1 and C through D on read #2'. If a 0 is used a any
150 position then that is translated to mean start/end of the alignment, as appropriate. For example, --OT 5,0,0,0 would
151 include all but the first 4 bases on read #1. Users are strongly advised to consult a methylation bias plot, for
125 example by using the MBias program." /> 152 example by using the MBias program." />
126 <param name="OB" type="text" value="" label="Original bottom strand bounds (comma-separated, no spaces)" /> 153 <param argument="--OB" type="text" value="" label="Original bottom strand bounds (comma-separated, no spaces)" />
127 <param name="CTOT" type="text" value="" label="Complementary to the original bottom strand bounds (comma-separated, no spaces)" /> 154 <param argument="--CTOT" type="text" value="" label="Complementary to the original bottom strand bounds (comma-separated, no spaces)" />
128 <param name="CTOB" type="text" value="" label="Complementary to the original bottom strand bounds (comma-separated, no spaces)" /> 155 <param argument="--CTOB" type="text" value="" label="Complementary to the original bottom strand bounds (comma-separated, no spaces)"
156 help="As with --OT, but for the original bottom, complementary to the original top, and complementary to the original bottom
157 strands, respectively."/>
158 <param name="extract_outputs" type="select" label="Output options">
159 <option value="" selected="True">CpG context methylation metrics</option>
160 <option value="--fraction">CpG methylation fractions (--fraction)</option>
161 <option value="--counts">CpG methylation counts (--counts)</option>
162 <option value="--logit">CpG logit transformed methylation fraction (--logit)</option>
163 <option value="--methylKit">CpG context in methylKit format (--methylKit)</option>
164 <option value="--cytosine_report">Generate an exhaustive cytosine report (--cytosine_report)</option>
165 </param>
129 </when> 166 </when>
130 <when value="mbias"> 167 <when value="mbias">
131 <param name="tsv" type="boolean" truevalue="--txt" falsevalue="" 168 <param name="tsv" type="boolean" truevalue="--txt" falsevalue=""
132 label="output tab separated mbias metrics"/> 169 label="Output tab separated mbias metrics" help="It can be imported into R or another program for manual plotting and analysis. Note that coordinates are 1-based."/>
133 </when> 170 </when>
134 </conditional> 171 </conditional>
135 <conditional name="advanced_options"> 172 <section name="advanced_options" title='Advanced options' expanded='false'>
136 <param name="options" type="select" label="Advanced options"> 173 <param name="mbias_regionString" type="text" value="" label="Region string in which to extract methylation (e.g. chr1:1-100)"/>
137 <option value="">Hide advanced options</option> 174
138 <option value="yes">Display advanced options</option> 175 <param argument="--keepDupes" type="boolean" checked="false" truevalue="--keepDupes" falsevalue=""
176 label="Keep duplicated alignments" help="By default, any alignment marked as a duplicate is ignored. This option causes them to be incorporated." />
177 <param argument="--keepSingleton" type="boolean" checked="false" truevalue="--keepSingleton" falsevalue=""
178 label="Keep singletons" help="By default, if only one read in a pair aligns (a singleton) then it's ignored." />
179 <param argument="--keepDiscordant" type="boolean" checked="false" truevalue="--keepDiscordant" falsevalue=""
180 label="Keep discordant alignmetns" help="By default, paired-end alignments with the properly-paired bit unset in the FLAG field are ignored. Note that the definition of concordant and discordant is based on your aligner settings." />
181 <param name="min_mapq" argument="-q" type="integer" value="10" label="Minimum MAPQ threshold" help="Minimum MAPQ threshold to include an alignment (default 10)"/>
182 <param name="min_phred" argument="-p" type="integer" value="5" label="Minimum Phred threshold" help="Minimum Phred threshold to include a base (default 5). This must be >0."/>
183 <param name="min_pbdepth" argument="-d" type="integer" value="1" min="1" label="Minimum per-base depth"
184 help="Minimum per-base depth for reporting output. If you use --mergeContext, then this applies to the merged CpG/CHG (default 1)." />
185 <param argument="--ignoreFlags" type="integer" value="3840" label="Ignore certain alignments"
186 help="By deault, any alignment marked as secondary (bit 0x100), failing QC (bit 0x200), a PCR/optical duplicate (0x400) or supplemental (0x800) is ignored. This equates to a value of 0xF00 or 3840 in decimal. If you would like to change that, you can specify a new value here." />
187 <param argument="--requireFlags" type="integer" value="0" label="Require alignment flags"
188 help="Require each alignment to have all bits in this value present, or else the alignment is ignored. This is equivalent to the -f option in samtools. The default is 0, which includes all alignments." />
189 <param argument="--minOppositeDepth" type="integer" value="0" min="0" label="Minimum depth for variant avoidance"
190 help="The minimum depth on the strand opposite of a C required to flag the position as possibly being a SNP. The default is 0 (ignore possible SNPs). Setting this to a value above 0 will cause the position to be ignored if a given fraction of non-G bases are present on the opposite strand and the overall coverage there is at least what is specified here." />
191 <param argument="--maxVariantFrac" type="float" value="1.0" min="0.0" max="1.0" label="Maximum tolerated variant fraction"
192 help="If the depth on the strand opposite of a C is at least that specified by 'Minimum depth for variant avoidance', and the fraction of non-G bases exceeds this value, then methylation extraction is skipped for this position." />
193 <param argument="--nOT" type="text" value="" label="Original top strand absolute bounds (comma-separated, no spaces)"
194 help="Like --OT, but always exclude INT bases from a given end from inclusion,regardless of the length of an alignment. This
195 is useful in cases where reads may have already been trimmed to different lengths, but still none-the-less contain a
196 certain length bias at one or more ends." />
197 <param argument="--nOB" type="text" value="" label="Original bottom strand absolute bounds (comma-separated, no spaces)" />
198 <param argument="--nCTOT" type="text" value="" label="Complementary to the original bottom strand absolute bounds (comma-separated, no spaces)" />
199 <param argument="--nCTOB" type="text" value="" label="Complementary to the original bottom strand absolute bounds (comma-separated, no spaces)"
200 help="As with --nOT, but for the original bottom complementary to the original top, and complementary to the
201 original bottom strands, respectively."/>
202 <param name="methylation_metrics" type="select" multiple="True" optional="True" display="checkboxes" label="Context methylation metrics options">
203 <option value="--CHG">Output CHG context methylation metrics (--CHG)</option>
204 <option value="--CHH">Output CHH context methylation metrics (--CHH)</option>
139 </param> 205 </param>
140 <when value="yes"> 206 </section>
141 <param name="mbias_regionString" type="text" value="" label="Region string in which to extract methylation (e.g. chr1:1-100)"/>
142 <param name="regionBed" type="data" optional="true" format='bed' label="Bed file of regions for inclusion"/>
143 <param name="keepDupes" type="boolean" checked="false" truevalue="--keepDupes" falsevalue=""
144 label="By default, any alignment marked as a duplicate is ignored. This option causes them to be incorporated" />
145 <param name="keepSingleton" type="boolean" checked="false" truevalue="--keepSingleton" falsevalue=""
146 label="By default, if only one read in a pair aligns (a singleton) then it's ignored." />
147 <param name="keepDiscordant" type="boolean" checked="false" truevalue="--keepDiscordant" falsevalue=""
148 label="By default, paired-end alignments with the properly-paired bit unset in the FLAG field are ignored. Note that the definition of concordant and discordant is based on your aligner settings." />
149 <param name="min_mapq" type="integer" value="10" label="Minimum MAPQ threshold to include an alignment (default 10)"/>
150 <param name="min_phred" type="integer" value="5" label="Minimum Phred threshold to include a base (default 5). This must be >0."/>
151 <param name="max_pbdepth" type="integer" value="2000" label="Maximum per-base depth (default 2000)"/>
152 <param name="min_pbdepth" type="integer" value="1" min="1" label="Minimum per-base depth"
153 help="Minimum per-base depth for reporting output. If you use --mergeContext (above), then this applies to the merged CpG/CHG (default 1). (-d)" />
154
155 <param name="ignoreFlags" type="integer" value="3840" label="Ignore certain alignments"
156 help="By deault, any alignment marked as secondary (bit 0x100), failing QC (bit 0x200), a PCR/optical duplicate (0x400) or supplemental (0x800) is ignored. This equates to a value of 0xF00 or 3840 in decimal. If you would like to change that, you can specify a new value here." />
157 <param name="requireFlags" type="integer" value="0" label="Require alignment flags"
158 help="Require each alignment to have all bits in this value present, or else the alignment is ignored. This is equivalent to the -f option in samtools. The default is 0, which includes all alignments." />
159 <param name="minOppositeDepth" type="integer" value="0" min="0" label="Minimum depth for variant avoidance"
160 help="The minimum depth on the strand opposite of a C required to flag the position as possibly being a SNP. The default is 0 (ignore possible SNPs). Setting this to a value above 0 will cause the position to be ignored if a given fraction of non-G bases are present on the opposite strand and the overall coverage there is at least what is specified here." />
161 <param name="maxVariantFrac" type="float" value="1.0" min="0.0" max="1.0" label="Maximum tolerated variant fraction"
162 help="If the depth on the strand opposite of a C is at least that specified by 'Minimum depth for variant avoidance', and the fraction of non-G bases exceeds this value, then methylation extraction is skipped for this position." />
163
164 <param name="fraction" type="boolean" checked="false" truevalue="--fraction" falsevalue=""
165 label="Extract fractional methylation (only) at each position. This is mutually exclusive with --counts, --logit, and --methylKit" />
166 <param name="counts" type="boolean" checked="false" truevalue="--counts" falsevalue=""
167 label="Extract base counts (only) at each position. This is mutually exclusive with --fraction, --logit, and --methylKit" />
168 <param name="logit" type="boolean" checked="false" truevalue="--logit" falsevalue=""
169 label="Extract logit(M/(M+U)) (only) at each position. This is mutually exclusive with --counts, --fraction, and --methylKit" />
170 <param name="methylKit" type="boolean" checked="false" truevalue="--methylKit" falsevalue=""
171 label="Output in the format required by methylKit. This is mutually exclusive with --counts, --fraction, and --logit" />
172
173 <param name="noCpG" type="boolean" checked="false" truevalue="--noCpG" falsevalue=""
174 label="Do not output CpG context methylation metrics" />
175 <param name="CHG" type="boolean" checked="false" truevalue="--CHG" falsevalue=""
176 label="Output CHG context methylation metrics" />
177 <param name="CHH" type="boolean" checked="false" truevalue="--CHH" falsevalue=""
178 label="Output CHH context methylation metrics" />
179
180 <param name="nOT" type="text" value="" label="Original top strand absolute bounds (comma-separated, no spaces)"
181 help="Like --OT, but always exclude INT bases from a given end
182 from inclusion,regardless of the length of an alignment. This
183 is useful in cases where reads may have already been trimmed
184 to different lengths, but still none-the-less contain a
185 certain length bias at one or more ends." />
186 <param name="nOB" type="text" value="" label="Original bottom strand absolute bounds (comma-separated, no spaces)" />
187 <param name="nCTOT" type="text" value="" label="Complementary to the original bottom strand absolute bounds (comma-separated, no spaces)" />
188 <param name="nCTOB" type="text" value="" label="Complementary to the original bottom strand absolute bounds (comma-separated, no spaces)" />
189 </when>
190 <when value=""/>
191 </conditional>
192 </inputs> 207 </inputs>
193 <outputs> 208 <outputs>
194 <data name="outFileExtractCpG" format="bedgraph" from_work_dir="output_CpG.bedGraph" 209 <data name="outFileExtractCpG" format="bedgraph" from_work_dir="output_CpG.bedGraph"
195 label="${tool.name} on ${on_string}"> 210 label="${tool.name} on ${on_string}: CpG metylation levels">
196 <filter>main_task['task'] == "extract"</filter> 211 <filter>main_task['task'] == "extract"</filter>
197 <filter>not advanced_options['logit']</filter> 212 <filter>not main_task['extract_outputs']</filter>
198 <filter>not advanced_options['methylKit']</filter>
199 <filter>not advanced_options['counts']</filter>
200 <filter>not advanced_options['fraction']</filter>
201 <filter>not advanced_options['noCpG']</filter>
202 </data> 213 </data>
203 <data name="outFileExtractCpGLogit" format="bedgraph" from_work_dir="output_CpG.logit.bedGraph" 214 <data name="outFileExtractCpGLogit" format="bedgraph" from_work_dir="output_CpG.logit.bedGraph"
204 label="${tool.name} on ${on_string} (logit)"> 215 label="${tool.name} on ${on_string}: logit CpG">
205 <filter>main_task['task'] == "extract" and advanced_options['logit']</filter> 216 <filter>main_task['task'] == "extract"</filter>
206 </data> 217 <filter>main_task['extract_outputs'] and "--logit" in main_task['extract_outputs']</filter>
207 <data name="outFileExtractCpGMethylKit" format="text" from_work_dir="output_CpG.methylKit" 218 </data>
208 label="${tool.name} on ${on_string} (MethylKit)"> 219 <data name="outFileExtractCpGMethylKit" format="txt" from_work_dir="output_CpG.methylKit"
209 <filter>main_task['task'] == "extract" and advanced_options['methylKit']</filter> 220 label="${tool.name} on ${on_string}: methylKit CpG">
221 <filter>main_task['task'] == "extract"</filter>
222 <filter>main_task['extract_outputs'] and "--methylKit" in main_task['extract_outputs']</filter>
210 </data> 223 </data>
211 <data name="outFileExtractCpGCounts" format="bedgraph" from_work_dir="output_CpG.counts.bedGraph" 224 <data name="outFileExtractCpGCounts" format="bedgraph" from_work_dir="output_CpG.counts.bedGraph"
212 label="${tool.name} on ${on_string} (counts)"> 225 label="${tool.name} on ${on_string}: counts">
213 <filter>main_task['task'] == "extract" and advanced_options['counts']</filter> 226 <filter>main_task['task'] == "extract"</filter>
227 <filter>main_task['extract_outputs'] and "--counts" in main_task['extract_outputs']</filter>
228 </data>
229 <data name="outFileCytosineReport" format="txt" from_work_dir="output.cytosine_report.txt"
230 label="${tool.name} on ${on_string}: cytosine report">
231 <filter>main_task['task'] == "extract"</filter>
232 <filter>main_task['extract_outputs'] and "--cytosine_report" in main_task['extract_outputs']</filter>
214 </data> 233 </data>
215 <data name="outFileExtractCpGFraction" format="bedgraph" from_work_dir="output_CpG.meth.bedGraph" 234 <data name="outFileExtractCpGFraction" format="bedgraph" from_work_dir="output_CpG.meth.bedGraph"
216 label="${tool.name} on ${on_string} (fraction)"> 235 label="${tool.name} on ${on_string}: fraction CpG">
217 <filter>main_task['task'] == "extract" and advanced_options['fraction']</filter> 236 <filter>main_task['task'] == "extract"</filter>
237 <filter>main_task['extract_outputs'] and "--fraction" in main_task['extract_outputs']</filter>
218 </data> 238 </data>
219 <data name="outFileExtractCHG" format="bedgraph" from_work_dir="output_CHG.bedGraph" 239 <data name="outFileExtractCHG" format="bedgraph" from_work_dir="output_CHG.bedGraph"
220 label="${tool.name} on ${on_string} (CHG)"> 240 label="${tool.name} on ${on_string}: CHG methylation levels">
221 <filter>main_task['task'] == 'extract'</filter> 241 <filter>main_task['task'] == "extract"</filter>
222 <filter>advanced_options['options'] == "yes"</filter> 242 <filter>not main_task['extract_outputs']</filter>
223 <filter>advanced_options['CHG']</filter> 243 <filter>advanced_options['methylation_metrics'] and "--CHG" in advanced_options['methylation_metrics']</filter>
224 <filter>not advanced_options['logit']</filter> 244 </data>
225 <filter>not advanced_options['methylKit']</filter> 245
226 <filter>not advanced_options['counts']</filter>
227 <filter>not advanced_options['fraction']</filter>
228 </data>
229 <data name="outFileExtractCHGLogit" format="bedgraph" from_work_dir="output_CHG.logit.bedGraph" 246 <data name="outFileExtractCHGLogit" format="bedgraph" from_work_dir="output_CHG.logit.bedGraph"
230 label="${tool.name} on ${on_string} (CHG logit)"> 247 label="${tool.name} on ${on_string}: logit CHG">
231 <filter>main_task['task'] == "extract" and advanced_options['logit']</filter> 248 <filter>main_task['task'] == "extract"</filter>
232 <filter>advanced_options['options'] == "yes"</filter> 249 <filter>main_task['extract_outputs'] and "--logit" in main_task['extract_outputs']</filter>
233 <filter>advanced_options['CHG']</filter> 250 <filter>advanced_options['methylation_metrics'] and "--CHG" in advanced_options['methylation_metrics']</filter>
234 </data> 251 </data>
235 <data name="outFileExtractCHGMethylKit" format="text" from_work_dir="output_CHG.methylKit" 252
236 label="${tool.name} on ${on_string} (CHG MethylKit)"> 253 <data name="outFileExtractCHGMethylKit" format="txt" from_work_dir="output_CHG.methylKit"
237 <filter>main_task['task'] == "extract" and advanced_options['methylKit']</filter> 254 label="${tool.name} on ${on_string}: methylKit CHG">
238 <filter>advanced_options['options'] == "yes"</filter> 255 <filter>main_task['task'] == "extract"</filter>
239 <filter>advanced_options['CHG']</filter> 256 <filter>main_task['extract_outputs'] and "--methylKit" in main_task['extract_outputs']</filter>
257 <filter>advanced_options['methylation_metrics'] and "--CHG" in advanced_options['methylation_metrics']</filter>
240 </data> 258 </data>
241 <data name="outFileExtractCHGCounts" format="bedgraph" from_work_dir="output_CHG.counts.bedGraph" 259 <data name="outFileExtractCHGCounts" format="bedgraph" from_work_dir="output_CHG.counts.bedGraph"
242 label="${tool.name} on ${on_string} (CHG counts)"> 260 label="${tool.name} on ${on_string}: counts CHG">
243 <filter>main_task['task'] == "extract" and advanced_options['counts']</filter> 261 <filter>main_task['task'] == "extract"</filter>
244 <filter>advanced_options['options'] == "yes"</filter> 262 <filter>main_task['extract_outputs'] and "--counts" in main_task['extract_outputs']</filter>
245 <filter>advanced_options['CHG']</filter> 263 <filter>advanced_options['methylation_metrics'] and "--CHG" in advanced_options['methylation_metrics']</filter>
246 </data> 264 </data>
247 <data name="outFileExtractCHGFraction" format="bedgraph" from_work_dir="output_CHG.meth.bedGraph" 265 <data name="outFileExtractCHGFraction" format="bedgraph" from_work_dir="output_CHG.meth.bedGraph"
248 label="${tool.name} on ${on_string} (CHG fraction)"> 266 label="${tool.name} on ${on_string}: fraction CHG">
249 <filter>main_task['task'] == "extract" and advanced_options['fraction']</filter> 267 <filter>main_task['task'] == "extract"</filter>
250 <filter>advanced_options['options'] == "yes"</filter> 268 <filter>main_task['extract_outputs'] and "--fraction" in main_task['extract_outputs']</filter>
251 <filter>advanced_options['CHG']</filter> 269 <filter>advanced_options['methylation_metrics'] and "--CHG" in advanced_options['methylation_metrics']</filter>
252 </data> 270 </data>
253 <data name="outFileExtractCHH" format="bedgraph" from_work_dir="output_CHH.bedGraph" 271 <data name="outFileExtractCHH" format="bedgraph" from_work_dir="output_CHH.bedGraph"
254 label="${tool.name} on ${on_string} (CHH)"> 272 label="${tool.name} on ${on_string}: CHH metylation levels">
255 <filter>main_task['task'] == 'extract'</filter> 273 <filter>main_task['task'] == "extract"</filter>
256 <filter>advanced_options['options'] == "yes"</filter> 274 <filter>not main_task['extract_outputs']</filter>
257 <filter>advanced_options['CHH']</filter> 275 <filter>advanced_options['methylation_metrics'] and "--CHH" in advanced_options['methylation_metrics']</filter>
258 <filter>not advanced_options['logit']</filter>
259 <filter>not advanced_options['methylKit']</filter>
260 <filter>not advanced_options['counts']</filter>
261 <filter>not advanced_options['fraction']</filter>
262 </data> 276 </data>
263 <data name="outFileExtractCHHLogit" format="bedgraph" from_work_dir="output_CHH.logit.bedGraph" 277 <data name="outFileExtractCHHLogit" format="bedgraph" from_work_dir="output_CHH.logit.bedGraph"
264 label="${tool.name} on ${on_string} (CHH logit)"> 278 label="${tool.name} on ${on_string}: logit CHH">
265 <filter>main_task['task'] == "extract" and advanced_options['logit']</filter> 279 <filter>main_task['task'] == "extract"</filter>
266 <filter>advanced_options['options'] == "yes"</filter> 280 <filter>main_task['extract_outputs'] and "--logit" in main_task['extract_outputs']</filter>
267 <filter>advanced_options['CHH']</filter> 281 <filter>advanced_options['methylation_metrics'] and "--CHH" in advanced_options['methylation_metrics']</filter>
268 </data> 282 </data>
269 <data name="outFileExtractCHHMethylKit" format="text" from_work_dir="output_CHH.methylKit" 283
270 label="${tool.name} on ${on_string} (CHH MethylKit)"> 284 <data name="outFileExtractCHHMethylKit" format="txt" from_work_dir="output_CHH.methylKit"
271 <filter>main_task['task'] == "extract" and advanced_options['methylKit']</filter> 285 label="${tool.name} on ${on_string}: methylKit CHH">
272 <filter>advanced_options['options'] == "yes"</filter> 286 <filter>main_task['task'] == "extract"</filter>
273 <filter>advanced_options['CHH']</filter> 287 <filter>main_task['extract_outputs'] and "--methylKit" in main_task['extract_outputs']</filter>
288 <filter>advanced_options['methylation_metrics'] and "--CHH" in advanced_options['methylation_metrics']</filter>
274 </data> 289 </data>
275 <data name="outFileExtractCHHCounts" format="bedgraph" from_work_dir="output_CHH.counts.bedGraph" 290 <data name="outFileExtractCHHCounts" format="bedgraph" from_work_dir="output_CHH.counts.bedGraph"
276 label="${tool.name} on ${on_string} (CHH counts)"> 291 label="${tool.name} on ${on_string}: counts CHH">
277 <filter>main_task['task'] == "extract" and advanced_options['counts']</filter> 292 <filter>main_task['task'] == "extract"</filter>
278 <filter>advanced_options['options'] == "yes"</filter> 293 <filter>main_task['extract_outputs'] and "--counts" in main_task['extract_outputs']</filter>
279 <filter>advanced_options['CHH']</filter> 294 <filter>advanced_options['methylation_metrics'] and "--CHH" in advanced_options['methylation_metrics']</filter>
280 </data> 295 </data>
281 <data name="outFileExtractCHHFraction" format="bedgraph" from_work_dir="output_CHH.meth.bedGraph" 296 <data name="outFileExtractCHHFraction" format="bedgraph" from_work_dir="output_CHH.meth.bedGraph"
282 label="${tool.name} on ${on_string} (CHH fraction)"> 297 label="${tool.name} on ${on_string}: fraction CHH">
283 <filter>main_task['task'] == "extract" and advanced_options['fraction']</filter> 298 <filter>main_task['task'] == "extract"</filter>
284 <filter>advanced_options['options'] == "yes"</filter> 299 <filter>main_task['extract_outputs'] and "--fraction" in main_task['extract_outputs']</filter>
285 <filter>advanced_options['CHH']</filter> 300 <filter>advanced_options['methylation_metrics'] and "--CHH" in advanced_options['methylation_metrics']</filter>
286 </data> 301 </data>
287 <data name="outFileMbiasTSV" format="tabular" from_work_dir="out_mbias.tsv" 302 <data name="outFileMbiasTSV" format="tabular" from_work_dir="out_mbias.tsv"
288 label="${tool.name} on ${on_string} (methylation bias, tsv)"> 303 label="${tool.name} on ${on_string}: methylation bias (tsv)">
289 <filter>main_task['task'] == 'mbias'</filter> 304 <filter>main_task['task'] == 'mbias'</filter>
290 <filter>main_task['tsv']</filter> 305 <filter>main_task['tsv']</filter>
291 </data> 306 </data>
307
292 <data name="outFileMbiasCpGOT" format="svg" from_work_dir="out_mbias_OT.svg" 308 <data name="outFileMbiasCpGOT" format="svg" from_work_dir="out_mbias_OT.svg"
293 label="${tool.name} on ${on_string} (methylation bias, original top strand)"> 309 label="${tool.name} on ${on_string}: methylation bias (original top strand)">
294 <filter>main_task['task'] == 'mbias'</filter> 310 <filter>main_task['task'] == 'mbias'</filter>
295 </data> 311 </data>
296 <data name="outFileMbiasCpGOB" format="svg" from_work_dir="out_mbias_OB.svg" 312 <data name="outFileMbiasCpGOB" format="svg" from_work_dir="out_mbias_OB.svg"
297 label="${tool.name} on ${on_string} (methylation bias, original bottom strand)"> 313 label="${tool.name} on ${on_string}: methylation bias (original bottom strand)">
298 <filter>main_task['task'] == 'mbias'</filter> 314 <filter>main_task['task'] == 'mbias'</filter>
299 </data> 315 </data>
300 <data name="outFileMbiasCpGCTOT" format="svg" from_work_dir="out_mbias_CTOT.svg" 316 <data name="outFileMbiasCpGCTOT" format="svg" from_work_dir="out_mbias_CTOT.svg"
301 label="${tool.name} on ${on_string} (methylation bias, complementary to the original top strand)"> 317 label="${tool.name} on ${on_string}: methylation bias (complementary to the original top strand)">
302 <filter>main_task['task'] == 'mbias'</filter> 318 <filter>main_task['task'] == 'mbias'</filter>
303 </data> 319 </data>
304 <data name="outFileMbiasCpGCTOB" format="svg" from_work_dir="out_mbias_CTOB.svg" 320 <data name="outFileMbiasCpGCTOB" format="svg" from_work_dir="out_mbias_CTOB.svg"
305 label="${tool.name} on ${on_string} (methylation bias, complementary to the original bottom strand)"> 321 label="${tool.name} on ${on_string}: methylation bias (complementary to the original bottom strand)">
306 <filter>main_task['task'] == 'mbias'</filter> 322 <filter>main_task['task'] == 'mbias'</filter>
307 </data> 323 </data>
308 </outputs> 324 </outputs>
309 <tests> 325 <tests>
310 <test> 326 <test expect_num_outputs="1">
311 <param name="task" value="extract" /> 327 <param name="reference_source_selector" value="history" />
312 <param name="min_mapq" value="2" /> 328 <param name="ref_file" value="cg100.fa" ftype="fasta" />
313 <param name="reference_source_selector" value="history" /> 329 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
314 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 330 <conditional name="main_task">
315 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 331 <param name="task" value="extract" />
316 <param name="mergeContext" value="false"/> 332 </conditional>
317 <param name="options" value="yes"/> 333 <section name="advanced_options">
318 <output name="outFileExtractCpG" file="test_1.bedGraph" ftype="bedgraph" compare="diff"/> 334 <param name="min_mapq" value="2" />
319 </test> 335 </section>
320 <test> 336 <output name="outFileExtractCpG" ftype="bedgraph">
321 <param name="task" value="mbias" /> 337 <assert_contents>
322 <param name="min_mapq" value="2" /> 338 <has_size value="1016"/>
323 <param name="options" value="yes"/> 339 </assert_contents>
324 <param name="reference_source_selector" value="history" /> 340 </output>
325 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 341 </test>
326 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 342
327 <output name="outFileMbiasCpGOT" file="test_2_output.svg" ftype="svg" compare="diff"/> 343 <test expect_num_outputs="4">
328 </test> 344 <param name="reference_source_selector" value="history" />
329 <test> 345 <param name="ref_file" value="cg100.fa" ftype="fasta" />
330 <param name="task" value="extract" /> 346 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
331 <param name="min_mapq" value="2" /> 347 <conditional name="main_task">
332 <param name="options" value="yes"/> 348 <param name="task" value="mbias" />
333 <param name="CHH" value="True"/> 349 </conditional>
334 <param name="reference_source_selector" value="history" /> 350 <section name="advanced_options">
335 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 351 <param name="min_mapq" value="2" />
336 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 352 </section>
337 <param name="mergeContext" value="false"/> 353 <output name="outFileMbiasCpGOT" ftype="svg">
338 <param name="options" value="yes"/> 354 <assert_contents>
339 <output name="outFileExtractCpG" file="test_1.bedGraph" ftype="bedgraph" compare="diff"/> 355 <has_size value="14614"/>
340 <output name="outFileExtractCHH" file="test_2.bedGraph" ftype="bedgraph" compare="diff"/> 356 </assert_contents>
341 </test> 357 </output>
342 <test> 358 <output name="outFileMbiasCpGOB" ftype="svg">
343 <param name="task" value="extract" /> 359 <assert_contents>
344 <param name="min_mapq" value="2" /> 360 <has_size value="0"/>
345 <param name="reference_source_selector" value="history" /> 361 </assert_contents>
346 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 362 </output>
347 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 363 <output name="outFileMbiasCpGCTOT" ftype="svg">
348 <param name="options" value="yes"/> 364 <assert_contents>
349 <param name="fraction" value="true" /> 365 <has_size value="0"/>
350 <output name="outFileExtractCpGFraction" file="test_3.bedGraph" ftype="bedgraph" compare="diff"/> 366 </assert_contents>
351 </test> 367 </output>
352 <test> 368 <output name="outFileMbiasCpGCTOB" ftype="svg">
353 <param name="task" value="extract" /> 369 <assert_contents>
354 <param name="min_mapq" value="2" /> 370 <has_size value="0"/>
355 <param name="reference_source_selector" value="history" /> 371 </assert_contents>
356 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 372 </output>
357 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 373 </test>
358 <param name="options" value="yes"/> 374 <test expect_num_outputs="2">
359 <param name="logit" value="true" /> 375 <param name="reference_source_selector" value="history" />
360 <output name="outFileExtractCpGLogit" file="test_4.bedGraph" ftype="bedgraph" compare="diff"/> 376 <param name="ref_file" value="cg100.fa" ftype="fasta" />
361 </test> 377 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
362 <test> 378 <conditional name="main_task">
363 <param name="task" value="extract" /> 379 <param name="task" value="extract" />
364 <param name="min_mapq" value="2" /> 380 <param name="mergeContext" value="false"/>
365 <param name="reference_source_selector" value="history" /> 381 </conditional>
366 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 382 <section name="advanced_options">
367 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 383 <param name="min_mapq" value="2" />
368 <param name="options" value="yes"/> 384 <param name="methylation_metrics" value="--CHH"/>
369 <param name="methylKit" value="true" /> 385 </section>
370 <output name="outFileExtractCpGMethylKit" file="test_5.methylKit" ftype="text" compare="diff"/> 386 <output name="outFileExtractCpG" ftype="bedgraph">
371 </test> 387 <assert_contents>
372 <test> 388 <has_size value="1016"/>
373 <param name="task" value="mbias" /> 389 </assert_contents>
374 <param name="min_mapq" value="2" /> 390 </output>
375 <param name="options" value="yes"/> 391 <output name="outFileExtractCHH" ftype="bedgraph">
376 <param name="tsv" value="--txt"/> 392 <assert_contents>
377 <param name="reference_source_selector" value="history" /> 393 <has_size value="86"/>
378 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 394 </assert_contents>
379 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 395 </output>
380 <output name="outFileMbiasTSV" file="test7_output.tsv" ftype="tabular" compare="diff"/> 396 </test>
381 </test> 397 <test expect_num_outputs="1">
382 <test> 398 <param name="reference_source_selector" value="history" />
383 <param name="task" value="mbias" /> 399 <param name="ref_file" value="cg100.fa" ftype="fasta" />
384 <param name="min_mapq" value="2" /> 400 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
385 <param name="options" value="yes"/> 401 <conditional name="main_task">
386 <param name="regionBed" ftype="bed" value="cg100.bed"/> 402 <param name="task" value="extract" />
387 <param name="tsv" value="--txt"/> 403 <param name="extract_outputs" value="--fraction" />
388 <param name="reference_source_selector" value="history" /> 404 </conditional>
389 <param name="ref_file" value="cg100.fa" ftype="fasta" /> 405 <section name="advanced_options">
390 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/> 406 <param name="min_mapq" value="2" />
391 <output name="outFileMbiasTSV" file="test8_output.tsv" ftype="tabular" compare="diff"/> 407 </section>
408 <output name="outFileExtractCpGFraction" ftype="bedgraph">
409 <assert_contents>
410 <has_size value="1067"/>
411 </assert_contents>
412 </output>
413 </test>
414 <test expect_num_outputs="1">
415 <param name="reference_source_selector" value="history" />
416 <param name="ref_file" value="cg100.fa" ftype="fasta" />
417 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
418 <conditional name="main_task">
419 <param name="task" value="extract" />
420 <param name="extract_outputs" value="--logit" />
421 </conditional>
422 <section name="advanced_options">
423 <param name="min_mapq" value="2" />
424 </section>
425 <output name="outFileExtractCpGLogit" ftype="bedgraph">
426 <assert_contents>
427 <has_size value="845"/>
428 </assert_contents>
429 </output>
430 </test>
431 <test expect_num_outputs="1">
432 <param name="reference_source_selector" value="history" />
433 <param name="ref_file" value="cg100.fa" ftype="fasta" />
434 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
435 <conditional name="main_task">
436 <param name="task" value="extract" />
437 <param name="extract_outputs" value="--methylKit" />
438 </conditional>
439 <section name="advanced_options">
440 <param name="min_mapq" value="2" />
441 </section>
442 <output name="outFileExtractCpGMethylKit" ftype="txt">
443 <assert_contents>
444 <has_size value="1763"/>
445 </assert_contents>
446 </output>
447
448 </test>
449
450 <test expect_num_outputs="5">
451 <param name="reference_source_selector" value="history" />
452 <param name="ref_file" value="cg100.fa" ftype="fasta" />
453 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
454 <conditional name="main_task">
455 <param name="task" value="mbias" />
456 <param name="tsv" value="--txt"/>
457 </conditional>
458 <section name="advanced_options">
459 <param name="min_mapq" value="2" />
460 </section>
461 <output name="outFileMbiasTSV" ftype="tabular">
462 <assert_contents>
463 <has_size value="1213"/>
464 </assert_contents>
465 </output>
466 <output name="outFileMbiasCpGOT" ftype="svg">
467 <assert_contents>
468 <has_size value="14614"/>
469 </assert_contents>
470 </output>
471 <output name="outFileMbiasCpGOB" ftype="svg">
472 <assert_contents>
473 <has_size value="0"/>
474 </assert_contents>
475 </output>
476 <output name="outFileMbiasCpGCTOT" ftype="svg">
477 <assert_contents>
478 <has_size value="0"/>
479 </assert_contents>
480 </output>
481 <output name="outFileMbiasCpGCTOB" ftype="svg">
482 <assert_contents>
483 <has_size value="0"/>
484 </assert_contents>
485 </output>
486 </test>
487
488 <test expect_num_outputs="2">
489 <param name="reference_source_selector" value="history" />
490 <param name="ref_file" value="cg100.fa" ftype="fasta" />
491 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
492 <conditional name="main_task">
493 <param name="task" value="extract" />
494 <param name="extract_outputs" value="--methylKit" />
495 </conditional>
496 <section name="advanced_options">
497 <param name="min_mapq" value="2" />
498 <param name="methylation_metrics" value="--CHG"/>
499 </section>
500 <output name="outFileExtractCpGMethylKit" ftype="txt">
501 <assert_contents>
502 <has_size value="1763"/>
503 </assert_contents>
504 </output>
505 <output name="outFileExtractCHGMethylKit" ftype="txt">
506 <assert_contents>
507 <has_size value="45"/>
508 </assert_contents>
509 </output>
510 </test>
511 <!--Test regionBed option-->
512 <test expect_num_outputs="1">
513 <param name="reference_source_selector" value="history" />
514 <param name="ref_file" value="cg100.fa" ftype="fasta" />
515 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
516 <conditional name="regionBed_options">
517 <param name="regionBed_status" value="True"/>
518 <param name="regionBed" ftype="bed" value="cg100.bed"/>
519 </conditional>
520 <conditional name="main_task">
521 <param name="task" value="extract" />
522 </conditional>
523 <section name="advanced_options">
524 <param name="min_mapq" value="2" />
525 </section>
526 <output name="outFileExtractCpG" ftype="bedgraph" >
527 <assert_contents>
528 <has_size value="846"/>
529 </assert_contents>
530 </output>
531 </test>
532
533 <!--Test keepStrand parameter-->
534 <test expect_num_outputs="1">
535 <param name="reference_source_selector" value="history" />
536 <param name="ref_file" value="cg100.fa" ftype="fasta" />
537 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
538 <conditional name="regionBed_options">
539 <param name="regionBed_status" value="True"/>
540 <param name="regionBed" ftype="bed" value="cg100.bed"/>
541 <param name="keepStrand" value="True"/>
542 </conditional>
543 <conditional name="main_task">
544 <param name="task" value="extract" />
545 </conditional>
546 <section name="advanced_options">
547 <param name="min_mapq" value="2" />
548 </section>
549 <output name="outFileExtractCpG" ftype="bedgraph">
550 <assert_contents>
551 <has_size value="846"/>
552 </assert_contents>
553 </output>
554 </test>
555
556 <!-- Test mapability options-->
557 <test expect_num_outputs="1">
558 <param name="reference_source_selector" value="history" />
559 <param name="ref_file" value="cg100.fa" ftype="fasta" />
560 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
561 <conditional name="main_task">
562 <param name="task" value="extract" />
563 <conditional name="mappability_options">
564 <param name="mappability_status" value="True"/>
565 <param name="mappability" value="mappability.bigwig" ftype="bigwig"/>
566 <param name="mappabilityThreshold" value="0.1"/>
567 <param name="minMappableBases" value="15"/>
568 </conditional>
569 </conditional>
570 <output name="outFileExtractCpG" ftype="bedgraph">
571 <assert_contents>
572 <has_size value="66"/>
573 </assert_contents>
574 </output>
575 </test>
576 <!-- Test cytosine report-->
577 <test expect_num_outputs="1">
578 <param name="reference_source_selector" value="history" />
579 <param name="ref_file" value="cg100.fa" ftype="fasta" />
580 <param name="input_sortedAlignBAM" value="cg_aln.bam" ftype="bam"/>
581 <conditional name="main_task">
582 <param name="task" value="extract" />
583 <param name="extract_outputs" value="--cytosine_report" />
584 </conditional>
585 <output name="outFileExtractCpG" ftype="txt">
586 <assert_contents>
587 <has_size value="2147"/>
588 </assert_contents>
589 </output>
392 </test> 590 </test>
393 </tests> 591 </tests>
394 <help><![CDATA[ 592 <help><![CDATA[
395
396 .. image:: $PATH_TO_IMAGES/MethylDackelLogo.png
397 :align: left
398 593
399 **What it does** 594 **What it does**
400 595
401 MethylDackel (formerly named PileOMeth, which was a temporary name derived due to it using a PILEup to extract METHylation metrics) will process a coordinate-sorted and indexed BAM or CRAM file containing some form of BS-seq alignments and extract per-base methylation metrics from them. MethylDackel requires an indexed fasta file containing the reference genome as well. 596 MethylDackel (formerly named PileOMeth, which was a temporary name derived due to it using a PILEup to extract METHylation metrics) will process a coordinate-sorted and indexed BAM or CRAM file containing some form of BS-seq alignments and extract per-base methylation metrics from them. MethylDackel requires an indexed fasta file containing the reference genome as well.
402 597
448 **Methylation bias plotting and correction** 643 **Methylation bias plotting and correction**
449 644
450 In an ideal experiment, we expect that the probability of observing a methylated C is constant across the length of any given read. In practice, however, there are often increases/decreases in observed methylation rate at the ends of reads and/or more global changes. These are termed methylation bias and including such regions in the extracted methylation metrics will result in noisier and less accurate data. For this reason, users are strongly encouraged to make a methylation bias plot. 645 In an ideal experiment, we expect that the probability of observing a methylated C is constant across the length of any given read. In practice, however, there are often increases/decreases in observed methylation rate at the ends of reads and/or more global changes. These are termed methylation bias and including such regions in the extracted methylation metrics will result in noisier and less accurate data. For this reason, users are strongly encouraged to make a methylation bias plot.
451 646
452 That command will create a methylation bias (mbias for short) plot for each of the strands for which there are valid alignments. 647 That command will create a methylation bias (mbias for short) plot for each of the strands for which there are valid alignments.
453 The resulting mbias graphs are in SVG format and can be viewed in most modern web browsers: 648 The resulting mbias graphs are in SVG format and can be viewed in most modern web browsers.
454
455 .. image:: $PATH_TO_IMAGES/example.svg
456 649
457 650
458 If you have paired-end data, both reads in the pair will be shown separately, as is the case above. The program will suggest regions for inclusion ("--OT 2,0,0,98" above) and mark them on the plot, if applicable. The format of this output is described in MethylDackel extract -h. These suggestions should not be accepted blindly; users are strongly encouraged to have a look for themselves and tweak the actual bounds as appropriate. The lines indicate the average methylation percentage at a given position and the shaded regions the 99.9% confidence interval around it. This is useful in gauging how many methylation calls a given position has relative to its neighbors. Note the spike in methylation at the end of read #2 and the corresponding dip at the beginning of read #1. This is common and these regions can be ignored with the suggested trimming bounds. Note also that the numbers refer to the first and last base that should be included during methylation extraction, not the last and first base to ignore!. 651 If you have paired-end data, both reads in the pair will be shown separately, as is the case above. The program will suggest regions for inclusion ("--OT 2,0,0,98" above) and mark them on the plot, if applicable. The format of this output is described in MethylDackel extract -h. These suggestions should not be accepted blindly; users are strongly encouraged to have a look for themselves and tweak the actual bounds as appropriate. The lines indicate the average methylation percentage at a given position and the shaded regions the 99.9% confidence interval around it. This is useful in gauging how many methylation calls a given position has relative to its neighbors. Note the spike in methylation at the end of read #2 and the corresponding dip at the beginning of read #1. This is common and these regions can be ignored with the suggested trimming bounds. Note also that the numbers refer to the first and last base that should be included during methylation extraction, not the last and first base to ignore!.
459 652
460 **Excluding low-coverage regions** 653 **Excluding low-coverage regions**
488 681
489 **MethylDackel** is a Free and Open Source Software, see more details on the MethylDackel_ Website. 682 **MethylDackel** is a Free and Open Source Software, see more details on the MethylDackel_ Website.
490 683
491 .. _MethylDackel: https://github.com/dpryan79/MethylDackel 684 .. _MethylDackel: https://github.com/dpryan79/MethylDackel
492 ]]></help> 685 ]]></help>
493 <citations> 686 <expand macro="citations"/>
494 </citations>
495 </tool> 687 </tool>