示例#1
0
 def create_particles(self):
     x = Nuisance.setup_particle(IMP.Particle(self.m), 2.0)
     mu = Nuisance.setup_particle(IMP.Particle(self.m), 1.0)
     sigma = Scale.setup_particle(IMP.Particle(self.m), 2.0)
     nu = Scale.setup_particle(IMP.Particle(self.m), 3.0)
     all_nuis = [x, mu, sigma, nu]
     return all_nuis
示例#2
0
 def create_particles(self):
     x = Nuisance.setup_particle(IMP.Particle(self.m), 2.0)
     mu = Nuisance.setup_particle(IMP.Particle(self.m), 1.0)
     sigma = Scale.setup_particle(IMP.Particle(self.m), 2.0)
     nu = Scale.setup_particle(IMP.Particle(self.m), 3.0)
     all_nuis = [x, mu, sigma, nu]
     return all_nuis
示例#3
0
 def test_nuisance_down(self):
     n = IMP.Particle(self.m)
     Nuisance.setup_particle(n, 1.0)
     Nuisance(n).set_lower(0.5)
     Nuisance(n).set_upper(1.5)
     n.set_value(Nuisance.get_nuisance_key(), 0.1)
     self.rs.evaluate(False)
     self.assertAlmostEqual(n.get_value(Nuisance.get_nuisance_key()),
                            0.5, delta=1e-7)
     self.assertAlmostEqual(self.rs.values[0], 0.5)
示例#4
0
 def test_nuisance_down(self):
     n=IMP.kernel.Particle(self.m)
     Nuisance.setup_particle(n,1.0)
     Nuisance(n).set_lower(0.5)
     Nuisance(n).set_upper(1.5)
     n.set_value(Nuisance.get_nuisance_key(), 0.1)
     self.m.evaluate(False)
     self.assertAlmostEqual(n.get_value(Nuisance.get_nuisance_key()),
         0.5, delta=1e-7)
     self.assertAlmostEqual(self.rs.values[0],0.5)
示例#5
0
 def setUp(self):
     IMP.test.TestCase.setUp(self)
     #IMP.base.set_log_level(IMP.MEMORY)
     IMP.base.set_log_level(0)
     self.m = IMP.Model()
     self.sigma = Scale.setup_particle(IMP.Particle(self.m), 2.0)
     self.mu = Nuisance.setup_particle(IMP.Particle(self.m), 1.0)
     self.x = Nuisance.setup_particle(IMP.Particle(self.m), 2.0)
     self.locations=[self.x, self.mu]
     self.all = self.locations+[self.sigma]
     self.DA = IMP.DerivativeAccumulator()
示例#6
0
 def setUp(self):
     IMP.test.TestCase.setUp(self)
     # IMP.base.set_log_level(IMP.MEMORY)
     IMP.base.set_log_level(0)
     self.m = IMP.kernel.Model()
     self.sigma = Scale.setup_particle(IMP.kernel.Particle(self.m), 2.0)
     self.mu = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 1.0)
     self.x = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 2.0)
     self.locations = [self.x, self.mu]
     self.all = self.locations + [self.sigma]
     self.DA = IMP.DerivativeAccumulator()
 def test_nuisance_down(self):
     n=IMP.Particle(self.m)
     Nuisance.setup_particle(n,1.0)
     Nuisance(n).set_lower(0.5)
     Nuisance(n).set_upper(1.5)
     self.m.add_score_state(IMP.core.SingletonConstraint(
         IMP.isd.NuisanceRangeModifier(), None, n))
     n.set_value(Nuisance.get_nuisance_key(), 0.1)
     self.m.evaluate(False)
     self.assertAlmostEqual(n.get_value(Nuisance.get_nuisance_key()),
         0.5, delta=1e-7)
     self.assertAlmostEqual(self.rs.values[0],0.5)
示例#8
0
 def test_GetSet_Particle(self):
     "Test nuisance get and set (border check) with particles"
     nuisance = Nuisance.setup_particle(IMP.Particle(self.m), 50.0)
     lower = Nuisance.setup_particle(IMP.Particle(self.m), 10.0)
     upper = Nuisance.setup_particle(IMP.Particle(self.m), 80.0)
     nuisance.set_lower(lower)
     nuisance.set_upper(upper)
     for si in range(1, 100):
         nuisance.set_nuisance(si)
         if si < 10:
             est = 10
         elif si > 80:
             est = 80
         else:
             est = si
         self.assertAlmostEqual(nuisance.get_nuisance(), est, delta=1e-6)
