parameters: (mol1, mol2, confId1=-1, confId2=-1, useWeights=True, maxDev='equal',
                             symmRadius=2, ignoreColinearBonds=True)
return_statement: return tfd
docstring: Wrapper to calculate the TFD between two molecules.
        Important: The two molecules must be instances of the same molecule
  
        Arguments:
        - mol1:     first instance of the molecule of interest
        - mol2:     second instance the molecule of interest
        - confId1:  conformer index for mol1 (default: first conformer)
        - confId2:  conformer index for mol2 (default: first conformer)
        - useWeights: flag for using torsion weights in the TFD calculation
        - maxDev:   maximal deviation used for normalization
                    'equal': all torsions are normalized using 180.0 (default)
                    'spec':  each torsion is normalized using its specific
                             maximal deviation as given in the paper
        - symmRadius: radius used for calculating the atom invariants
                      (default: 2)
        - ignoreColinearBonds: if True (default), single bonds adjacent to
                               triple bonds are ignored
                               if False, alternative not-covalently bound
                               atoms are used to define the torsion
  
        Return: TFD value
docstring_summary: Wrapper to calculate the TFD between two molecules.
        Important: The two molecules must be instances of the same molecule
docstring_tokens: Wrapper to calculate the TFD between two molecules . Important : The two molecules must be instances of the same molecule
function: def GetTFDBetweenMolecules(mol1, mol2, confId1=-1, confId2=-1, useWeights=True, maxDev='equal',
                             symmRadius=2, ignoreColinearBonds=True):
    """ Wrapper to calculate the TFD between two molecules.
        Important: The two molecules must be instances of the same molecule
  
        Arguments:
        - mol1:     first instance of the molecule of interest
        - mol2:     second instance the molecule of interest
        - confId1:  conformer index for mol1 (default: first conformer)
        - confId2:  conformer index for mol2 (default: first conformer)
        - useWeights: flag for using torsion weights in the TFD calculation
        - maxDev:   maximal deviation used for normalization
                    'equal': all torsions are normalized using 180.0 (default)
                    'spec':  each torsion is normalized using its specific
                             maximal deviation as given in the paper
        - symmRadius: radius used for calculating the atom invariants
                      (default: 2)
        - ignoreColinearBonds: if True (default), single bonds adjacent to
                               triple bonds are ignored
                               if False, alternative not-covalently bound
                               atoms are used to define the torsion
  
        Return: TFD value
    """
    if (Chem.MolToSmiles(mol1) != Chem.MolToSmiles(mol2)):
      raise ValueError("The two molecules must be instances of the same molecule!")
    mol2 = _getSameAtomOrder(mol1, mol2)
    tl, tlr = CalculateTorsionLists(mol1, maxDev=maxDev, symmRadius=symmRadius,
                                    ignoreColinearBonds=ignoreColinearBonds)
    # first molecule
    torsion1 = CalculateTorsionAngles(mol1, tl, tlr, confId=confId1)
    # second molecule
    torsion2 = CalculateTorsionAngles(mol2, tl, tlr, confId=confId2)
    if useWeights:
      weights = CalculateTorsionWeights(mol1, ignoreColinearBonds=ignoreColinearBonds)
      tfd = CalculateTFD(torsion1, torsion2, weights=weights)
    else:
      tfd = CalculateTFD(torsion1, torsion2)
    return tfd
function_tokens: def GetTFDBetweenMolecules ( mol1 , mol2 , confId1 = - 1 , confId2 = - 1 , useWeights = True , maxDev = 'equal' , symmRadius = 2 , ignoreColinearBonds = True ) : if ( Chem . MolToSmiles ( mol1 ) != Chem . MolToSmiles ( mol2 ) ) : raise ValueError ( "The two molecules must be instances of the same molecule!" ) mol2 = _getSameAtomOrder ( mol1 , mol2 ) tl , tlr = CalculateTorsionLists ( mol1 , maxDev = maxDev , symmRadius = symmRadius , ignoreColinearBonds = ignoreColinearBonds ) # first molecule torsion1 = CalculateTorsionAngles ( mol1 , tl , tlr , confId = confId1 ) # second molecule torsion2 = CalculateTorsionAngles ( mol2 , tl , tlr , confId = confId2 ) if useWeights : weights = CalculateTorsionWeights ( mol1 , ignoreColinearBonds = ignoreColinearBonds ) tfd = CalculateTFD ( torsion1 , torsion2 , weights = weights ) else : tfd = CalculateTFD ( torsion1 , torsion2 ) return tfd