Пример #1
0
def run_short_ci(model_input, cuda_device_index, long_check=True):
    start_dir = os.getcwd()
    model, xml_path = prepare.prepare(model_input, force_overwrite=False)

    model_dir = os.path.dirname(xml_path)
    model.anchor_rootdir = os.path.abspath(model_dir)
    check.check_pre_simulation_all(model)
    run.run(model,
            "any",
            min_b_surface_simulation_length=1000,
            num_rev_launches=10,
            cuda_device_index=cuda_device_index,
            save_state_file=True)
    data_sample_list = converge.converge(model, k_on_state=0)
    rmsd_convergence_results = common_converge.calc_RMSD_conv_amount(
        model, data_sample_list)
    transition_minima, transition_details, transition_times \
        = common_converge.calc_transition_steps(
        model, data_sample_list[-1])
    converge.print_convergence_results(
        model,
        rmsd_convergence_results,
        cutoff=0.1,
        transition_results=transition_details,
        transition_time_results=transition_times,
        minimum_anchor_transitions=10,
        bd_transition_counts=data_sample_list[-1].bd_transition_counts)
    check.check_post_simulation_all(model, long_check=long_check)
    analysis = analyze.analyze(model)
    analysis.print_results()
    os.chdir(start_dir)
    return
Пример #2
0
def test_converge_default_bd_only_mmvt(host_guest_mmvt_model):
    model = host_guest_mmvt_model
    bd_directory = os.path.join(host_guest_mmvt_model.anchor_rootdir,
                                "b_surface")
    runner_browndye2.run_bd_top(model.browndye_settings.browndye_bin_dir,
                                bd_directory,
                                force_overwrite=True)
    runner_browndye2.run_nam_simulation(
        model.browndye_settings.browndye_bin_dir, bd_directory,
        model.k_on_info.bd_output_glob)
    cutoff = 0.1
    minimum_anchor_transitions = 100
    image_directory = common_analyze.make_image_directory(
        host_guest_mmvt_model, None)
    k_on_state = 0
    data_sample_list = converge.converge(host_guest_mmvt_model,
                                         k_on_state,
                                         image_directory=image_directory,
                                         verbose=True)
    rmsd_convergence_results = common_converge.calc_RMSD_conv_amount(
        host_guest_mmvt_model, data_sample_list)
    transition_minima, transition_prob_results, transition_time_results \
        = common_converge.calc_transition_steps(
            host_guest_mmvt_model, data_sample_list[-1])
    bd_transition_counts = data_sample_list[-1].bd_transition_counts
    converge.print_convergence_results(host_guest_mmvt_model,
                                       rmsd_convergence_results, cutoff,
                                       transition_prob_results,
                                       transition_time_results,
                                       minimum_anchor_transitions,
                                       bd_transition_counts)
    return
Пример #3
0
def test_converge_incomplete_md_only_mmvt(toy_mmvt_model):
    num_steps = 100000
    toy_mmvt_model.openmm_settings.cuda_platform_settings = None
    toy_mmvt_model.openmm_settings.reference_platform = True
    toy_mmvt_model.openmm_settings.langevin_integrator.friction_coefficient \
        = 100.0
    toy_mmvt_model.calculation_settings.num_production_steps = num_steps
    toy_mmvt_model.calculation_settings.energy_reporter_interval = num_steps
    run.run(toy_mmvt_model, "any", force_overwrite=True)
    runner_openmm.cleanse_anchor_outputs(toy_mmvt_model,
                                         toy_mmvt_model.anchors[3])

    cutoff = 0.1
    minimum_anchor_transitions = 100
    image_directory = common_analyze.make_image_directory(toy_mmvt_model, None)
    k_on_state = None
    data_sample_list = converge.converge(toy_mmvt_model,
                                         k_on_state,
                                         image_directory=image_directory,
                                         verbose=True)
    rmsd_convergence_results = common_converge.calc_RMSD_conv_amount(
        toy_mmvt_model, data_sample_list)
    transition_minima, transition_prob_results, transition_time_results \
        = common_converge.calc_transition_steps(
            toy_mmvt_model, data_sample_list[-1])
    bd_transition_counts = data_sample_list[-1].bd_transition_counts
    converge.print_convergence_results(toy_mmvt_model,
                                       rmsd_convergence_results, cutoff,
                                       transition_prob_results,
                                       transition_time_results,
                                       minimum_anchor_transitions,
                                       bd_transition_counts)
    return
Пример #4
0
def test_converge_default_md_only_elber(toy_elber_model):
    num_steps = 100000
    fwd_rev_interval = 100
    toy_elber_model.openmm_settings.cuda_platform_settings = None
    toy_elber_model.openmm_settings.reference_platform = True
    toy_elber_model.openmm_settings.langevin_integrator.friction_coefficient \
        = 100.0
    toy_elber_model.calculation_settings.num_umbrella_stage_steps = num_steps
    toy_elber_model.calculation_settings.fwd_rev_interval = fwd_rev_interval
    run.run(toy_elber_model, "any")

    cutoff = 0.1
    minimum_anchor_transitions = 100
    image_directory = common_analyze.make_image_directory(
        toy_elber_model, None)
    k_on_state = None
    data_sample_list = converge.converge(toy_elber_model,
                                         k_on_state,
                                         image_directory=image_directory,
                                         verbose=True)
    rmsd_convergence_results = common_converge.calc_RMSD_conv_amount(
        toy_elber_model, data_sample_list)
    transition_minima, transition_prob_results, transition_time_results \
        = common_converge.calc_transition_steps(
            toy_elber_model, data_sample_list[-1])
    bd_transition_counts = data_sample_list[-1].bd_transition_counts
    converge.print_convergence_results(toy_elber_model,
                                       rmsd_convergence_results, cutoff,
                                       transition_prob_results,
                                       transition_time_results,
                                       minimum_anchor_transitions,
                                       bd_transition_counts)
    return