about summary refs log tree commit diff
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
+