REMO v1 regulatory element modules for GRCh38
Project description
remopy
Python implementation of REMO.v1.GRCh38, the R data package from the Stuart Lab.
REMO (Regulatory Element MOdules) provides pre-defined, cell-type annotated regulatory element groupings for single-cell chromatin accessibility analysis.
Installation
# Core data package (just polars)
pip install remopy
# With fragment quantification support
pip install remopy[quantify]
Quick Start
Data Access
import polars as pl
import remopy as remo
# Load module coordinates (1.5M CRE intervals → 340k modules)
modules = remo.modules()
print(modules.head())
# Load module metadata
metadata = remo.metadata()
print(metadata.columns) # ['REMO', 'CREs', 'Bases', 'Chromosome', 'GC_mean', 'CL']
# Filter modules by cell type: terms() returns cell type name → list of REMO IDs
terms = remo.terms()
t_cell_ids = terms.get('T cell', [])
t_cell_mods = remo.modules().filter(pl.col('REMO').is_in(t_cell_ids))
# Filter by chromosome
chr1_mods = remo.modules().filter(pl.col('chrom') == 'chr1')
# Filter by metadata (e.g. high GC modules)
high_gc_ids = remo.metadata().filter(pl.col('GC_mean') > 0.5)['REMO'].to_list()
high_gc_mods = remo.modules().filter(pl.col('REMO').is_in(high_gc_ids))
# Get cell types present in a tissue
tissues = remo.tissues()
brain_cell_types = tissues.get('Brain', [])
Fragment Quantification (scATAC-seq)
Skip peak calling entirely — quantify fragments into REMO:
import polars as pl
import scanpy as sc
import remopy as remo
# Quantify all modules (requires polars-bio)
adata = remo.quantify('fragments.tsv.gz', min_fragments=1000)
# Or filter modules first — pass a filtered DataFrame to the modules= argument
t_cell_ids = remo.terms().get('T cell', [])
t_cell_mods = remo.modules().filter(pl.col('REMO').is_in(t_cell_ids))
adata = remo.quantify('fragments.tsv.gz', modules=t_cell_mods, min_fragments=1000)
# Standard scanpy workflow
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
sc.tl.pca(adata)
sc.pp.neighbors(adata)
sc.tl.umap(adata)
sc.tl.leiden(adata)
Data Contents
| Data | Description |
|---|---|
modules() |
1,507,327 CRE intervals grouped into 340,069 modules |
metadata() |
Module-level stats: CRE count, bases, GC content, cell ontology |
terms() |
Cell type name → module ID mappings (144 cell types) |
ontology() |
Cell Ontology ID → module ID mappings |
tissues() |
Tissue → cell type mappings (25 tissues) |
Why REMO?
- No peak calling needed: Use pre-defined, validated features
- Reproducible: Same features across all datasets
- Cell-type annotated: Modules linked to Cell Ontology terms
- Fast: Direct fragment → module quantification
Citation
Lim C, et al. Regulatory element modules as universal features for single-cell chromatin analysis. (2025)
License
Artistic License 2.0
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file remopy-1.1.0.tar.gz.
File metadata
- Download URL: remopy-1.1.0.tar.gz
- Upload date:
- Size: 29.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4829d3ed097c43cb30f127e39f45bd6da6a8327d0d2be6d17a136d92b7f5cd5f
|
|
| MD5 |
1f6c4a8e756be282052110cec504c0b8
|
|
| BLAKE2b-256 |
63462245302eee3512502e2e12e84ee2b460d86b2954a3fa1236eaea5fac7084
|
File details
Details for the file remopy-1.1.0-py3-none-any.whl.
File metadata
- Download URL: remopy-1.1.0-py3-none-any.whl
- Upload date:
- Size: 30.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67e37f4425a0064b5fcc4ebd7a8a7f8abce6fd19234e977eec9db1b045815334
|
|
| MD5 |
86d7c39c18a8ca6dc18f90f920a5d6b3
|
|
| BLAKE2b-256 |
7940b42052b508fd74b12972b8c19ba12603d6d259b9871d1e9d3d4e4131bdc6
|