ķ
a#nSc           @   s   d  Z  d d l Z d d l m Z d d l m Z e j j e j d  Z e	 d  Z
 g  Z d d  Z e   x  e D] \ Z Z d e d Uqv Wd Z d S(	   sh    functions to match a bunch of fragment descriptors from a file

No user-servicable parts inside.  ;-)

i˙˙˙˙N(   t   RDConfig(   t   Chems   FragmentDescriptors.csvc         C   s   t  |  j | d |  S(   Nt   uniquify(   t   lent   GetSubstructMatches(   t   molt   pattt   unique(    (    sV   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/Chem/Fragments.pyt   _CountMatches   s    c   
      C   s  |  d  k r t }  n  y t |  d  } Wn t k
 r; nAXx=| j   D]/} t |  rI | d d k rI | j d  } t |  d k rx| d } | d } | d } | j d d	  } d } y t j	 |  } Wn d } n# X| sū | j
   d k rd } n  | s#t d
 t |   n  t | d  }	 | |	 _ | j d d  } | j d d  } t j | |	 f  qxqI qI Wd  S(   Nt   ri    t   #s   	i   i   i   t   "t    s   Smarts %s could not be parsedc         S   s   t  |  | d | S(   NR   (   R   (   R   t   countUniquet   pattern(    (    sV   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/Chem/Fragments.pyt   <lambda>3   s    t   =t   _t   -(   t   Nonet   defaultPatternFileNamet   opent   IOErrort	   readlinesR   t   splitt   replaceR   t   MolFromSmartst   GetNumAtomst   ImportErrort   reprt   Truet   __doc__t   fnst   append(
   t   fileNamet   inFt   linet   splitLt   namet   descrt   smat   okR   t   fn(    (    sV   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/Chem/Fragments.pyt   _LoadPatterns   s8    	



 	 	s   %s=fn(   R   t   ost   rdkitR    R   t   patht   joint	   RDDataDirR   R   R   R    R   R+   R&   R*   (    (    (    sV   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/Chem/Fragments.pyt   <module>   s   