Skip to content

Commit 6093237

Browse files
committed
Fix all files: fix URLs, figures, pyBigWig citation
1 parent 45b8897 commit 6093237

File tree

8 files changed

+55
-32
lines changed

8 files changed

+55
-32
lines changed

.zenodo.json

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
{
2-
"title": "PyPeakRanker: Reproducible Peak-Level Feature Extraction for Regulatory Element Ranking",
2+
"title": "PyPeakRankR: Reproducible Peak-Level Feature Extraction for Regulatory Element Ranking",
33
"description": "A Python package for extracting quantitative features from genomic peaks and assembling them into a reproducible, analysis-ready feature table.",
44
"upload_type": "software",
55
"license": "MIT",
6+
"doi": "10.5281/zenodo.15238527",
67
"creators": [
78
{
89
"name": "Somasundaram, Saroja",
910
"affiliation": "Allen Institute for Brain Science",
1011
"orcid": "0000-0002-3729-9849"
12+
},
13+
{
14+
"name": "Johansen, Nelson J.",
15+
"affiliation": "Allen Institute for Brain Science",
16+
"orcid": "0000-0002-4436-969X"
1117
}
1218
],
1319
"keywords": [
14-
"genomics", "ATAC-seq", "BigWig", "regulatory elements",
15-
"peak ranking", "bioinformatics", "enhancer"
20+
"genomics",
21+
"ATAC-seq",
22+
"BigWig",
23+
"regulatory elements",
24+
"peak ranking",
25+
"bioinformatics",
26+
"enhancer"
1627
],
1728
"related_identifiers": [
1829
{
@@ -21,4 +32,4 @@
2132
"scheme": "doi"
2233
}
2334
]
24-
}
35+
}

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Contributing to PyPeakRanker
1+
# Contributing to PyPeakRankR
22

33
Thank you for your interest in contributing!
44

55
## Reporting issues
66

