Skip to content

maxozo/yascp

 
 

Repository files navigation

Introduction

nf-core/yascp is a bioinformatics best-practice analysis pipeline tailored for deconvolution, quality control, clustering, and integration of single-cell datasets. Developed under the leadership of N.Soranzo and Human Genetics Informatics (HGI), this large-scale single-cell pipeline was originally crafted for the Cardinal project (profiling UKBB and ELGH participants) but is versatile enough for broader scRNA analysis applications. The foundational ideas were inspired by earlier pipelines from Anderson lab but has been expanded, specifically those for deconvolution, cellbender, and quality control and clustering. This ensures a robust integration of proven methodologies tailored to meet the demands of expansive single-cell data analysis.

Input requires a tsv seperated file (please read detailed documentation here) with paths and if running in an genotype additional input is required to be provided in an input.nf file pointing to the vcf location. This pipeline is designed to be used any large scale single cell experiments.

Pipeline summary

  1. Cellbender
  2. CellSNP
  3. Vireo
  4. Souporcell
  5. Celltypist
  6. Azimuth
  7. BBKNN
  8. Harmony
  9. Scrublet, DoubletDecon, DoubletFinder, SCDS, scDblFinder, DoubletDetection
  10. Sccaf
  11. Lisi
  12. Isolation Forest
  13. Hard filters
  14. Genotype deconvolution and GT match against multiple panels.
  15. Citeseq DSB normalisations,
  16. Cell genotype concordance Calculations

Documentation: Prepearing your own data and interpreting the results

To understand how to prepeare your own data and how to interpret the results please refear to documents HERE

Quick Start

Easyest to do is using a conda enviroment.

  1. Install Nextflow (>=21.04.0)

    conda install nextflow=21.04.0
  2. Install any of Docker, Singularity, Podman, Shifter or Charliecloud for full pipeline reproducibility (please only use Conda as a last resort; see docs)

  3. Download/clone the pipeline and test it on a minimal dataset with a single command:

    !NOTE: you need to define your institution specific queues in the conf/base.conf or provide aditional config file with -c flag in folowing comand such as: -c /path/to/yascp/conf/extra_confs/sanger/base.conf

    nextflow run /path/to/colned/yascp -profile test_full,<docker/singularity/podman/shifter/charliecloud/conda/institute>

    !ALSO: by default this test dataset will run cellbender with a cpus - only performing 10 epochs. Cellbender is built for a gpu queue, so for the actual runs the deafault is to utilise_gpu = true You need to make sure that the gpu queue according to your institution is defined in confs: withLabel: gpu {} as for sanger config file

    • Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use -profile <institute> in your command. This will enable either docker or singularity and set the appropriate execution settings for your local compute environment.
    • If you are using singularity then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the --singularity_pull_docker_container parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the nf-core download command to pre-download all of the required containers before running the pipeline and to set the NXF_SINGULARITY_CACHEDIR or singularity.cacheDir Nextflow options to be able to store and re-use the images from a central location for future pipeline runs.

Credits

Yascp was originally written by Matiss Ozols as part of the Cardinal project but is applicable to many other projects with contributions from Leland Taylor, Guillaume Noell, Hannes Ponstingl, Vivek Iyer, Henry Taylor, Tobi Alegbe, Monika Krzak, Alessandro Raveane, Carl Anderson, Anna Lorenc, Stephen Watt, Nicole Soranzo.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The Nextflow DSL2 implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from nf-core/modules in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!

Contributions and Support

We wellcome all contributions. If you would like to contribute to this pipeline, please create a fork and then create a pull request, and inform Matiss ([email protected]) re the changes made and additions added.

Citations

Currently pipeline has not been published but we would really appreciate if you could please acknowlage the use of this pipeline in your work:

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

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

We have used nf-cores template to develop this pipeline. 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.

Releases

No releases published

Packages

No packages published

Languages

  • Python 67.1%
  • Nextflow 21.1%
  • R 7.7%
  • Groovy 2.1%
  • Roff 1.0%
  • Shell 0.9%
  • HTML 0.1%