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
|
@property
|
||||||
def cells(self, restrictions:dict=None):
|
def cells(self, restrictions:dict=None):
|
||||||
|
|
||||||
cs = (Cell & (CellDatasetMap & self) & restrictions).fetch()
|
cs = (Cell & (CellDatasetMap & self) & restrictions).fetch()
|
||||||
return cs
|
return cs
|
||||||
|
|
||||||
@ -112,11 +113,29 @@ class Subject(dj.Manual):
|
|||||||
def subjects(species=None):
|
def subjects(species=None):
|
||||||
subjs = []
|
subjs = []
|
||||||
if species:
|
if species:
|
||||||
subjs = (Subject & "species like '\%%s\%'"%species).fetch()
|
subjs = (Subject & "species like '%{0:s}%'".format(species)).fetch()
|
||||||
else:
|
else:
|
||||||
subjs = (Subject & True).fetch()
|
subjs = (Subject & True).fetch()
|
||||||
return subjs
|
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
|
@schema
|
||||||
class SubjectDatasetMap(dj.Manual):
|
class SubjectDatasetMap(dj.Manual):
|
||||||
definition = """
|
definition = """
|
||||||
@ -174,6 +193,25 @@ class Cell(dj.Manual):
|
|||||||
return d
|
return d
|
||||||
return tup
|
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
|
@schema
|
||||||
class CellDatasetMap(dj.Manual):
|
class CellDatasetMap(dj.Manual):
|
||||||
|
Loading…
Reference in New Issue
Block a user