We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
layout.to_dict()
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
Hey, ran into what I think is a small bug in to_dict:
to_dict
import zarr from vitessce import ( VitessceWidget, VitessceConfig, Component as cm, CoordinationType as ct, AnnDataWrapper, ) TEST_ANNDATA_URI = "s3://tmp-census-zarr/v1/homo_sapiens/0041b9c3-6a49-4bf7-8514-9bc7190067a7.zarr" vc = VitessceConfig(schema_version="1.0.15") dataset = vc.add_dataset().add_object( AnnDataWrapper( adata_store=z.store, obs_embedding_paths=["obsm/X_umap"], obs_embedding_names=["UMAP"], obs_set_paths=["obs/cell_type"], obs_set_names=["cell_type"], obs_feature_matrix_path="X", # feature_filter_path="var/top_highly_variable" ) ) scatterplot = vc.add_view(cm.SCATTERPLOT, dataset=dataset, mapping="UMAP") layout = vc.layout(scatterplot) layout.to_dict()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[12], line 26 23 scatterplot = vc.add_view(cm.SCATTERPLOT, dataset=dataset, mapping="UMAP") 24 layout = vc.layout(scatterplot) ---> 26 layout.to_dict() File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/config.py:1488, in VitessceConfig.to_dict(self, base_url) 1477 def to_dict(self, base_url=None): 1478 """ 1479 Convert the view config instance to a dict object. 1480 (...) 1484 :rtype: dict 1485 """ 1486 return { 1487 **self.config, -> 1488 "datasets": [d.to_dict(base_url) for d in self.config["datasets"]], 1489 "coordinationSpace": dict([ 1490 (c_type, dict([ 1491 (c_scope_name, c_scope.c_value) for c_scope_name, c_scope in c_scopes.items() 1492 ])) for c_type, c_scopes in self.config["coordinationSpace"].items() 1493 ]), 1494 # TODO: compute the x,y,w,h values if not explicitly defined 1495 "layout": [c.to_dict() for c in self.config["layout"]] 1496 } File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/config.py:1488, in <listcomp>(.0) 1477 def to_dict(self, base_url=None): 1478 """ 1479 Convert the view config instance to a dict object. 1480 (...) 1484 :rtype: dict 1485 """ 1486 return { 1487 **self.config, -> 1488 "datasets": [d.to_dict(base_url) for d in self.config["datasets"]], 1489 "coordinationSpace": dict([ 1490 (c_type, dict([ 1491 (c_scope_name, c_scope.c_value) for c_scope_name, c_scope in c_scopes.items() 1492 ])) for c_type, c_scopes in self.config["coordinationSpace"].items() 1493 ]), 1494 # TODO: compute the x,y,w,h values if not explicitly defined 1495 "layout": [c.to_dict() for c in self.config["layout"]] 1496 } File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/config.py:224, in VitessceConfigDataset.to_dict(self, base_url) 222 obj_file_defs = [] 223 for obj in self.objs: --> 224 obj_file_defs += obj.get_file_defs(base_url) 226 return { 227 **self.dataset, 228 "files": [f.to_dict() for f in self.dataset["files"]] + obj_file_defs, 229 } File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:102, in AbstractWrapper.get_file_defs(self, base_url) 100 file_defs_with_base_url = [] 101 for file_def_creator in self.file_def_creators: --> 102 file_def = file_def_creator(base_url) 103 if file_def is not None: 104 file_defs_with_base_url.append(file_def) File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:1183, in AnnDataWrapper.make_file_def_creator.<locals>.get_anndata_zarr(base_url) 1178 if self.is_h5ad: 1179 options["refSpecUrl"] = self.get_ref_url(base_url, dataset_uid, obj_i) 1181 obj_file_def = { 1182 "fileType": ft.ANNDATA_ZARR.value if not self.is_h5ad else ft.ANNDATA_H5AD.value, -> 1183 "url": self.get_zarr_url(base_url, dataset_uid, obj_i) if not self.is_h5ad else self.get_h5ad_url(base_url, dataset_uid, obj_i), 1184 "options": options 1185 } 1186 if self._request_init is not None: 1187 obj_file_def['requestInit'] = self._request_init File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:1087, in AnnDataWrapper.get_zarr_url(self, base_url, dataset_uid, obj_i) 1085 return self._adata_url 1086 else: -> 1087 return self.get_local_dir_url(base_url, dataset_uid, obj_i, self._adata_path, self.local_dir_uid) File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:133, in AbstractWrapper.get_local_dir_url(self, base_url, dataset_uid, obj_i, local_dir_path, local_dir_uid) 131 def get_local_dir_url(self, base_url, dataset_uid, obj_i, local_dir_path, local_dir_uid): 132 # Logic for files and directories is the same for this function. --> 133 return self.get_local_file_url(base_url, dataset_uid, obj_i, local_dir_path, local_dir_uid) File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:129, in AbstractWrapper.get_local_file_url(self, base_url, dataset_uid, obj_i, local_file_path, local_file_uid) 127 if not self.is_remote and self.base_dir is not None: 128 return self._get_url_simple(base_url, file_path_to_url_path(local_file_path, prepend_slash=False)) --> 129 return self._get_url(base_url, dataset_uid, obj_i, local_file_uid) File ~/miniforge3/envs/cellxgene-census-dev-new/lib/python3.11/site-packages/vitessce/wrappers.py:200, in AbstractWrapper._get_url(self, base_url, dataset_uid, obj_i, *args) 199 def _get_url(self, base_url, dataset_uid, obj_i, *args): --> 200 return base_url + self._get_route_str(dataset_uid, obj_i, *args) TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
This is using Vitessce 3.3.3
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hey, ran into what I think is a small bug in
to_dict
:This is using Vitessce 3.3.3
The text was updated successfully, but these errors were encountered: