medip_merge_intervals.py - merge differentially methylated regions¶
- Tags
Python
Purpose¶
This script takes the output of DESeq or EdgeR and merges adjacent intervals that show a similar expression change.
Input is data like this:
contig start end treatment_name treatment_mean treatment_std control_name control_mean control_std pvalue qvalue l2fold fold significant status
chr1 10000 11000 CD14 32.9785173324 0 CD4 41.7117152603 0 0.199805206526 1.0 0.338926100945 1.26481475319 0 OK
chr1 14000 15000 CD14 9.32978709019 0 CD4 9.31489982941 0 1.0 1.0 -0.00230390372974 0.998404330063 0 OK
chr1 15000 16000 CD14 9.04603350905 0 CD4 9.01484414416 0 1.0 1.0 -0.00498279072069 0.996552150193 0 OK
chr1 16000 17000 CD14 0.457565479197 0 CD4 0.14910378845 0 0.677265200643 1.0 -1.61766129852 0.325863281276 0 OK
The second and third window would be merged, as
Their methylation levels are within 10% of each other.
They are both not differentially methylated.
It aggregates the following:
mean values: average
std values: max
pvalue: max
qvalue: max
fold: min/max (depending on enrichment/depletion)
l2fold: min/max (depending on enrichment/depletion)
The analysis outputs bed files with intervals that are
potentially activated in one of the conditions. Windows
with a positive fold change are collected in the treatment,
while windows with a negative fold change are collected in the
control.
For methylation analysis, it might be more interesting
to report windows that are depleted (instead of enriched)
of signal. Thus, if the option --invert is given,
windows with a negative l2fold change are labeled treatment.
Less methylation means that this region is “active” in the
treatment condition.
Note that the input is assumed to be sorted by coordinate.
Usage¶
Example:
python cgat_script_template.py --help
Type:
python cgat_script_template.py --help
for command line help.
Command line options¶
usage: medip-merge-intervals [-h] [--version] [-o MIN_OVERLAP]
[-w PATTERN_WINDOW] [-i] [--timeit TIMEIT_FILE]
[--timeit-name TIMEIT_NAME] [--timeit-header]
[--random-seed RANDOM_SEED] [-v LOGLEVEL]
[--log-config-filename LOG_CONFIG_FILENAME]
[--tracing {function}] [-? ?]
[-P OUTPUT_FILENAME_PATTERN] [-F] [-I STDIN]
[-L STDLOG] [-E STDERR] [-S STDOUT]
medip-merge-intervals: error: argument -?: expected one argument