rdkit.Chem.AtomPairs.Torsions module — The RDKit 2016.09.1 documentation

# rdkit.Chem.AtomPairs.Torsions module

Contains an implementation of Topological-torsion fingerprints, as described in:

R. Nilakantan, N. Bauman, J. S. Dixon, R. Venkataraghavan; “Topological Torsion: A New Molecular Descriptor for SAR Applications. Comparison with Other Descriptors” JCICS 27, 82-85 (1987).

The fingerprints can be accessed through the following functions: - GetTopologicalTorsionFingerprint - GetHashedTopologicalTorsionFingerprint - GetTopologicalTorsionFingerprintAsIntVect (identical to GetTopologicalTorsionFingerprint) - GetTopologicalTorsionFingerprintAsIds

`rdkit.Chem.AtomPairs.Torsions.` `ExplainPathScore`(score, size=4)

      >>> from rdkit import Chem
      >>> m = Chem.MolFromSmiles('C=CC')
      >>> score=pyScorePath(m,(0,1,2),3)
      >>> ExplainPathScore(score,3)
      (('C', 1, 0), ('C', 2, 1), ('C', 1, 1))

  Again, it’s order independent: >>> score=pyScorePath(m,(2,1,0),3) >>> ExplainPathScore(score,3) ((‘C’, 1, 0), (‘C’, 2, 1), (‘C’, 1, 1))

      >>> m = Chem.MolFromSmiles('C=CO')
      >>> score=pyScorePath(m,(0,1,2),3)
      >>> ExplainPathScore(score,3)
      (('C', 1, 1), ('C', 2, 1), ('O', 1, 0))

      >>> m = Chem.MolFromSmiles('OC=CO')
      >>> score=pyScorePath(m,(0,1,2,3),4)
      >>> ExplainPathScore(score,4)
      (('O', 1, 0), ('C', 2, 1), ('C', 2, 1), ('O', 1, 0))

      >>> m = Chem.MolFromSmiles('CC=CO')
      >>> score=pyScorePath(m,(0,1,2,3),4)
      >>> ExplainPathScore(score,4)
      (('C', 1, 0), ('C', 2, 1), ('C', 2, 1), ('O', 1, 0))

      >>> m = Chem.MolFromSmiles('C=CC(=O)O')
      >>> score=pyScorePath(m,(0,1,2,3),4)
      >>> ExplainPathScore(score,4)
      (('C', 1, 1), ('C', 2, 1), ('C', 3, 1), ('O', 1, 1))
      >>> score=pyScorePath(m,(0,1,2,4),4)
      >>> ExplainPathScore(score,4)
      (('C', 1, 1), ('C', 2, 1), ('C', 3, 1), ('O', 1, 0))

      >>> m = Chem.MolFromSmiles('OOOO')
      >>> score=pyScorePath(m,(0,1,2),3)
      >>> ExplainPathScore(score,3)
      (('O', 1, 0), ('O', 2, 0), ('O', 2, 0))
      >>> score=pyScorePath(m,(0,1,2,3),4)
      >>> ExplainPathScore(score,4)
      (('O', 1, 0), ('O', 2, 0), ('O', 2, 0), ('O', 1, 0))

`rdkit.Chem.AtomPairs.Torsions.` `GetTopologicalTorsionFingerprintAsIds`(mol, targetSize=4)

`rdkit.Chem.AtomPairs.Torsions.` `pyScorePath`(mol, path, size, atomCodes=None)

  Returns a score for an individual path.

      >>> from rdkit import Chem
      >>> m = Chem.MolFromSmiles('CCCCC')
      >>> c1 = Utils.GetAtomCode(m.GetAtomWithIdx(0),1)
      >>> c2 = Utils.GetAtomCode(m.GetAtomWithIdx(1),2)
      >>> c3 = Utils.GetAtomCode(m.GetAtomWithIdx(2),2)
      >>> c4 = Utils.GetAtomCode(m.GetAtomWithIdx(3),1)
      >>> t = c1 | (c2 << rdMolDescriptors.AtomPairsParameters.codeSize) | (c3 << (rdMolDescriptors.AtomPairsParameters.codeSize*2)) | (c4 << (rdMolDescriptors.AtomPairsParameters.codeSize*3))
      >>> pyScorePath(m,(0,1,2,3),4)==t
      1

  The scores are path direction independent: >>> pyScorePath(m,(3,2,1,0),4)==t 1

      >>> m = Chem.MolFromSmiles('C=CC(=O)O')
      >>> c1 = Utils.GetAtomCode(m.GetAtomWithIdx(0),1)
      >>> c2 = Utils.GetAtomCode(m.GetAtomWithIdx(1),2)
      >>> c3 = Utils.GetAtomCode(m.GetAtomWithIdx(2),2)
      >>> c4 = Utils.GetAtomCode(m.GetAtomWithIdx(4),1)
      >>> t = c1 | (c2 << rdMolDescriptors.AtomPairsParameters.codeSize) | (c3 << (rdMolDescriptors.AtomPairsParameters.codeSize*2)) | (c4 << (rdMolDescriptors.AtomPairsParameters.codeSize*3))
      >>> pyScorePath(m,(0,1,2,4),4)==t
      1