From 2b4b72424dbd59b79d66e04577ddaf524cb07b5d Mon Sep 17 00:00:00 2001 From: Jonathan Romano Date: Fri, 24 Jan 2025 19:56:04 -0500 Subject: [PATCH] Fix concurrency bug in spotrna If multiple processes called spotrna at the same time, spotrna internally would internally (over)write a file causing one or all of the predictions to use/return the wrong data --- src/arnie/pk_predictors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arnie/pk_predictors.py b/src/arnie/pk_predictors.py index 42c8421..ed1a9db 100644 --- a/src/arnie/pk_predictors.py +++ b/src/arnie/pk_predictors.py @@ -308,7 +308,8 @@ def _run_spotrna(seq, cpu=32): spotrna_conda_env = package_locs["spotrna_conda_env"] out_folder = get_random_folder() mkdir(out_folder) - fasta_file = f"{out_folder}/temp.fasta" + input_id = local_rand_filename() + fasta_file = f"{out_folder}/{input_id}.fasta" f = open(fasta_file, "w") f.write(">seq\n") f.write(seq) @@ -472,4 +473,3 @@ def _nupack_mfe_pk(seq): remove(f'{fasta_file}.mfe') rmdir(out_folder) return struct -