scdownstream

A single cell transcriptomics pipeline for QC, integration and making the data presentable

https://github.com/nf-core/scdownstream

Science Score: 57.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

clustering dimensionality-reduction integration nextflow nf-core pipeline quality-control scverse single-cell workflow
Last synced: 6 months ago · JSON representation ·

Repository

A single cell transcriptomics pipeline for QC, integration and making the data presentable

Basic Info
Statistics
  • Stars: 70
  • Watchers: 185
  • Forks: 38
  • Open Issues: 45
  • Releases: 0
Topics
clustering dimensionality-reduction integration nextflow nf-core pipeline quality-control scverse single-cell workflow
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

nf-core/scdownstream

GitHub Actions CI Status GitHub Actions Linting StatusAWS CICite with Zenodo nf-test

Nextflow nf-core template version run with conda run with docker run with singularity Launch on Seqera Platform

Get help on SlackFollow on BlueskyFollow on MastodonWatch on YouTube

Introduction

nf-core/scdownstream is a bioinformatics pipeline that can be used to process already quantified single-cell RNA-seq data. It takes a samplesheet and h5ad-, SingleCellExperiment/Seurat- or CSV files as input and performs quality control, integration, dimensionality reduction and clustering. It produces an integrated h5ad and SingleCellExperiment file and an extensive QC report.

The pipeline is based on the learnings and implementations from the following pipelines (alphabetical):

nf-core/scdownstream

Steps marked with the boat icon are not yet implemented. For the other steps, the pipeline uses the following tools:

  1. Per-sample preprocessing
    1. Convert all RDS files to h5ad format
    2. Create filtered matrix (if not provided)
    3. Present QC for raw counts (MultiQC)
    4. Remove ambient RNA
    5. Apply user-defined QC filters (can be defined per sample in the samplesheet)
    6. Doublet detection (Majority vote possible)
  2. Sample aggregation
    1. Merge into a single h5ad file
    2. Present QC for merged counts (MultiQC)
    3. Integration
  3. Cell type annotation
  4. Clustering and dimensionality reduction
    1. Leiden clustering
    2. UMAP
  5. Create report (MultiQC)

Usage

[!NOTE] If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

[!NOTE] If you are confused by the terms filtered and unfiltered, please check out the respective documentation.

First, prepare a samplesheet with your input data that looks as follows:

csv title="samplesheet.csv" sample,unfiltered sample1,/absolute/path/to/sample1.h5ad sample2,/absolute/path/to/sample3.h5 sample3,relative/path/to/sample2.rds sample4,/absolute/path/to/sample3.csv

Each entry represents a h5ad, h5, RDS or CSV file. RDS files may contain any object that can be converted to a SingleCellExperiment using the Seurat as.SingleCellExperiment function. CSV files should contain a matrix with genes as columns and cells as rows. The first column should contain cell names/barcodes.

-->

Now, you can run the pipeline using:

bash nextflow run nf-core/scdownstream \ -profile <docker/singularity/.../institute> \ --input samplesheet.csv \ --outdir <OUTDIR>

[!WARNING] Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

nf-core/scdownstream was originally written by Nico Trummer.

We thank the following people for their extensive assistance in the development of this pipeline (alphabetical):

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don't hesitate to get in touch on the Slack #scdownstream channel (you can join with this invite).

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.

Owner

  • Name: nf-core
  • Login: nf-core
  • Kind: organization
  • Email: core@nf-co.re

A community effort to collect a curated set of analysis pipelines built using Nextflow.

Citation (CITATIONS.md)

# nf-core/scdownstream: Citations

## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)

> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031.

## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/)

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## Base pipeliines

