def initialize_sampler(**kwargs):
    """Initialize a multistate sampler.

    Parameters
    ----------
    test : TestSystem object
    sampler_class : MultiStateSampler-derived class
    timestep : Quantity
        Simulation timestep
    state_update_steps : int
        Len of an iteration (in time steps).
        States are updated at each iteration.
    platform : string
        Valid values are: 'Reference', 'CPU', 'CUDA', 'OpenGL'
    reference_thermodynamic_state
    thermodynamic_states
    metadata
    pressure : Quantity or None
    checkpoint_iterations : int
        Stride for checkpoint print (in iterations)
    ms_container : pathlib.Path
        Path to multistate trajectory container


    Returns
    -------
    sampler

    """

    prms = SimpleNamespace(**kwargs)

    # initialize sampler
    smp = prms.sampler_class(number_of_iterations=0,
                             mcmc_moves=propagator(
                                 timestep=prms.timestep,
                                 n_steps=prms.state_update_steps,
                                 platform=prms.platform),
                             online_analysis_interval=None)

    # set sampler states and positions
    smp.from_testsystem(prms.test,
                        reference_state=prms.reference_thermodynamic_state,
                        thermodynamic_states=prms.thermodynamic_states,
                        pressure=prms.pressure,
                        stride=prms.checkpoint_iterations,
                        storage=prms.ms_container,
                        metadata=prms.metadata)

    smp.minimize()

    return smp
Example #2
0
def initialize_sampler():
    """Initialize a multistate sampler."""

    # initialize sampler
    smp = SAMSSampler(number_of_iterations=burnin_iterations,
                      mcmc_moves=propagator(timestep=timestep,
                                            n_steps=state_update_steps),
                      online_analysis_interval=None)

    # set sampler states and positions
    smp.from_testsystem(test,
                        temperatures=temperatures,
                        pressure=pressure,
                        stride=checkpoint_iterations,
                        storage=ms_container)
    return smp