def test_known_types(self): for name in TestPlugins.known_types: s = ob.OBPlugin.ListAsString(name) self.assertFalse("not a recognized" in s, s) v = ob.vectorString() ob.OBPlugin.ListAsVector(name, None, v) self.assertTrue(len(v) > 0, list(v))
def test_gotta_try_them_all(self): v = ob.vectorString() ob.OBDescriptor.ListAsVector("descriptors", None, v) mol = parse_smiles("c1ccccc1O") for term in v: name = term.split()[0] prop_calculator = ob.OBDescriptor.FindType(name) self.assertFalse(prop_calculator is None, "Could not find " + name) prop_calculator.Predict(mol)
def test_plugin(self): v = ob.vectorString() ob.OBPlugin.ListAsVector("forcefields", None, v) # Huh. The plugin system uses case-insensitive lookup names = [x.split()[0].lower() for x in v] self.assertTrue("gaff" in names, names) self.assertTrue("mmff94" in names, names) self.assertTrue("uff" in names, names) pFF1 = ob.OBForceField.FindForceField("GAFF") pFF2 = ob.OBForceField.FindForceField("GafF") self.assertFalse(pFF1 is None) self.assertFalse(pFF2 is None) self.assertEqual(pFF1.GetID(), pFF2.GetID())
def _getpluginnames(ptype): plugins = ob.vectorString() ob.OBPlugin.ListAsVector(ptype, None, plugins) return [x.split()[0] for x in plugins]
def test_as_vector(self): v = ob.vectorString() ob.OBPlugin.ListAsVector("formats", None, v) formats = set(v) self.assertTrue("smiles -- SMILES format" in formats, formats)