scrublet

Detect doublets in single-cell RNA-seq data

https://github.com/swolock/scrublet

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: biorxiv.org, sciencedirect.com
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Detect doublets in single-cell RNA-seq data

Basic Info
  • Host: GitHub
  • Owner: swolock
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 1.04 MB
Statistics
  • Stars: 155
  • Watchers: 5
  • Forks: 74
  • Open Issues: 49
  • Releases: 0
Created over 8 years ago · Last pushed over 5 years ago
Metadata Files
Readme License

README.md

Scrublet

Single-Cell Remover of Doublets

Python code for identifying doublets in single-cell RNA-seq data. For details and validation of the method, see our paper in Cell Systems or the preprint on bioRxiv.

Quick start:

For a typical workflow, including interpretation of predicted doublet scores, see the example notebook.

Given a raw (unnormalized) UMI counts matrix counts_matrix with cells as rows and genes as columns, calculate a doublet score for each cell: python import scrublet as scr scrub = scr.Scrublet(counts_matrix) doublet_scores, predicted_doublets = scrub.scrub_doublets() scr.scrub_doublets() simulates doublets from the observed data and uses a k-nearest-neighbor classifier to calculate a continuous doublet_score (between 0 and 1) for each transcriptome. The score is automatically thresholded to generate predicted_doublets, a boolean array that is True for predicted doublets and False otherwise.

Best practices:

  • When working with data from multiple samples, run Scrublet on each sample separately. Because Scrublet is designed to detect technical doublets formed by the random co-encapsulation of two cells, it may perform poorly on merged datasets where the cell type proportions are not representative of any single sample.
  • Check that the doublet score threshold is reasonable (in an ideal case, separating the two peaks of a bimodal simulated doublet score histogram, as in this example), and adjust manually if necessary.
  • Visualize the doublet predictions in a 2-D embedding (e.g., UMAP or t-SNE). Predicted doublets should mostly co-localize (possibly in multiple clusters). If they do not, you may need to adjust the doublet score threshold, or change the pre-processing parameters to better resolve the cell states present in your data.

Installation:

To install with PyPI: bash pip install scrublet

To install from source: bash git clone https://github.com/swolock/scrublet.git cd scrublet pip install -r requirements.txt pip install --upgrade .

Old versions:

Previous versions can be found here.

Other doublet detection tools:

DoubletFinder
DoubletDecon
DoubletDetection

Owner

  • Name: Sam Wolock
  • Login: swolock
  • Kind: user
  • Location: Boston, MA
  • Company: @dynotx

GitHub Events

Total
  • Issues event: 6
  • Watch event: 18
  • Issue comment event: 6
  • Fork event: 3
Last Year
  • Issues event: 6
  • Watch event: 18
  • Issue comment event: 6
  • Fork event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 38
  • Total Committers: 1
  • Avg Commits per committer: 38.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
swolock s****k@g****m 38

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 63
  • Total pull requests: 3
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 5 months
  • Total issue authors: 59
  • Total pull request authors: 2
  • Average comments per issue: 1.46
  • Average comments per pull request: 0.33
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 0
  • Average time to close issues: 19 minutes
  • Average time to close pull requests: N/A
  • Issue authors: 6
  • Pull request authors: 0
  • Average comments per issue: 0.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • liliay (2)
  • yingyonghui (2)
  • victorwang123 (2)
  • st4302 (2)
  • TheSallyGardens (1)
  • liron27 (1)
  • RoganGrant (1)
  • ulloaa (1)
  • brainfo (1)
  • archana433 (1)
  • rjg2186 (1)
  • aopisco (1)
  • AAA-3 (1)
  • tea-egg-sheldon (1)
  • yeroslaviz (1)
Pull Request Authors
  • swolock (2)
  • chris-rands (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 15,581 last-month
  • Total docker downloads: 1,324
  • Total dependent packages: 18
  • Total dependent repositories: 20
  • Total versions: 4
  • Total maintainers: 1
pypi.org: scrublet

Doublet prediction in single-cell RNA-sequencing data

  • Versions: 4
  • Dependent Packages: 18
  • Dependent Repositories: 20
  • Downloads: 15,581 Last month
  • Docker Downloads: 1,324
Rankings
Dependent packages count: 0.8%
Docker downloads count: 2.1%
Dependent repos count: 3.3%
Average: 3.7%
Downloads: 3.8%
Forks count: 5.2%
Stargazers count: 6.9%
Maintainers (1)
Last synced: 12 months ago

Dependencies

old_versions/v0.1/requirements.txt pypi
  • annoy *
  • matplotlib *
  • numpy *
  • scikit-learn *
  • scipy *
old_versions/v0.1/setup.py pypi
  • annoy *
  • matplotlib *
  • numpy *
  • scikit-learn *
  • scipy *
requirements.txt pypi
  • annoy *
  • cython *
  • matplotlib *
  • numba *
  • numpy *
  • pandas *
  • scikit-image *
  • scikit-learn *
  • scipy *
  • umap-learn *
setup.py pypi
  • annoy *
  • cython *
  • matplotlib *
  • numba *
  • numpy *
  • pandas *
  • scikit-image *
  • scikit-learn *
  • scipy *
  • umap-learn *