Skip to main content

Robust ATAC-seq Peak Calling for Many Samples via Convex Optimization

Project description

ROCCO: [R]obust [O]pen [C]hromatin Detection via [C]onvex [O]ptimization

logo

ROCCO is a scalable consensus peak calling algorithm for open chromatin data on multiple samples, e.g., ATAC-seq.

Features

  1. Consideration of enrichment and spatial characteristics of open chromatin signals to capture the full extent of peaks;
  2. Mathematically tractable model that permits performance and efficiency guarantees.
  3. Efficient for large numbers of samples with an asymptotic time complexity independent of sample size;
  4. No arbitrary thresholds on the minimum number of supporting samples/replicates;
  5. No required training data or a heuristically determined set of initial candidate peak regions;

Paper

If using ROCCO in your research, please cite the original paper in Bioinformatics

 Nolan H Hamilton, Terrence S Furey, ROCCO: a robust method for detection of open chromatin via convex optimization,
 Bioinformatics, Volume 39, Issue 12, December 2023

DOI: 10.1093/bioinformatics/btad725

Documentation

Documentation and example usage are available at https://nolan-h-hamilton.github.io/ROCCO/

Installation

pip install rocco

Input

ROCCO accepts samples' BAM alignments or BigWig coverage tracks and a genome sizes file as input.

Output

A BED file containing peak regions and scores.

Minimal Example

Run ROCCO on the test data included with this repository (BigWig files).

rocco -i tests/data/*.bw --genome_file tests/test_hg38.sizes

Default output BED file named as rocco_peaks_[timestamp].bed. Because no --chrom_param_file is supplied, the default genome-wide budget (0.035), gamma (1.0), etc. are used for all chromosomes. See the Documentation for additional examples and details.

Testing ROCCO

cd tests
pytest -v -rPA -l -k "regular" test_rocco.py

Version History

Previous releases can be found at https://github.com/nolan-h-hamilton/ROCCO/tags

Additional dependencies for optional features:

  • 'mosek': Commercial grade solver. Users can instantly obtain a free academic license or generous trial commericial license at https://www.mosek.com/products/academic-licenses/.
  • 'ortools': includes the first-order solver, PDLP.
  • 'pytest': allows local execution of the Tests workflow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rocco-0.11.0.tar.gz (195.9 kB view hashes)

Uploaded Source

Built Distribution

rocco-0.11.0-py3-none-any.whl (15.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page