I keep hitting error when running this workflow on our HPC cluster:
https://github.com/NYU-Molecular-Pathology/demux-nfAll the processes run fine, but every time I run it, I get an error like this:
ERROR ~ Failed to invoke `workflow.onComplete` event handler
-- Check script 'main.nf' at line: 273 or see '.nextflow.log' file for more details
And the custom email output does not work (line in question here:
https://github.com/NYU-Molecular-Pathology/demux-nf/blob/078e3081435fed9c6f446ae838894ae1fbe5de61/main.nf#L273 )
Here is the error from the .nextflow.log file:
...
...
...
Apr-09 13:24:24.590 [Actor Thread 124] DEBUG nextflow.Session - <<< barrier arrive (process: fastqc)
Apr-09 13:24:24.594 [Actor Thread 124] DEBUG nextflow.Session - <<< barrier arrive (process: multiqc)
Apr-09 13:24:24.594 [main] DEBUG nextflow.Session - Session await > all process finished
Apr-09 13:24:24.595 [Task monitor] DEBUG n.processor.TaskPollingMonitor - <<< barrier arrives (monitor: sge)
Apr-09 13:24:24.642 [Task monitor] DEBUG n.processor.TaskPollingMonitor - <<< barrier arrives (monitor: local)
Apr-09 13:24:24.642 [main] DEBUG nextflow.Session - Session await > all barriers passed
Apr-09 13:24:25.144 [main] ERROR nextflow.script.WorkflowMetadata - Failed to invoke `workflow.onComplete` event handler
java.lang.IllegalArgumentException: Invalid attachment argument: [/ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/demux-nf/work/35/3f466a28b7174d356b70b54a2ba1cb/SampleSheet.csv, /ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/demux-nf/work/35/3f466a28b7174d356b70b54a2ba1cb/Demultiplex_Stats.htm, /ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/demux-nf/work/35/3f466a28b7174d356b70b54a2ba1cb/demultiplexing_report.html, /ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/demux-nf/work/35/3f466a28b7174d356b70b54a2ba1cb/RunParameters.tsv, /ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/demux-nf/work/35/3f466a28b7174d356b70b54a2ba1cb/RTAComplete.txt] [class java.util.ArrayList]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
at nextflow.mail.Attachment.<init>(Attachment.groovy:73)
at nextflow.mail.Attachment.<init>(Attachment.groovy:59)
at nextflow.mail.Mail$_attach_closure1.doCall(Mail.groovy:201)
at nextflow.mail.Mail$_attach_closure1.call(Mail.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3156)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3127)
at nextflow.mail.Mail.attach(Mail.groovy:201)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at _nf_script_cf885d43$_run_closure14$_closure42.doCall(_nf_script_cf885d43:273)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at nextflow.mail.Mailer.send(Mailer.groovy:493)
at nextflow.mail.Mailer$send.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at nextflow.Nextflow.sendMail(Nextflow.groovy:381)
at nextflow.Nextflow$sendMail$0.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:206)
at _nf_script_cf885d43$_run_closure14.doCall(_nf_script_cf885d43:270)
at _nf_script_cf885d43$_run_closure14.doCall(_nf_script_cf885d43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:408)
at nextflow.script.WorkflowMetadata$_invokeOnComplete_closure4.doCall(WorkflowMetadata.groovy:352)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2040)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2025)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2066)
at nextflow.script.WorkflowMetadata.invokeOnComplete(WorkflowMetadata.groovy:350)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:925)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:908)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:76)
at nextflow.script.WorkflowMetadata$_closure3.doCall(WorkflowMetadata.groovy:216)
at nextflow.script.WorkflowMetadata$_closure3.call(WorkflowMetadata.groovy)
at nextflow.Session.cleanUp(Session.groovy:578)
at nextflow.Session.destroy(Session.groovy:550)
at nextflow.script.ScriptRunner.terminate(ScriptRunner.groovy:348)
at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:167)
at nextflow.cli.CmdRun.run(CmdRun.groovy:223)
at nextflow.cli.Launcher.run(Launcher.groovy:428)
at nextflow.cli.Launcher.main(Launcher.groovy:582)
Apr-09 13:24:25.760 [main] DEBUG nextflow.trace.StatsObserver - Workflow completed > WorkflowStats[succeedCount=134; failedCount=0; ignoredCount=0; cachedCount=0; succeedDuration=1h 5m 44s; failedDuration=0ms; cachedDuration=0ms]
Apr-09 13:24:25.760 [main] DEBUG nextflow.trace.TraceFileObserver - Flow completing -- flushing trace file
Apr-09 13:24:25.767 [main] DEBUG nextflow.trace.ReportObserver - Flow completing -- rendering html report
Apr-09 13:24:27.020 [main] DEBUG nextflow.trace.ReportObserver - Execution report summary data:
...
...
...
I
am reluctant to post the entire .nextflow.log since it containers
sample ID's which might include PHI, as does the large directory of
input data produced by our NextSeq so its not really possible to provide
a working example to replicate elsewhere.
The strange part is
that the email attachment method I use here works in most every other
Nextflow pipeline that I run. But in this particular pipeline, it
constantly breaks when trying to attach files to the email.
Here is a full copy of the `
main.nf` Nextflow script:
// params.project = "180131_NB501073_0032_AHT5F3BGX3"
// params.sequencer_dir = "/ifs/data/molecpathlab/quicksilver"
// params.output_dir = "${params.basecalls_dir}/Demultiplexing"
params.run_dir = "${params.sequencer_dir}/${params.project}"
params.basecalls_dir = "${params.run_dir}/Data/Intensities/BaseCalls"
params.output_dir = "${params.production_dir}/${params.project}/output"
params.report_template_dir = "nextseq-report"
log.info "~~~~~~~ Demultiplexing Pipeline ~~~~~~~"
log.info "* Project: ${params.project}"
log.info "* Sequencer dir: ${params.sequencer_dir}"
log.info "* Run dir: ${params.run_dir}"
log.info "* Basecalls dir: ${params.basecalls_dir}"
log.info "* Output dir: ${params.output_dir} "
log.info "* Samplesheet: ${params.samplesheet}"
Channel.fromPath( params.samplesheet ).set { samplesheet_input }
Channel.from( "${params.run_dir}" ).into { run_dir; run_dir2; run_dir3; run_dir4 } // dont stage run dir for safety reasons
Channel.fromPath( params.report_template_dir ).set { report_template_dir }
process validate_run_completion {
tag { "${run_dir}" }
executor "local"
publishDir "${params.output_dir}/", mode: 'copy', overwrite: true
input:
val(run_dir) from run_dir2
output:
file("RTAComplete.txt") into run_RTAComplete_txt
file("RunCompletionStatus.xml") into run_CompletionStatus_xml
file("RunParameters.xml") into run_params_xml
script:
"""
cp ${run_dir}/RTAComplete.txt .
cp ${run_dir}/RunCompletionStatus.xml .
cp ${run_dir}/RunParameters.xml .
"""
}
process copy_samplesheet {
tag { "${samplesheet}" }
executor "local"
publishDir "${params.output_dir}/", mode: 'copy', overwrite: true
input:
file(samplesheet) from samplesheet_input
output:
file("${samplesheet}")
file("SampleSheet.csv") into samplesheet_copy
file("SampleSheet.csv") into samplesheet_copy2
script:
"""
cp "${samplesheet}" SampleSheet.csv
"""
}
process bcl2fastq {
tag { "${run_dir}" }
publishDir "${params.output_dir}/", mode: 'copy', overwrite: true
input:
set file(samplesheet), val(run_dir) from samplesheet_copy.combine(run_dir)
output:
file("Unaligned") into bcl2fastq_output
file("Unaligned/Demultiplex_Stats.htm") into demultiplex_stats_html
file("Unaligned/Demultiplex_Stats.htm") into demultiplex_stats_html2
file("Unaligned/**.fastq.gz") into fastq_output
script:
"""
nthreads="\${NSLOTS:-\${NTHREADS:-2}}"
# 20% of threads for demult as per Illumina manual
demult_threads="\$(( \$nthreads*2/10 ))"
# at least 2 threads
[ "\${demult_threads}" -lt "2" ] && demult_threads=2
echo "[bcl2fastq]: \$(which bcl2fastq) running with \${nthreads} threads and \${demult_threads} demultiplexing threads"
bcl2fastq --version
bcl2fastq \
--min-log-level WARNING \
--fastq-compression-level 8 \
--loading-threads 2 \
--demultiplexing-threads \${demult_threads:-2} \
--processing-threads \${nthreads:-2} \
--writing-threads 2 \
--sample-sheet ${samplesheet} \
--runfolder-dir ${run_dir} \
--output-dir ./Unaligned \
${params.bcl2fastq_params}
# create Demultiplex_Stats.htm
cat Unaligned/Reports/html/*/all/all/all/laneBarcode.html | grep -v "href=" > Unaligned/Demultiplex_Stats.htm
"""
}
// filter out 'Undetermined' fastq files
fastq_output.flatMap()
.map{ item ->
if (! "${item}".contains("Undetermined_")){
return item
}
}
.set{ fastq_filtered }
process fastqc {
tag { "${fastq}" }
publishDir "${params.output_dir}/fastqc", mode: 'copy', overwrite: true
input:
file(fastq) from fastq_filtered
output:
file(output_html)
file(output_zip)
val(fastq) into fastqc_fastqs
script:
output_html = "${fastq}".replaceFirst(/.fastq.gz$/, "_fastqc.html")
output_zip = "${fastq}".replaceFirst(/.fastq.gz$/, "_fastqc.zip")
"""
fastqc -o . "${fastq}"
"""
}
// currently broken on phoenix ??
process multiqc {
tag { "${output_dir}" }
publishDir "${params.output_dir}/multiqc", mode: 'copy', overwrite: true
executor "local"
input:
val(items) from bcl2fastq_output.mix(fastqc_fastqs)
.collect() // force it to wait for all steps to finish
file(output_dir) from Channel.fromPath("${params.output_dir}")
output:
file "multiqc_report.html" into multiqc_report_html
file "multiqc_data"
when:
params.multiqc_disable == false
script:
"""
echo \$PATH
echo \${PYTHONPATH:-"not set"}
echo \${PYTHONHOME:-"not set"}
module list
python --version
which python
which multiqc
multiqc --version
multiqc "${output_dir}"
"""
}
process demultiplexing_report {
tag { "${template_dir}" }
executor "local"
publishDir "${params.output_dir}/demultiplexing-report", mode: 'copy', overwrite: true
stageInMode "copy"
input:
set file(template_dir), file(demultiplex_stats) from report_template_dir.combine(demultiplex_stats_html2)
output:
file("demultiplexing_report.html") into demultiplexing_report_html
script:
"""
mv ${demultiplex_stats} "${template_dir}/"
compile_Rmd.R "${template_dir}/demultiplexing_report.Rmd"
mv "${template_dir}/demultiplexing_report.html" .
"""
}
process convert_run_params{
tag { "${run_params_xml_file}" }
publishDir "${params.output_dir}/", mode: 'copy', overwrite: true
executor "local"
input:
file(run_params_xml_file) from run_params_xml
output:
file("RunParameters.tsv") into run_params_tsv
script:
"""
RunParametersXML2tsv.py
"""
}
process collect_email_attachments {
tag { "${attachments}" }
publishDir "${params.output_dir}/email_attachments", mode: 'copy', overwrite: true
stageInMode "copy"
executor "local"
echo true
input:
file(attachments: "*") from samplesheet_copy2.concat(demultiplex_stats_html, demultiplexing_report_html, run_params_tsv, run_RTAComplete_txt ).collect()
output:
file(attachments) into email_attachments
script:
"""
echo "[collect_email_attachments] files to be attached: ${attachments}"
"""
}
// email_attachments.collectFile(name: 'email_attachments.txt', storeDir: ".", newLine: true)
// email_attachments.subscribe{println "${it}"}
// def attachments = samplesheet_copy2.concat(demultiplex_stats_html, demultiplexing_report_html, run_params_tsv, run_RTAComplete_txt ).toList().getVal()
// ~~~~~~~~~~~~~~~ PIPELINE COMPLETION EVENTS ~~~~~~~~~~~~~~~~~~~ //
def attachments = email_attachments.toList().getVal()
workflow.onComplete {
def status = "NA"
if(workflow.success) {
status = "SUCCESS"
} else {
status = "FAILED"
}
def msg = """
Pipeline execution summary
---------------------------
Success : ${workflow.success}
exit status : ${workflow.exitStatus}
Launch time : ${workflow.start.format('dd-MMM-yyyy HH:mm:ss')}
Ending time : ${workflow.complete.format('dd-MMM-yyyy HH:mm:ss')} (duration: ${workflow.duration})
Launch directory : ${workflow.launchDir}
Work directory : ${workflow.workDir.toUriString()}
Project directory : ${workflow.projectDir}
Run directory : ${params.run_dir}
Script name : ${workflow.scriptName ?: '-'}
Script ID : ${workflow.scriptId ?: '-'}
Workflow session : ${workflow.sessionId}
Workflow repo : ${workflow.repository ?: '-' }
Workflow revision : ${workflow.repository ? "$workflow.revision ($workflow.commitId)" : '-'}
Workflow profile : ${workflow.profile ?: '-'}
Workflow container: ${workflow.container ?: '-'}
container engine : ${workflow.containerEngine?:'-'}
Nextflow run name : ${workflow.runName}
Nextflow version : ${workflow.nextflow.version}, build ${workflow.nextflow.build} (${workflow.nextflow.timestamp})
The command used to launch the workflow was as follows:
${workflow.commandLine}
--
This email was sent by Nextflow
cite doi:10.1038/nbt.3820
http://nextflow.io
"""
.stripIndent()
// Total CPU-Hours : ${workflow.stats.getComputeTimeString() ?: '-'}
if(params.pipeline_email) {
sendMail {
to "${params.email_to}"
from "${params.email_from}"
attach attachments
subject "[${params.workflow_label}] ${status}: ${params.project}"
body
"""
${msg}
"""
.stripIndent()
}
}
}
here is the `nextflow.config`:
// params.output_dir = "output"
params.workflow_label = "Demultiplexing"
manifest {
author = 'Stephen Kelly'
homePage = 'https://github.com/NYU-Molecular-Pathology/demux-nf'
description = 'Illumina bcl2fastq demultiplexing pipeline'
mainScript = 'main.nf'
}
report {
enabled = true
file = "nextflow-report.html"
}
trace {
enabled = true
fields = "task_id,hash,native_id,process,tag,name,status,exit,module,container,cpus,time,disk,memory,attempt,submit,start,complete,duration,realtime,queue,%cpu,%mem,rss,vmem,peak_rss,peak_vmem,rchar,wchar,syscr,syscw,read_bytes,write_bytes"
file = "trace.txt"
raw = true
}
timeline {
enabled = true
file = "timeline-report.html"
}
username = System.getProperty("user.name")
params.email_host = "nyumc.org"
params.email_from = "${username}@${params.email_host}"
params.email_to = "${username}@${params.email_host}"
params.pipeline_email = true
notification {
enabled = true
to = "${params.email_to}"
from = "${params.email_from}"
}
params.beforeScript_str = 'printf "USER:\${USER:-none} JOB_ID:\${JOB_ID:-none} JOB_NAME:\${JOB_NAME:-none} HOSTNAME:\${HOSTNAME:-none} PWD:\$PWD\n"; TIMESTART=\$(date +%s)'
process.beforeScript = "${params.beforeScript_str}"
// locations to run the pipeline
profiles {
phoenix { // for NYULMC phoenix HPC
// process.queue = 'clinical.q' // experimental queue
process.queue = 'all.q'
params.sequencer_dir = "/ifs/data/molecpathlab/quicksilver"
params.production_dir = "/ifs/data/molecpathlab/production/Demultiplexing"
params.multiqc_makefile = new File("bin/multiqc.makefile").getCanonicalPath()
params.multiqc_requirements_txt = new File("bin/multiqc.requirements.txt").getCanonicalPath()
// params.multiqc_setup_cmd = "make -f ${params.multiqc_makefile} setup REQ_FILE=${params.multiqc_requirements_txt} ; export PS=\${PS:-''} ; export PS1=\${PS1:-''} ; export PYTHONPATH= ; source multiqc-venv/bin/activate"
params.multiqc_setup_cmd = 'module unload python'
params.multiqc_disable = true
process.$bcl2fastq.module = "bcl2fastq/2.17.1"
process.$bcl2fastq.executor = "sge"
process.$bcl2fastq.clusterOptions = "-pe threaded 4-16"
process.$multiqc.module = 'metaseq/0.5.5.4'
process.$multiqc.beforeScript = "${process.beforeScript} ; ${params.multiqc_setup_cmd}"
process.$fastqc.module = "fastqc/0.11.7"
process.$fastqc.executor = "sge"
process.$fastqc.clusterOptions = "-l mem_free=8G -l mem_token=8G"
process.$demultiplexing_report.module = "pandoc/1.13.1"
}
}
// pipeline run settings
profiles {
NGS580 {
// phoenix location for auto-samplesheet detection:
params.samplesheet = "/ifs/data/molecpathlab/quicksilver/to_be_demultiplexed/NGS580/${params.project}-SampleSheet.csv"
params.bcl2fastq_params = "--ignore-missing-bcls --ignore-missing-filter --ignore-missing-positions --ignore-missing-controls --auto-set-to-zero-barcode-mismatches --find-adapters-with-sliding-window --adapter-stringency 0.9 --mask-short-adapter-reads 35 --minimum-trimmed-read-length 35"
}
Archer {
// phoenix location for auto-samplesheet detection:
params.samplesheet = "/ifs/data/molecpathlab/quicksilver/to_be_demultiplexed/Archer/${params.project}-SampleSheet.csv"
params.bcl2fastq_params = "--no-lane-splitting"
}
}
and here is the command used to start Nextflow:
$ ./nextflow run main.nf -profile phoenix,NGS580 --project 180404_NB501073_0041_AHWJ2YAFXX --samplesheet 180404_NB501073_0041_AHWJ2YAFXX-SampleSheet.csv
N E X T F L O W ~ version 0.28.0
Launching `main.nf` [pedantic_minsky] - revision: 8e5fecb265
~~~~~~~ Demultiplexing Pipeline ~~~~~~~
* Project: 180404_NB501073_0041_AHWJ2YAFXX
* Sequencer dir: /ifs/data/molecpathlab/quicksilver
* Run dir: /ifs/data/molecpathlab/quicksilver/180404_NB501073_0041_AHWJ2YAFXX
* Basecalls dir: /ifs/data/molecpathlab/quicksilver/180404_NB501073_0041_AHWJ2YAFXX/Data/Intensities/BaseCalls
* Output dir: /ifs/data/molecpathlab/production/Demultiplexing/180404_NB501073_0041_AHWJ2YAFXX/output
* Samplesheet: 180404_NB501073_0041_AHWJ2YAFXX-SampleSheet.csv
[warm up] executor > local
[warm up] executor > sge
[d1/9637c4] Submitted process > copy_samplesheet (180404_NB501073_0041_AHWJ2YAFXX-SampleSheet.csv)
[0f/1e44f4] Submitted process > validate_run_completion (/ifs/data/molecpathlab/quicksilver/180404_NB501073_0041_AHWJ2YAFXX)
[05/a76a66] Submitted process > bcl2fastq (/ifs/data/molecpathlab/quicksilver/180404_NB501073_0041_AHWJ2YAFXX)
[75/7892e5] Submitted process > convert_run_params (RunParameters.xml)
[1d/f8c028] Submitted process > demultiplexing_report (nextseq-report)
...
...
...
ERROR ~ Failed to invoke `workflow.onComplete` event handler
-- Check script 'main.nf' at line: 273 or see '.nextflow.log' file for more details Any ideas what might be going on?