示例#9
0
 def test_GetSet_Particle(self):
     "Test nuisance get and set (border check) with particles"
     nuisance = Nuisance.setup_particle(IMP.Particle(self.m), 50.0)
     lower = Nuisance.setup_particle(IMP.Particle(self.m), 10.0)
     upper = Nuisance.setup_particle(IMP.Particle(self.m), 80.0)
     nuisance.set_lower(lower)
     nuisance.set_upper(upper)
     for si in range(1, 100):
         nuisance.set_nuisance(si)
         if si < 10:
             est = 10
         elif si > 80:
             est = 80
         else:
             est = si
         self.assertAlmostEqual(nuisance.get_nuisance(), est, delta=1e-6)
示例#10
0
 def test_Setup2(self):
     si = Nuisance.setup_particle(IMP.Particle(self.m), 2.0)
     si.set_lower(0.1)
     si.set_upper(10)
     self.assertAlmostEqual(float(si.get_nuisance()),2.0, delta=1e-6)
     self.assertAlmostEqual(float(si.get_lower()),0.1, delta=1e-6)
     self.assertAlmostEqual(float(si.get_upper()),10.0, delta=1e-6)
示例#11
0
 def test_Setup2(self):
     "Test nuisance parameter setup with lower/upper"
     si = Nuisance.setup_particle(IMP.Particle(self.m), 2.0)
     si.set_lower(0.1)
     si.set_upper(10)
     self.assertAlmostEqual(float(si.get_nuisance()), 2.0, delta=1e-6)
     self.assertAlmostEqual(float(si.get_lower()), 0.1, delta=1e-6)
     self.assertAlmostEqual(float(si.get_upper()), 10.0, delta=1e-6)
示例#12
0
 def test_nuisance_get_has_lower(self):
     p = IMP.kernel.Particle(self.m)
     n = Nuisance.setup_particle(p, 1.0)
     self.assertFalse(n.get_has_lower())
     n.set_lower(0.5)
     self.assertTrue(n.get_has_lower())
     n.remove_lower()
     self.assertFalse(n.get_has_lower())
示例#13
0
 def test_Setup2(self):
     "Test nuisance parameter setup with lower/upper"
     si = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 2.0)
     si.set_lower(0.1)
     si.set_upper(10)
     self.assertAlmostEqual(float(si.get_nuisance()),2.0, delta=1e-6)
     self.assertAlmostEqual(float(si.get_lower()),0.1, delta=1e-6)
     self.assertAlmostEqual(float(si.get_upper()),10.0, delta=1e-6)
示例#14
0
 def test_nuisance_get_has_lower(self):
     p=IMP.kernel.Particle(self.m)
     n=Nuisance.setup_particle(p,1.0)
     self.assertFalse(n.get_has_lower())
     n.set_lower(0.5)
     self.assertTrue(n.get_has_lower())
     n.remove_lower()
     self.assertFalse(n.get_has_lower())
示例#15
0
 def test_NormalMover_MC_fails(self):
     "Test nuisance scorestate with MonteCarlo mover"
     nuis = Nuisance.setup_particle(IMP.Particle(self.m), 50.0)
     lower = Nuisance.setup_particle(IMP.Particle(self.m), 10.0)
     upper = Nuisance.setup_particle(IMP.Particle(self.m), 90.0)
     nuis.set_lower(1.0)
     nuis.set_lower(lower)
     nuis.set_upper(upper)
     nuis.set_upper(80.0)
     nuis.set_nuisance_is_optimized(True)
     nmv = IMP.core.NormalMover([nuis],
                                IMP.FloatKeys([IMP.FloatKey("nuisance")]), 10.0)
     mc = IMP.core.MonteCarlo(self.m)
     mc.set_return_best(False)
     mc.set_kt(1.0)
     mc.add_mover(nmv)
     for i in range(100):
         mc.optimize(10)
         self.assertTrue(nuis.get_nuisance() >= nuis.get_lower()
                         and nuis.get_nuisance() <= nuis.get_upper())
示例#16
0
 def test_NormalMover_MC_ok(self):
     "Test nuisance scorestate with MonteCarlo mover"
     nuis = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 50.0)
     lower = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 10.0)
     upper = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 90.0)
     nuis.set_nuisance_is_optimized(True)
     nuis.set_lower(1.0)
     nuis.set_lower(lower)
     nuis.set_upper(upper)
     nuis.set_upper(80.0)
     nmv = IMP.core.NormalMover([nuis],
                                IMP.FloatKeys([IMP.FloatKey("nuisance")]), 10.0)
     mc = IMP.core.MonteCarlo(self.m)
     mc.set_return_best(False)
     mc.set_kt(1.0)
     mc.add_mover(nmv)
     for i in range(100):
         mc.optimize(10)
         self.assertTrue(nuis.get_nuisance() >= nuis.get_lower()
                         and nuis.get_nuisance() <= nuis.get_upper())
