From 3a3c9bd6141c64b9b7f4c31a7ab92eae68fd9064 Mon Sep 17 00:00:00 2001 From: lvreynoso Date: Wed, 8 May 2024 14:22:05 -0700 Subject: [PATCH] Allow multiple arguments to diamond blastx --- lib/idseq_utils/idseq_utils/diamond_scatter.py | 10 +++++++++- workflows/diamond/Dockerfile | 5 ++--- workflows/diamond/diamond.wdl | 4 ++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/idseq_utils/idseq_utils/diamond_scatter.py b/lib/idseq_utils/idseq_utils/diamond_scatter.py index 385301c1d..b3b763f8b 100644 --- a/lib/idseq_utils/idseq_utils/diamond_scatter.py +++ b/lib/idseq_utils/idseq_utils/diamond_scatter.py @@ -3,6 +3,7 @@ """ import os +import shlex import shutil import sys import errno @@ -71,8 +72,15 @@ def diamond_blastx( database, "--out", out, - f"--{diamond_args}", ] + + # backwards compatibility for function calls that expect this function + # to automatically append "--" to diamond_args + if diamond_args == "long-reads" or diamond_args == "mid-sensitive": + diamond_args = "--" + diamond_args + + cmd.extend(shlex.split(diamond_args)) + for query in queries: cmd += ["--query", query] if chunk: diff --git a/workflows/diamond/Dockerfile b/workflows/diamond/Dockerfile index 806ef944a..a3d52e129 100644 --- a/workflows/diamond/Dockerfile +++ b/workflows/diamond/Dockerfile @@ -19,7 +19,6 @@ WORKDIR /tmp RUN git clone https://github.com/chanzuckerberg/czid-workflows WORKDIR /tmp/czid-workflows RUN pip3 install -r requirements-dev.txt -RUN git checkout rlim-add-diamond-modification -RUN cp short-read-mngs/idseq_utils/idseq_utils/diamond_scatter.py /usr/local/bin/ +COPY --from=lib idseq_utils/idseq_utils/diamond_scatter.py /usr/local/bin/ -WORKDIR /workdir \ No newline at end of file +WORKDIR /workdir diff --git a/workflows/diamond/diamond.wdl b/workflows/diamond/diamond.wdl index 35af2d033..7a8f2f814 100644 --- a/workflows/diamond/diamond.wdl +++ b/workflows/diamond/diamond.wdl @@ -34,7 +34,7 @@ task RunDiamond { } command <<< - python3 /usr/local/bin/diamond_scatter.py blastx-chunk --db ~{db_chunk} --query ~{query_0} ~{if defined(query_1) then '--query ~{query_1}' else ''} --out-dir chunks --diamond-args "~{extra_args}" + python3 /usr/local/bin/diamond_scatter.py blastx-chunk --db ~{db_chunk} --query ~{query_0} ~{if defined(query_1) then '--query ~{query_1}' else ''} --out-dir chunks --diamond-args="~{extra_args}" >>> output { @@ -45,4 +45,4 @@ task RunDiamond { runtime { docker: docker_image_id } -} \ No newline at end of file +}