Пример #1
0
def run_afe():
    system = System(prefix='systems/dov-wt')

    afe = Simulation()
    afe.system = system
    afe.engine = 'namd'
    afe.cores = 2

    afe.numminsteps = 10
    afe.numsteps = 10

    afe.add_input_file(Afe.step0, is_executable_argument=True)
    afe.add_input_file('inputs/restraint.in', is_executable_argument=False)

    afe.add_ensemble('replica', range(2))
    afe.add_ensemble('lambdawindow', [0.0, 1.0])

    afe.cutoff = 12.0
    afe.switchdist = 10.0
    afe.pairlistdist = 13.5

    afe.k1 = 10
    afe.k2 = 500

    ht = Runner(comm_server=('two.radical-project.org', 33146))
    ht.add_protocol(afe)
    ht.run(walltime=1000)
Пример #2
0
def run_rfe():
    pdb = AbFile('systems/ptp1b-l1-l2-complex.pdb', tag='pdb')
    top = AbFile('systems/ptp1b-l1-l2-complex.top', tag='topology')
    tag = AbFile('systems/ptp1b-l1-l2-tags.pdb', tag='alchemicaltags')
    cor = AbFile('systems/ptp1b-l1-l2-complex.inpcrd', tag='coordinate')
    system = System(name='ptp1b-l1-l2', files=[pdb, top, tag, cor])

    p = Protocol(clone_settings=False)

    for step, numsteps in zip(Rfe.steps, [5000, 50000]):

        rfe = Simulation()
        rfe.system = system
        rfe.engine = 'namd_mpi'
        rfe.cores = 32

        rfe.cutoff = 12.0
        rfe.switchdist = 10.0
        rfe.pairlistdist = 13.5
        rfe.numminsteps = 5000
        rfe.numsteps = numsteps

        rfe.add_input_file(step, is_executable_argument=True)
        
        rfe.add_ensemble('replica', range(1))
        # to increase the number of EnTK tasks: change the lambdawindow parameter
        rfe.add_ensemble('lambdawindow', [1.]) 

        p.append(rfe)

    ht = Runner('bw_aprun', comm_server=('two.radical-project.org', 33158))
    ht.add_protocol(p)
    ht.run(walltime=480, queue='high')
def test_simulation_component():

    s0 = Simulation(name='minimizer')
    s0.engine = 'titan_orte'
    s0.processes = 1
    s0.threads_per_process = 16
    s0.add_ensemble('replica', range(5))
    pdb = AbFile('systems/ptp1b-l1-l2-complex.pdb', tag='pdb')
    top = AbFile('systems/ptp1b-l1-l2-complex.top', tag='topology')
    tag = AbFile('systems/ptp1b-l1-l2-tags.pdb', tag='alchemicaltags')
    cor = AbFile('systems/ptp1b-l1-l2-complex.inpcrd', tag='coordinate')
    system = System(name='ptp1b-l1-l2', files=[pdb, top, tag, cor])
    s0.system = system

    assert s0.name == 'minimizer'
    assert s0.engine == 'titan_orte'

    assert s0.system.name == 'ptp1b-l1-l2'
    assert s0._processes == 1
    assert s0._threads_per_process == 16
    len_ensemble = reduce(mul, (len(v) for v in s0._ensembles.itervalues()), 1)
    assert s0.cpus == s0.threads_per_process * s0._processes * len_ensemble
    assert s0.shared_data == [
        'systems/ptp1b-l1-l2-complex.pdb', 'systems/ptp1b-l1-l2-complex.top',
        'systems/ptp1b-l1-l2-tags.pdb', 'systems/ptp1b-l1-l2-complex.inpcrd'
    ]
    s1 = Simulation(name='equilibrate')
Пример #4
0
def run_rfe(s, steps, proc):
    pdb = AbFile('{}.pdb'.format(s), tag='pdb')
    top = AbFile('{}.prmtop'.format(s), tag='topology')
    tag = AbFile('{}_tags.pdb'.format(s), tag='alchemicaltags')
    cor = AbFile('{}.inpcrd'.format(s), tag='coordinate')
    system = System(name='1z3f-intercalator-complex',
                    files=[pdb, top, tag, cor])

    p = Protocol(RFE.minimize(), RFE.simulation(), RFE.simulation(),
                 RFE.simulation(), RFE.simulation(), RFE.simulation(),
                 RFE.simulation(), DataAggregate(extension=".alch"))

    step_counts = [1000, 500, 500, 1000, 1000, 10000, steps]

    for rfe, numsteps in zip(p.simulations(), step_counts):
        rfe.system = system
        rfe.engine = 'namd'
        rfe.processes = proc
        rfe.threads_per_process = 1

        rfe.cutoff = 10.0
        rfe.switchdist = 8.0
        rfe.pairlistdist = 11.5
        rfe.numsteps = numsteps
        rfe.watermodel = 'tip3'

        rfe.add_ensemble('replica', range(5))
        rfe.add_ensemble('lambdawindow', [
            0.0, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1.0
        ])

    ht = Runner('bw_aprun', comm_server=('two.radical-project.org', 33227))
    ht.add_protocol(p)
    ht.run(walltime=1440, queue='high')
