SNPmanifold: Manifold learning for single-cell SNVs
Project description
SNPmanifold
SNPmanifold is a Python package that learns a representative manifold for single cells based on their SNPs (Single-Nucleotide Polymorphisms) using VAE (Variational AutoEncoder) and UMAP (Uniform Manifold Approximation and Projection). It takes AD matrix, DP matrix, and VCF (or variant_name.tsv) as inputs. You can compile them from bam file(s) either conveniently by cellSNP-lite or by your custom scripts.
SNPmanifold first performs simple filtering on AD matrix and DP matrix for high-quality cells and SNPs. It then trains VAE and UMAP to learn a representative manifold for single cells according to their allele frequency of different SNPs (AF = AD/DP). Finally, it classifies cells into clones and infer their phylogeny based on the manifold.
Installation
Quick install can be achieved via pip
# for published version
pip install -U SNPmanifold
# or developing version
pip install -U git+https://github.com/StatBiomed/SNPmanifold
Or set a conda environment before installing (credits to Xinyi Lin).
Replace $myenv
with the environment name you prefer.
conda create -n $myenv python=3.8
conda activate $myenv
pip install -U git+https://github.com/StatBiomed/SNPmanifold
Quick Usage
Full documentation is at https://SNPmanifold.readthedocs.io.
Here is a quick start:
- Import SNPmanifold and create an object of the class SNP_VAE.
from SNPmanifold import SNP_VAE
- Run 4 methods (filtering, training, clustering, phylogeny) in order.
Each method can rerun sperately without reruning prior methods.
-
The demo page and notebook SNPmanifold_demo.ipynb show a demo for quick usage of SNPmanifold on MKN45 cancer cell line using mitochondrial SNPs.
-
See how to use it via the API page.
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
File details
Details for the file snpmanifold-0.0.6.tar.gz
.
File metadata
- Download URL: snpmanifold-0.0.6.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71e60825e5ad89fc3e76b45daaabc4848f4083859c2e2e301c9ebfdb09837d65 |
|
MD5 | cdc41d482f0ac5b878083a66949cd75e |
|
BLAKE2b-256 | 5691d27f20fa6fedc0ca0c20d069cb701ec71f59a6add10fbc18a695a54e01a8 |