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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scpclm-0.1.0.tar.gz | 12.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.