Пример #5
0
def run_rfe():
    pdb = AbFile('systems/ptp1b-l1-l2-complex.pdb', tag='pdb')
    top = AbFile('systems/ptp1b-l1-l2-complex.top', tag='topology')
    tag = AbFile('systems/ptp1b-l1-l2-tags.pdb', tag='alchemicaltags')
    cor = AbFile('systems/ptp1b-l1-l2-complex.inpcrd', tag='coordinate')
    system = System(name='ptp1b-l1-l2', files=[pdb, top, tag, cor])

    p = RFE()
    p.append(DataAggregate(extension=".alch"))

    # Protocol `p` is made up of 3 steps:
    # minimize -> simulate -> aggregate data

    for sim, numsteps in zip(p.simulations(), [5000, 2000000]):

        sim.system = system
        sim.engine = 'namd'
        sim.processes = 32
        sim.threads_per_process = 1

        sim.cutoff = 12.0
        sim.switchdist = 10.0
        sim.pairlistdist = 13.5
        sim.watermodel = "tip3"
        sim.numsteps = numsteps

        sim.add_ensemble('replica', range(5))
        sim.add_ensemble('lambdawindow', [1.0, 0.95, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 
            0.3, 0.2, 0.1, 0.05, 0.0])


    ht = Runner('bw_aprun', comm_server=('two.radical-project.org', 33048))
    ht.add_protocol(p)
    ht.run(walltime=720, queue='low')
Пример #6
0
def test_replica_systems_simulation():

    s1 = System(prefix='nilotinib-e255k')
    s2 = System(prefix='nilotinib-e255v')

    sim = EnsembleSimulation()
    sim.config = 'simple.conf'
    sim.engine = engine

    sim.add_ensemble('system', [s1, s2])
    sim.add_ensemble('replica', range(2))

    ht = Runner(resource=resource)
    ht.rabbitmq_config(**rabbit_mq)
    ht.add_protocol(sim)

    ht.run(**run_conf)
Пример #7
0
def test_protocol():

    s1 = System(prefix='nilotinib-e255k')
    s2 = System(prefix='nilotinib-e255v')

    sim1 = EnsembleSimulation()
    sim1.config = 'protocol_1.conf'
    sim1.engine = engine
    sim1.cores = 2

    sim1.add_ensemble('system', [s1, s2])
    sim1.add_ensemble('replica', range(2))

    sim1.add_placeholder('numsteps', 10)
    sim1.add_placeholder('cutoff', 10.0)
    sim1.add_placeholder('switchingdist', 8.0)
    sim1.add_placeholder('pairlistdist', 11.5)
    sim1.add_placeholder('water_model', 'tip4')

    sim2 = EnsembleSimulation()
    sim2.config = 'protocol_2.conf'
    sim2.engine = engine
    sim2.cores = 2

    sim2.add_placeholder('numsteps', 10)
    sim2.add_placeholder('cutoff', 10.0)
    sim2.add_placeholder('switchingdist', 8.0)
    sim2.add_placeholder('pairlistdist', 11.5)
    sim2.add_placeholder('water_model', 'tip4')

    p = Protocol()
    p.add_simulation(sim1)
    p.add_simulation(sim2)

    ht = Runner(resource=resource)
    ht.rabbitmq_config(**rabbit_mq)
    ht.add_protocol(p)

    ht.run(**run_conf)
Пример #8
0
def test_single_simulation():

    system = System(prefix='nilotinib-e255k')

    sim = BaseSimulation()
    sim.system = system
    sim.config = 'simple.conf'
    sim.engine = engine

    ht = Runner(resource=resource)
    ht.rabbitmq_config(**rabbit_mq)
    ht.add_protocol(sim)

    ht.run(**run_conf)
