hic
nf-core/hic
Analysis of Chromosome Conformation Capture data (Hi-C)
Key tools
Run it
nfclaw run hic --input samplesheet.csv --outdir results -profile dockernextflow run pipelines/hic/upstream -profile docker --input samplesheet.csv --outdir resultsnfclaw run hic --demo --outdir results # adds the upstream test profile (-profile test,docker)Inputs
| column | type | required | allowed values | constraints |
|---|---|---|---|---|
sample | string | yes | matches ^\S+$ | |
fastq_1 | string | yes | matches ^\S+\.f(ast)?q\.gz$ | |
fastq_2 | string | no |
--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):
sample,fastq_1Any of the optional columns above may be appended to the header when your data needs them: fastq_2.
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:
nfclaw run hic --input samplesheet.csv --outdir results -profile docker \ --limit-cpus 4 --limit-memory 15.GBnfclaw 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 = '!>=22.10.1'.
To pin this release's declared minimum engine — useful when a newer Nextflow has incompatible config parsing:
nfclaw run hic ... --nxf-ver 22.10.1--nxf-ver is recorded in <outdir>/provenance/, so the replay uses the same engine. See known-issues.
Nextflow 22.10.1 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
nfclaw run hic --demo --outdir results # adds the upstream test profile (-profile test,docker)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.
sample,fastq_1| Column | Type | Required | Allowed / constraints |
|---|---|---|---|
sample | string | required | matches ^\S+$ |
fastq_1 | string | required | matches ^\S+\.f(ast)?q\.gz$ |
fastq_2 | string | optional | — |
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.
Parameter explorer
73 parameters · 12 groupsEvery 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.
49 parameters · 24 hidden
Alignments6
Option for HiC-Pro end-to-end bowtie mapping
Option for HiC-Pro trimmed reads mapping
Read number per chunks if split_fastq is used
Keep aligned reads with a minimum quality value
Save all BAM files during two-steps mapping
Split the reads into chunks before running the pipelne
Contact Maps8
Resolution to build the maps (comma separated)
Generate raw and normalized contact maps with HiC-Pro
Threshold for HiC-Pro ICE convergence
Filter high counts rows before HiC-Pro normalization
Filter low counts rows before HiC-Pro normalization
Maximum number of iteraction for HiC-Pro ICE normalization
Maximum resolution to build mcool file
Save raw contact maps
Digestion Hi C6
Full path to file specifying chromosome sizes (tab separated with chromosome name and size)`.
Name of restriction enzyme to automatically set the restriction_site and ligation_site options (hindiii, mboi, dpnii, arima)
Expected motif after DNA ligation. Several motifs (comma separated) can be provided.
Full path to restriction fragment (bed) file.
Restriction motifs used during digestion. Several motifs (comma separated) can be provided.
If generated by the pipeline save the annotation and indexes in the results directory.
Dnase Hi C2
For Hi-C protocols which are not based on enzyme digestion such as DNase Hi-C
Minimum distance between loci to consider. Useful for --dnase mode to remove spurious ligation products. Only values > 0 are considered
Downstream Analysis4
Resolution for compartments calling
Resolution to build count/distance plot
Resolution to run TADs callers (comma separated)
Define methods for TADs calling
Generic options1
Custom MultiQC yaml file containing HTML including a methods description.
Input Output options4
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 options3
Full path to directory containing Bowtie index including base name. i.e. /path/to/index/base.
Path to FASTA genome file.
Name of iGenomes reference.
Skip options7
Do not run cooler balancing normalization
Do not run compartments calling
Do not run distance/decay plot
Do not build contact maps
Do not generate mcool file for Higlass visualization
Do not generate MultiQC report
Do not run TADs calling
Valid Pairs Detection8
Keep duplicated reads
Keep multi-aligned reads
Maximum fragment size to consider. Only values > 0 are considered
Maximum restriction fragment size to consider. Only values > 0 are considered
Minimum fragment size to consider. Only values > 0 are considered
Minimum restriction fragment size to consider. Only values > 0 are considered
Save a BAM file where all reads are flagged by their interaction classes
Save all types of non valid read pairs in distinct output files
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/hic/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.