Running Cicero docker image crushes with nextflow, but works locally #3822
-
Bug reportExpected behavior and actual behaviorWhen I run a Cicero (https://github.com/stjude/CICERO) container in Nextflow, it results in error. However, if I run the same image locally, it does not crush. I tried using the Cicero image provided by the developers, as well as my own modified image based on their Dockerfile. If I run it locally on my computer, it returns the results with no issues. However, if I try to use it with Nextflow, it crushes with error, mentioned below. According to the error file produced by Cicero it seems like it cannot see the input BAM file, even though their script checks the required input files at the beginning with no problem. I also checked if the Nextflow process sees the files and its content before running Cicero.sh as well as the files permissions, again with no issue. Steps to reproduce the problemHere is a small example of how I tried to use it (normally the BAM and BAI would be passed from another process, but it behaves the same). In my pipeline I use multiple other tools and their images with no problems. Main.nf: params.data = "/my/path/cicero/data"
params.referenceDir = "/my/path/cicero/reference"
params.outdir = "results"
process cicero {
publishDir "$params.outdir/cicero", mode: 'copy'
input:
path data from params.data
val reference from params.referenceDir
output:
path "cicero"
"""
mkdir cicero
Cicero.sh -b ${data}/Aligned.out.bam -g "GRCh38_no_alt" -r ${reference} -o cicero
"""
} nextflow.config: process {
withName:cicero {
container = 'ghcr.io/stjude/cicero:v1.9.5'
}
}
docker {
enabled = true
} To run it, reference (https://zenodo.org/record/5088371#.ZCgDY_ZBw2w) and BAM with BAI files data.zip are needed. Program output.nextflow.log:
Cicero creates its own error and log files. 01_ExtractSClips.err:
Environment
Additional contextI also tried to run the pipeline on another server, where I cannot access the info about the environment, but the result was the same. I am not sure, where the problem could be, and if it is on my, Nextflow or Cicero side. Any advice would be awesome, thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
Can you inspect the task directory By the way, I think your |
Beta Was this translation helpful? Give feedback.
-
Hello, yes, the BAM files are there. It is possible to access them in the process script, except the Cicero.sh part. Sorry, the |
Beta Was this translation helpful? Give feedback.
Modifying their script would make the Nextflow process cleaner, but I'm guessing the script is baked into their container so you'd rather not change it. In that case, you need to inspect the script to see where it's changing to, and then create some symlinks in your process script to make your inputs visible to Cicero.
Alternatively, any scripts in the
bin
directory in your Nextflow pipeline are automatically mounted into the container and added to thePATH
. So you could create your own version ofcicero.sh
and put it there.