Пример #9
0
def test_configurable_simulation():
    s1 = System(prefix='nilotinib-e255k')

    sim = BaseSimulation()
    sim.system = s1
    sim.config = 'configurable.conf'
    sim.engine = engine

    sim.add_placeholder('numsteps', 1000)
    sim.add_placeholder('cutoff', 10.0)
    sim.add_placeholder('switchingdist', 8.0)
    sim.add_placeholder('pairlistdist', 11.5)
    sim.add_placeholder('water_model', 'tip4')

    ht = Runner(resource=resource)
    ht.rabbitmq_config(**rabbit_mq)
    ht.add_protocol(sim)

    ht.run(**run_conf)
def run_rfe():
    pdb = AbFile('complex.pdb', tag='pdb')
    top = AbFile('complex.prmtop', tag='topology')
    tag = AbFile('tags.pdb', tag='alchemicaltags')
    cor = AbFile('complex.inpcrd', tag='coordinate')
    system = System(name='1z3f-l08-l11', files=[pdb, top, tag, cor])

    p = Protocol(clone_settings=False)

    min, run = Rfe.steps

    for step, numsteps in zip([min, run, run, run, run, run],
                              [100, 500, 1000, 1000, 1000, 10000, 8000000]):

        rfe = Simulation()
        rfe.system = system
        rfe.engine = 'namd'
        rfe.processes = 8
        rfe.threads_per_process = 16

        rfe.cutoff = 10.0
        rfe.switchdist = 8.0
        rfe.pairlistdist = 11.5
        rfe.numsteps = numsteps
        rfe.watermodel = 'tip4'

        rfe.add_input_file(step, is_executable_argument=True)

        rfe.add_ensemble('replica', range(3))
        # to increase the number of EnTK tasks: change the lambdawindow parameter
        rfe.add_ensemble('lambdawindow', np.linspace(0, 1, 13))

        p.append(rfe)

    ht = Runner('titan_aprun')
    ht.add_protocol(p)
    ht.run(walltime=720)
Пример #11
0
from htbac import Runner, Protocol, Simulation, System, AbFile
from htbac.analysis import GradientBoostClassifier

# Step 0: load system files.

coord = AbFile('systems/nilotinib-e255k-complex.inpcrd', tag='coordinate')
top = AbFile('systems/nilotinib-e255k-complex.top', tag='topology')
system = System(name='nilotinib-e255k', files=[top, coord])

# Step 1: create a Simulation

sim = Simulation()

sim.engine = 'openmm'
sim.system = system
sim.processes = 1
sim.threads_per_process = 32

sim.numsteps = 1000

sim.add_input_file('inputs/benchmark.py', is_executable_argument=True)

# Step 2: Hyperparameter optimization using HyperSpace Gradient Boost Classifier

# analysis = GradientBoostClassifier()
# analysis.hyperparameters = 4
# analysis.data_path  = '/pylon5/mc3bggp/dakka/hyperspace_data/constellation/constellation/data/fashion'
# analysis.optimization_file = '/home/jdakka/hyperspace/constellation/constellation/gbm/space4/optimize.py'
# analysis.results_dir = '/pylon5/mc3bggp/dakka/hyperspace_data/results_space_4'

