Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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)
Beispiel #6
0
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)
Beispiel #7
0
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