diff options
| -rw-r--r-- | gn3/computations/rqtl2.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gn3/computations/rqtl2.py b/gn3/computations/rqtl2.py index d515e74..4e72322 100644 --- a/gn3/computations/rqtl2.py +++ b/gn3/computations/rqtl2.py @@ -5,6 +5,25 @@ import json from pathlib import Path from typing import Dict +def generate_rqtl2_files(data, workspace_dir): + """Prepare data and generate necessary CSV files + required to write to control_file + """ + # Map of file names to corresponding data keys in the provided dictionary + file_to_name_map = { + "geno_file": "geno_data", + "pheno_file": "pheno_data", + "geno_map_file": "geno_map_data", + "pheno_map_file": "pheno_map_data", + "phenocovar_file": "phenocovar_data", + } + parsed_files = {} + for file_name, data_key in file_to_name_map.items(): + if data_key in data: + file_path = write_to_csv(workspace_dir, f"{file_name}.csv", data[data_key]) + parsed_files[file_name] = file_path + return {**data, **parsed_files} + def write_to_csv(work_dir, file_name, data:list[dict], headers= None, delimiter=","): |
