scintegrator

HIPC pipeline for single-cell RNAseq data integration with scanpy

https://github.com/immunespace/scintegrator

Science Score: 44.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
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

HIPC pipeline for single-cell RNAseq data integration with scanpy

Basic Info
  • Host: GitHub
  • Owner: immunespace
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 26 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

GitHub Actions CI Status Nextflow run with docker run with singularity

Introduction

immunespace/scintegrator is a bioinformatics pipeline to analyze single-cell RNA-seq (scRNA-seq) data using the Scanpy toolkit. It automates key steps of scRNA-seq analysis, such as data preprocessing, integration, clustering, annotation and visualization, enabling efficient and reproducible workflows.

Pipeline summary

Each of these steps in scintegration pipeline is customizable, allowing researchers to adjust parameters based on the specific characteristics of their dataset and research questions.

  • Scanpy_QC - Detail the preprocessing steps implemented in Scanpy, including doublet removal, rigorous Quality Control (QC), and the generation of comprehensive plot reports.

    • Cell Filtering: Remove cells that do not meet certain quality metrics, such as a minimum number of genes expressed or an excessive percentage of mitochondrial gene expression.
    • Gene Filtering: Exclude genes that are not detected in a sufficient number of cells, which helps in focusing the analysis on biologically relevant data.
    • Doublet Detection: Use Scrublet to identify and remove potential doublets from the data, ensuring that each cell analyzed represents a single biological cell.
    • Data Summarization: Generate plots of quality metrics to visually assess the quality of the data and the effectiveness of preprocessing steps.
  • Scanpy_Clustering - Scanpy clustering workflow, including data normalization, log transformation, removal of TR and IG genes, identification of highly variable genes, PCA analysis, cell clustering, data integrtion and cell type annotation.

    • Removal of TR and IG Genes: Exclude T-cell receptor (TR) and immunoglobulin (IG) genes which can skew analysis due to their high variability and cell-type specific expression.
    • Data Normalization: Normalize data to make the gene expression profiles more comparable across cells.
    • Log Transformation: Apply log transformation to normalize the distribution of gene expression data.
    • Highly Variable Genes (HVGs) Identification: Select genes with high variability across cells which are informative for clustering.
    • Principal Component Analysis (PCA): Reduce dimensionality of the dataset to capture the most significant gene expression changes.
    • Clustering: Group cells based on similarities in their gene expression profiles using algorithms like Leiden or Louvain.
    • Data Integration: Integrate data from different batches or experiments to correct for variations not related to biological differences using Harmony.
    • Annotation: Annotate identified clusters to known cell types based on marker gene expression.

Quickstart

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

First, prepare a samplesheet in CSV format with your single-cell expression data in h5 format. The file should look like this:

samplesheet.csv:

csv sample_id,path,study_id sample1,sample1.h5,test sample2,sample2.h5,test

  • sample: Sample identifiers.
  • path: path to h5 file of scRNA-seq data.
  • study_id: Cumstom study name.

Now, you can run the pipeline using:

bash nextflow run immunespace/scintegrator \ -profile docker \ --input samplesheet.csv \ --outdir <OUTDIR>

For further usage details, please refer to the Usage documentation. To understand the pipeline outputs, please refer to the Output documentation. A full list of the pipeline parameters is available in the next section.

Parameters

[!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.

Scanpy_QC - --scanpyspecies [string] Species of the data. [default: human] - --scanpymingenes [integer] Minimum number of genes expressed required for a cell to pass filtering. [default: 300] - --scanpymincells [integer] Minimum number of cells expressed required for a gene to pass filtering. [default: 5] - --scanpypctmt [integer] Maximun percentage of counts in mitochondrial genes required for a cell to pass filtering. [default: 20] - --scanpytotalcounts [integer] Minimum number of the total counts required for a cell to pass filtering. [default: 200] - --qcnb [string] Path to the qc notebook. [default: assets/pipeline_QC.ipynb]

Scanpy_clustering - --expecteddoubletrate [number] The estimated doublet rate for the data. [default: 0.06] - --ensembligtrgenes [string] Immunogloblin (IG) and T cell receptor (TR) genes list. [default: assets/triggenesensemblv111human.csv] - --ensemblspecies [string] Species of the data. [default: human] - --clusteringnneighbors [integer] Size of local neighborhood used for manifold approximation. [default: 10] - --clusteringnpcs [integer] Number of PCs. [default: 40] - --clusteringresolution [number] The resolution of the clustering. [default: 0.5] - --hvgminmean [number] Cutoff for the min means. [default: 0.0125] - --hvgmaxmean [integer] Cutoff for the max means. [default: 3] - --hvgmindisp [number] Cutoff for the normalized dispersions. [default: 0.5] - --clusternb [string] Path to the clustering notebook. [default: assets/pipelinecluster.ipynb]

Input/output options - --input [string] Path to comma-separated file containing information about the samples in the experiment. - --outdir [string] The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure. - --email [string] Email address for completion summary. - --multiqc_title [string] MultiQC report title. Printed as page header, used for filename if not otherwise specified.

Generic options - --multiqcmethodsdescription [string] Custom MultiQC yaml file containing HTML including a methods description.

Credits

immunespace/scintegrator was originally written by Jian Xing, Gisela Gabernet.

Contributions and Support

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

Citations

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

This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.

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: ImmuneSpace
  • Login: immunespace
  • Kind: organization
  • Location: United States of America

Citation (CITATIONS.md)

# immunespace/scintegrator: 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.

## Pipeline tools

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)

  > Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].

- [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.

## 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
  • Release event: 1
  • Push event: 34
  • Pull request review event: 3
  • Pull request event: 2
  • Create event: 1
Last Year
  • Release event: 1
  • Push event: 34
  • Pull request review event: 3
  • Pull request event: 2
  • Create event: 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • JianXing2 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/branch.yml actions
  • mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
.github/workflows/ci.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/clean-up.yml actions
  • actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
.github/workflows/download_pipeline.yml actions
  • actions/setup-python 0a5c61591373683505ea898e09a3ea4f39ef2b9c composite
  • eWaterCycle/setup-singularity 931d4e31109e875b13309ae1d07c70ca8fbc8537 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • actions/setup-python 0a5c61591373683505ea898e09a3ea4f39ef2b9c composite
  • peter-evans/create-or-update-comment 71345be0265236311c031f5c7866368bd1eff043 composite
.github/workflows/linting.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • actions/setup-python 0a5c61591373683505ea898e09a3ea4f39ef2b9c composite
  • actions/upload-artifact 5d5d22a31266ced268874388b861e4b58bb5c2f3 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact f6b0bace624032e30a85a8fd9c1a7f8f611f5737 composite
  • marocchino/sticky-pull-request-comment 331f8f5b4215f0445d3c07b4967662a32a2d3e31 composite
.github/workflows/release-announcements.yml actions
  • actions/setup-python 0a5c61591373683505ea898e09a3ea4f39ef2b9c composite
  • rzr/fediverse-action master composite
  • zentered/bluesky-post-action 80dbe0a7697de18c15ad22f4619919ceb5ccf597 composite
modules/nf-core/fastqc/meta.yml cpan
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
pyproject.toml pypi
modules/local/scanpy_qc/Dockerfile docker
  • continuumio/miniconda3 24.3.0-0 build
modules/nf-core/fastqc/environment.yml conda
  • fastqc 0.12.1.*
modules/nf-core/multiqc/environment.yml conda
  • multiqc 1.21.*
modules/local/scanpy_qc/environment.yml pypi
  • celldex *
  • datacache *
  • harmonypy *
  • pdf2image *
  • scimap *
  • singler ==0.3.0