https://github.com/saketkc/pysctransform
Python package to perform normalization and variance-stabilization of single-cell data
https://github.com/saketkc/pysctransform
single-cell-rna-seq
Last synced: 5 months ago
JSON representation
Python package to perform normalization and variance-stabilization of single-cell data
- Host: GitHub
- URL: https://github.com/saketkc/pysctransform
- Owner: saketkc
- License: other
- Created: 2020-09-11T05:01:27.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-04-05T10:53:17.000Z (9 months ago)
- Last Synced: 2025-04-14T09:21:18.094Z (8 months ago)
- Topics: single-cell-rna-seq
- Language: Jupyter Notebook
- Homepage:
- Size: 4.08 MB
- Stars: 23
- Watchers: 3
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
==============
pySCTranscform
==============
SCTransform for Python - interfaces with `Scanpy `_
=============
Demo Notebook
=============
See `demo `_.
=============
Installation
=============
Using conda
-------------
We recommend using `conda `_ for installing pySCTransform.
.. code-block:: bash
conda create -n pysct louvain scanpy pysctransform
conda activate pysct
==========
Quickstart
==========
.. code-block:: python
import scanpy as sc
from pysctransform import SCTransform
pbmc3k = sc.read_h5ad("./pbmc3k.h5ad")
# Get pearson residuals for 3K highly variable genes
residuals = SCTransform(pbmc3k, var_features_n=3000)
pbmc3k.obsm["pearson_residuals"] = residuals
# Peform PCA on pearson residuals
pbmc3k.obsm["X_pca"] = sc.pp.pca(pbmc3k.obsm["pearson_residuals"])
# Clustering and visualization
sc.pp.neighbors(pbmc3k, use_rep="X_pca")
sc.tl.umap(pbmc3k, min_dist=0.3)
sc.tl.louvain(pbmc3k)
sc.pl.umap(pbmc3k, color=["louvain"], legend_loc="on data", show=True)
.. image:: https://raw.githubusercontent.com/saketkc/pySCTransform/develop/notebooks/output_images/pbmc3k_pysct.png
:target: https://github.com/saketkc/pySCTransform/blob/develop/notebooks/demo.ipynb
.. code-block:: python
# Perform variance stabilization using 'v2' regularization
from pysctransform import vst
from pysctransform.plotting import plot_residual_var
vst_out_3k = vst(umi = pbmc3k.X.T,
gene_names=pbmc3k.var_names.tolist(),
cell_names=pbmc3k.obs_names.tolist(),
method="fix-slope",
exclude_poisson=True
)
plot_residual_var(vst_out_3k)
.. image:: https://raw.githubusercontent.com/saketkc/pySCTransform/develop/notebooks/output_images/pysct_glmgp_residvar.png
:target: https://github.com/saketkc/pySCTransform/blob/develop/notebooks/demo.ipynb
=========
CITATION
=========
Choudhary, Saket, and Rahul Satija. "Comparison and evaluation of statistical error models for scRNA-seq." [Genome Biology 23.1 (2022): 27.](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-021-02584-9)
=====
Notes
=====
* ``batch_var`` is currently not supported