Skip to main content

scPCLM

scPCLM is a hybrid parametric framework for modeling gene expression dynamics along pseudotime in single-cell RNA-seq data.

It is designed to identify differentiation-associated genes by fitting biologically interpretable hill-shaped and valley-shaped trajectories, while providing robust estimation of temporal features such as turning points.


Features

  • Supports multiple count distributions:

    • Poisson
    • Negative Binomial (NB)
    • Zero-Inflated Poisson (ZIP)
    • Zero-Inflated Negative Binomial (ZINB)
  • Models asymmetric expression patterns:

    • Hill-shaped trajectories
    • Valley-shaped trajectories
  • Hybrid optimization strategy:

    • Global search via Differential Evolution
    • Local refinement via L-BFGS-B
  • Interpretable parameters:

    • Turning point (t0)
    • Activation and decay rates (k1, k2)
    • Expression magnitude (mu)
  • Uncertainty estimation:

    • Fisher information-based confidence intervals

Installation

Install from PyPI:

pip install scpclm

Or install from source:

git clone https://github.com/jesseslight9-jpg/scpclm
cd scpclm
pip install -e .

Input Data Format

Input data should be a cell-by-gene matrix where:

  • The first column is pseudotime
  • The remaining columns are gene expression values

Example:

Index Pseudotime Gene1 Gene2
1 t1 y11 y12
2 t2 y21 y22

Python API Usage

Automatic mode

from scpclm import scpclm_auto

result = scpclm_auto(
    gene_index=100,
    t=pseudotime,
    y1=expression,
    marginal="ZIP",
    iter_num=100,
    save_dir="Results/"
)

Hill-only mode

from scpclm import scpclm_hill

result = scpclm_hill(
    gene_index=100,
    t=pseudotime,
    y1=expression,
    marginal="NB"
)

Valley-only mode

from scpclm import scpclm_valley

result = scpclm_valley(
    gene_index=100,
    t=pseudotime,
    y1=expression,
    marginal="ZIP"
)

Output

The model returns:

  • Estimated parameters: mu, k1, k2, t0
  • Model selection criterion: AIC
  • Confidence intervals
  • Fitted expression values
  • Visualization plots (.png)

Command-line Usage (Optional)

python scripts/run_scPCLM.py \
    --model.iter 100 \
    --model.marginal ZIP \
    --data.dir your_data.csv \
    --model.save_dir Results/

Project Structure

scpclm/
    scpclm/      core implementation
    scripts/     command-line scripts
    examples/    demos

License

MIT License


Citation

If you use this method, please cite:

scPCLM: A hybrid parametric approach for identifying differentiation-associated genes from single-cell RNA-seq data

Metadata

Release files for scpclm 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scpclm 0.1.0
File Size Uploaded Provenance
scpclm-0.1.0.tar.gz 12.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scpclm 0.1.0
File Interpreter ABI Platform
scpclm-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / scpclm-0.1.0.tar.gz

Download URL scpclm-0.1.0.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
21c45739e5f405a137f5b8e9a859c802d6fb10a936994c82d6d45a2305917948
BLAKE2b-256 checksum
How to use checksums
4d232d69efe76f708214c737dc4793fd0b43586c7694013ad2da5dceff314c30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release files / scpclm-0.1.0-py3-none-any.whl

Download URL scpclm-0.1.0-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a4d479ebc79b0b0a1d6890a07e06409c006919f1433493101177462e138bfd4
BLAKE2b-256 checksum
How to use checksums
aa408534c6f7880b33b85f18eec48b13d6b7e940ab3a694222af698eb6547981
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Security for scpclm 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page