mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-09 09:28:12 +08:00
When reading annotations from tiledb, check if the values are byte literals and if so, decode them. Also pin s3f3 to 0.4.2. (#1788)
This commit is contained in:
@@ -74,6 +74,10 @@ class AnnotationsHostedTileDB(Annotations):
|
|||||||
indexes = list()
|
indexes = list()
|
||||||
|
|
||||||
for col_name, col_val in data.items():
|
for col_name, col_val in data.items():
|
||||||
|
# If the column values are byte literals, decode them
|
||||||
|
if isinstance(col_val[0], bytes):
|
||||||
|
col_val = [value.decode('utf-8') for value in col_val]
|
||||||
|
|
||||||
if repr_meta and col_name in repr_meta:
|
if repr_meta and col_name in repr_meta:
|
||||||
new_col = pd.Series(col_val, dtype=repr_meta[col_name])
|
new_col = pd.Series(col_val, dtype=repr_meta[col_name])
|
||||||
data[col_name] = new_col
|
data[col_name] = new_col
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ scipy>=1.3.0
|
|||||||
requests>=2.22.0
|
requests>=2.22.0
|
||||||
sqlalchemy>=1.3.18
|
sqlalchemy>=1.3.18
|
||||||
tiledb>=0.5.9,>=0.6.2
|
tiledb>=0.5.9,>=0.6.2
|
||||||
s3fs>=0.4.2
|
s3fs==0.4.2
|
||||||
gunicorn>=20.0.4
|
gunicorn>=20.0.4
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
import json
|
import json
|
||||||
from os import path, listdir
|
import shutil
|
||||||
import unittest
|
import unittest
|
||||||
|
from os import path, listdir
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
import pandas as pd
|
||||||
import tiledb
|
import tiledb
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
import server.test.unit.decode_fbs as decode_fbs
|
import server.test.unit.decode_fbs as decode_fbs
|
||||||
import shutil
|
from server.common.errors import AnnotationCategoryNameError
|
||||||
|
|
||||||
import numpy as np
|
|
||||||
import pandas as pd
|
|
||||||
|
|
||||||
from server.common.rest import schema_get_helper, annotations_put_fbs_helper
|
from server.common.rest import schema_get_helper, annotations_put_fbs_helper
|
||||||
|
from server.data_common.matrix_loader import MatrixDataType
|
||||||
from server.db.cellxgene_orm import CellxGeneDataset, Annotation
|
from server.db.cellxgene_orm import CellxGeneDataset, Annotation
|
||||||
from server.test import data_with_tmp_annotations, make_fbs, data_with_tmp_tiledb_annotations
|
from server.test import data_with_tmp_annotations, make_fbs, data_with_tmp_tiledb_annotations
|
||||||
from server.data_common.matrix_loader import MatrixDataType
|
|
||||||
from server.common.errors import AnnotationCategoryNameError
|
|
||||||
|
|
||||||
|
|
||||||
class auth(object):
|
class auth(object):
|
||||||
@@ -77,7 +75,6 @@ class WritableTileDBStoredAnnotationTest(unittest.TestCase):
|
|||||||
|
|
||||||
def test_write_labels_creates_a_dataset_if_it_doesnt_exist(self):
|
def test_write_labels_creates_a_dataset_if_it_doesnt_exist(self):
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
|
|
||||||
new_name = 'new_dataset/location'
|
new_name = 'new_dataset/location'
|
||||||
self.data.get_location = MagicMock(return_value=new_name)
|
self.data.get_location = MagicMock(return_value=new_name)
|
||||||
num_datasets = len(self.db.query([CellxGeneDataset]))
|
num_datasets = len(self.db.query([CellxGeneDataset]))
|
||||||
|
|||||||
Reference in New Issue
Block a user