Skip to content
Genomes & evolutionlatest-release

crisprseq

nf-core/crisprseq

Pipeline for the analysis of CRISPR data

version2.3.00e9f915c4aNov 8, 2024 Upstream Usage docs

Key tools

FastQCMultiQCPearSeqtkBowtie2BWAMinimap2CutadaptSamtoolsMAGeCKFlute

Run it

nfclaw
nfclaw run crisprseq --input samplesheet.csv --outdir results --analysis <analysis> -profile docker
raw nextflow
nextflow run pipelines/crisprseq/upstream -profile docker --input samplesheet.csv --outdir results --analysis <analysis>
demo · bundled test profile
nfclaw run crisprseq --demo --outdir results # adds the upstream test profile (-profile test,docker)

Inputs

columntyperequiredallowed valuesconstraints
samplestringyesmatches ^\S+$
fastq_1string (file path)yesmatches ^\S+\.f(ast)?q\.gz$
fastq_2string (file path)nomatches ^\S+\.f(ast)?q\.gz$
conditionstringnomatches ^\S+$
referencestringnomatches ^[ACTGNactgn]+$
protospacerstringnomatches ^[ACTGNactgn]+$
templatestringnomatches ^[ACTGNactgn]+$

--input must match ^\S+\.csv$.

The samplesheet is a CSV with this header (the columns the schema requires); fill each value per the table above and reference.md (no example value is invented here):

csv
sample,fastq_1

Any of the optional columns above may be appended to the header when your data needs them: fastq_2, condition, reference, protospacer, template.

From data files. --input may also be the data files — a directory (searched recursively), a quoted glob, or files (--input once per file) — from which nfclaw writes this samplesheet: sample from file names; fastq_1/fastq_2 from FastQ files (mates paired by _R1/_R2, or by _1/_2 when their read names show they are mates). Set other columns with --sheet-set COLUMN=VALUE. Preview it with --check; a run records it in <outdir>/provenance/ for replay.

Reference genome

No reference genome is set by default: supply your own reference. The schema declares AWS iGenomes at s3://ngi-igenomes/igenomes/; selecting --genome <id> uses the paths in the pipeline's reference configuration. Access to that remote source is required. To supply your own reference, use e.g. --fasta; the screening_parameters group in reference.md lists every reference option. Set --igenomes-ignore true to disable the lookup entirely. Confirm the selected reference's paths and source in the pinned upstream/nextflow.config and upstream/conf/ before running.

Resources

Resource requests follow the pipeline's configs and selected profiles. nf-core's resource labels often assume a server — a single step can request far more memory than a workstation has, and retry rules can increase requests. If a run fails with Process requirement exceeds available memory (or CPUs), cap every request, and every retry, at what this machine actually has:

bash
nfclaw run crisprseq --input samplesheet.csv --outdir results --analysis <analysis> -profile docker \
--limit-cpus 4 --limit-memory 15.GB

nfclaw turns those into Nextflow's process.resourceLimits and passes them as a -c config — the mechanism nf-core prescribes for exactly this (docs). Set them to the machine's real capacity. --limit-time DURATION also caps how long any one task may run: a task that needs longer is stopped, and so is every retry, so set it only as a deliberate ceiling, never as a guess at how long the analysis takes. The generated config is kept in <outdir>/provenance/, so commands.sh replays the run under the same ceiling.

Nextflow engine

This release declares nextflowVersion = '!>=24.04.2'.

To pin this release's declared minimum engine — useful when a newer Nextflow has incompatible config parsing:

bash
nfclaw run crisprseq ... --nxf-ver 24.04.2

--nxf-ver is recorded in <outdir>/provenance/, so the replay uses the same engine. See known-issues.

Demo

bash
nfclaw run crisprseq --demo --outdir results # adds the upstream test profile (-profile test,docker)
<!-- Generated from nf-core/crisprseq@0e9f915c4a3c89d02a66ec58e2decbc832323c8b. Do not edit by hand. -->

Samplesheet

A CSV with this header (the columns the schema requires). Fill each value per the constraints below; optional columns from the table may be appended.

