Example #1
0
        "IC_dispFact_0.65_dm_1", "IC_dispFact_0.65_dm_2",
        "IC_dispFact_0.65_dm_3", "IC_dispFact_0.65_dm_4",
        "IC_dispFact_0.65_dm_5", "IC_dispFact_0.65_dm_6",
        "IC_dispFact_0.65_dm_7", "IC_dispFact_0.65_dm_8",
        "IC_dispFact_0.65_dm_9", "IC_dispFact_0.65_dm_10"
    ]

    distances = {}
    for folder in folders:
        raw_data, min_len = load_single_proc_data(options.sim_type,
                                                  os.path.join(folder, "info"))

        energy_increments = process_energy_differences(raw_data)
        mc = MetropolisMCSimulator(energy_increments)

        who_is_accepted = mc.who_is_accepted(options.temperature)

        coords = numpy.reshape(raw_data["coords_after"],
                               (len(raw_data["coords_after"]),
                                len(raw_data["coords_after"][0]) / 3, 3))
        distances[folder] = calc_distances(coords, range(
            len(coords)))  #who_is_accepted[:150])

    sns.set_style("whitegrid")
    row_len = 4
    col_len = 3
    folders.extend(["IC_dispFact_0.65_dm_10", "IC_dispFact_0.65_dm_10"])
    f, axes = prepare_subplots(row_len, col_len)
    for i, folder in enumerate(folders):
        ax = axes[i / row_len, i % row_len]
        ax.set_title(folder)
Example #2
0
                acceptances[T][v1, v2] = mc.perform_simulation(
                    min(200, len(energy_increments)), 40, T)
                avg_energy[T][v1, v2] = numpy.mean(energy_increments)
                std_energy[T][v1, v2] = numpy.std(energy_increments)
                avg_rmsd[T][v1, v2] = numpy.mean(rmsd_increments)
                std_rmsd[T][v1, v2] = numpy.std(rmsd_increments)
                p1_keys.append(v1)
                p2_keys.append(v2)

                # Rmsf calculations
                rmsf_coords = numpy.reshape(
                    raw_data["coords_after"],
                    (len(raw_data["coords_after"]),
                     len(raw_data["coords_after"][0]) / 3, 3))
                rmsf[T][v1,
                        v2] = coords_rmsf(rmsf_coords[mc.who_is_accepted(T)])

        def default_to_regular(d):
            if isinstance(d, defaultdict):
                d = {k: default_to_regular(v) for k, v in d.iteritems()}
            return d

        pickle.dump(
            (default_to_regular(acceptances), default_to_regular(avg_energy),
             default_to_regular(std_energy), default_to_regular(avg_rmsd),
             default_to_regular(std_rmsd), rmsf, p1, p1_keys, p2, p2_keys),
            open(os.path.join(results_folder, "data"), "w"))
    else:
        (acceptances, avg_energy, std_energy, avg_rmsd, std_rmsd, rmsf, p1,
         p1_keys, p2, p2_keys) = pickle.load(open(options.data))