Closed LeoPioger closed 1 year ago
Hey @Yghdrazill, First, i've never tried running nextflow using conda, not sure how the interactions between that, java, and singularity play out.
That being said, i did notice one thing that might be causing this. When you run did your run script have --fast5 ""
? can you try changing it to --fast5 "none"
? totally my fault, i updated the scripts but not the readme. Will go do that now.
Let me know if that help!
Hello @femiliani,
Thanks for your quick input. Indeed the fast5 "" was the problem. I've been able to run it (with error and no results) by modifying the fast5 "". Then I installed singularity within the same conda environment as nextflow (else it was throwing me an error). It produced the following output on the example data :
N E X T F L O W ~ version 21.10.6
Launching `/home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/Circuitseq/pipelines/CircuitSeq.nf` [small_woese] - revision: 7c7ea8d7df
Methylation calling: false
Quality control output: true
Project : /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/Circuitseq/pipelines
Git info: null - null [null]
Cmd line: nextflow run /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/Circuitseq/pipelines/CircuitSeq.nf --GPU OFF -c /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/Circuitseq/pipelines/nextflow.config -with-singularity /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/plasmidassembly.sif --samplesheet /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/example_data/example_samplesheet.tsv --use_existing_basecalls true --fast5 none --basecalling_dir /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/example_data/fastq/pass/ --base_calling_summary_file /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/example_data/fastq/sequencing_summary.txt --barcodes /plasmidseq/barcodes/v2/ --barcode_kit MY-CUSTOM-BARCODES --guppy_model dna_r9.4.1_450bps_sup.cfg --medaka_model r941_min_sup_g507 --gpu_slot 'cuda:0' --barcode_min_score 65 --quality_control_processes true -resume
Manifest's pipeline version: null
executor > local (1)
[- ] process > GuppyBaseCalling -
[- ] process > GuppyDemultiplex -
[9e/d02184] process > GuppyDemultiplexExisting [ 0%] 0 of 1
[- ] process > pycoQC -
[- ] process > AlignReadsPre -
[- ] process > Porechop -
[- ] process > AlignReadsPostLengthFilter -
[- ] process > FilterReads -
[- ] process > CanuCorrect -
[- ] process > Flye -
[- ] process > Miniasm -
[- ] process > ConvertGraph -
[- ] process > AssessAssemblyApproach -
[- ] process > MedakaConsensus -
[- ] process > LCPCorrectionFlye -
[- ] process > Rotate -
[- ] process > MedakaConsensusLCP -
[- ] process > MedakaPolish -
[- ] process > MedakaPolish2 -
[- ] process > Fast5Subset -
[- ] process > OGMethylationCalling -
[- ] process > ReferenceCopy -
[- ] process > AlignReads -
[- ] process > AlignReadsNanofilter -
[- ] process > AssessContamination -
[- ] process > ContaminationAggregation [100%] 1 of 1, cached: 1 ✔
[- ] process > PlasmidComparison -
[d8/798850] process > PlasmidComparisonCollection [100%] 1 of 1, cached: 1 ✔
[9e/d02184] NOTE: Process `GuppyDemultiplexExisting` terminated with an error exit status (127) -- Error is ignored
Completed at: 23-Jan-2023 13:27:30
Duration : 2m 21s
CPU hours : 0.2 (76.9% cached, 23.1% failed)
Succeeded : 0
Cached : 2
Ignored : 1
Failed : 1
Sadly I ran it seems into the same error as in #12 (and #17). Following your exchanges, I tried a few things but to no avail until now:
~/.conda/envs/nextflow/bin/singularity inspect /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/plasmidassembly.sif
gives:
org.label-schema.build-arch: amd64
org.label-schema.build-date: Monday_23_January_2023_12:53:8_UTC
org.label-schema.schema-version: 1.0
org.label-schema.usage.singularity.deffile.bootstrap: docker
org.label-schema.usage.singularity.deffile.from: aaronmck/plasmidassembly:1_0_2
org.label-schema.usage.singularity.version: 3.8.6
~/.conda/envs/nextflow/bin/singularity shell /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/plasmidassembly.sif
that gave the same output: binaries seem to be missing / can't be used for a reason I can't fathom:
Singularity plasmidassembly.sif:~> which guppy_barcoder
/ont/ont-guppy/bin//guppy_barcoder
Singularity> /ont/ont-guppy/bin/guppy_aligner
/ont/ont-guppy/bin/guppy_aligner: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory
Singularity> /ont/ont-guppy/bin/guppy_barcoder
/ont/ont-guppy/bin/guppy_barcoder: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory
Singularity> guppy_basecaller --help
guppy_basecaller: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory
- I'd think this might be the problem if the binaries aren't usable at all, but why?
Singularity> ls -lh /ont/ont-guppy/bin/
total 621M
-rw-r--r-- 1 jupyter-l.pioger jupyter-l.pioger 401K Jun 25 2021 'Nanopore Product Terms and Conditions (28 November 2018).pdf'
-rw-r--r-- 1 jupyter-l.pioger jupyter-l.pioger 57K Sep 27 2021 THIRD_PARTY_LICENSES
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 9.9K Sep 28 2021 autoconfigure_guppy_server.py
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 3.0M Sep 28 2021 guppy_aligner
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 14M Sep 28 2021 guppy_barcoder
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 12M Sep 28 2021 guppy_basecall_client
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 292M Sep 28 2021 guppy_basecall_server
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 298M Sep 28 2021 guppy_basecaller
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 2.4M Sep 28 2021 guppy_basecaller_supervisor
-rwxr-xr-x 1 jupyter-l.pioger jupyter-l.pioger 268K Sep 28 2021 minimap2
Singularity> /ont/ont-guppy/bin/minimap2
(gives the help).~/.conda/envs/nextflow/bin/singularity exec --nv --bind /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/example_data/fastq/pass/:/mnt /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/plasmidassembly.sif guppy_barcoder -h
that returned:
INFO: Could not find any nv files on this host!
WARNING: Could not find any nv libraries on this host!
WARNING: You may need to manually edit /home/jupyter-l.pioger/.conda/envs/nextflow/etc/singularity/nvliblist.conf
INFO: Converting SIF file to temporary sandbox...
/ont/ont-guppy/bin/guppy_barcoder: error while loading shared libraries: libcuda.so.1: cannot open shared object file: No such file or directory
INFO: Cleaning up image...
You'll find in this archive the .nextflow.log and all cached files from the .nextflow/ folder. Cirtcuitseq_debug_230123.zip
What could I provide more to help troubleshoot this issue? Sorry to bring problems and questions rather than solutions!
BTW - You might want to change not only the run.sh and example_run.sh files but also the different Readme for this "" instead of "none" ;)
Thanks, Léo
Hello @femiliani , @aaronmck : I tried yesterday evening to install on my personal computer on Windows 10 with WSL2 and Ubuntu, directly without conda. I got it running and producing exactly the same behaviour as on my work-jupyter server, even if:
You do not reproduce this error when cloning your own repo, and using ~/.conda/envs/nextflow/bin/singularity pull plasmidassembly.sif docker://aaronmck/plasmidassembly:1_0_1
?
Léo
Hi @LeoPioger
I just checked both scripts in the examples folder (from fastqs and from fast5s). Both run to completion and create the correct output. Here's the output for the fastq version:
executor > local (23)
[- ] process > GuppyBaseCalling -
[- ] process > GuppyDemultiplex -
[bf/1d05f3] process > GuppyDemultiplexExisting [100%] 1 of 1 ✔
[- ] process > pycoQC -
[36/4dc94d] process > AlignReadsPre (1) [100%] 1 of 1 ✔
[89/1afb20] process > Porechop (1) [100%] 1 of 1 ✔
[b8/60919d] process > AlignReadsPostLengthFilter (1) [100%] 1 of 1 ✔
[0e/61d46f] process > FilterReads (1) [100%] 1 of 1 ✔
[70/058efe] process > CanuCorrect (1) [100%] 1 of 1 ✔
[e4/32e767] process > Flye (1) [100%] 1 of 1 ✔
[f9/a0dbde] process > Miniasm (1) [100%] 1 of 1 ✔
[9b/02d574] process > ConvertGraph (1) [100%] 1 of 1 ✔
[e8/37b176] process > AssessAssemblyApproach (1) [100%] 1 of 1 ✔
[74/53c162] process > MedakaConsensus (1) [100%] 1 of 1 ✔
[c2/977973] process > LCPCorrectionFlye (1) [100%] 1 of 1 ✔
[20/6ae3cd] process > Rotate (1) [100%] 1 of 1 ✔
[1e/ff3461] process > MedakaConsensusLCP (1) [100%] 1 of 1 ✔
[c9/58df36] process > MedakaPolish (1) [100%] 1 of 1 ✔
[a9/522d31] process > MedakaPolish2 (1) [100%] 1 of 1 ✔
[- ] process > Fast5Subset -
[- ] process > OGMethylationCalling -
[de/9c01ba] process > ReferenceCopy (1) [100%] 1 of 1 ✔
[db/30088f] process > AlignReads (1) [100%] 1 of 1 ✔
[6c/585dbd] process > AlignReadsNanofilter (1) [100%] 1 of 1 ✔
[ba/027148] process > AssessContamination (1) [100%] 1 of 1 ✔
[f0/429bbb] process > ContaminationAggregation [100%] 1 of 1 ✔
[6b/bafca4] process > PlasmidComparison (1) [100%] 1 of 1 ✔
[2d/80535e] process > PlasmidComparisonCollection [100%] 1 of 1 ✔
Completed at: 27-Jan-2023 12:20:10
Duration : 4m 20s
CPU hours : 0.1
Succeeded : 23
This was from a fresh pull of the singularity container (singularity pull plasmidassembly.sif docker://aaronmck/plasmidassembly:1_0_1
) and a fresh download of Nextflow.
There are a bunch of clear warnings in your setup that might point to an issue. For instance:
INFO: Could not find any nv files on this host!
WARNING: Could not find any nv libraries on this host!
and in the nextflow log:
Jan-23 13:42:46.641 [Task monitor] DEBUG n.processor.TaskPollingMonitor - Task completed > TaskHandler[id: 2; name: GuppyDemultiplexExisting; status: COMPLETED; exit: 127; error: -; workDir: /home/jupyter-l.pioger/P1334_COMT_Q4_Circuitseq/work/23/>...
Both point to you not having the GPU setup or accessible on your machine. A straightforward check is that the nvidia-smi
command should dump a bunch of information about your host server's or computer's NVIDIA GPU.
Hello, a brief follow-up on the problems I had: Indeed we do not have a GPU on this Jupyter server. I managed to modify your Circuitseq.nf file to have it running on our server without GPU, after downloading the ONT versions of guppy for CPU-only (amongst other things). It took me several days, but I managed to make it running on a full 96 plate.
Thank you for your work!
Have a good day, Leo
Hello, I installed Circuitseq following your indications and can't make it run even on your example data.
It raises a java error apparently
"No signature of method: java.lang.Boolean.getFileSystem() is applicable for argument types: () values: []
"), that makes it to write to stdout as last line "Manifest's pipeline version: null". It stops. A work folder is created where the script was launched from, but contains only empty subfolders.Which java version are you using?
Nextflow is installed in its own conda environment, and uses this java version
Here is my installation script:
Enclosed are my example_run.sh, nextflow.log and Circuitseq.nf (made some slight modifications at the beginning in the pathes because of conda). Circuitseq_issue.zip
Everything is running on a jupyter server hosted on S3 architecture. IPython : 8.4.0 ipykernel : 6.15.1 ipywidgets : 7.7.1 jupyter_client : 7.3.4 jupyter_core : 4.11.1 jupyter_server : 1.18.1 jupyterlab : 3.4.5 nbclient : 0.6.6 nbconvert : 6.5.2 nbformat : 5.4.0 notebook : 6.4.12 qtconsole : not installed traitlets : 5.3.0
The stdout changes from time to time, but doesn't seem to be that reproducible:
I hope you'll be of any help, but anyway thanks for the pipeline ! Appreciate the work done :) Have a good day, Leo