diff options
Diffstat (limited to 'gn3/computations/ctl.py')
-rw-r--r-- | gn3/computations/ctl.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gn3/computations/ctl.py b/gn3/computations/ctl.py new file mode 100644 index 0000000..f881410 --- /dev/null +++ b/gn3/computations/ctl.py @@ -0,0 +1,30 @@ +"""module contains code to process ctl analysis data""" +import json +from gn3.commands import run_cmd + +from gn3.computations.wgcna import dump_wgcna_data +from gn3.computations.wgcna import compose_wgcna_cmd +from gn3.computations.wgcna import process_image + +from gn3.settings import TMPDIR + + +def call_ctl_script(data): + """function to call ctl script""" + data["imgDir"] = TMPDIR + temp_file_name = dump_wgcna_data(data) + cmd = compose_wgcna_cmd("ctl_analysis.R", temp_file_name) + + cmd_results = run_cmd(cmd) + with open(temp_file_name, "r", encoding="utf-8") as outputfile: + if cmd_results["code"] != 0: + return (cmd_results, None) + output_file_data = json.load(outputfile) + + output_file_data["image_data"] = process_image( + output_file_data["image_loc"]).decode("ascii") + + output_file_data["ctl_plots"] = [process_image(ctl_plot).decode("ascii") for + ctl_plot in output_file_data["ctl_plots"]] + + return (cmd_results, output_file_data) |