GenomeSTRiP CNVDiscovery error
hi I have been trying to run CNVDiscovery but I keep on getting the following error, I have no problem with running discovery, preprocess, and genotyping scripts.
here is the error message that I get:
java.lang.UnsatisfiedLinkError: Unable to load library 'drmaa': libslurmdb.so.33: cannot open shared object file: No such file or directory
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:199)
at com.sun.jna.Native.register(Native.java:1018)
at org.broadinstitute.gatk.utils.jna.drmaa.v1_0.LibDrmaa.<clinit>(LibDrmaa.java:35)
at org.broadinstitute.gatk.utils.jna.drmaa.v1_0.JnaSession.init(JnaSession.java:54)
at org.broadinstitute.gatk.queue.engine.drmaa.DrmaaJobManager.init(DrmaaJobManager.scala:44) at org.broadinstitute.gatk.queue.engine.QGraph$$anonfun$runJobs$1.apply(QGraph.scala:468)
at org.broadinstitute.gatk.queue.engine.QGraph$$anonfun$runJobs$1.apply(QGraph.scala:465)
at scala.collection.immutable.List.foreach(List.scala:318)
at org.broadinstitute.gatk.queue.engine.QGraph.runJobs(QGraph.scala:465)
at org.broadinstitute.gatk.queue.engine.QGraph.run(QGraph.scala:168)
at org.broadinstitute.gatk.queue.QCommandLine.execute(QCommandLine.scala:170)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:256)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:158) at org.broadinstitute.gatk.queue.QCommandLine$.main(QCommandLine.scala:61)
at org.broadinstitute.gatk.queue.QCommandLine.main(QCommandLine.scala) INFO 18:24:10,017 QCommandLine - Done with errors
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'drmaa' :libslurmdb.so.33: cannot open shared object file: No such file or directory
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:199)
at com.sun.jna.Native.register(Native.java:1018)
at org.broadinstitute.gatk.utils.jna.drmaa.v1_0.LibDrmaa.<clinit>(LibDrmaa.java:35)
at org.broadinstitute.gatk.utils.jna.drmaa.v1_0.JnaSession.init(JnaSession.java:54)
at org.broadinstitute.gatk.queue.engine.drmaa.DrmaaJobManager.init(DrmaaJobManager.scala:44) at org.broadinstitute.gatk.queue.engine.QGraph$$anonfun$runJobs$1.apply(QGraph.scala:468)
at org.broadinstitute.gatk.queue.engine.QGraph$$anonfun$runJobs$1.apply(QGraph.scala:465)
at scala.collection.immutable.List.foreach(List.scala:318)
at org.broadinstitute.gatk.queue.engine.QGraph.runJobs(QGraph.scala:465)
at org.broadinstitute.gatk.queue.engine.QGraph.run(QGraph.scala:168)
at org.broadinstitute.gatk.queue.QCommandLine.execute(QCommandLine.scala:170)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:256)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:158) at org.broadinstitute.gatk.queue.QCommandLine$.main(QCommandLine.scala:61)
at org.broadinstitute.gatk.queue.QCommandLine.main(QCommandLine.scala)
-
Hi Thandeka
Tagging Bob Handsaker who will be able to help you out with your query. Thanks Bob!
-
Hi, Bhanu thank you also thank you, Bob, in advance, I hope I will get the query sorted.
-
There is not a lot to go on in your description, but I will take a stab:
I am assuming when you run SVDiscovery, that you are running on a cluster using Queue and a DRMAA binding and many parallel jobs and that this is running fine.
One difference in the CNVDiscovery pipeline is that it does a recursive invocation of Queue. The first Queue process runs on the host where you execute the CNVDiscovery command (which must be a submission host, have the DRMAA library installed, etc.). In CNVDiscovery, some of the cluster jobs (generally one per chromosome) also run Queue to dispatch many other sub-jobs. This requires the execution host to also be a submission host and that you have the same DRMAA libraries and environment available on the execution hosts. For example, LD_LIBRARY_PATH must be set correctly. My guess is that the problem is something like this.
If you are not already, note that you can use the -jobWrapperScript argument to Queue to allow you to inject a wrapper around each submitted job. This can be used to set environment variables, etc., on the execution host if necessary.
-
Hi Bob, my apologies for writing something with missing information, yes i am running on a DRMAA on a cluster that uses SLURM.
This might be a tedious question but, what is the -jobWrapperScript argument? how do I write it on my script?
Thank you for the reply
-
If you need to be able to control the execution environment of jobs running within Queue, one useful tool is the --jobWrapperScript argument to Queue. You use it like `-jobWrapperScript /path/to/my/wrapper.sh`.
This will wrap the specified script around every command. You can use it to set special environment variables, load libraries, check exit status, etc. A trivial example of wrapper.sh:
#!/bin/bash
echo "The wrapped cmd=$@"
"$@" 2>&1 -
Thank you very much Bob. Let me work on these suggestions and hopefully, it will work out.
-
Hi Bob the, -jobWrapper argument worked I am no longer getting errors, but the only problem I have now is that in the output directory there is nothing and when I open the log directory and read it there is nothing written on the run log files
Please sign in to leave a comment.
7 comments