Issue with -jobNative option

bnlesjbnlesj Seattle, WAMember

Hi, I'm trying to run genomestrip on a UGE cluster. I would like to export my current environment using -jobNative "-V", but I get this error:
##### ERROR ------------------------------------------------------------------------------------------
##### ERROR A GATK RUNTIME ERROR has occurred (version ):
##### ERROR
##### ERROR This might be a bug. Please check the documentation guide to see if this is a known problem.
##### ERROR If not, please post the error message, with stack trace, to the GATK forum.
##### ERROR Visit our website and forum for extensive documentation and answers to
##### ERROR commonly asked questions http://www.broadinstitute.org/gatk
##### ERROR
##### ERROR MESSAGE: Value for argument with name '--job_native_arg' (-jobNative) is missing.
##### ERROR ------------------------------------------------------------------------------------------

This is the full command:
java -Xmx4g -cp ${classpath} \
org.broadinstitute.gatk.queue.QCommandLine \
-S ${SV_DIR}/qscript/SVQScript.q \
-S ${SV_DIR}/qscript/SVPreprocess.q \
-cp ${classpath} \
-gatk ${SV_DIR}/lib/gatk/GenomeAnalysisTK.jar \
-configFile ${CONFIG_FILE} \
-R ${REF_FASTA} \
-I ${INPUT_BAM_FILES}\
-jobQueue ${JOB_QUEUE} \
-jobLogDir ${JOB_LOG_DIR} \
-jobRunner ${JOB_RUNNER} \
-gatkJobRunner ${JOB_RUNNER} \
-jobNative "-v PATH " \
-jobNative "-v SV_DIR" \
-jobNative "-l mfree=8G" \
-jobNative "-q all.q" \
-jobNative "-V " \
-qsub \
-md ${METADATA_DIR} \
-bamFilesAreDisjoint false

The command works if I remove the
-jobNative "-V " \
line, and also fails if I use "-cwd" instead of "-V".

Tagged:

Answers

  • bhandsakerbhandsaker Member, Broadie, Moderator admin

    I don't know what option you need to pass to UGE offhand.

    If you need to pass a single argument (e.g. -cwd) note the ugly workaround of quoting the argument and including an extra space to fool some bad code inside Queue.

    Also, you probably do not want to pass "-qsub" as this can override other settings. Just setting -jobRunner / -gatkJobRunner to Drmaa is the preferred thing to do.

  • bnelsjbnelsj University of WashingtonMember

    Am I using the ugly workaround correctly in my example? It doesn't seem to be doing the trick, but it looks like combining -V and -cwd into a single -jobNative string works (-jobNative "-V -cwd").

  • bhandsakerbhandsaker Member, Broadie, Moderator admin

    The problem I was alluding to with the quoting of the arguments is that a naked "-V" will be interpreted by Queue as a separate argument (unrelated to -jobNative) and then you get the error about a missing argument to -jobNative. Passing multiple tokens in the -jobNative argument, as in -jobNative "-V -cwd" is reported to work fine (according to other posts), and looking at the code it also looks like it should be fine (it will all get concatenated and passed as part of the Drmaa native specification).

    Is the problem that you are losing the current working directory or an environment variable?
    You will probably need both of those with UGE.

  • bnelsjbnelsj University of WashingtonMember

    The problem was that even with a trailing space like this: -jobNative "-V " I was getting the "value for argument is missing" error mentioned above.

  • bhandsakerbhandsaker Member, Broadie, Moderator admin

    Probably the key is either a leading space or a second token to get by the argument parsing.

  • bnelsjbnelsj University of WashingtonMember

    The leading space doesn't work, so I guess I'll just stick with the "-V -cwd" option. It's just such a gross hack...

  • bnelsjbnelsj University of WashingtonMember

    Is there a way to get genomestrip to limit the number of parallel jobs it queues without using -qsub -parallelJobs 5?

Sign In or Register to comment.