Skip to content

Commit 4878de0

Browse files
committed
sraX: process only the specified input fasta
1 parent 61f22a6 commit 4878de0

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

rules/srax.smk

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,43 @@
11
rule run_srax:
22
input:
3-
genome_dir = lambda w: os.path.dirname(get_assembly(w))
3+
contigs = get_assembly
44
output:
5-
report = "results/{sample}/srax/Summary_files/sraX_detected_ARGs.tsv",
5+
report = "results/{sample}/srax/sraX_detected_ARGs.tsv",
66
metadata = "results/{sample}/srax/metadata.txt"
77
message: "Running rule run_srax on {wildcards.sample} with contigs"
88
log:
9-
"logs/srax_{sample}.log"
9+
"logs/srax_{sample}.log"
1010
conda:
11-
"../envs/srax.yaml"
11+
"../envs/srax.yaml"
1212
threads:
13-
config["params"]["threads"]
13+
config["params"]["threads"]
1414
params:
15-
dbtype = config["params"]["srax"]["dbtype"],
16-
outdir = "results/{sample}/srax",
17-
tmp_output_dir = "results/{sample}/srax/tmp",
18-
log_output_dir = "results/{sample}/srax/Log",
19-
ARG_DB_output_dir = "results/{sample}/srax/ARG_DB",
20-
analysis_output_dir = "results/{sample}/srax/Analysis",
21-
result_output_dir = "results/{sample}/srax/Results",
22-
dateformat = config["params"]["dateformat"]
15+
dbtype = config["params"]["srax"]["dbtype"],
16+
dateformat = config["params"]["dateformat"]
2317
shell:
18+
"""{{
19+
mkdir -p $(dirname {output.report})
20+
# copy input to a temp directory because sraX processes every fasta file in its input directory
21+
TMPDIR=$(mktemp -d)
22+
cp {input.contigs} $TMPDIR/
23+
sraX -i $TMPDIR -t 4 -db {params.dbtype} -o $TMPDIR/output
24+
mv $TMPDIR/output/Results/Summary_files/sraX_detected_ARGs.tsv {output.report}
25+
rm -rf $TMPDIR
26+
}} >{log} 2>&1
27+
printf -- '--analysis_software_version %s --reference_database_version %s --reference_database_name srax_{params.dbtype}_amr_db' \
28+
$(sraX --version | fgrep version | cut -d: -f2) $(date '+{params.dateformat}') >{output.metadata}
2429
"""
25-
sraX -i {input.genome_dir} -t 4 -db {params.dbtype} -o {params.outdir} > {log} 2>&1
26-
mv {params.result_output_dir}/* {params.outdir}
27-
sraX --version | grep version | perl -p -e 's/.+version: (.+)/--analysis_software_version $1/' > {output.metadata}
28-
date +"{params.dateformat}" | perl -p -e 's/(.+)/--reference_database_version $1/' >> {output.metadata}
29-
"""
30-
# rm -rf {params.tmp_output_dir} {params.log_output_dir} {params.ARG_DB_output_dir} {params.analysis_output_dir} {params.result_output_dir}
3130

3231
rule hamronize srax:
3332
input:
3433
contigs = get_assembly,
35-
report = "results/{sample}/srax/Summary_files/sraX_detected_ARGs.tsv",
34+
report = "results/{sample}/srax/sraX_detected_ARGs.tsv",
3635
metadata = "results/{sample}/srax/metadata.txt"
3736
output:
3837
"results/{sample}/srax/hamronized_report.tsv"
39-
params:
40-
dbtype = config["params"]["srax"]["dbtype"]
4138
conda:
4239
"../envs/hamronization.yaml"
4340
shell:
4441
"""
45-
hamronize srax --input_file_name {input.contigs} $(paste - - < {input.metadata}) --reference_database_name srax_{params.dbtype}_amr_db {input.report} > {output}
42+
hamronize srax --input_file_name {input.contigs} $(cat {input.metadata}) {input.report} > {output}
4643
"""

0 commit comments

Comments
 (0)