def get_cell_groups(self, pairs): """Given a list of cell pairs, return a dict indicating which cells are members of each user selected cell class. This internally calls cell_class.classify_cells """ ccg = copy.deepcopy(self.cell_class_groups) if self.cell_groups is None: self.cell_classes = [] for group in self.params.children()[1:]: if group.value() is True: self.cell_classes.extend(ccg[group.name()]) self.cell_classes = self.layer_call(self.cell_classes) self.cell_classes = [CellClass(**c) for c in self.cell_classes] self.cell_groups = classify_cells(self.cell_classes, pairs=pairs) return self.cell_groups, self.cell_classes
(CellClass(target_layer='2', pyramidal=True), 'L2', (247, 118, 118)), (CellClass(target_layer='3', pyramidal=True), 'L3', (246, 197, 97)), (CellClass(target_layer='4', pyramidal=True), 'L4', (100, 202, 103)), (CellClass(target_layer='5', pyramidal=True), 'L5', (107, 155, 250)), (CellClass(target_layer='6', pyramidal=True), 'L6', (153, 51, 255)), ] session = db.session() max_distance = None#100e-6 # analyze connectivity <100 um for mouse mouse_pairs = query_pairs(acsf="2mM Ca & Mg", age=(40, None), species='mouse', distance=(None, max_distance), session=session).all() mouse_groups = classify_cells([c[0] for c in mouse_classes], pairs=mouse_pairs) mouse_results = measure_connectivity(mouse_pairs, mouse_groups) # analyze connectivity < 100 um for human human_pairs = query_pairs(species='human', distance=(None, max_distance), session=session).all() human_groups = classify_cells([c[0] for c in human_classes], pairs=human_pairs) human_results = measure_connectivity(human_pairs, human_groups) csv_file = open("manuscript_fig_4.csv", 'wb') # plot connectivity < 100 um for conn_plot, results, cell_classes, fig_letter in [ (mouse_conn_plot, mouse_results, mouse_classes, 'A'), (human_conn_plot, human_results, human_classes, 'C')]: # set axis labels