From ab36c255369ace09e6c1ac68a91dd32ee69fff76 Mon Sep 17 00:00:00 2001
From: Andrey Aristov <aaristov@pasteur.fr>
Date: Thu, 23 Jun 2022 15:44:29 +0200
Subject: [PATCH] fix saving tvec

---
 align.py | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/align.py b/align.py
index 7963c3a..ba2272a 100644
--- a/align.py
+++ b/align.py
@@ -65,17 +65,7 @@ def align_multichip(
     counts = [o['counts'] for o in out]
     tvecs = [o['tvec'] for o in out]
 
-    def prep_tvec(transform_dict):
-        transform_dict["tvec"] = List(transform_dict["tvec"])
-        return transform_dict
-
-    try:
-        transform_data = [map(prep_tvec, tvecs)]
-        with open(out_path.replace('.zarr', '.transform.json'), 'w') as f:
-            json.dump(transform_data, fp=f)
-    except Exception as e:
-        print('saving transform json failed: ', e.args)
-    
+    save_tvecs(tvecs, out_path.replace('.zarr', '.transform.json'))
 
     df = pd.concat(counts, ignore_index=True).sort_values(['[AB]','label'])
     df.to_csv(table_path)
@@ -91,7 +81,19 @@ def align_multichip(
     )
     return out_path
 
- 
+def prep_tvec(transform_dict):
+    t = transform_dict.copy()
+    t["tvec"] = list(t["tvec"])
+    return t
+
+def save_tvecs(tvecs, path):
+    try:
+        transform_data = list(map(prep_tvec, tvecs))
+        with open(path, 'w') as f:
+            json.dump(transform_data, fp=f)
+    except Exception as e:
+        print('saving transform json failed: ', e.args)
+
 def align_parallel(args, **kwargs):
     return align2D(*args, **kwargs)
     
-- 
GitLab