def test_min_score(self):
     """Test the MinimumPairScore"""
     m= IMP.Model()
     s= []
     for i in range(0,5):
         s.append(IMP._ConstPairScore(i))
     ps= IMP.container.MinimumPairScore(s, 3)
     p= self.create_particle_pair(m)
     ps.set_was_used(True)
     v= ps.evaluate(p, None)
     self.assertEqual(v, 3)
 def test_evaluate(self):
     """Check TypedPairScore::evaluate()"""
     ps = IMP.core.TypedPairScore(typekey)
     cps = IMP._ConstPairScore(5)
     ps.set_pair_score(cps, 0, 1)
     # Keep Python reference to the model so that the particles
     # aren't destroyed
     m = IMP.Model()
     pa, pb = self._make_particles(m, (0, 1))
     da = IMP.DerivativeAccumulator()
     # The ordering of the particles should not matter:
     pab=(pa, pb)
     pba=(pb, pa)
     self.assertEqual(ps.evaluate(pab, da), 5.0)
     self.assertEqual(ps.evaluate(pba, da), 5.0)
Пример #3
0
 def test_evaluate(self):
     """Check TypedPairScore::evaluate()"""
     ps = IMP.core.TypedPairScore(typekey)
     cps = IMP._ConstPairScore(5)
     ps.set_pair_score(cps, 0, 1)
     # Keep Python reference to the model so that the particles
     # aren't destroyed
     m = IMP.Model()
     pa, pb = self._make_particles(m, (0, 1))
     da = IMP.DerivativeAccumulator()
     # The ordering of the particles should not matter:
     pab = (pa, pb)
     pba = (pb, pa)
     self.assertEqual(ps.evaluate_index(m, pab, da), 5.0)
     self.assertEqual(ps.evaluate_index(m, pba, da), 5.0)
Пример #4
0
    def test_restraint(self):
        """Simple test of the PairsRestraint"""
        m = IMP.Model()
        cps = IMP._ConstPairScore(1)
        ps = [m.add_particle("P%d" % i) for i in range(0, 10)]
        psc = IMP.container.ListSingletonContainer(m, ps)
        apc = IMP.container.AllPairContainer(psc)
        r = IMP.container.PairsRestraint(cps, apc)
        self.assertEqual(r.evaluate(False), len(apc.get_indexes()))

        lpc = IMP.container.ListPairContainer(m, apc.get_indexes())
        r2 = IMP.container.PairsRestraint(cps, lpc)
        self.assertEqual(r2.evaluate(False), len(apc.get_indexes()))
        self.assertEqual(r2.evaluate(False), len(apc.get_indexes()))
        sf = IMP.core.RestraintsScoringFunction([r2])
        self.assertEqual(sf.evaluate(False), len(apc.get_indexes()))
        self.assertEqual(sf.evaluate(False), len(apc.get_indexes()))
Пример #5
0
    def test_restraint(self):
        """Simple test of the PairsRestraint"""
        m = IMP.Model()
        cps = IMP._ConstPairScore(1)
        ps = [m.add_particle("P%d" % i) for i in range(0, 10)]
        psc = IMP.container.ListSingletonContainer(m, ps)
        apc = IMP.container.AllPairContainer(psc)
        r = IMP.container.PairsRestraint(cps, apc)
        self.assertEqual(r.evaluate(False), len(apc.get_indexes()))

        lpc = IMP.container.ListPairContainer(m, apc.get_indexes())
        r2 = IMP.container.PairsRestraint(cps, lpc)
        self.assertEqual(r2.evaluate(False), len(apc.get_indexes()))
        self.assertEqual(r2.evaluate(False), len(apc.get_indexes()))
        sf = IMP.core.RestraintsScoringFunction([r2])
        self.assertEqual(sf.evaluate(False), len(apc.get_indexes()))
        self.assertEqual(sf.evaluate(False), len(apc.get_indexes()))
Пример #6
0
 def test_rops(self):
     """Checking refine pairs pair score"""
     IMP.set_log_level(IMP.VERBOSE)
     m = IMP.Model()
     pp = m.add_particle("p")
     hpp = IMP.core.Hierarchy.setup_particle(m, pp)
     c = []
     for i in range(0, 10):
         p = IMP.Particle(m)
         hp = IMP.core.Hierarchy.setup_particle(p)
         hpp.add_child(hp)
         c.append(p)
     pr = IMP.core.ChildrenRefiner(IMP.core.Hierarchy.get_default_traits())
     cps = IMP._ConstPairScore(1)
     rps = IMP.core.RefinedPairsPairScore(pr, cps)
     ppp = (pp, pp)
     print(type(rps))
     print(type(rps.evaluate_index))
     da = IMP.DerivativeAccumulator()
     print(type(pp))
     print(type(ppp))
     self.assertEqual(rps.evaluate_index(m, ppp, da), 100)