示例#17
0
 def test_GetSet2(self):
     "Test nuisance get and set (border check)"
     nuisance = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 50.0)
     nuisance.set_lower(10)
     nuisance.set_upper(80)
     for si in range(1, 100):
         nuisance.set_nuisance(si)
         if si < 10:
             est = 10
         elif si > 80:
             est = 80
         else:
             est = si
         self.assertAlmostEqual(nuisance.get_nuisance(), est, delta=1e-6)
示例#18
0
 def test_GetSet2(self):
     "tests get and set (border check)"
     nuisance = Nuisance.setup_particle(IMP.Particle(self.m), 50.0)
     nuisance.set_lower(10)
     nuisance.set_upper(80)
     for si in range(1,100):
         nuisance.set_nuisance(si)
         if si < 10:
             est = 10
         elif si > 80:
             est = 80
         else:
             est = si
         self.assertAlmostEqual(nuisance.get_nuisance(), est, delta=1e-6)
示例#19
0
文件: test_Scale.py 项目: drussel/imp
 def test_Nuisance(self):
     "Test that a Nuisance can be converted to a Scale"
     n=Nuisance.setup_particle(IMP.Particle(self.m),3.0)
     n.set_lower(0)
     self.assertTrue(Scale.particle_is_instance(n.get_particle()))
示例#20
0
 def test_Nuisance(self):
     "test that a Nuisance can be converted to a Switching"
     n=Nuisance.setup_particle(IMP.Particle(self.m),0.5)
     n.set_lower(0)
     n.set_upper(1)
     self.assertTrue(Switching.particle_is_instance(n.get_particle()))
示例#21
0
 def test_Setup1(self):
     si = Nuisance.setup_particle(IMP.Particle(self.m))
     self.assertAlmostEqual(float(si.get_nuisance()),1.0, delta=1e-6)
     self.assertTrue(math.isinf(-si.get_lower()))
     self.assertTrue(math.isinf(si.get_upper()))
示例#22
0
 def test_Setup1(self):
     "Test nuisance parameter setup without lower/upper"
     si = Nuisance.setup_particle(IMP.Particle(self.m))
     self.assertAlmostEqual(float(si.get_nuisance()), 1.0, delta=1e-6)
     self.assertEqual(si.get_lower(), -1e3000)  # -1e3000 ~= -inf
     self.assertEqual(si.get_upper(), 1e3000)  # 1e3000 ~= inf
示例#23
0
 def setUp(self):
     IMP.test.TestCase.setUp(self)
     # IMP.set_log_level(IMP.MEMORY)
     IMP.set_log_level(0)
     self.m = IMP.Model()
     self.sigma = Nuisance.setup_particle(IMP.Particle(self.m), 1.0)
示例#24
0
 def test_Setup1(self):
     "Test nuisance parameter setup without lower/upper"
     si = Nuisance.setup_particle(IMP.Particle(self.m))
     self.assertAlmostEqual(float(si.get_nuisance()), 1.0, delta=1e-6)
     self.assertEqual(si.get_lower(), -1e3000)  # -1e3000 ~= -inf
     self.assertEqual(si.get_upper(), 1e3000)  # 1e3000 ~= inf
示例#25
0
文件: test_Scale.py 项目: sirusb/imp
 def test_Nuisance(self):
     "Test that a Nuisance can be converted to a Scale"
     n = Nuisance.setup_particle(IMP.kernel.Particle(self.m), 3.0)
     n.set_lower(0)
     self.assertTrue(Scale.get_is_setup(n.get_particle()))
示例#26
0
 def test_Nuisance(self):
     "Test that a Nuisance can be converted to a Switching"
     n = Nuisance.setup_particle(IMP.Particle(self.m), 0.5)
     n.set_lower(0)
     n.set_upper(1)
     self.assertTrue(Switching.get_is_setup(n.get_particle()))
示例#27
0
 def setUp(self):
     IMP.test.TestCase.setUp(self)
     # IMP.set_log_level(IMP.MEMORY)
     IMP.set_log_level(0)
     self.m = IMP.Model()
     self.sigma = Nuisance.setup_particle(IMP.Particle(self.m), 1.0)