samplesheet.csv header
sample,fastq_1
ColumnTypeRequiredAllowed / constraints
samplestringrequiredmatches ^\S+$
fastq_1string (file path)requiredmatches ^\S+\.f(ast)?q\.gz$
fastq_2string (file path)optionalmatches ^\S+\.f(ast)?q\.gz$
conditionstringoptionalmatches ^\S+$
referencestringoptionalmatches ^[ACTGNactgn]+$
protospacerstringoptionalmatches ^[ACTGNactgn]+$
templatestringoptionalmatches ^[ACTGNactgn]+$

Required parameters

--outdirstring (directory path)

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

--analysisstring

Type of analysis to perform. Targeted for targeted CRISPR experiments and screening for CRISPR screening experiments.

screeningtargeted

Parameter explorer

58 parameters · 9 groups

Every parameter from the pinned nextflow_schema.json. nfclaw checks explicit values before launch; complex rules use the pinned pipeline's runtime validation. Search, filter by group, and expand any parameter for its default, allowed values and constraints.

39 parameters · 19 hidden

Generic options1

Custom MultiQC yaml file containing HTML including a methods description.

Input Output options5

Type of analysis to perform. Targeted for targeted CRISPR experiments and screening for CRISPR screening experiments.

Email address for completion summary.

Path to comma-separated file containing information about the samples in the experiment.

MultiQC report title. Printed as page header, used for filename if not otherwise specified.

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

Reference Genome options2

Name of iGenomes reference.

Path to the reference FASTA file. Will override reference sequences provided by an input sample sheet.

Screening Parameters21

Parameter indicating if BAGEL2 should be run

Core essential gene set for BAGEL2

Non essential gene set for BAGEL2

Comma-separated file with the conditions to be compared. The first one will be the reference (control)

Please provide your count table if the mageck test should be skipped.

sgRNA library annotation for crisprcleanR

Specify the label for control sample (usually day 0 or plasmid). For every other sample label, the module will treat it as a treatment condition and compare with control sample for MAGeCK MLE

Parameter indicating if DrugZ should be run

Essential genes to remove from the drugZ modules

Library in fasta file format in case you want to map with bowtie2 and then MAGeCK count

Sequencing adapter sequence to use for trimming on the 5' end

Number of iterations the hit selection module should provide

Specify to run the Hitselection algorithm

sgRNA and targetting genes, tab separated

a filter threshold value for sgRNAs, based on their average counts in the control sample

Minimal number of different genes targeted by sgRNAs in a biased segment in order for the corresponding counts to be corrected for CRISPRcleanR

Parameter indicating if MAGeCK MLE should be run

control-sgrna file for MAGeCK MLE

Design matrix used for MAGeCK MLE to call essential genes under multiple conditions while considering sgRNA knockout efficiency

Parameter indicating if MAGeCK RRA should be run instead of MAGeCK MLE.

Sequencing adapter sequence to use for trimming on the 3' end

Targeted Parameters2

Aligner program to use.

Provide the same protospacer sequence for all samples. Will override protospacer sequences provided by an input samplesheet.

Targeted Pipeline Steps3

Trim overrepresented sequences from reads (cutadapt)

Skip the classification of samples by clonality.

If the sample contains umi-molecular identifyers (UMIs), run the UMI extraction, clustering and consensus steps.

Umi Parameters2

Medaka model (-m) to use according to the basecaller used.

Minimum size of a UMI cluster.

Vsearch Parameters3

Vsearch pairwise identity threshold.

Vsearch maximum sequence length.

Vsearch minimum sequence length.

Outputs

Results land in --outdir; the files and directory layout depend on the selected workflow, parameters and publication settings. Run metadata is normally placed in <outdir>/pipeline_info/ (execution report, software versions), when those outputs are enabled. The pinned tree includes MultiQC support; a report is produced only when its workflow step runs. nfclaw run also writes <outdir>/provenance/ with the exact params file and the run log, <outdir>/provenance/logs/run.log — the whole launch, whose last line states the outcome (Nextflow's own log is <outdir>/.nextflow.log); unless --no-provenance it adds a run manifest (pinned version, commit and exact command), input/output SHA-256 checksums, and a replayable commands.sh. The exact output files and directory layout for this release are documented upstream: github.com/nf-core/crisprseq/blob/2.3.0/docs/output.md Check a run — in the foreground or the background — with nfclaw status <outdir>: success, still running, how it ended (with the error), or stopped without an outcome; exit 0 success, 3 running, 1 otherwise.