diff gate_finder.py @ 5:e860ca30cd0b draft

planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/vitessce commit 90f081e58b5ee41bba3a7e6f01d97b5bd9392759
author goeckslab
date Wed, 28 May 2025 21:14:52 +0000
parents 5f4a4dd06bc9
children
line wrap: on
line diff
--- a/gate_finder.py	Thu Feb 20 19:47:28 2025 +0000
+++ b/gate_finder.py	Wed May 28 21:14:52 2025 +0000
@@ -53,7 +53,7 @@
     return get_gate_phenotype(gate, np.ravel(data_norm))
 
 
-def main(inputs, output, image, anndata, offsets=None, masks=None):
+def main(inputs, output, image, anndata, offsets=None, masks=None, config_path=None):
     """
     Parameter
     ---------
@@ -67,12 +67,17 @@
         File path to anndata containing phenotyping info.
     masks : str
         File path to the image masks.
+    config_path : str
+        File path to the config containing galaxy_url and dataset_id.
     """
     warnings.simplefilter('ignore')
 
     with open(inputs, 'r') as param_handler:
         params = json.load(param_handler)
 
+    with open(config_path) as conf_fh:
+        config = json.load(conf_fh)
+
     marker = params['marker'].strip()
     from_gate = params['from_gate']
     to_gate = params['to_gate']
@@ -80,6 +85,12 @@
     x_coordinate = params['x_coordinate'].strip() or 'X_centroid'
     y_coordinate = params['y_coordinate'].strip() or 'Y_centroid'
 
+    galaxy_url = config["galaxy_url"]
+    dataset_id = config["dataset_id"]
+
+    # Build the prefix that Vitessce should use
+    display_prefix = (f"{galaxy_url}/api/datasets/{dataset_id}/display?filename=")
+
     adata = read_h5ad(anndata)
 
     # If no raw data is available make a copy
@@ -191,7 +202,7 @@
     )
 
     # export config file
-    config_dict = vc.export(to='files', base_url='http://localhost', out_dir=output)
+    config_dict = vc.export(to='files', base_url=display_prefix, out_dir=output)
 
     with open(Path(output).joinpath('config.json'), 'w') as f:
         json.dump(config_dict, f, indent=4)
@@ -205,7 +216,8 @@
     aparser.add_argument("-a", "--anndata", dest="anndata", required=True)
     aparser.add_argument("-f", "--offsets", dest="offsets", required=False)
     aparser.add_argument("-m", "--masks", dest="masks", required=False)
+    aparser.add_argument("--galaxy_config", dest="config_path", required=True)
 
     args = aparser.parse_args()
 
-    main(args.inputs, args.output, args.image, args.anndata, args.offsets, args.masks)
+    main(args.inputs, args.output, args.image, args.anndata, args.offsets, args.masks, args.config_path)