about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander_Kabui2023-01-25 16:39:38 +0300
committerAlexander_Kabui2023-01-25 16:39:38 +0300
commit05a90c4f9476d4e6a7a29a2da203499cbe408df9 (patch)
treed4e0a5c7d90d6c12e08f715bd95bb7486087a803
parent47c19fcbd6c3e477285c765b4c02b5d177cd6206 (diff)
downloadgenenetwork2-05a90c4f9476d4e6a7a29a2da203499cbe408df9.tar.gz
add col_ids metadata
-rw-r--r--wqflask/wqflask/correlation/correlation_file_generator.py25
1 files changed, 9 insertions, 16 deletions
diff --git a/wqflask/wqflask/correlation/correlation_file_generator.py b/wqflask/wqflask/correlation/correlation_file_generator.py
index 4d8a2f23..f207f2c6 100644
--- a/wqflask/wqflask/correlation/correlation_file_generator.py
+++ b/wqflask/wqflask/correlation/correlation_file_generator.py
@@ -146,8 +146,6 @@ def generate_csv_file(conn,db_name,txt_dir,file_name):
         raise e
 
 
-
-
 def array_to_bytes(x:np.ndarray) -> bytes:
     np_bytes = BytesIO()
 
@@ -162,37 +160,32 @@ def bytes_to_array(b: bytes) -> np.ndarray:
     return np.load(np_bytes, allow_pickle=True)
 
 
-def lmdb_file_generator(file_name,data:np.ndarray):
-
-    # create unique filename
-
-    # pass
-
-
-
 def lmdb_error_handler(func):
     @functools.wraps(func)
     def inner_function(*args, **kwargs):
         try:
             return func(*args, **kwargs)
         except lmdb.Error as error:
-            print(f"{func.__name__} >>>> error . {str(error)}")
+            print(f"{func.__name__} >>>> error . {error}")
             return None
     return inner_function
 
-
-def create_dataset(file_name, db_name, dataset: np.ndarray):
+@lmdb_error_handler
+def create_dataset(file_path, db_name,cols ,dataset: np.ndarray):
 
     # map size int(ie12)
     with lmdb.open(file_name, map_size=dataset.nbytes*10) as env:
         with env.begin(write=True) as txn:
+            txn.put(f"db_name:col".encode(), array_to_bytes(cols))
             txn.put(db_name.encode(), array_to_bytes(dataset))
             return (file_name, db_name)
 
-
 @lmdb_error_handler
-def read_dataset(file_name, db_name):
+def read_dataset(file_path, db_name):
     with lmdb.open(file_name, readonly=True, create=False) as env:
         with env.begin() as txn:
             results = txn.get(db_name.encode())
-            return bytes_to_array(results) if results else None
\ No newline at end of file
+            cols  =  txn.get(f"{db_name}:col".encode())
+            if  (cols and results):
+                return (bytes_to_array(cols),bytes_to_array(results))
+