forked from jgrewe/fishbook
some convenience
This commit is contained in:
parent
71e9f2b82b
commit
67d78a8581
40
database.py
40
database.py
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user