Skip to content
Epigenomicslatest-release

chipseq

nf-core/chipseq

ChIP-seq peak-calling and differential analysis pipeline.

version2.1.076e2382b6dOct 7, 2024 Upstream Usage docs

Key tools

BWABEDToolsBamToolsBowtie2ChromapdeepToolsFastQCfeatureCountsHOMERMACS3MultiQCphantompeakqualtoolspicard-toolspreseqpysamSAMtoolsSTARTrim Galore!UCSC toolsRDESeq2UpSetRggplot2reshape2scalespheatmapRColorBreweroptparse

Run it

nfclaw
nfclaw run chipseq --input samplesheet.csv --outdir results --fasta <fasta> -profile docker
raw nextflow
nextflow run pipelines/chipseq/upstream -profile docker --input samplesheet.csv --outdir results --fasta <fasta>
demo · bundled test profile
nfclaw run chipseq --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_2stringno
replicateintegerno
antibodystringnomatches ^\S+$
controlstringnomatches ^\S+$
control_replicatestringnomatches ^\S+$

--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, replicate, antibody, control, control_replicate.

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 reference_genome_options 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 chipseq --input samplesheet.csv --outdir results --fasta <fasta> -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 = '!>=23.04.0'.

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

bash
nfclaw run chipseq ... --nxf-ver 23.04.0

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

Nextflow 23.04.0 predates process.resourceLimits (24.04.0), so --limit-* cannot be combined with this pin — nfclaw refuses it rather than run without the ceiling; cap resources with the release's own --max-cpus, --max-memory, --max-time instead.

Demo

bash
nfclaw run chipseq --demo --outdir results # adds the upstream test profile (-profile test,docker)
<!-- Generated from nf-core/chipseq@76e2382b6d443db4dc2396e6831d1243256d80b0. 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_2stringoptional—
replicateintegeroptional—
antibodystringoptionalmatches ^\S+$
controlstringoptionalmatches ^\S+$
control_replicatestringoptionalmatches ^\S+$

Required parameters

--inputstring (file path)

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

Constraint · matches ^\S+\.csv$

--outdirstring (directory path)

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

--fastastring (file path)

Path to FASTA genome file.

Constraint · matches ^\S+\.fn?a(sta)?(\.gz)?$

Parameter explorer

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

53 parameters · 29 hidden

Adapter Trimming options7

Instructs Trim Galore to remove bp from the 5' end of read 1 (or single-end reads).

Instructs Trim Galore to remove bp from the 5' end of read 2 (paired-end reads only).

Save the trimmed FastQ files in the results directory.

Skip the adapter trimming step.

Instructs Trim Galore to remove bp from the 3' end of read 1 AFTER adapter/quality trimming has been performed.

Instructs Trim Galore to remove bp from the 3' end of read 2 AFTER adapter/quality trimming has been performed.

Instructs Trim Galore to apply the --nextseq=X option, to trim based on quality after removing poly-G tails.

Alignment options6

Specifies the alignment algorithm to use - available options are 'bwa', 'bowtie2' and 'star'.

Don’t output BWA MEM alignments with score lower than this parameter.

Duplicate reads are not filtered from alignments.

Reads mapping to multiple locations are not filtered from alignments.

Save the intermediate BAM files from the alignment step.

Save unaligned sequences to the output directory (only available for Bowtie 2 and STAR.

Generic options1

Custom MultiQC yaml file containing HTML including a methods description.

Input Output options7

Email address for completion summary.

Estimated fragment size used to extend single-end reads.

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.

Read length used to calculate MACS3 genome size for peak calling if --macs_gsize isn't provided.

Sequencing center information to be added to read group of BAM files.

Peak Calling options9

Specifies broad cutoff value for MACS3. Only used when --narrow_peak isnt specified.

Minimum FDR (q-value) cutoff for peak detection, --macs_fdr and --macs_pvalue are mutually exclusive.

p-value cutoff for peak detection, --macs_fdr and --macs_pvalue are mutually exclusive. If --macs_pvalue cutoff is set, q-value will not be calculated and reported as -1 in the final .xls file.

Number of biological replicates required from a given condition for a peak to contribute to a consensus peak.

Run MACS3 in narrowPeak mode.

Instruct MACS3 to create bedGraph files normalised to signal per million reads.

Skip consensus peak generation, annotation and counting.

Skip annotation of MACS3 and consensus peaks with HOMER.

Skip MACS3 peak QC plot generation.

Process Skipping options11

Use vst transformation instead of rlog with DESeq2.

Skip DESeq2 PCA and heatmap plotting.

Skip FastQC.

Skip IGV.

Skip MultiQC.

Skip Picard CollectMultipleMetrics.

Skip deepTools plotFingerprint.

Skip deepTools plotProfile.

Skip Preseq.

Skip all QC steps except for MultiQC.

Skip Phantompeakqualtools.

Reference Genome options12

Path to blacklist regions in BED format, used for filtering alignments.

Path to directory or tar.gz archive for pre-built Bowtie2 index.

Path to directory or tar.gz archive for pre-built BWA index.

Path to directory or tar.gz archive for pre-built Chromap index.

Path to FASTA genome file.

Path to BED file containing gene intervals. This will be created from the GTF file if not specified.

Name of iGenomes reference.

Path to GFF3 annotation file.

Path to GTF annotation file.

Effective genome size parameter required by MACS3.

If generated by the pipeline save the BWA index in the results directory.

Path to directory or tar.gz archive for pre-built STAR index.

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. --skip-multiqc true disables that report. 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/chipseq/blob/2.1.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.