aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/correlation/correlation_file_generator.py47
1 files changed, 45 insertions, 2 deletions
diff --git a/wqflask/wqflask/correlation/correlation_file_generator.py b/wqflask/wqflask/correlation/correlation_file_generator.py
index 9f469a32..79161f6d 100644
--- a/wqflask/wqflask/correlation/correlation_file_generator.py
+++ b/wqflask/wqflask/correlation/correlation_file_generator.py
@@ -1,8 +1,9 @@
from urllib.parse import urlparse
import pymysql as mdb
-import os
+import os
import csv
+
def get_probesetfreezes(conn, inbredsetid=1):
with conn.cursor() as cursor:
cursor.execute(
@@ -79,4 +80,46 @@ WHERE a.database_name = b.db_last_update_name
"""
- #todo file_storage lmdb file_parsing file_run \ No newline at end of file
+ # todo file_storage lmdb file_parsing file_run
+
+
+
+
+def parse_dataset(results):
+ ids = ["ID"]
+ data = {}
+ for (trait, strain,val) in results:
+ if strain not in ids:
+ ids.append(strain)
+
+ if trait in data:
+ data[trait].append(val)
+ else:
+ data[trait] = [trait,val]
+
+ return (data,ids)
+
+# above refactor the code
+
+def generate_csv_file(conn,db_name,txt_dir,file_name):
+
+ # write to file
+
+ # file name ,file expiry,type of storage
+
+ # I want to use lmdb to store the files
+ # file name already done #import that
+
+ # file expiry to be done lt
+
+ try:
+ (data,col_ids) = parse_dataset(fetch_probeset_data(conn,db_name))
+ with open( os.path.join(txt_dir,file_name),"w+" ,encoding='UTF8') as file_handler:
+ writer = csv.writer(file_handler)
+ writer.writerow(col_ids) # write header s
+ writer.writerows(val for val in data.values() )
+ return "success"
+
+ except Exception as e:
+ raise e
+