コード例 #1
0
    def testDrawMorgan(self):
        m = Chem.MolFromSmiles('c1ccccc1CC1CC1')
        bi = {}
        _ = rdMolDescriptors.GetMorganFingerprintAsBitVect(m,
                                                           radius=2,
                                                           bitInfo=bi)
        self.assertTrue(872 in bi)

        svg1 = Draw.DrawMorganBit(m, 872, bi)
        aid, r = bi[872][0]
        svg2 = Draw.DrawMorganEnv(m, aid, r)
        self.assertEqual(svg1, svg2)
        self.assertTrue("style='fill:#CCCCCC;" in svg1)
        self.assertTrue("style='fill:#E5E533;" in svg1)
        self.assertTrue("style='fill:#9999E5;" in svg1)

        svg1 = Draw.DrawMorganBit(m, 872, bi, centerColor=None)
        aid, r = bi[872][0]
        svg2 = Draw.DrawMorganEnv(m, aid, r, centerColor=None)
        self.assertEqual(svg1, svg2)
        self.assertTrue("style='fill:#CCCCCC;" in svg1)
        self.assertTrue("style='fill:#E5E533;" in svg1)
        self.assertFalse("style='fill:#9999E5;" in svg1)
        with self.assertRaises(KeyError):
            Draw.DrawMorganBit(m, 32, bi)

        if hasattr(Draw, 'MolDraw2DCairo'):
            # Github #3796: make sure we aren't trying to generate metadata:
            png = Draw.DrawMorganBit(m, 872, bi, useSVG=False)
            self.assertIn(b'PNG', png)
            self.assertIsNone(Chem.MolFromPNGString(png))
コード例 #2
0
    def testDrawMorgan(self):
        from rdkit.Chem import rdMolDescriptors
        m = Chem.MolFromSmiles('c1ccccc1CC1CC1')
        bi = {}
        fp = rdMolDescriptors.GetMorganFingerprintAsBitVect(m,
                                                            radius=2,
                                                            bitInfo=bi)
        self.assertTrue(872 in bi)

        svg1 = Draw.DrawMorganBit(m, 872, bi)
        aid, r = bi[872][0]
        svg2 = Draw.DrawMorganEnv(m, aid, r)
        self.assertEqual(svg1, svg2)
        self.assertTrue("style='fill:#CCCCCC;" in svg1)
        self.assertTrue("style='fill:#E5E533;" in svg1)
        self.assertTrue("style='fill:#9999E5;" in svg1)

        svg1 = Draw.DrawMorganBit(m, 872, bi, centerColor=None)
        aid, r = bi[872][0]
        svg2 = Draw.DrawMorganEnv(m, aid, r, centerColor=None)
        self.assertEqual(svg1, svg2)
        self.assertTrue("style='fill:#CCCCCC;" in svg1)
        self.assertTrue("style='fill:#E5E533;" in svg1)
        self.assertFalse("style='fill:#9999E5;" in svg1)
        with self.assertRaises(KeyError):
            Draw.DrawMorganBit(m, 32, bi)