I am trying processing ChIP-sequencing data using Nextflow. I am trying to skip the multiqc step as it is giving me some trouble by adding the --skip_multiqc parameter to the command line. However, the process errors out pretty quickly. I have included my command line and the error message below. I was wondering if anyone had any insights. I have tried to run this with Nextflow v23.10.0 and then again with the updated v25.10.2.
Code:
#set up cache directory
NXF_SINGULARITY_CACHEDIR=/vscratch/singularity-cache
#command line
nextflow run nf-core/chipseq --skip_multiqc --input /vscratch/nf_chipProccessing/samplesheet/samplesheet.csv --outdir /vscratch/nf_chipProccessing/results --genome GRCm38 --narrow_peak --read_length 50 -profile singularity
Error message: ERROR ~ No such variable: ch_multiqc_report
I took a quick look at the pipeline code. It looks like a bug on master that has been fixed in dev. So you can either use the dev branch or wait for the next pipeline release. You can check the chipseq repo to be sure
Thank you for the suggestion! Adding the -r dev did help me get further along. For clarification, I am now using nf-core/chipseq 2.2.0dev and Nextflow version 25.12.0-edge. However, I am now running into an issue where bedtools can’t create a temporary file. I feel like it might have something to do with how the scratch or temporary directory is set up. I have ran export NXF_SINGULARITY_CACHEDIR= vscratch/nf-Six1/nf_chipProccessing but it still can’t create the directory. I changed where the cache was going from my original code and there is plenty of storage available.
ERROR \~ Error executing process > 'NFCORE_CHIPSEQ:CHIPSEQ:BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC:BEDTOOLS_GENOMECOV (Input_DUC_REP1)'
Caused by:
Process \`NFCORE_CHIPSEQ:CHIPSEQ:BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC:BEDTOOLS_GENOMECOV (Input_DUC_REP1)\` terminated with an error exit status (2)
Command executed:
bedtools \\
genomecov \\
-ibam Input_DUC_REP1.mLb.clN.sorted.bam \\ -pc -bga -scale 0.0169010510 -bg \\ | LC_ALL=C sort --parallel=1 --buffer-size=3G -k1,1 -k2,2n \\ > Input_DUC_REP1.mLB.clN.bedGraph cat <<-END_VERSIONS > versions.yml "NFCORE_CHIPSEQ:CHIPSEQ:BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC:BEDTOOLS_GENOMECOV": bedtools: $(bedtools --version | sed -e "s/bedtools v//g") END_VERSIONS
Command exit status: 2
Command output: (empty)
Command error: sort: cannot create temporary file in '/scratch/22974174': No such file or directory
Work dir: /vscratch/nf_chipProccessing/work/c1/d295f5376638efcfdf48dae42f0f28
Container: /vscratch/nf-Six1/nf_chipProccessing/work/singularity/community.wave.seqera.io-library-bedtools_coreutils-a623c13f66d5262b.img
/scratch/22974174 looks like a HPC scratch/job_id
could be from export TMPDIR=/scratch/$SLURM_JOB_ID
My idea is to overwrite the TMPDIR definition to use the workDir defined in nextflow. Not sure if the following is going to work, but you could try adding this into your nextflow config
process {
env.TMPDIR = “${task.workDir}”
}
Also have you run this pipeline successfully before on your HPC? If you have run other nf-core pipeline successfully before, you could try to compare the nextflow.config files.
Thank you everyone for the help! I have found that if I use nextflow version 23.10.0, nf-core/chipseq v2.1.0 and update MultiQC to 1.33, I can run the pipeline straight through without any errors. I will keep in mind overwriting the TMPDIR because that might be useful if I run into issues in the future.