ht = Runner('xsede.bridges_gpu',
from htbac import Runner, Protocol, Simulation, System, AbFile, DataAggregate, TiesAnalysis, AdaptiveQuadrature

# define system
pdb = AbFile('systems/54353507-54150798/54353507-54150798-complex.pdb',
             tag='pdb')
top = AbFile('systems/54353507-54150798/54353507-54150798-complex.top',
             tag='topology')
tag = AbFile('systems/54353507-54150798/54353507-54150798-tags.pdb',
             tag='alchemicaltags')
cor = AbFile('systems/54353507-54150798/54353507-54150798-complex.crd',
             tag='coordinate')
cons = AbFile('systems/54353507-54150798/54353507-54150798-cons.pdb',
              tag='constraint')
fep = AbFile('systems/54353507-54150798/54353507-54150798-fep.tcl',
             tag='source')
system = System(name='54353507-54150798',
                files=[pdb, top, tag, cor, cons, fep])

# Create simulation steps for relative free energy protocol

# define protocol:
p0 = Protocol()

# define step 0:
s0 = Simulation(name='minimizer')
s0.engine = 'namd'
s0.processes = 32
s0.threads_per_process = 1
s0.add_ensemble('replica', range(5))
s0.add_ensemble('lambdawindow', [1.00, 0.50, 0.00])
s0.add_input_file("default_configs/rfe/54353507-54150798/eq0.conf",
                  is_executable_argument=True)
Пример #13
0
# Import HTBAC modules

from htbac import Protocol, Simulation, System

# Import built in simulation protocol configurations
# like relative free energy calculations, or esmacs

from htbac.protocols import Rfe, Afe, Esmacs

# Step 0: load system files.

system = System(prefix='systems/ptp1b-l1-l2')

# Step 1: create the container protocol

p = Protocol()

# Step 2: create a simulation that minimizes and equilibrate the system

s0 = Simulation(name='minimizer')
s0.system = system

Пример #14
0
        name = "{}-{}".format(s, r)
        folder = "{}/{}-{}/build/".format(prefix, s, r)
        rest_folder = "{}/{}-{}/restraints/".format(prefix, s, r)

        pdb = AbFile(folder + "complex.pdb", tag='pdb').with_prefix(name)
        top = AbFile(folder + "complex.prmtop",
                     tag='topology').with_prefix(name)
        coord = AbFile(folder + "complex.rst7",
                       tag='coordinate').with_prefix(name)
        rest = AbFile(rest_folder + "restraint_1.0.in",
                      tag='restraint',
                      needs_copying=True).with_prefix(name)
        tags = AbFile(folder + "tags.pdb",
                      tag='alchemicaltags').with_prefix(name).with_prefix(name)

        systems.append(System(name, files=[pdb, top, coord, rest, tags]))

sim = Simulation()
sim.engine = 'dummy'  # This *forces* the core count to 1, non mpi.

sim.cutoff = 12.0
sim.pairlistdist = 13.5
sim.switchdist = 10.0
sim.numsteps = Afe.numsteps[0]

sim.add_ensemble('replica', values=range(5))
sim.add_ensemble('system', values=systems)
sim.add_ensemble(
    'lambdawindow',
    values=[0.0, 0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
Пример #15
0
from htbac import Runner, Protocol, Simulation, System, AbFile, DataAggregate
from htbac.protocols import RFE, ESMACS  # Allows users to utilize pre-defined protocols

# define system
pdb = AbFile('systems/ptp1b-l1-l2-complex.pdb', tag='pdb')
top = AbFile('systems/ptp1b-l1-l2-complex.top', tag='topology')
tag = AbFile('systems/ptp1b-l1-l2-tags.pdb', tag='alchemicaltags')
cor = AbFile('systems/ptp1b-l1-l2-complex.inpcrd', tag='coordinate')
system = System(name='ptp1b-l1-l2', files=[pdb, top, tag, cor])

# Create simulation steps for relative free energy protocol

# define protocol:
p = Protocol()

# define step 0:
s0 = Simulation(name='minimizer')
s0.engine = 'namd'
s0.processes = 1
s0.threads_per_process = 16
s0.add_ensemble('replica', range(5))
s0.add_ensemble('lambdawindow', [1.0, 0.5, 0.0])
s0.add_input_file("default_configs/rfe/ties-0.conf",
                  is_executable_argument=True)
s0.system = system

s0.cutoff = 12.0
s0.switchdist = 10.0
s0.pairlistdist = 13.5
s0.numsteps = 5000
s0.watermodel = "tip3"
from htbac import Runner, Protocol, Simulation, System, AbFile, DataAggregate

# define system
pdb = AbFile('systems/esmacs-pde2-4d08-l1/esmacs-pde2-4d08-l1-complex.pdb',
             tag='pdb')
top = AbFile('systems/esmacs-pde2-4d08-l1/esmacs-pde2-4d08-l1-complex.top',
             tag='topology')
cons = AbFile('systems/esmacs-pde2-4d08-l1/esmacs-pde2-4d08-l1-f4.pdb',
              tag='constraint')
cor = AbFile('systems/esmacs-pde2-4d08-l1/esmacs-pde2-4d08-l1-complex.crd',
             tag='coordinate')
fep = AbFile('systems/esmacs-pde2-4d08-l1/esmacs-pde2-4d08-l1-fep.tcl',
             tag='source')
system = System(name='esmacs-pde2-4d08-l1', files=[pdb, top, cons, cor, fep])

# Create simulation steps for relative free energy protocol

# define protocol:
p = Protocol()

# define step 0:
s0 = Simulation(name='stage-0')
s0.engine = 'namd'
s0.processes = 32
s0.threads_per_process = 1
s0.add_ensemble('replica', range(25))
s0.add_input_file(
    "default_configs/esmacs/esmacs-pde2-4d08-l1/esmacs-stage-0.conf",
    is_executable_argument=True)
s0.system = system