diff --git a/database.py b/database.py index a4468e6..5a328ea 100644 --- a/database.py +++ b/database.py @@ -63,6 +63,16 @@ class Dataset(dj.Manual): sane = False return sane + @property + def cells(self, restrictions:dict=None): + cs = (Cell & (CellDatasetMap & self) & restrictions).fetch() + return cs + + @property + def subjects(self, restrictions:dict=None): + subjs = (Subject & (SubjectDatasetMap & self) & restrictions).fetch() + return subjs + @schema class Subject(dj.Manual): @@ -98,6 +108,14 @@ class Subject(dj.Manual): self.insert1(inserts, skip_duplicates=True) nix_file.close() + @staticmethod + def subjects(species=None): + subjs = [] + if species: + subjs = (Subject & "species like '\%%s\%'"%species).fetch() + else: + subjs = (Subject & True).fetch() + return subjs @schema class SubjectDatasetMap(dj.Manual):