ó
a#nSc           @   sę   d  d l  m Z d  d l Z e j Z d  d l Td e d f d e d f d e d f d e d f d	 e d f d
 e	 d f d e
 d f d e d f d e d f d e d f d e d f g Z e d  Z d d d  Z e e _ e e _ d S(   iĸĸĸĸ(   t   rdBaseN(   t   *t   Tanimotot    t   Dicet   Cosinet   Sokalt   Russelt   RogotGoldbergt   AllBitt
   Kulczynskit   McConnaugheyt
   Asymmetrict   BraunBlanquetc         C   si   |  j    } | j    } | | k  r: t | | |  } n" | | k  r\ t |  | |  }  n  | |  |  S(   s    returns the calculated similarity between two fingerprints,
    handles any folding that may need to be done to ensure that they
    are compatible

  (   t
   GetNumBitst   FoldFingerprint(   t   fp1t   fp2t   metrict   sz1t   sz2(    (    s\   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/DataStructs/__init__.pyt   FingerprintSimilarity   s    g333333Ó?i@   c         C   sR   xK t  |  j    t |   | k rM t |   d | k rM t |  d  }  q W|  S(   Ni   (   t   floatt   GetNumOnBitst   lenR   (   t   fpt   densityt	   minLength(    (    s\   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/DataStructs/__init__.pyt   FoldToTargetDensity-   s    ;(   t   rdkitR    t   cDataStructst   __doc__t   TanimotoSimilarityt   DiceSimilarityt   CosineSimilarityt   SokalSimilarityt   RusselSimilarityt   RogotGoldbergSimilarityt   AllBitSimilarityt   KulczynskiSimilarityt   McConnaugheySimilarityt   AsymmetricSimilarityt   BraunBlanquetSimilarityt   similarityFunctionsR   R   t   BitVectToTextt   ExplicitBitVectt   ToBitStringt   SparseBitVect(    (    (    s\   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/DataStructs/__init__.pyt   <module>   s$   	
	