`[SNK INFO] ERROR PIPELINE` while doing test run
Closed this issue · 8 comments
Hello!
I am encountering some errors while performing the test run for TrEMOLO, as described in the README. I built a singularity container following the documentation and everything seemed to go smoothly.
When I execute this command:
singularity exec TrEMOLO.simg snakemake --snakefile TrEMOLO/run.snk --configfile TrEMOLO/test/tmp_config.yml
I end up with these errors:
GET SV WITH Assemblytics with alignment...
AN ERROR OCCURRED
[SNK INFO] ERROR PIPELINE; snakefile used : work_test/SNAKE_USED/Snakefile_insider.snk
snake log file : work_test/log/Snakefile_insider.log
Error file : work_test/log/Snakefile_insider.err
and later
GET INSERTION...
AN ERROR OCCURRED
[SNK INFO] ERROR PIPELINE; snakefile used : work_test/SNAKE_USED/Snakefile_outsider.snk
Check LOG : work_test/log/Snakefile_outsider.log
Check ERROR : work_test/log/Snakefile_outsider.err
/usr/bin/bash: line 169: kill: (88322) - No such process
I have attached the full log, as well as the snakemake files and .log/.err associated to them TrEMOLO_logs.tar.gz.
Please let me know if you need further info. I have built the image on a ubuntu system with sudo, and transferred the image to our HPC.
- I tried the test run both on a compute or login nodes, without success.
- I've also added
MODE_PARALLELING: True
that was missing in the test config file but with no effect on the issue. - I verified that the test data are in a disk that is mounted in singularity (
~/TrEMOLO
)
Thanks a a lot for your help!
Clément
Hello,
I would need more information, could you provide me with the other log files such as work_test/log/SV_INSIDER.err
, work_test/log/sniffles.err
.
The MODE_PARALLELING
is currently unstable, an update is in progress, I advise you to set it to False
. Thanks for specifying that it was missing from the file in the test config file.
I would also like to see the output file work_test/INSIDER/VARIANT_CALLING/pm_against_ref.sam.delta
. But to do this you will first need to modify the TrEMOLO/run.snk
file at line 303 to add the --keep-incomplete
option (useful to keep the output files during an error) like this
snakemake --keep-incomplete --snakefile ${{path_to_pipline}}/Snakefile --configfile {params.name_configfil} ...
and then restart the pipeline.
Please before sending me the log files, and restarting the pipeline, delete the work_test
folder in order to have complete information in the log files.
What version of singularity is used to build the container and run it on the compute nodes ?
Have you tried running the test on your local PC (it doesn't take much time or resources) ?
Thanks for your feedback,
Mourdas
Hello Mourdas!
Thanks for your answer, I will try that today and send you all the required files. I built the image with singularity-ce version 3.10.2-jammy
on a Ubuntu system. I execute it on our HPC (https://docs.alliancecan.ca/wiki/Technical_documentation).
I will also try on my local PC, which I didn't, thanks for the advice!
More to come,
Clém
Hi gain, I've followed your instructions and re-run the tests.
-
The main log is here: TrEMOLO.test.031323.log
-
I finally wrapped all the outputs in this archive: https://drive.google.com/file/d/1BnaWKy1k8kyg0ROanjrz1pdZQh-yIK8X/view?usp=sharing (I hope there is everything you need).
In addition, the version on Singularity on the HPC is singularity version 3.8.7-1.el7
(so older than the one I used to build). Will now try on my PC (I'll try on the ubuntu VM I run on my Mac).
UPDATE: it worked on my laptop's VM without issues (by the way, I love the html report, it's very neat!). I'm looking forward to your expertise for the failed run on HPC. I will try to match the singularity versions to see if it caused the error.
UPDATE2: I couldn't update singularity on the cluster, and a custom install would be quite complex. So I dug a little into the error logs of TrEMOLO:
- I found issues related to
libflexiblas.so.3
(realted tonumpy
) possibly missing. - Indeed, I found that python3.8 within the singularity image, would search for
numpy
in the local machine using$PYTHONPATH
as defined in my local~/.bashrc
. This is probably the case because in our HPC, singularity mounts the content of our home directory by default. - I could then fix the
numpy
dep using--contain
in the singularity command. I could importnumpy
this time (I usedsingularity shell --contain TrEMOLO.simg
to try it interactively). I then triedsingularity exec --contain TrEMOLO.simg snakemake --snakefile TrEMOLO/run.snk --configfile TrEMOLO/test/tmp_config.yml
but, the pipeline could not access theTrEMOLO
repos. It actually makes sense, since I used--contain
. - I then added
--contain -B /home/cgoubert/bin/:/home/cgoubert
/home/cgoubert/bin
is the path from where I start the image. It contains theTrEMOLO
repos./home/cgoubert
is the default~/
in the container. This is because it was also the home name on the VM I used to build the.simg
- Now, it can read
TrEMOLO/test/tmp_config.yml
but seem not able to copy the files intowork_test/
Building DAG of jobs...
MissingInputException in line 443 of /home/cgoubert/TrEMOLO/Snakefile:
Missing input files for rule SV_INSIDER:
work_test/INPUT/tmp_genome.fasta
work_test/INPUT/tmp_ref.fasta
I'm now running out of ideas, but I'll be happy to hear your thoughts!
Cheers,
Clém
You are right, I think the problem is the mounting of the home in the container. Excellent idea the --contain
option but I think it's too strict I suggest you use the --no-home
option instead example :
singularity exec -B /home/cgoubert/bin/ --no-home TrEMOLO.simg snakemake --snakefile TrEMOLO/run.snk --configfile TrEMOLO/test/tmp_config.yml
I think that should solve the problem.
don't worry about the version of singularity, I have version 3.6.0 on HPC and its working.
thanks about the "report.html" feedback it's just the beginning 😄
Cordialy,
Mourdas
After reflection this will not help you any further.
I may have an idea, I'll do some tests and get back to you, if it works
Ok, I think you got this error :
Building DAG of jobs...
MissingInputException in line 443 of /home/cgoubert/TrEMOLO/Snakefile:
Missing input files for rule SV_INSIDER:
work_test/INPUT/tmp_genome.fasta
work_test/INPUT/tmp_ref.fasta
Because when you restarted the pipeline with the --contain
option I guess the work_test folder already existed, so the INPUT files which are symbolic links were considered as existing but based on another path, I think your symbolic link work_test/INPUT/canonical_TE.fa
points to /home/cgoubert/bin/TrEMOLO/test/canonical_TE.fa
instead of /home/cgoubert/TrEMOLO/test/canonical_TE.fa
I suggest you use your command after deleting the work_test
directory.
That was it! Thanks a bunch, it passed all the tests!
Cheers,
Clément