GithubHelp home page GithubHelp logo

nh3 / cellsnp-lite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from single-cell-genetics/cellsnp-lite

0.0 0.0 0.0 859 KB

Efficient genotyping bi-allelic SNPs on single cells

Home Page: https://cellsnp-lite.readthedocs.io

License: Apache License 2.0

Makefile 0.73% Shell 1.78% C 89.32% Python 3.11% M4 5.06%

cellsnp-lite's Introduction

cellsnp-lite

conda platforms license

cellsnp-lite was initially designed to pileup the expressed alleles in single-cell or bulk RNA-seq data, which can be directly used for donor deconvolution in multiplexed single-cell RNA-seq data, particularly with vireo, which assigns cells to donors and detects doublets, even without genotyping reference. Now besides RNA-seq data, cellsnp-lite could also be applied on DNA-seq and ATAC-seq data, either in bulk or single-cell.

cellsnp-lite heavily depends on htslib. This program should give very similar results as samtools/bcftools mpileup. Also, there are two major differences comparing to bcftools mpileup:

  1. cellsnp-lite can now pileup a list of positions, with directly splitting into a list of cell barcodes, e.g., for 10x genome. With bcftools, you may need to manipulate the RG tag in the bam file if you want to divide reads into cell barcode groups.
  2. cellsnp-lite uses simple filtering for outputting SNPs, i.e., total UMIs or counts and minor alleles fractions. The idea here is to keep most information of SNPs and the downstream statistical model can take the full use of it.

cellsnp-lite is the C version of cellSNP, which is implemented in Python. Compared to cellSNP, cellsnp-lite is basically more efficient with higher speed and less memory usage. Benchmarking results could be found in the preprint. Note, the old version, together with the latest version, of benchmarking scripts are now both in a new repo csp_benchmark.

News

All release notes can be found in doc/release.rst.

For computational efficiency, we initialised comments on this: doc/speed.rst

A pre-compiled candidate SNP list for human is at Candidate_SNPs.

Installation

cellsnp-lite is implemented in C. You can install it via conda or from this github repo.

Install via conda (latest stable version)

This is the recommended way to install cellsnp-lite. Lacking the potential issues of dependency, it's simple and fast if conda is available on the machine.

Step 1: add config

conda config --add channels bioconda
conda config --add channels conda-forge

Step 2: install

to your current environment:

conda install cellsnp-lite

or to a new environment:

conda create -n CSP cellsnp-lite     # you can replace 'CSP' with another env name.

Install from this Github Repo (latest stable/dev version)

We recommend installing cellsnp-lite via conda, as described above. To compile from source code, you could refer to install_from_repo.

Manual

The full manual is at https://cellsnp-lite.readthedocs.io.

Also, type cellsnp-lite -h for all arguments with the version you are using.

FAQ and releases

For troubleshooting, please have a look of FAQ.rst, and we welcome reporting any issue.

Citation

Now a preprint:

Huang, X., & Huang, Y. (2021). Cellsnp-lite: an efficient tool for genotyping single cells. bioRxiv, 2020-12.

cellsnp-lite's People

Contributors

huangyh09 avatar hxj5 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.