SkillAgentSearch skills...

ROCCO

Robust Open Chromatin Detection via Convex Optimization: Multisample Consensus Peak Calling

Install / Use

/learn @nolan-h-hamilton/ROCCO

README

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

Tests PyPI - Version

What

ROCCO is an efficient algorithm for detection of "consensus peaks" in large datasets with multiple HTS data samples, where an enrichment in read counts/densities is observed in a nontrivial subset of samples.

Input/Output

  • Input: Samples' BAM alignments
  • Output: BED file of consensus peak regions (Default format is BED3: chrom,start,end)

How

ROCCO models consensus peak calling as a constrained optimization problem with an upper-bound on the total proportion of the genome selected as enriched and a fragmentation penalty (TV) to promote spatial consistency in active regions and sparsity elsewhere.

Why

  1. Consideration of enrichment and spatial characteristics of open chromatin signals
  2. Scaling to large sample sizes (100+)
  3. Unsupervised Does not require training data or a heuristically determined set of initial candidate peak regions
  4. No rigid thresholds + less manual tuning with respect to the minimum number/width of supporting samples/replicates.
  5. Mathematically tractable model permitting worst-case analysis of runtime and performance (polytime-solvable optimization)

Usage

rocco -i <bam_files> -g <hg38, hg19, mm10, mm39, dm6, ...> -o <output_file.bed> --narrowPeak

for example:

rocco -i sample1.bam sample2.bam sample3.bam -g hg38 -o consensus_peaks.bed --narrowPeak

See rocco --help for more options and details.

Paper/Citation

If using ROCCO in your research, please cite the original paper in Bioinformatics (DOI: btad725)

 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

Installation

PyPI (pip)

python -m pip install rocco --upgrade

If lacking administrative control, you may need to append --user to the above.

Build from Source

If preferred, ROCCO can easily be built from source:

  • Clone or download this repository

    git clone https://github.com/nolan-h-hamilton/ROCCO.git
    cd ROCCO
    python setup.py sdist bdist_wheel
    python -m pip install -e .
    
View on GitHub
GitHub Stars9
CategoryDevelopment
Updated5d ago
Forks0

Languages

Python

Security Score

90/100

Audited on Mar 21, 2026

No findings