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))
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)