Skip to content

LBMC/midr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IDR

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

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

To run midr on your computer you need to have python (>= 3) installed.

python3 --version

Installing

To easily install midr on your computer using pip run the following command:

pip3 install midr

Otherwise you can clone this repository:

git clone [email protected]:/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.

Dependencies

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)

Usage

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

Where 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.

Displaying help:

$ 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

Authors

  • Laurent Modolo - Initial work

License

This project is licensed under the CeCiLL License- see the LICENSE file for details.