# ROCCO: [R]obust [O]pen [C]hromatin Detection via [C]onvex [O]ptimization
<p align="center">
<img width="400" alt="logo" src="docs/logo.png">
ROCCO is an optimal consensus peak calling algorithm for open chromatin data that is scalable to large sample sizes.
**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/Citation
If using ROCCO in your research, please cite the [original paper](https://doi.org/10.1093/bioinformatics/btad725) 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](`10.1093/bioinformatics/btad725`)
# Documentation
Documentation and example usage are available at https://nolan-h-hamilton.github.io/ROCCO/
# Installation
```
pip install rocco
```
# Demo
https://github.com/nolan-h-hamilton/ROCCO/tree/main/docs/demo/demo.ipynb
# Input
ROCCO accepts **BAM** alignments and a genome sizes file as input.
```
rocco -i sample1.bam sample2.bam sample3.bam [...] -g hg38.sizes --params hg38
```
or with a wildcard:
```
rocco -i *.bam -g hg38.sizes --params hg38
```
See `rocco --help` for more details.
# Output
A **BED** file containing peak regions and scores.
# 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:
- 'ortools': includes the first-order solver, PDLP.
- 'pytest': allows local execution of the Tests workflow.
Raw data
{
"_id": null,
"home_page": "https://github.com/nolan-h-hamilton/rocco",
"name": "rocco",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "peak-caller, atac-seq, consensus-peaks",
"author": "Nolan Holt Hamilton",
"author_email": "nolan.hamilton@unc.edu",
"download_url": "https://files.pythonhosted.org/packages/74/53/b8e2ffcd968f0f02a05ae05ac9082f6ea1459d400d4571d098a2cbc0d2fc/rocco-0.12.0.tar.gz",
"platform": null,
"description": "# ROCCO: [R]obust [O]pen [C]hromatin Detection via [C]onvex [O]ptimization\n\n<p align=\"center\">\n<img width=\"400\" alt=\"logo\" src=\"docs/logo.png\">\n\nROCCO is an optimal consensus peak calling algorithm for open chromatin data that is scalable to large sample sizes.\n\n**Features**\n\n1. **Consideration of enrichment and spatial characteristics** of open chromatin signals to capture the full extent of peaks;\n2. **Mathematically tractable model** that permits performance and efficiency guarantees.\n3. **Efficient for large numbers of samples** with an asymptotic time complexity independent of sample size;\n4. **No arbitrary thresholds** on the minimum number of supporting samples/replicates;\n5. **No required training data** or a heuristically determined set of initial candidate peak regions;\n\n\n# Paper/Citation\n\nIf using ROCCO in your research, please cite the [original paper](https://doi.org/10.1093/bioinformatics/btad725) in *Bioinformatics*\n\n\n ```\n Nolan H Hamilton, Terrence S Furey, ROCCO: a robust method for detection of open chromatin via convex optimization,\n Bioinformatics, Volume 39, Issue 12, December 2023\n ```\n\n**DOI**: [10.1093/bioinformatics/btad725](`10.1093/bioinformatics/btad725`)\n\n# Documentation\n\nDocumentation and example usage are available at https://nolan-h-hamilton.github.io/ROCCO/\n\n# Installation\n\n ```\n pip install rocco\n ```\n\n# Demo\n\nhttps://github.com/nolan-h-hamilton/ROCCO/tree/main/docs/demo/demo.ipynb\n\n# Input\nROCCO accepts **BAM** alignments and a genome sizes file as input.\n\n ```\n rocco -i sample1.bam sample2.bam sample3.bam [...] -g hg38.sizes --params hg38\n ```\n\nor with a wildcard:\n\n ```\n rocco -i *.bam -g hg38.sizes --params hg38\n ```\n\nSee `rocco --help` for more details.\n\n# Output\n\nA **BED** file containing peak regions and scores.\n\n\n# Testing ROCCO\n\n ```\n cd tests\n pytest -v -rPA -l -k \"regular\" test_rocco.py\n ```\n\n# Version History\n\nPrevious releases can be found at https://github.com/nolan-h-hamilton/ROCCO/tags\n\n\nAdditional dependencies for optional features:\n\n- 'ortools': includes the first-order solver, PDLP.\n- 'pytest': allows local execution of the Tests workflow.\n",
"bugtrack_url": null,
"license": null,
"summary": "Robust ATAC-seq Peak Calling for Many Samples via Convex Optimization",
"version": "0.12.0",
"project_urls": {
"Homepage": "https://github.com/nolan-h-hamilton/rocco"
},
"split_keywords": [
"peak-caller",
" atac-seq",
" consensus-peaks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "983e177ae5d5f97569814ba6c6c9ddfae4f7b5cd4b784a16b1ec7240efe80032",
"md5": "b352edcb085a15f763c0f74a908157c4",
"sha256": "8a553ea42db756701e4f8171f5d3dbf101770ad755d7fa3420580deb5873113b"
},
"downloads": -1,
"filename": "rocco-0.12.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b352edcb085a15f763c0f74a908157c4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17443,
"upload_time": "2024-04-20T15:03:20",
"upload_time_iso_8601": "2024-04-20T15:03:20.363163Z",
"url": "https://files.pythonhosted.org/packages/98/3e/177ae5d5f97569814ba6c6c9ddfae4f7b5cd4b784a16b1ec7240efe80032/rocco-0.12.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7453b8e2ffcd968f0f02a05ae05ac9082f6ea1459d400d4571d098a2cbc0d2fc",
"md5": "f3aeda1994723dbbd59c1fe6152c30a8",
"sha256": "d19c09a4dc48aed2a27be012d021ba3c5af14d1c4825f422f309266a63bbc963"
},
"downloads": -1,
"filename": "rocco-0.12.0.tar.gz",
"has_sig": false,
"md5_digest": "f3aeda1994723dbbd59c1fe6152c30a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 492477,
"upload_time": "2024-04-20T15:03:22",
"upload_time_iso_8601": "2024-04-20T15:03:22.225210Z",
"url": "https://files.pythonhosted.org/packages/74/53/b8e2ffcd968f0f02a05ae05ac9082f6ea1459d400d4571d098a2cbc0d2fc/rocco-0.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-20 15:03:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nolan-h-hamilton",
"github_project": "rocco",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rocco"
}