def register_and_populate(self): """ this method can be run on a Group given that group.name and group.experiment have been assigned """ experiment = self.experiment experiment.group_named[ self. name] = self # register it with its parent experiment indexed by name experiment.group_numbered[ self.number] = self # register it as indexed by group.number experiment.groups.append(self) # register it in the list of groups # self.color = experiment.groupname_to_color_dictionary[self.name] # self.marker = experiment.groupname_to_marker_dictionary[self.name] self.individual_numbered = { } # the individuals of the group indexed by their number self.mouse_numbered = { } # the individuals of the group indexed by mouseNumber self.individuals = [] # the list of all the individuals in the group for individualNumber, mouseNumber in enumerate( experiment.group_name_to_mouse_number_list_dictionary[ self.name]): M = Mouse() M.mouseNumber = mouseNumber # the true name of a mouse M.group = self # point to its parent M.individualNumber = individualNumber # legacy stuff M.add_days_and_register_with_group() # add mousedays