- [panpipes](https://doi.org/10.1101/2023.03.11.532085)

  > Curion F, Rich-Griffin C, Agarwal D, et al. Panpipes: a pipeline for multiomic single-cell and spatial transcriptomic data analysis. Published online December 18, 2023:2023.03.11.532085. doi:10.1101/2023.03.11.532085

- [scFlow](https://doi.org/10.1101/2021.08.16.456499)

  > Khozoie C, Fancy N, Marjaneh MM, Murphy AE, Matthews PM, Skene N. scFlow: A Scalable and Reproducible Analysis Pipeline for Single-Cell RNA Sequencing Data. Published online August 19, 2021:2021.08.16.456499. doi:10.1101/2021.08.16.456499

- [SIMBA](https://github.com/Mye-InfoBank/SIMBA)

  > Trummer, N. et al. 2024. SIMBA (Single-cell Integration Methods pipeline for Big Atlases)

- [YASCP](https://github.com/wtsi-hgi/yascp)
  > Ozols, M. et al. 2023. YASCP (Yet Another Single Cell Pipeline)

## Pipeline tools

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

  > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

- [singleR](https://pubmed.ncbi.nlm.nih.gov/30643263/)

  > Aran D, Looney AP, Liu L, Wu E, Fong V, Hsu A, et al. Reference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage. Nat Immunol. 2019;20(2):163-172. doi: 10.1038/s41590-018-0276-y. Epub 2018 Dec 17. PubMed PMID: 30531964; PubMed Central PMCID: PMC6350770.

- [Seurat](https://pubmed.ncbi.nlm.nih.gov/29608179/)

  > Butler A, Hoffman P, Smibert P, Papalexi E, Satija R. Integrating single-cell transcriptomic data across different conditions, technologies, and species. Nat Biotechnol. 2018 Apr;36(5):411-420. doi: 10.1038/nbt.4096. Epub 2018 Mar 12. PubMed PMID: 29608179; PubMed Central PMCID: PMC5965097.

- [celldex](https://pubmed.ncbi.nlm.nih.gov/30643263/)

  > Aran D, Looney AP, Liu L, Wu E, Fong V, Hsu A, Chak S, Naikawadi RP, Wolters PJ, Abate AR, Butte AJ, Bhattacharya M (2019). “Reference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage.” Nat. Immunol., 20, 163-172. doi:10.1038/s41590-018-0276-y.

- [anndataR](https://anndatar.data-intuitive.com/)

  > Cannoodt R, Zappia L, Morgan M, Deconinck L (2025). anndataR: AnnData interoperability in R. R package version 0.99.0

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

  > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

  > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

  > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

  > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

  > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

GitHub Events

Total
  • Create event: 41
  • Commit comment event: 1
  • Issues event: 83
  • Watch event: 33
  • Delete event: 44
  • Issue comment event: 119
  • Push event: 242
  • Pull request review comment event: 32
  • Pull request review event: 19
  • Pull request event: 96
  • Fork event: 27
Last Year
  • Create event: 41
  • Commit comment event: 1
  • Issues event: 83
  • Watch event: 33
  • Delete event: 44
  • Issue comment event: 119
  • Push event: 242
  • Pull request review comment event: 32
  • Pull request review event: 19
  • Pull request event: 96
  • Fork event: 27

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 38
  • Total pull requests: 46
  • Average time to close issues: 2 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 17
  • Total pull request authors: 9
  • Average comments per issue: 0.79
  • Average comments per pull request: 0.93
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 37
  • Pull requests: 46
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 12 days
  • Issue authors: 16
  • Pull request authors: 9
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.93
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nictru (50)
  • smoe (5)
  • LorenzoMerotto (3)
  • fbnrst (3)
  • paulinefx (2)
  • stevekm (2)
  • tyronechen (2)
  • KallyopeComp (2)
  • pakiessling (2)
  • KurayiChawatama (1)
  • milos7250 (1)
  • alexhermida (1)
  • ryan2han (1)
  • alexblaessle (1)
  • fhausmann (1)
Pull Request Authors
  • nictru (82)
  • nf-core-bot (10)
  • smoe (4)
  • fbnrst (3)
  • tbrittoborges (3)
  • KurayiChawatama (1)
  • fasterius (1)
  • paulinefx (1)
  • mgeaghan (1)
  • addityea (1)
  • stevekm (1)
  • LeonHafner (1)
  • nicoaira (1)
  • LN-rich (1)
  • CASTANYMIQUEL (1)
Top Labels
Issue Labels
enhancement (44) bug (30) good first issue (6) NBIS (5) overview (2)
Pull Request Labels
enhancement (5) bug (1)

Dependencies

.github/workflows/awsfulltest.yml actions
  • actions/upload-artifact v4 composite
  • seqeralabs/action-tower-launch v2 composite
.github/workflows/awstest.yml actions
  • actions/upload-artifact v4 composite
  • seqeralabs/action-tower-launch v2 composite
.github/workflows/branch.yml actions
  • mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
.github/workflows/ci.yml actions
  • actions/checkout 0ad4b8fadaa221de15dcec353f45205ec38ea70b composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/clean-up.yml actions
  • actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
.github/workflows/download_pipeline.yml actions
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • eWaterCycle/setup-singularity 931d4e31109e875b13309ae1d07c70ca8fbc8537 composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout 0ad4b8fadaa221de15dcec353f45205ec38ea70b composite
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • peter-evans/create-or-update-comment 71345be0265236311c031f5c7866368bd1eff043 composite
.github/workflows/linting.yml actions
  • actions/checkout 0ad4b8fadaa221de15dcec353f45205ec38ea70b composite
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • actions/upload-artifact 65462800fd760344b1a7b4382951275a0abb4808 composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact 09f2f74827fd3a8607589e5ad7f9398816f540fe composite
  • marocchino/sticky-pull-request-comment 331f8f5b4215f0445d3c07b4967662a32a2d3e31 composite
.github/workflows/release-announcements.yml actions
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • rzr/fediverse-action master composite
  • zentered/bluesky-post-action 80dbe0a7697de18c15ad22f4619919ceb5ccf597 composite
modules/nf-core/multiqc/meta.yml cpan
subworkflows/nf-core/utils_nextflow_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfcore_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfvalidation_plugin/meta.yml cpan
modules/local/adata/extend/environment.yml conda
  • anndata 0.10.7.*
modules/local/adata/merge/environment.yml conda
  • scanpy 1.10.1.*
modules/local/adata/readrds/environment.yml conda
  • anndata 0.10.7.*
  • anndata2ri 1.3.1.*
  • r-seurat 5.0.3.*
modules/local/adata/tords/environment.yml conda
  • anndata 0.10.7.*
  • anndata2ri 1.3.1.*
  • r-seurat 5.0.3.*
modules/local/adata/unify/environment.yml conda
  • scanpy 1.10.1.*
modules/local/adata/upsetgenes/environment.yml conda
  • scanpy 1.10.1.*
  • upsetplot 0.9.0.*
modules/local/celda/decontx/environment.yml conda
  • anndata 0.10.7.*
  • anndata2ri 1.3.1.*
  • bioconductor-celda 1.18.1.*
modules/local/scanpy/leiden/environment.yml conda
  • leidenalg 0.10.2.*
  • python-igraph 0.11.4.*
  • scanpy 1.10.1.*
modules/local/scanpy/neighbors/environment.yml conda
  • python-igraph 0.11.4.*
  • scanpy 1.10.1.*
modules/local/scanpy/plotqc/environment.yml conda
  • scanpy 1.10.1.*
modules/local/scanpy/umap/environment.yml conda
  • scanpy 1.10.1.*
modules/local/scvitools/scanvi/environment.yml conda
  • scvi-tools 1.1.2.*
modules/local/scvitools/scvi/environment.yml conda
  • scvi-tools 1.1.2.*
modules/local/scvitools/solo/environment.yml conda
  • scvi-tools 1.1.2.*
modules/nf-core/multiqc/environment.yml conda
  • multiqc 1.21.*