some convenience

This commit is contained in:
Jan Grewe 2019-09-17 14:02:35 +02:00
parent 71e9f2b82b
commit 67d78a8581

View File

@ -65,6 +65,7 @@ class Dataset(dj.Manual):
@property
def cells(self, restrictions:dict=None):
cs = (Cell & (CellDatasetMap & self) & restrictions).fetch()
return cs
@ -112,11 +113,29 @@ class Subject(dj.Manual):
def subjects(species=None):
subjs = []
if species:
subjs = (Subject & "species like '\%%s\%'"%species).fetch()
subjs = (Subject & "species like '%{0:s}%'".format(species)).fetch()
else:
subjs = (Subject & True).fetch()
return subjs
@staticmethod
def unique_species():
all_species = (Subject &True).fetch("species")
return np.unique(all_species)
@property
def cells(self):
cs = Cell & self
return cs
@property
def properties(self):
return (SubjectProperties & self).fetch1()
#@property
#def datasets(self):
# retrun
@schema
class SubjectDatasetMap(dj.Manual):
definition = """
@ -174,6 +193,25 @@ class Cell(dj.Manual):
return d
return tup
@property
def subject(self):
return Subject & self
@staticmethod
def celltypes():
return np.unique(Cell.fetch("cell_type"))
@staticmethod
def cells(celltype=None, species=None, quality="good"):
cs = Cell * CellDatasetMap * Dataset * Subject
if celltype:
cs = cs & "cell_type like '{0:s}'".format(celltype)
if species:
cs = cs & "species like '%{0:s}%'".format(species)
if quality:
cs = cs & "quality like '{0:s}'".format(quality)
return cs
@schema
class CellDatasetMap(dj.Manual):