def calculate_average_rgtpase_activity(cell_index, storefile_path): rac_data = hardio.get_data(cell_index, None, 'rac_membrane_active', storefile_path) sum_rac_over_nodes = np.sum(rac_data, axis=1) avg_sum_rac_over_nodes = np.average(sum_rac_over_nodes) rho_data = hardio.get_data(cell_index, None, 'rho_membrane_active', storefile_path) sum_rho_over_nodes = np.sum(rho_data, axis=1) avg_sum_rho_over_nodes = np.average(sum_rho_over_nodes) return avg_sum_rac_over_nodes, avg_sum_rho_over_nodes
def graph_data_label_average_node_over_time(ax, a_cell, data_label): data = hardio.get_data(a_cell, None, data_label) average_data_over_nodes = np.average(data, axis=1) ax.plot(average_data_over_nodes, label=data_label) return ax
def graph_data_label_over_time(ax, a_cell, data_label): data = hardio.get_data(a_cell, None, data_label) sum_data_over_nodes = np.sum(data, axis=1) ax.plot(sum_data_over_nodes, label=data_label) return ax
def score_distance_travelled(cell_index, storefile_path): xs = hardio.get_data(cell_index, None, 'x', storefile_path) ys = hardio.get_data(cell_index, None, 'y', storefile_path) x_disps = xs[1:] - xs[:-1] y_disps = ys[1:] - ys[:-1] dists = np.sqrt(x_disps * x_disps + y_disps * y_disps) total_dist_magnitude = np.sum(dists) sum_x_disps = np.sum(x_disps) sum_y_disps = np.sum(y_disps) total_disp_magnitude = np.sqrt(sum_x_disps * sum_x_disps + sum_y_disps * sum_y_disps) return total_dist_magnitude, total_disp_magnitude
def get_ic_contact_data(cell_index, storefile_path, max_tstep=None): if max_tstep == None: ic_contact_data = hardio.get_data( cell_index, None, "intercellular_contact_factor_magnitudes", storefile_path) else: ic_contact_data = hardio.get_data_until_timestep( cell_index, max_tstep, "intercellular_contact_factor_magnitudes", storefile_path) return np.array(np.any(ic_contact_data > 1, axis=1), dtype=np.int64)
def calculate_migry_boundary_violation_score(num_nodes, num_timesteps, cell_index, storefile_path): migr_bdry_contact_data = hardio.get_data(cell_index, None, 'migr_bdry_contact', storefile_path) x = migr_bdry_contact_data - 1.0 y = x > 1e-10 y = np.array(y, dtype=np.int64) return np.sum(y) / (num_timesteps * num_nodes)
def get_event_tsteps(event_type, cell_index, storefile_path): relevant_data_per_tstep = None if event_type == "ic-contact": ic_mags = hardio.get_data(cell_index, None, "intercellular_contact_factor_magnitudes", storefile_path) relevant_data_per_tstep = np.any(ic_mags > 1, axis=1) elif event_type == "randomization": polarity_loss_occurred = hardio.get_data(cell_index, None, "polarity_loss_occurred", storefile_path) relevant_data_per_tstep = np.any(polarity_loss_occurred, axis=1) if relevant_data_per_tstep == None: raise StandardError("Unknown event type given!") event_tsteps = [ n for n in xrange(relevant_data_per_tstep.shape[0]) if relevant_data_per_tstep[n] == 1 ] return event_tsteps