nf-core-crispriscreen

Process next generation sequencing data obtained from CRISPRi repression library screenings

https://github.com/mpusp/nf-core-crispriscreen

Science Score: 52.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 8 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization mpusp has institutional domain (www.mpusp.mpg.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Process next generation sequencing data obtained from CRISPRi repression library screenings

Basic Info
  • Host: GitHub
  • Owner: MPUSP
  • License: mit
  • Language: Nextflow
  • Default Branch: master
  • Size: 27.5 MB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • Open Issues: 4
  • Releases: 2
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

nf-core/crispriscreen nf-core/crispriscreen

GitHub Actions CI Status GitHub Actions Linting Status Nextflow run with conda run with docker run with singularity Launch on Nextflow Tower

Get help on SlackFollow on TwitterWatch on YouTube

Introduction

nf-core/crispriscreen is a bioinformatics best-practice analysis pipeline to process next generation sequencing data obtained from CRISPRi repression library screenings.

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!

Pipeline summary

  1. Sub-sampling of reads (Seqtk/sample, optional)
  2. Read QC (FastQC)
  3. Generic adapter and quality trimming (Trim Galore!)
  4. Specific primer sequence trimming (cutadapt)
  5. Preparation of *.fasta library (custom R script)
  6. Alignment using (Bowtie2)
    1. Build index from *.fasta library
    2. Align reads to library
    3. Optional filtering by mapping quality
  7. Count reads per target and input file (subread/featurecounts)
  8. Quantify gene fitness score from multiple targets per gene
    1. Option 1: Gene fitness is calculated using Mageck MLE
    2. Option 2: Gene fitness is calculated using DESeq2
  9. Generate HTML report with fitness results (R markdown)
  10. Present QC for raw and mapped reads (MultiQC)

Quick Start

  1. Install Nextflow (>=23.04.0). It is recommended to use conda (or mamba / micromamba) to install all dependencies in a fresh environment.

console conda create --name env_nf conda activate env_nf conda install -c conda-forge nextflow

  1. Install any of Docker, Singularity (you can follow this tutorial), Podman, Shifter or Charliecloud for full pipeline reproducibility (you can use Conda both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see docs).

console conda install -c conda-forge singularity

  1. Download the pipeline.

console cd <your/target/dir> git clone https://github.com/MPUSP/nf-core-crispriscreen

  1. Configure your computational resources. The pipeline comes with a set of basic resource definitions stored in conf/base.config. Maximum resources in terms of memory, CPU cores, and time can be defined for each process flag separately, for example:

console withLabel:process_low { cpus = { 2 * task.attempt } memory = { 12.GB * task.attempt } time = { 4.h * task.attempt } }

In order to use custom resource configurations, create a new file custom.config and execute the pipeline with the -c flag.

console nextflow run <path/to/nf-core-crispriscreen> -c custom.config <all/other/options>

  1. Test it on the minimal dataset included with this repository. Since nf-core-crispriscreen is not a canonical nf-core pipeline (yet), it is necessary to indicate the path to the pipeline folder after the run statement.

This is the generalized command to run the pipeline:

console nextflow run <path/to/nf-core-crispriscreen> -profile <docker/singularity/podman/shifter/charliecloud/conda/institute> --input <sample_sheet> --fasta <fasta_file> --outdir <path/to/output>

This will run the pipeline on the enclosed test data using Singularity (recommended):

console cd path/to/nf-core-crispriscreen nextflow run ./ -profile test,singularity --outdir ./results

  • The pipeline comes with config profiles called docker, singularity, podman, shifter, charliecloud and conda which instruct the pipeline to use the named tool for software management. For example, -profile test,docker.
  • 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, please use the nf-core download command to download images first, before running the pipeline. Setting the NXF_SINGULARITY_CACHEDIR or singularity.cacheDir Nextflow options enables you to store and re-use the images from a central location for future pipeline runs.
  • If you are using conda, it is highly recommended to use the NXF_CONDA_CACHEDIR or conda.cacheDir settings to store the environments in a central location for future pipeline runs.

Documentation

The nf-core/crispriscreen pipeline comes with documentation about the pipeline usage and output.

Credits

The following people contributed to the nf-core/crispriscreen pipeline:

  • Dr. Michael Jahn, MPUSP Berlin (ORCID) - main author and maintainer
  • Dr. Ute Hoffmann, Science for Life Lab, Stockholm - contributor

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 #crispriscreen channel (you can join with this invite).

Citations

The following scientific articles are related to this pipeline.

The new version of CRISPRi libary for which this Nextflow pipeline was developed:

Rui Miao, Michael Jahn, Kiyan Shabestary, Elton Paul Hudson. CRISPR interference screens reveal tradeoffs between growth rate and robustness in Synechocystis sp. PCC 6803 across trophic conditions bioRxiv 2023.02.13.528328. https://doi.org/10.1101/2023.02.13.528328

The original publication of the CRISPRi library for which a precursor of this pipeline was developed:

Lun Yao, Kiyan Shabestary, Sarah Björk, Johannes Asplund-Samuelsson, Hakan Joensson, Michael Jahn & Elton Paul Hudson. Pooled CRISPRi screening of the cyanobacterium Synechocystis sp PCC 6803 for enhanced industrial phenotypes. Nature Communications, 11 (1666), 1–13. 2020. https://doi.org/10.1101/823534

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: Max Planck Unit for the Science of Pathogens
  • Login: MPUSP
  • Kind: organization
  • Location: Berlin, Germany

Citation (CITATIONS.md)

# nf-core/crispriscreen: 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
  • Create event: 1
  • Release event: 1
  • Issues event: 5
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 9
  • Pull request event: 4
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 5
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 9
  • Pull request event: 4

Dependencies

.github/workflows/awsfulltest.yml actions
  • actions/upload-artifact v3 composite
  • nf-core/tower-action v3 composite
.github/workflows/awstest.yml actions
  • actions/upload-artifact v3 composite
  • nf-core/tower-action v3 composite
.github/workflows/branch.yml actions
  • mshick/add-pr-comment v1 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v2 composite
.github/workflows/linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mshick/add-pr-comment v1 composite
  • nf-core/setup-nextflow v1 composite
  • psf/black stable composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact v2 composite
  • marocchino/sticky-pull-request-comment v2 composite
modules/nf-core/bowtie2/align/meta.yml cpan
modules/nf-core/bowtie2/build/meta.yml cpan
modules/nf-core/custom/dumpsoftwareversions/meta.yml cpan
modules/nf-core/cutadapt/meta.yml cpan
modules/nf-core/fastqc/meta.yml cpan
modules/nf-core/mageck/mle/meta.yml cpan
modules/nf-core/multiqc/meta.yml cpan
modules/nf-core/rmarkdownnotebook/meta.yml cpan
modules/nf-core/seqtk/sample/meta.yml cpan
modules/nf-core/subread/featurecounts/meta.yml cpan
modules/nf-core/trimgalore/meta.yml cpan
pyproject.toml pypi
.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/release-announcements.yml actions
  • actions/setup-python 0a5c61591373683505ea898e09a3ea4f39ef2b9c composite
  • rzr/fediverse-action master composite
  • zentered/bluesky-post-action 80dbe0a7697de18c15ad22f4619919ceb5ccf597 composite
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/fitness/environment.yml pypi
modules/local/preparation/environment.yml pypi
modules/nf-core/bowtie2/align/environment.yml pypi
modules/nf-core/bowtie2/build/environment.yml pypi
modules/nf-core/custom/dumpsoftwareversions/environment.yml pypi
modules/nf-core/cutadapt/environment.yml pypi
modules/nf-core/fastqc/environment.yml pypi
modules/nf-core/mageck/mle/environment.yml pypi
modules/nf-core/multiqc/environment.yml pypi
modules/nf-core/rmarkdownnotebook/environment.yml pypi
modules/nf-core/seqtk/sample/environment.yml pypi
modules/nf-core/subread/featurecounts/environment.yml pypi
modules/nf-core/trimgalore/environment.yml pypi