Пример #1
0
 def test_scramble(self):
     """Testing restore with ConfigurationSet"""
     (m, ps) = self._make_things()
     cs = IMP.ConfigurationSet(m)
     #self._test_base(ps[2], 2, ps[0])
     self._scramble(ps[0])
     self._scramble(ps[1])
     cs.load_configuration(-1)
     self._test_base(ps[0], 0, ps[1])
     self._test_base(ps[1], 1, ps[1])
Пример #2
0
 def __init__(self, m, p=1, running=False):
     """
     @param m:        The Model
     @param p:        The saving periodicity
     """
     IMP.OptimizerState.__init__(self)
     self._cs = IMP.ConfigurationSet(m)
     self._cs.set_log_level(IMP.SILENT)
     self._m = m
     self._periodicity = p
     self._count = 0
Пример #3
0
 def test_noop(self):
     """Testing no-ops with the ConfigurationSet"""
     (m, ps) = self._make_things()
     print("create")
     cs = IMP.ConfigurationSet(m)
     self._test_base(ps[0], 0, ps[1])
     self._test_base(ps[1], 1, ps[1])
     # no-op
     print("load")
     cs.load_configuration(-1)
     self._test_base(ps[0], 0, ps[1])
     self._test_base(ps[1], 1, ps[1])
Пример #4
0
 def test_diff(self):
     """Testing restore a known state with ConfigurationSet"""
     (m, ps) = self._make_things()
     cs = IMP.ConfigurationSet(m)
     #self._test_base(ps[2], 2, ps[0])
     self._set_attributes(ps[0], 0, ps[1])
     self._set_attributes(ps[1], 1, ps[0])
     cs.save_configuration()
     self._scramble(ps[0])
     self._scramble(ps[1])
     print("load 0")
     cs.load_configuration(0)
     print("testing")
     self._test_set(ps[0], 0, ps[1])
     print("testing")
     self._test_set(ps[1], 1, ps[0])
     print("load -1")
     cs.load_configuration(-1)
     self._test_base(ps[0], 0, ps[1])
     self._test_base(ps[1], 1, ps[1])
Пример #5
0
def get_configurations(
    model,
    restraints,
    excluded_volume_particles,
        optimized_particles):
    #cpc= IMP.container.ClosePairContainer(representation.get_particles(), 0, 10)
    # evr= IMP.container.PairRestraint(IMP.core.SoftSpherePairScore(k), cpc,
    #                                 "Excluded Volume")
    scale = .5
    mc = IMP.core.MonteCarlo(model)
    movers = []
    for p in optimized_particles:
        if IMP.core.RigidBody.get_is_setup(p):
            mover = IMP.core.RigidBodyMover(
                p, IMP.core.XYZR(p).get_radius() * scale,
                .2 * scale)
            movers.append(mover)
        else:
            mover = IMP.core.BallMover(
                [p], IMP.core.XYZR(p).get_radius() * scale)
            movers.append(mover)
    serial_mover = IMP.core.SerialMover(movers)
    mc.add_mover(serial_mover)
    scoring_function = IMP.core.IncrementalScoringFunction(
        optimized_particles, restraints)
    scoring_function.add_close_pair_score(IMP.core.SoftSpherePairScore(k), 0.0,
                                          excluded_volume_particles)

    configuration_set = IMP.ConfigurationSet(model)
    # must write our own sampler as IMP.core.MCCGSampler doesn't handle rigid
    # bodies
    for i in range(number_of_sampling_attempts):
        for p in optimized_particles:
            IMP.core.XYZ(p).set_coordinates(
                IMP.algebra.get_random_vector_in(bb))
        mc.optimize(number_of_mc_steps)
        if scoring_function.get_had_good_score():
            configuration_set.save()
    return configuration_set