add quality to find_repros
This commit is contained in:
parent
34d71d537e
commit
0453253bf3
@ -1,6 +1,6 @@
|
|||||||
from .database.database import Cells, Datasets, CellDatasetMap, Subjects, SubjectProperties, SubjectDatasetMap, Stimuli, Repros
|
from .database.database import Cells, Datasets, CellDatasetMap, Subjects, SubjectProperties, SubjectDatasetMap, Stimuli, Repros
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from IPython import embed
|
||||||
|
|
||||||
def _safe_get_val(dictionary:dict, key, default=None):
|
def _safe_get_val(dictionary:dict, key, default=None):
|
||||||
return dictionary[key] if key in dictionary.keys() else default
|
return dictionary[key] if key in dictionary.keys() else default
|
||||||
@ -58,7 +58,7 @@ class Cell:
|
|||||||
return [RePro(tuple=r) for r in repros]
|
return [RePro(tuple=r) for r in repros]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def celltypes():
|
def unique_cell_types():
|
||||||
return np.unique(Cells.fetch("cell_type"))
|
return np.unique(Cells.fetch("cell_type"))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -198,31 +198,34 @@ class RePro:
|
|||||||
return [Stimulus(tuple=s) for s in stims]
|
return [Stimulus(tuple=s) for s in stims]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def find_repros(repro_name=None, cell_id=None, cell_type=None, species=None, settings=None):
|
def find_repros(name=None, cell_id=None, cell_type=None, species=None, settings=None, quality=None):
|
||||||
"""
|
"""
|
||||||
Cell type and species are ignored, if cell_id is provided
|
Cell type, quality, and species are ignored, if cell_id is provided
|
||||||
:param repro_name:
|
:param repro_name:
|
||||||
:param cell_id:
|
:param cell_id:
|
||||||
:param cell_type:
|
:param cell_type:
|
||||||
:param species:
|
:param species:
|
||||||
:param settings:
|
:param settings:
|
||||||
|
:param quality:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
repros = Repros & True
|
repros = Repros & True
|
||||||
if repro_name:
|
if name:
|
||||||
repros = repros & "repro_name like '%{0:s}%'".format(repro_name)
|
repros = repros & "repro_name like '%{0:s}%'".format(name)
|
||||||
if settings:
|
if settings:
|
||||||
repros = repros & "settings like '%{0:s}%'".format(settings)
|
repros = repros & "settings like '%{0:s}%'".format(settings)
|
||||||
if cell_id:
|
if cell_id:
|
||||||
repros = repros & "cell_id = '{0:s}'".format(cell_id)
|
repros = repros & "cell_id = '{0:s}'".format(cell_id)
|
||||||
if not cell_id and (cell_type or species):
|
if not cell_id and (cell_type or species or quality):
|
||||||
cells = Cells * Subjects
|
cells = (Cells * CellDatasetMap * Datasets) * Subjects
|
||||||
if cell_type:
|
if cell_type:
|
||||||
cells = cells & "cell_type like '%{0:s}%'".format(cell_type)
|
cells = cells & "cell_type like '%{0:s}%'".format(cell_type)
|
||||||
if species:
|
if species:
|
||||||
cells = cells & "species like '%{0:s}%'".format(species)
|
cells = cells & "species like '%{0:s}%'".format(species)
|
||||||
repros = repros * cells
|
if quality:
|
||||||
repros.proj("repro_id", "repro_name", "settings", "run", "cell_id", "start", "duration").fetch(as_dict=True)
|
cells = cells & "quality like '{0:s}'".format(quality)
|
||||||
|
p = cells.proj("quality", "experimenter")
|
||||||
|
repros = repros & p
|
||||||
return [RePro(tuple=r) for r in repros]
|
return [RePro(tuple=r) for r in repros]
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user