Compute idr from m NarrowPeak files and a merged NarrowPeak
This tool is designed to compute the Irreproducible Discovery Rate (IDR) from NarrowPeaks files for two or more replicates. It’s an implementation of the method described in the following paper using Gaussian copula.
LI, Qunhua, BROWN, James B., HUANG, Haiyan, et al. Measuring reproducibility of high-throughput experiments. The annals of applied statistics, 2011, vol. 5, no 3, p. 1752-1779. doi:10.1214/11-AOAS466
The default method for the IDR computation is the one developped in the following paper using Archimedean copula.
Measuring Reproducibility of High-Throughput Deep-Sequencing Experiments Based on Self-adaptive Mixture Copula. Part of the Lecture Notes in Computer Science book series (LNCS, volume 7818) PAKDD 2013: Advances in Knowledge Discovery and Data Mining p 301-313, isbn: 978-3-642-37453-1
All the estimators for multivariate Archimedean copula are implemented from the two following papers:
Likelihood inference for Archimedean copulas in high dimensions under known margins, Journal of Multivariate Analysis, 2012, p133-150, doi:10.1016/j.jmva.2012.02.019
Archimedean Copulas in High Dimensions: Estimators and Numerical Challenges Motivated by Financial Applications | Journal de la Société Française de Statistique, Vol. 154 No. 1 (2013), ISSN: 2102-6238
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
To run midr on your computer you need to have python (>= 3) installed.
To easily install midr on your computer using
pip run the following command:
pip3 install midr
Otherwise you can clone this repository:
git clone firstname.lastname@example.org:/LBMC/sbdm/midr.git cd midr/src/ python3 setup.py install
Given a list of peak calls in NarrowPeaks format and the corresponding peak call for the merged replicate. This tool computes and appends a IDR column to NarrowPeaks files.
The idr package depends on the following python3 library:
Travis E. Oliphant. Python for Scientific Computing, Computing in Science & Engineering, 9, 10-20 (2007), DOI:10.1109/MCSE.2007.58
K. Jarrod Millman and Michael Aivazis. Python for Scientists and Engineers, Computing in Science & Engineering, 13, 9-12 (2011), DOI:10.1109/MCSE.2011.36
Travis E, Oliphant. A guide to NumPy, USA: Trelgol Publishing, (2006).
Stéfan van der Walt, S. Chris Colbert and Gaël Varoquaux. The NumPy Array: A Structure for Efficient Numerical Computation, Computing in Science & Engineering, 13, 22-30 (2011), DOI:10.1109/MCSE.2011.37
J. D. Hunter, "Matplotlib: A 2D Graphics Environment", Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95, 2007.
McKinney. Data Structures for Statistical Computing in Python, Proceedings of the 9th Python in Science Conference, 51-56 (2010) (publisher link)
idr Takes as input file in the NarrowPeaks format, and output NarrowPeaks files with an additional idr column.
Computing IDR between three replicates
$ midr -m merged_peak_calling.NarrowPeaks \ -f replicate1_.NarrowPeaks replicate2.NarrowPeaks replicate3.NarrowPeaks \ -o results
replicate1_.NarrowPeaks is the output of the peak caller on the
alignment file corresponding to the first replicate and
merged_peak_calling.NarrowPeaks is the output of the peak caller on the merge
of the replicates alignment files.
Results are the directory where we want to output our results.
$ midr -h usage: midr [-h] [--merged FILE] [--files FILES [FILES ...]] [--output DIR] [--score SCORE_COLUMN] [--threshold THRESHOLD] [--merge_function MERGE_FUNCTION] [--size SIZE_MERGE] [--nodrop] [--method METHOD] [--cpu CPU] [--debug] [--verbose] [--matrix FILE] Compute the Irreproducible Discovery Rate (IDR) from NarrowPeaks files Implementation of the IDR methods for two or more replicates. LI, Qunhua, BROWN, James B., HUANG, Haiyan, et al. Measuring reproducibility of high-throughput experiments. The annals of applied statistics, 2011, vol. 5, no 3, p. 1752-1779. Given a list of peak calls in NarrowPeaks format and the corresponding peak call for the merged replicate. This tool computes and appends a IDR column to NarrowPeaks files. optional arguments: -h, --help show this help message and exit IDR settings: --merged FILE, -m FILE file of the merged NarrowPeaks --files FILES [FILES ...], -f FILES [FILES ...] list of NarrowPeaks files --output DIR, -o DIR output directory (default: results) --score SCORE_COLUMN, -s SCORE_COLUMN NarrowPeaks score column to compute the IDR on, one of 'score', 'signalValue', 'pValue' or 'qValue' (default: signalValue) --threshold THRESHOLD, -t THRESHOLD Threshold value for the precision of the estimators (default: 0.0001) --merge_function MERGE_FUNCTION, -mf MERGE_FUNCTION function to determine the score to keep for overlapping peak within a replica ('sum', 'max', 'mean', 'median', 'min') (default: max) --size SIZE_MERGE, -ws SIZE_MERGE distance (bp) to add before and after each peak before merging finding match between --merged file and --files files (default: 100) --nodrop, -nd don't drop peak unmatched in any bed. The score of the absent peak is set to 0.0 (default: True) --method METHOD, -mt METHOD copula model to use('archimedean' or 'gaussian' (default: archimedean) --cpu CPU, -cpu CPU number of thread to use for merging the beds files (default: 1) --debug, -d enable debugging (default: False) --verbose, -v log to console (default: False) --matrix FILE matrix file of the peaks score in raw (tsv format), replace the --merge and --files options if used
- Laurent Modolo - Initial work
This project is licensed under the CeCiLL License- see the LICENSE file for details.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.