Esempio n. 1
0
    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