7-
Please use the [GitHub issue tracker](https://github.com/AllenInstitute/PyPeakRankR/issues).
7+
Please use the [GitHub issue tracker](https://github.com/AllenInstitute/PeakRankR/issues).
88
Include:
99
- A minimal reproducible example
1010
- Your Python version and OS
@@ -13,8 +13,8 @@ Include:
1313
## Development setup
1414

1515
```bash
16-
git clone https://github.com/AllenInstitute/PyPeakRankR
17-
cd PyPeakRankR
16+
git clone -b python-package https://github.com/AllenInstitute/PeakRankR
17+
cd PeakRankR
1818
pip install -e ".[dev]"
1919
```
2020

README.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# PyPeakRanker
1+
# PyPeakRankR
22

33
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
44
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
55

6-
**PyPeakRanker** is a Python package for extracting quantitative features from
6+
**PyPeakRankR** is a Python package for extracting quantitative features from
77
a predefined set of genomic peaks and assembling them into a reproducible,
88
analysis-ready feature table.
99

1010
It generates a standardized **peak × feature matrix** enabling systematic
1111
ranking and comparison of regulatory elements across cell types, conditions,
12-
or species. PyPeakRanker does **not perform peak calling** — it standardizes
12+
or species. PyPeakRankR does **not perform peak calling** — it standardizes
1313
feature extraction so that downstream prioritization can be performed
1414
reproducibly using any statistical or machine-learning approach.
1515

@@ -38,14 +38,14 @@ reproducibly using any statistical or machine-learning approach.
3838
### Install from GitHub
3939

4040
```bash
41-
pip install git+https://github.com/AllenInstitute/PyPeakRankR.git
41+
pip install git+https://github.com/AllenInstitute/PeakRankR.git@python-package
4242
```
4343

4444
### Install from source
4545

4646
```bash
47-
git clone https://github.com/AllenInstitute/PyPeakRankR
48-
cd PyPeakRankR
47+
git clone -b python-package https://github.com/AllenInstitute/PeakRankR
48+
cd PeakRankR
4949
pip install -e .
5050
```
5151

@@ -153,7 +153,7 @@ pytest tests/
153153

154154
## Design Philosophy
155155

156-
PyPeakRanker separates **feature extraction** (deterministic, standardized)
156+
PyPeakRankR separates **feature extraction** (deterministic, standardized)
157157
from **peak ranking** (user-defined, flexible). This ensures ranking logic
158158
remains transparent and adaptable to specific biological questions.
159159

@@ -162,31 +162,33 @@ remains transparent and adaptable to specific biological questions.
162162

163163
## Used in
164164

165-
PyPeakRanker was used in the following published studies:
165+
PyPeakRankR was used in the following published studies:
166166

167167
- **Johansen et al. (2025)**[Evaluating methods for the prediction of cell-type-specific enhancers in the mammalian cortex](https://doi.org/10.1016/j.xgen.2025.100879). *Cell Genomics.*
168168
PeakRankR ranked among the top 3 methods in the BICCN community challenge across 16 competing methods.
169169

170170
- **Wirthlin et al. (2026)**[A Cross-Species Enhancer-AAV Toolkit for Cell Type-Specific Targeting Across the Basal Ganglia](https://doi.org/10.64898/2026.02.23.706695). *bioRxiv.*
171-
PyPeakRanker was used in the Cross-species Enhancer Ranking Pipeline (CERP) to compute ATAC specificity, PhyloP conservation, GC content, signal moments, and composite rankings for 514 candidate enhancers across basal ganglia cell types in mouse and macaque.
171+
PyPeakRankR was used in the Cross-species Enhancer Ranking Pipeline (CERP) to compute ATAC specificity, PhyloP conservation, GC content, signal moments, and composite rankings for 514 candidate enhancers across basal ganglia cell types in mouse and macaque.
172172

173173
---
174174

175175
## Citation
176176

177-
If you use PyPeakRanker in your research, please cite:
177+
If you use PyPeakRankR in your research, please cite:
178178

179-
> Somasundaram, S. (2026). PyPeakRanker: Reproducible Peak-Level Feature
180-
> Extraction for Regulatory Element Ranking.
179+
> Somasundaram, S. and Johansen, N.J. (2026). PyPeakRankR: Reproducible Peak-Level
180+
> Feature Extraction for Regulatory Element Ranking.
181181
> *Journal of Open Source Software*.
182-
> https://github.com/AllenInstitute/PyPeakRankR
182+
> https://github.com/AllenInstitute/PeakRankR/tree/python-package
183183
184184
---
185185

186-
## Author
186+
## Authors
187187

188188
Saroja Somasundaram — Allen Institute for Brain Science
189189

190+
Nelson J. Johansen — Allen Institute for Brain Science
191+
190192
## License
191193

192194
MIT License. See [LICENSE](LICENSE).
-15.3 KB
Loading

paper/figure6_panelA.png

-609 Bytes
Loading

paper/paper.bib

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,10 @@ @article{Wirthlin2026
142142
doi = {10.64898/2026.02.23.706695},
143143
note = {Preprint}
144144
}
145+
146+
@misc{Ramirez2020pyBigWig,
147+
author = {Ram{\'{i}}rez, Fidel and Diehl, Simon},
148+
title = {{pyBigWig}: A Python extension for reading {BigWig} files},
149+
year = {2020},
150+
url = {https://github.com/deeptools/pyBigWig}
151+
}

paper/paper.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ heterogeneous input tracks — which is precisely what PyPeakRankR addresses.
7171
# State of the field
7272

7373
Several tools perform individual aspects of peak-level feature computation.
74-
`pyBigWig` [@Ramírez2016] provides low-level BigWig access but no peak-level
74+
`pyBigWig` [@Ramirez2020pyBigWig] provides low-level BigWig access but no peak-level
7575
aggregation framework. `deepTools` [@Ramírez2016] computes matrix summaries but
7676
is oriented toward visualization rather than tabular feature assembly. ArchR
7777
[@Corces2018] computes cell-type specificity scores within its own data model
@@ -149,13 +149,15 @@ accessibility across cell types. This divergence illustrates why fold-change
149149
alone is insufficient for selecting cell-type specific regulatory elements.
150150

151151
![Comparison of MACS2 fold-change ranking (left) versus PyPeakRankR
152-
specificity ranking (right) for ten ATAC-seq peaks. Peaks with the highest
153-
MACS2 fold-change are not necessarily the most cell-type specific. P1 (chr4,
154-
red border, left) ranks last by fold-change but first by specificity. P3
155-
(chr1) and P10 (chr10) rank highly by fold-change but show low specificity
156-
scores, consistent with broad activity across cell types. PyPeakRankR
157-
specificity scores are normalised to [0, 1]; rank 1 indicates the peak most
158-
exclusively active in the target
152+
specificity ranking (right) for ten MACS2 narrowPeak calls from a real
153+
ATAC-seq experiment (test.bed). Peaks with the highest MACS2 fold-change
154+
are not necessarily the most cell-type specific. P1 (chr4, green border)
155+
ranks last by fold-change (FC = 11.7) but first by specificity. P3 (chr1)
156+
and P10 (chr10) rank first and second by fold-change (FC = 17.0 and 17.4)
157+
but near the bottom by specificity, consistent with broad chromatin
158+
accessibility across cell types. Specificity scores are the ratio of target
159+
to mean background ATAC signal, min-max normalised to [0, 1]; rank 1 is
160+
the peak most exclusively active in the target
159161
group.](browser_tracks_comparison.png)
160162

161163
# Research impact statement
@@ -186,7 +188,7 @@ regions. The software is openly available and documented for community reuse.
186188

187189
PyPeakRankR is implemented in Python (>=3.9) with the following dependencies:
188190
`pandas` [@Reback2020] for tabular data handling, `numpy` [@Harris2020] for
189-
numerical computation, `pyBigWig` [@Ramírez2016] for BigWig signal extraction,
191+
numerical computation, `pyBigWig` [@Ramirez2020pyBigWig] for BigWig signal extraction,
190192
`pyfaidx` [@Shirley2015] for FASTA sequence access, and `scipy` [@Virtanen2020]
191193
for statistical distribution metrics. The package is installable via pip from
192194
GitHub, provides a `pypeakranker` CLI entry point, and includes unit tests

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ readme = "README.md"
1010
requires-python = ">=3.9"
1111
license = {file = "LICENSE"}
1212
authors = [
13-
{name = "Saroja Somasundaram", email = "sarojas@alleninstitute.org"}
13+
{name = "Saroja Somasundaram", email = "sarojas@alleninstitute.org"},
14+
{name = "Nelson J. Johansen", email = "nelsonj@alleninstitute.org"}
1415
]
1516
keywords = [
1617
"genomics", "ATAC-seq", "BigWig", "regulatory elements",

0 commit comments

Comments
 (0)