Пример #1
0
 def testDrawRDKit(self):
     m = Chem.MolFromSmiles('c1ccccc1CC1CC1')
     bi = {}
     rdkfp = Chem.RDKFingerprint(m, maxPath=5, bitInfo=bi)
     self.assertTrue(1553 in bi)
     svg1 = Draw.DrawRDKitBit(m, 1553, bi)
     path = bi[1553][0]
     svg2 = Draw.DrawRDKitEnv(m, path)
     self.assertEqual(svg1, svg2)
     self.assertTrue("style='fill:#E5E533;" in svg1)
     self.assertFalse("style='fill:#CCCCCC;" in svg1)
     self.assertFalse("style='fill:#9999E5;" in svg1)
     with self.assertRaises(KeyError):
         Draw.DrawRDKitBit(m, 32, bi)
Пример #2
0
    def testDrawRDKit(self):
        m = Chem.MolFromSmiles('c1ccccc1CC1CC1')
        bi = {}
        _ = Chem.RDKFingerprint(m, maxPath=5, bitInfo=bi)
        self.assertTrue(1553 in bi)
        svg1 = Draw.DrawRDKitBit(m, 1553, bi)
        path = bi[1553][0]
        svg2 = Draw.DrawRDKitEnv(m, path)
        self.assertEqual(svg1, svg2)
        self.assertTrue("style='fill:#E5E533;" in svg1)
        self.assertFalse("style='fill:#CCCCCC;" in svg1)
        self.assertFalse("style='fill:#9999E5;" in svg1)
        with self.assertRaises(KeyError):
            Draw.DrawRDKitBit(m, 32, bi)

        if hasattr(Draw, 'MolDraw2DCairo'):
            # Github #3796: make sure we aren't trying to generate metadata:
            png = Draw.DrawRDKitBit(m, 1553, bi, useSVG=False)
            self.assertIn(b'PNG', png)
            self.assertIsNone(Chem.MolFromPNGString(png))