Skip to content

BrainObservatoryCache.get_cell_specimens filter argument does not properly handle empty list #267

@dyf

Description

@dyf
from allensdk.core.brain_observatory_cache import BrainObservatoryCache
boc = BrainObservatoryCache()
boc.get_cell_specimens(filters=[])

This should do something rational (like return all cells).

Instead I get this:

In [6]: boc.get_cell_specimens(filters=[])
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-6-4646ba69734a> in <module>()
----> 1 boc.get_cell_specimens(filters=[])

/local1/git/allensdk/allensdk/core/brain_observatory_cache.pyc in get_cell_specimens(self, fi                                                                        le_name, ids, experiment_container_ids, include_failed, simple, filters)
    409                                                         experiment_container_ids=expe                                                                        riment_container_ids,
    410                                                         include_failed=include_failed                                                                        ,
--> 411                                                         filters=filters)
    412
    413         # drop the thumbnail columns

/local1/git/allensdk/allensdk/api/queries/brain_observatory_api.pyc in filter_cell_specimens(                                                                        self, cell_specimens, ids, experiment_container_ids, include_failed, filters)
    566             cell_specimens = self.dataframe_query(cell_specimens,
    567                                                   filters,
--> 568                                                   'cell_specimen_id')
    569
    570         return cell_specimens

/local1/git/allensdk/allensdk/api/queries/brain_observatory_api.pyc in dataframe_query(self,                                                                         data, filters, primary_key)
    625         queries = self.dataframe_query_string(filters)
    626         result_dataframe = pd.DataFrame(data)
--> 627         result_dataframe = result_dataframe.query(queries)
    628
    629         result_keys = set(result_dataframe[primary_key])

/local1/anaconda3/envs/py2/lib/python2.7/site-packages/pandas/core/frame.pyc in query(self, e                                                                        xpr, inplace, **kwargs)
   2295         kwargs['level'] = kwargs.pop('level', 0) + 1
   2296         kwargs['target'] = None
-> 2297         res = self.eval(expr, **kwargs)
   2298
   2299         try:

/local1/anaconda3/envs/py2/lib/python2.7/site-packages/pandas/core/frame.pyc in eval(self, ex                                                                        pr, inplace, **kwargs)
   2364             kwargs['target'] = self
   2365         kwargs['resolvers'] = kwargs.get('resolvers', ()) + tuple(resolvers)
-> 2366         return _eval(expr, inplace=inplace, **kwargs)
   2367
   2368     def select_dtypes(self, include=None, exclude=None):

/local1/anaconda3/envs/py2/lib/python2.7/site-packages/pandas/core/computation/eval.pyc in ev                                                                        al(expr, parser, engine, truediv, local_dict, global_dict, resolvers, level, target, inplace)
    261
    262     if isinstance(expr, string_types):
--> 263         _check_expression(expr)
    264         exprs = [e.strip() for e in expr.splitlines() if e.strip() != '']
    265     else:

/local1/anaconda3/envs/py2/lib/python2.7/site-packages/pandas/core/computation/eval.pyc in _c                                                                        heck_expression(expr)
     99     """
    100     if not expr:
--> 101         raise ValueError("expr cannot be an empty string")
    102
    103

ValueError: expr cannot be an empty string

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions