A python package for downloading and processing RRBS DNA methylation data.
Project description
bs-cpg
This is the main documentation homepage for bs-cpg. For comprehensive module-specific documentation, API references, and examples, see the sections below. For development guidance, see the Developer Guide.
Module Documentation
Detailed documentation for each module is available in separate notebooks:
- Setup & Configuration: Data path management and sample data access
- Data Acquisition: Downloading RRBS data from GEO
- Reference Management: Reference genomes and liftover chain files
- Coordinate Processing: Genomic liftover and CpG validation
- Examples & Tutorials: Practical examples and workflows
- Developer Guide: Contributing to bs-cpg and development workflows
Quick Start
Basic Workflow Example
Here’s a simple workflow to get started with bs-cpg:
from bs_cpg.setup import read_sample_cpg, get_base_data_path
from bs_cpg.liftover_ps import cpg_reads, cpg_percent, liftover_positions
# 1. Load sample CpG data
df = read_sample_cpg(["chromosome", "pos"])
# 2. Validate CpG sites
reads = cpg_reads(df["chromosome"], df["pos"], "hg19", index_base=1)
percent_valid = cpg_percent(reads)
print(f"Valid CpG sites: {percent_valid:.1f}%")
# 3. Perform liftover to hg38
new_chroms, new_pos = liftover_positions(
chromosomes=df["chromosome"],
positions=df["pos"],
genome_from="hg19",
genome_to="hg38",
index_base_from=1,
index_base_to=1
)
Installation & Setup
Installation
Install latest from the GitHub repository:
$ pip install git+https://github.com/magistak/bs-cpg.git
or from pypi
$ pip install bs_cpg
Note: Ensure you have htslib (specifically bgzip) installed and in
your PATH for reference genome processing.
Documentation
Documentation can be found hosted on this GitHub repository’s pages. Package releases are available on pypi.
from bs_cpg.download_processed import Geofetcher
geo = Geofetcher(just_metadata=True)
projects = geo.get_projects('GSE51239')
2
Liftover & Validation (bs_cpg.liftover_ps)
Perform genomic liftover while explicitly handling 0-based or 1-based indexing:
from bs_cpg.liftover_ps import liftover_positions
new_chroms, new_pos = liftover_positions(
chromosomes=["chr1"],
positions=[100001],
genome_from="hg19",
genome_to="hg38",
index_base_from=1
)
You can also validate CpG site integrity using cpg_percent(reads).
Project details
Release history Release notifications | RSS feed
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 bs_cpg-0.0.2.tar.gz.
File metadata
- Download URL: bs_cpg-0.0.2.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27e0fc43eb9d8f90734864ba1a885fa2608362ccf5969f992ef932ecabfcbc83
|
|
| MD5 |
116de9be8a94e700f4530bd691d0062d
|
|
| BLAKE2b-256 |
39683f9e399b2870a136654ca5b8229ddfd30b948396e59d48108f8bfd6406ae
|
File details
Details for the file bs_cpg-0.0.2-py3-none-any.whl.
File metadata
- Download URL: bs_cpg-0.0.2-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce6a51266c0238258acba0588ce84dda4bb499213e770b0482005a5063e2a0b9
|
|
| MD5 |
a0092e6d0dcc45b3269c5ddc124678d5
|
|
| BLAKE2b-256 |
2d1a4d57eb3952920e00661bb9188c5639a06799e6fc61fb61b1afbf35eb31d1
|