예제 #1
0
    def test4(self):
        m = Chem.MolFromSmiles('OCCc1ccccc1')
        fp1 = rdRG.GetErGFingerprint(m)
        fp2 = rdRG.GetErGFingerprint(m, fuzzIncrement=0.1)

        md = max(abs(fp1 - fp2))
        self.assertAlmostEqual(0.2, md, 4)
예제 #2
0
    def test3(self):
        m = Chem.MolFromSmiles('OCCc1ccccc1')
        fp1 = rdRG.GetErGFingerprint(m)
        m = Chem.MolFromSmiles('OCCC1CC=CC=C1')
        fp2 = rdRG.GetErGFingerprint(m)

        md = max(abs(fp1 - fp2))
        self.assertAlmostEqual(0.0, md, 4)
예제 #3
0
    def test2(self):
        m = Chem.MolFromSmiles('OCCc1ccccc1')
        mrg = rdRG.GenerateMolExtendedReducedGraph(m)
        mrg.UpdatePropertyCache(False)
        self.assertEqual('*cCCO', Chem.MolToSmiles(mrg))

        fp1 = rdRG.GenerateErGFingerprintForReducedGraph(mrg)
        fp2 = rdRG.GetErGFingerprint(m)
        md = max(abs(fp1 - fp2))
        self.assertLess(md, 1e-4)
예제 #4
0
def erg_molstring(molecule, fptype):
    """
    Method for make molstring for erg fingerprint

    :param molecule: molecule object
    :param fptype: type, radius and size of fingerprint
    :type fptype: dict
    :return: molstring for erg fingerprint
    """

    return rdReducedGraphs.GetErGFingerprint(molecule)