B
    ž3Rc÷  ã               @   sB  d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlmZ eƒ Ze 	d¡ g Z
g Zxreejd dƒ ¡ D ]ZZed  dkr„qre d	¡Ze ed  ¡Zes´eed  ejd
 qre ed  ¡ e
 e¡ qrW e 	d¡ e e dd¡ ¡ ¡Zg Ze 	d¡ e e dd¡ ¡ ¡Ze ¡ Zd ZxÆeeƒD ]º\ZZ d ge!e
ƒ Z"x~ee
ƒD ]r\Z#Z$e  %e$¡Z&e!e&ƒee e# kr®edee#e&ee e# e 'e ¡ee# ƒ ed7 Zedkr®e(‚e!e&ƒe"e#< qJW e e"¡ ed s*e 	de ¡ q*W e ¡ Z)ede)e  ƒ d Zx,eeƒD ] \ZZ"e"ee kred7 ZqW ede ƒ dS )é    )ÚChem)ÚRDConfigN)Úloggerzreading smartsz/SmartsLib/RLewis_smarts.txtÚrú#ú )Úfilezreading target countszfps.1000.counts.pkl.gzÚrbzreading mols:zmols.1000.pkl.gzz  >é   é
   é2   zDone %dz%.2fz%d mismatches)*Zrdkitr   r   ZtimeÚsysZgzipÚpickleZrdkit.RDLoggerr   ÚinfoZqsZsmasr   Z	RDDataDirÚ	readlinesÚlineÚsplitZMolFromSmartsÚpÚprintÚstderrÚappendÚloadsÚopenÚreadZrefFpsZfpsZmsZt1ZnFailÚ	enumerateÚiÚmÚlenÚfpÚjÚqZGetSubstructMatchesÚoZMolToSmilesÚ
ValueErrorZt2© r#   r#   ú*share/RDKit/Data/SmartsLib/tests/bench2.pyÚ<module>   sZ   




&


