Ejemplo n.º 1
0
def ufed_model(
    temp=300 * unit.kelvin,
    mass=50 * unit.dalton * (unit.nanometer / unit.radians)**2,
    Ks=1000 * unit.kilojoules_per_mole / unit.radians**2,
    Ts=1500 * unit.kelvin,
    limit=180 * unit.degrees,
    sigma=18 * unit.degrees,
    height=0.0,
    frequency=10,
    enforce_gridless=False,
):
    model = ufedmm.AlanineDipeptideModel()
    s_phi = ufedmm.DynamicalVariable('s_phi',
                                     -limit,
                                     limit,
                                     mass,
                                     Ts,
                                     model.phi,
                                     Ks,
                                     sigma=sigma)
    s_psi = ufedmm.DynamicalVariable('s_psi',
                                     -limit,
                                     limit,
                                     mass,
                                     Ts,
                                     model.psi,
                                     Ks,
                                     sigma=sigma)
    return model, ufedmm.UnifiedFreeEnergyDynamics(
        [s_phi, s_psi],
        temp,
        height,
        frequency,
        enforce_gridless=enforce_gridless)
Ejemplo n.º 2
0
def ufed_model():
    model = ufedmm.AlanineDipeptideModel()
    mass = 50*unit.dalton*(unit.nanometer/unit.radians)**2
    Ks = 1000*unit.kilojoules_per_mole/unit.radians**2
    Ts = 1500*unit.kelvin
    limit = 180*unit.degrees
    sigma = 18*unit.degrees
    height = 2.0*unit.kilojoules_per_mole
    frequency = 10
    phi = ufedmm.CollectiveVariable('phi', model.phi, -limit, limit, mass, Ks, Ts, sigma)
    psi = ufedmm.CollectiveVariable('psi', model.psi, -limit, limit, mass, Ks, Ts, sigma)
    return model, ufedmm.UnifiedFreeEnergyDynamics([phi, psi], 300*unit.kelvin, height, frequency)
Ejemplo n.º 3
0
temp = 300 * unit.kelvin
gamma = 10 / unit.picoseconds
dt = 2 * unit.femtoseconds
nsteps = 1000000
mass = 30 * unit.dalton * (unit.nanometer / unit.radians)**2
Ks = 1000 * unit.kilojoules_per_mole / unit.radians**2
Ts = 1500 * unit.kelvin
limit = 180 * unit.degrees
sigma = 18 * unit.degrees
height = 2.0 * unit.kilojoules_per_mole
deposition_period = 200
phi = ufedmm.CollectiveVariable('phi', model.phi, -limit, limit, mass, Ks, Ts,
                                sigma)
psi = ufedmm.CollectiveVariable('psi', model.psi, -limit, limit, mass, Ks, Ts,
                                sigma)
ufed = ufedmm.UnifiedFreeEnergyDynamics([phi, psi], temp, height,
                                        deposition_period)
ufedmm.serialize(ufed, 'ufed_object.yml')
integrator = ufedmm.GeodesicBAOABIntegrator(temp, gamma, dt)
integrator.setRandomNumberSeed(seed)
platform = openmm.Platform.getPlatformByName(args.platform)
simulation = ufed.simulation(model.topology, model.system, integrator,
                             platform)
ufed.set_positions(simulation, model.positions)
ufed.set_random_velocities(simulation, seed)
output = ufedmm.MultipleFiles(stdout, 'output.csv')
reporter = ufedmm.StateDataReporter(output,
                                    100,
                                    ufed.driving_force,
                                    step=True,
                                    speed=True)
simulation.reporters.append(reporter)