{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Thresholds for \"random\" in fingerprints the RDKit supports\n", "\n", "This post has been updated multiple times. This version is from 16.03.2025. Older version of the notebook can be [found in github](https://github.com/greglandrum/rdkit_blog/blob/master/notebooks/Fingerprint%20Thresholds.ipynb).\n", "\n", "> **Note** that older versions of this post had a mistake in the way the bit-based Morgan and FeatMorgan fingerprints were calculated: I was using the old fingerprint-generation functions and was generating folded count-based fingerprints instead of folded bit-based fingerprints. This led to similarity values and thresholds that were too high.\n", "\n", "A frequent question that comes up when considering fingerprint similarity is: \"What threshold should I use to determine what a neighbor is?\" The answer is poorly defined. Of course it depends heavily on the details of the fingerprint, but there's also a very subjective component: you want to pick a low enough threshold that you're sure you won't miss anything, but you don't want to pick up too much noise.\n", "\n", "The goal here is to systematically come up with some guidelines that can be used for fingerprints supported within the RDKit. We will do that by looking at similarities between random pairs of molecules picked from ChEMBL. The selection of the molecules used is [described in another post](https://greglandrum.github.io/rdkit-blog/posts/2025-03-16-building-a-similarity-comparison-set.html).\n", "\n", "For the analysis, the 50K similarity values are sorted and the values at particular threshold are examined. \n", "\n", "There's a fair amount of code and results below, so here's the summary table. To help interpret this: 45000 of the 50000 pairs (90%) have a MACCS keys similarity value less than 0.549. \n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", "
FingerprintMetric70% level80% level90% level95% level99% level
MACCSTanimoto0.4570.4940.5490.5920.667
Morgan0 (counts)Tanimoto0.4390.4770.5290.5750.650
Morgan0 (bits)Tanimoto0.5000.5330.6000.6470.750
Morgan1 (counts)Tanimoto0.2670.2940.3280.3600.420
Morgan1 (bits)Tanimoto0.2130.2340.2670.2950.356
Morgan2 (counts)Tanimoto0.1820.2000.2260.2480.297
Morgan2 (bits)Tanimoto0.1330.1460.1670.1850.226
Morgan3 (counts)Tanimoto0.1410.1540.1740.1920.231
Morgan3 (bits)Tanimoto0.1020.1120.1270.1410.173
FeatMorgan0 (counts)Tanimoto0.5000.5380.5910.6330.710
FeatMorgan0 (bits)Tanimoto0.5830.6360.7000.7780.889
FeatMorgan1 (counts)Tanimoto0.3000.3260.3640.3950.455
FeatMorgan1 (bits)Tanimoto0.2450.2690.3020.3330.395
FeatMorgan2 (counts)Tanimoto0.2030.2210.2470.2700.319
FeatMorgan2 (bits)Tanimoto0.1460.1600.1810.2000.241
FeatMorgan3 (counts)Tanimoto0.1560.1700.1900.2080.248
FeatMorgan3 (bits)Tanimoto0.1100.1200.1350.1490.181
RDKit 5 (counts)Tanimoto0.1520.1780.2160.2520.333
RDKit 5 (bits)Tanimoto0.2040.2260.2620.2950.371
RDKit 7 (counts)Tanimoto0.0650.0810.1070.1330.201
RDKit 7 (bits)Tanimoto0.3270.3560.3980.4330.510
linear RDKit 5 (counts)Tanimoto0.1980.2260.2670.3070.388
linear RDKit 5 (bits)Tanimoto0.2060.2340.2760.3180.405
linear RDKit 7 (counts)Tanimoto0.1230.1450.1790.2110.287
linear RDKit 7 (bits)Tanimoto0.1890.2090.2400.2700.338
Atom Pairs (counts)Tanimoto0.1830.2060.2380.2660.320
Atom Pairs (bits)Tanimoto0.2850.3100.3440.3710.419
Topological Torsions (counts)Tanimoto0.1030.1250.1580.1880.256
Topological Torsions (bits)Tanimoto0.1310.1520.1850.2140.279
Avalon (counts)Tanimoto0.3070.3390.3850.4240.499
Avalon (bits)Tanimoto0.3880.4250.4750.5150.589
PatternTanimoto0.6050.6330.6690.6980.750
Gobbi2DTanimoto0.1750.2050.2510.2920.373
\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024.09.6\n", "Sun Mar 16 07:19:01 2025\n" ] } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem import rdMolDescriptors\n", "from rdkit.Chem import rdFingerprintGenerator\n", "from rdkit.Avalon import pyAvalonTools\n", "from rdkit.Chem import Draw\n", "from rdkit.Chem.Draw import IPythonConsole\n", "import rdkit\n", "from rdkit import DataStructs\n", "from collections import defaultdict\n", "import pickle,random,gzip\n", "print(rdkit.__version__)\n", "import time\n", "print(time.asctime())\n", "\n", "from matplotlib import pyplot as plt\n", "plt.style.use('tableau-colorblind10')\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Read in the data\n", "\n", "We're using the set of 50K reference pairs generated in this post: [https://greglandrum.github.io/rdkit-blog/posts/2025-03-16-building-a-similarity-comparison-set.html](https://greglandrum.github.io/rdkit-blog/posts/2025-03-16-building-a-similarity-comparison-set.html).\n", "\n", "As a quick reminder: these are pairs of molecules taken from ChEMBL with a single fragment, less than 50 heavy atoms, and a count-based MFP0 similarity of at least 0.65 to each other." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "ind = [x.split(b'\\t') for x in gzip.open('../data/chembl35_50K.mfp0.pairs.txt.gz')]\n", "ms1 = []\n", "ms2 = []\n", "for i,row in enumerate(ind):\n", " m1 = Chem.MolFromSmiles(row[1])\n", " ms1.append((row[0],m1))\n", " m2 = Chem.MolFromSmiles(row[3])\n", " ms2.append((row[2],m2))\n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Those pairs are related to each other, but we want random pairs, so shuffle the second list:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "random.seed(23)\n", "random.shuffle(ms2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "try:\n", " import ipyparallel as ipp\n", " rc = ipp.Client()\n", " dview = rc[:]\n", " dview.execute('from rdkit import Chem')\n", " dview.execute('from rdkit import Descriptors')\n", " dview.execute('from rdkit.Chem import rdFingerprintGenerator')\n", " dview.execute('from rdkit.Chem import rdMolDescriptors')\n", " dview.execute('from rdkit import DataStructs')\n", " dview.execute('from rdkit.Avalon import pyAvalonTools')\n", " dview.execute('from rdkit.Chem.Pharm2D import Gobbi_Pharm2D,Generate')\n", "except:\n", " print(\"could not use ipyparallel\")\n", " dview = None\n", "\n", "results_accum = dict()\n", "def accumResults(fps,fp2s,fpName):\n", " sims = [DataStructs.TanimotoSimilarity(x,y) for x,y in zip(fps,fp2s)]\n", " sl = sorted(sims)\n", " np = len(sl)\n", " with open('fp_results.txt','a+') as outf:\n", " outf.write(f'{fpName}Tanimoto\\n')\n", " accum = {}\n", " for bin in (.7,.8,.9,.95,.99):\n", " simv = sl[int(bin*np)]\n", " print( bin,simv)\n", " outf.write(f' {simv:.3f}\\n')\n", " accum[bin] = simv\n", " outf.write('')\n", " results_accum[fpName] = accum\n", " plt.figure(figsize=(5,3))\n", " plt.hist(sims,bins=20)\n", " plt.xlabel(fpName)\n", " \n", "def compareFPs(ms1,ms2,fpfn,fpName):\n", " if dview is not None:\n", " fps = dview.map_sync(lambda x:fpfn(x[1]),ms1)\n", " fp2s = dview.map_sync(lambda x:fpfn(x[1]),ms2)\n", " else:\n", " fps = [fpfn(x[1]) for x in ms1]\n", " fp2s = [fpfn(x[1]) for x in ms2]\n", " accumResults(fps,fp2s,fpName)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# MACCS" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.45714285714285713\n", "0.8 0.4936708860759494\n", "0.9 0.5487804878048781\n", "0.95 0.5921052631578947\n", "0.99 0.6666666666666666\n" ] }, { "data": { "image/png": "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ERER5OXlAWAYBjNnzmThwoXExsYSExNDQUEBo0aNIisrC4ARI0YwefJkZs2axapVqwCYPXs2OTk53b7DVEREJFABBeLBgwdxuVw0NjZiGAbXX389FRUVTJw4EYBFixbR1tbG3Llz8Xq9pKens2HDBqKioqxzrFixArvdztSpU2lra2PChAmUlJQQEhJi1ZSWlpKfn2/djZqbm0txcXFf9FdERKRLvV6HGKy0DvHCoXWIEiitQ5RA9Ps6RBERkYuJAlFERAQFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERACwn+8GiIgEynZvaa/PYRZP74OWyMVEM0QREREUiCIiIkCAgVhUVMTNN99MVFQU8fHx3H777ezevduvxjRNlixZgtPpZODAgYwfP56dO3f61bS3tzN//nzi4uKIjIwkNzeXhoYGvxqv14vL5cIwDAzDwOVy0dzc3LNeioiInEVA1xCrqqqYN28eN998M8eOHePBBx8kOzubXbt2ERkZCcCyZctYvnw5JSUlXHPNNTz88MNMnDiR3bt3ExUVBYDb7ea3v/0tZWVlxMbGsnDhQnJycqitrSUkJASAvLw8GhoaqKioAGD27Nm4XC5++9vf9mX/pRf64jqOiEiwsJmmafb0zYcOHSI+Pp6qqir+8R//EdM0cTqduN1u7r//fuDkbDAhIYFHH32UOXPm4PP5GDx4MC+//DLTpk0D4MCBAyQmJrJ+/XomTZpEfX09I0eOpLq6mvT0dACqq6vJyMjgww8/JCUl5axta2lpwTAMfD4f0dHRPe2inIECUS5kuqnm0tHdPOjVNUSfzwdATEwMAPv27cPj8ZCdnW3VhIeHM27cODZt2gRAbW0tR48e9atxOp2kpqZaNZs3b8YwDCsMAcaMGYNhGFbN6drb22lpafHbREREuqvHgWiaJgsWLODv//7vSU1NBcDj8QCQkJDgV5uQkGAd83g8hIWFMWjQoDPWxMfHd/rM+Ph4q+Z0RUVF1vVGwzBITEzsaddEROQS1ONAvPfee/m///s/XnvttU7HbDab32vTNDvtO93pNV3Vn+k8ixcvxufzWdv+/fu70w0RERGgh4E4f/583njjDf73f/+XoUOH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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compareFPs(ms1,ms2,lambda x:rdMolDescriptors.GetMACCSKeysFingerprint(x),\"MACCS\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Morgan FPs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## count based" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.43902439024390244\n", "0.8 0.4772727272727273\n", "0.9 0.5294117647058824\n", "0.95 0.575\n", "0.99 0.65\n", "0.7 0.5\n", "0.8 0.5333333333333333\n", "0.9 0.6\n", "0.95 0.6470588235294118\n", "0.99 0.75\n" ] }, { "data": { "image/png": "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ddVF609sbGyX/gMVKs1XaDRfodF8hUbzxXlXhk067UU1ERERpKSkUFJSEtReUlJCRkZGB/VKRESuVJ12hQgwd+5cPB4PqamppKens3z5cj744APuueeeju6aiIhcYTp1IE6aNImPPvqIn/zkJ1RXVzNkyBDWrVtH//79L1sfnE4njz32WIuPY6V1mq/QaL5Co/kKjeYrNA7zedehioiIdAGd9jtEERGRy0mBKCIiggJRREQEUCCKiIgACkQg9EdMlZaWkpKSQo8ePbj22mv53e9+d5l62jmEMl8vv/wy48aNo3fv3sTGxpKens7rr79+GXvb8dr7CLO33nqLsLAwvva1r13aDnYyoc5XfX09jz76KP3798fpdPLlL3+Z3//+95eptx0v1PkqLCzkxhtvJCoqij59+nDXXXfx0UcfXabednKmiysqKjLh4eFmxYoVZs+ePeaBBx4w0dHR5sCBA63W79+/30RFRZkHHnjA7Nmzx6xYscKEh4ebP/7xj5e55x0j1Pl64IEHzKJFi8y2bdvMu+++a3Jzc014eLh5++23L3PPO0ao89Xk+PHj5tprrzWZmZnmxhtvvDyd7QTaM1/Z2dkmLS3NlJSUmKqqKrN161bz1ltvXcZed5xQ52vjxo2mW7du5umnnzb79+83GzduNF/96lfNHXfccZl73jl1+UAcPny4ueeee4LavvKVr5iHH3641foFCxaYr3zlK0FtM2fONCNGjLhkfexMQp2v1gwePNg8/vjjF7trnVJ752vSpEnm3//9381jjz3WpQIx1Pn661//aizLMh999NHl6F6nE+p8/eIXvzDXXnttUNuvfvUr07dv30vWxy+SLv2RadMjpjIzM4Paz/WIKYAtW7a0qB8/fjzbt2+nsbHxkvW1M2jPfDV35swZamtriYuLuxRd7FTaO1+rVq3i/fff57HHHrvUXexU2jNfr776KqmpqSxevJirr76a66+/nvnz51NXV3c5utyh2jNfGRkZHDp0iHXr1mGM4ciRI/zxj3/ktttuuxxd7vQ69S/VXGqhPmIKwOfztVr/6aef8uGHH9KnT59L1t+O1p75au7JJ5/k5MmTTJw48VJ0sVNpz3y99957PPzww2zcuJGwsK71v2d75mv//v1s2rSJHj16sHbtWj788ENmzZrFxx9/fMV/j9ie+crIyKCwsJBJkybxySef8Omnn5Kdnc2vf/3ry9HlTq9LrxCbtPURU+erb639ShXqfDV58cUXWbhwIS+99BIJCQmXqnudTlvn6/Tp0+Tk5PD4449z/fXXX67udTqh/Pk6c+YMDoeDwsJChg8fzre+9S2WLFnC6tWru8QqEUKbrz179jBnzhx+/OMfs2PHDoqLi6mqqtLvQ/9/XeufoM2E+ogpAJfL1Wp9WFgY8fHxl6yvnUF75qvJSy+9xLRp0/jDH/7A2LFjL2U3O41Q56u2tpbt27ezc+dO7r//fuDsX/jGGMLCwli/fj233HLLZel7R2jPn68+ffpw9dVXBz3aZ9CgQRhjOHToEMnJyZe0zx2pPfOVn5/PyJEjefDBBwG44YYbiI6O5uabb+aJJ564oj/haosuvUJszyOm0tPTW9SvX7+e1NRUwsPDL1lfO4P2PpLrxRdf5M4772TNmjVd6ruKUOcrNjaWd955h4qKCnu75557GDhwIBUVFaSlpV2urneI9vz5GjlyJIcPH+bEiRN227vvvku3bt3o27fvJe1vR2vPfJ06dYpu3YL/2u/evTvwz0+6urSOupqns2i6bHnlypVmz549xuv1mujoaPOPf/zDGGPMww8/bDwej13fdNvFD3/4Q7Nnzx6zcuXKLnnbRVvna82aNSYsLMz85je/MdXV1fZ2/PjxjhrCZRXqfDXX1a4yDXW+amtrTd++fc2//uu/mt27d5vS0lKTnJxs7r777o4awmUV6nytWrXKhIWFmd/+9rfm/fffN5s2bTKpqalm+PDhHTWETqXLB6IxxvzmN78x/fv3NxEREeamm24ypaWl9r4pU6aYUaNGBdW/+eabZtiwYSYiIsJcc8015plnnrnMPe5YoczXqFGjDNBimzJlyuXveAcJ9c/XZ3W1QDQm9PmqrKw0Y8eONZGRkaZv375m7ty55tSpU5e51x0n1Pn61a9+ZQYPHmwiIyNNnz59zOTJk82hQ4cuc687Jz3+SUREhC7+HaKIiEgTBaKIiAgKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiXdqPfvQjZsyY0dHduGAFBQVkZ2d3dDfkC06BKF3OnXfeicPhaPUX/mfNmoXD4eDOO++8/B27AKWlpaSkpNCjRw+uvfZafve7333uMUeOHOHpp5/mkUceuQw9bLt//OMfOBwOKioq2nzM9OnTKS8vZ9OmTZeuY3LFUyBKl5SUlERRUVHQI4I++eQTXnzxRfr163dB5zbG8Omnn15oF9usqqqKb33rW9x8883s3LmTRx55hDlz5vCnP/3pvMetXLmS9PR0rrnmmsvT0UvI6XSSk5Oj5/rJBVEgSpd000030a9fP15++WW77eWXXyYpKYlhw4YF1dbX1zNnzhwSEhLo0aMH3/jGNygvL7f3v/nmmzgcDl5//XVSU1NxOp1s3LiR2tpaJk+eTHR0NH369GHp0qWMHj0ar9drH/vCCy+QmppKTEwMLpeLnJwcjh492uLcf/vb30hNTSUqKoqMjAz27dtn1/zud7+jX79+PPXUUwwaNIi7776bqVOn8stf/vK8c1BUVNTiY8YzZ86waNEirrvuOpxOJ/369eNnP/uZvf+dd97hlltuITIykvj4eGbMmBH0pInm4wO44447glbc11xzDXl5eUydOpWYmBj69evH8uXL7f0DBgwAYNiwYTgcDkaPHm3PxfDhw4mOjuaqq65i5MiRHDhwwD4uOzubV155pcs8B1EuPgWidFl33XUXq1atsl///ve/Z+rUqS3qFixYwJ/+9CeeffZZ3n77ba677jrGjx/Pxx9/3KIuPz+fyspKbrjhBubOnctbb73Fq6++SklJCRs3buTtt98OOqahoYGf/vSn/M///A+vvPIKVVVVrX5c++ijj/Lkk0+yfft2wsLCgvq5ZcsWMjMzg+rHjx/P9u3baWxsbHXsfr+fXbt2kZqaGtSem5vLokWL+NGPfsSePXtYs2aN/Wy9U6dOMWHCBHr27El5eTl/+MMf2LBhg/3sxlA8+eSTpKamsnPnTmbNmsW9997L3r17Adi2bRsAGzZsoLq6mpdffplPP/2UO+64g1GjRvH3v/+dLVu2MGPGjKAH4aamptLY2GgfLxKyDv5xcZHLbsqUKeb22283x44dM06n01RVVZl//OMfpkePHubYsWPm9ttvt5/GceLECRMeHm4KCwvt4xsaGozb7TaLFy82xhjzxhtvGMC88sordk1NTY0JDw83f/jDH+y248ePm6ioKPPAAw+cs2/btm0zgKmtrQ0694YNG+ya1157zQCmrq7OGGNMcnKy+dnPfhZ0nrfeessA5vDhw62+z86dOw1gPvjgg6A+O51Os2LFilaPWb58uenZs6c5ceJEUF+6detmfD6fMebs002aj++z82mMMf379zc/+MEP7NdnzpwxCQkJ9lNjqqqqDGB27txp13z00UcGMG+++WarfWvSs2dPs3r16vPWiJyLVojSZfXq1YvbbruNZ599llWrVnHbbbfRq1evoJr333+fxsZGRo4cabeFh4czfPhwKisrg2o/u9rav38/jY2NDB8+3G6zLIuBAwcGHbNz505uv/12+vfvT0xMjP3x4AcffBBUd8MNN9j/3fRU889+tPrZlRL882GvzdubNH2s2KNHD7utsrKS+vp6xowZ0+oxlZWV3HjjjURHR9ttI0eO5MyZM0Ef4bbFZ8fjcDhwuVxB42kuLi6OO++8k/Hjx/Ptb3+bp59+murq6hZ1kZGRnDp1KqS+iDRRIEqXNnXqVFavXs2zzz7b6sel5woWY0yLts8GxfmOa3Ly5EkyMzP50pe+xAsvvEB5eTlr164Fzn6U+lnh4eH2fzed88yZMwC4XC58Pl9Q/dGjRwkLCyM+Pr7VcTcFv9/vt9siIyNbrf1s388VsE3t3bp1a/Hk9dY+tv3seJqObxrPuaxatYotW7aQkZHBSy+9xPXXX09ZWVlQzccff0zv3r3Pex6Rc1EgSpc2YcIEGhoaaGhoYPz48S32X3fddURERARdzt/Y2Mj27dsZNGjQOc/75S9/mfDw8KDvs2pqanjvvffs13v37uXDDz/k5z//OTfffDNf+cpXzrtKOpf09HRKSkqC2tavX09qamqL4Pls/2JjY9mzZ4/dlpycTGRkJH/7299aPWbw4MFUVFRw8uRJu+2tt96iW7duXH/99QD07t07aOV2+vRpdu3aFdJ4IiIi7GObGzZsGLm5uWzevJkhQ4awZs0ae9/777/PJ5980uKiKJG2UiBKl9a9e3cqKyuprKyke/fuLfZHR0dz77338uCDD1JcXMyePXuYPn06p06dYtq0aec8b0xMDFOmTOHBBx/kjTfeYPfu3UydOpVu3brZq6l+/foRERHBr3/9a/bv38+rr77KT3/605DHcM8993DgwAHmzp1LZWUlv//971m5ciXz588/5zHdunVj7NixQUHfo0cPHnroIRYsWMBzzz3H+++/T1lZGStXrgRg8uTJ9OjRgylTprBr1y7eeOMNZs+ejcfjsS+8ueWWW3jttdd47bXX2Lt3L7NmzeL48eMhjSchIYHIyEiKi4s5cuQIgUCAqqoqcnNz2bJlCwcOHGD9+vW8++67Qf8o2bhxI9deey1f/vKXQ3o/EVsHfn8p0iGaLqo5l+YXgdTV1ZnZs2ebXr16GafTaUaOHGm2bdtm72+68MXv9wedp6amxuTk5JioqCjjcrnMkiVLzPDhw83DDz9s16xZs8Zcc801xul0mvT0dPPqq68GXVDS2rmbLoipqqqy2958800zbNgwExERYa655hr7ApXzKS4uNldffbU5ffq03Xb69GnzxBNPmP79+5vw8HDTr18/k5eXZ+//+9//br75zW+aHj16mLi4ODN9+nT7AiBjzl5wdO+995q4uDiTkJBg8vPzW72oZunSpUF9ufHGG81jjz1mv16xYoVJSkoy3bp1M6NGjTI+n8/ccccdpk+fPiYiIsL079/f/PjHPw7qe2ZmpsnPz//ccYuci8OYZh/4i8glcfLkSa6++mqefPLJ864uLxdjDCNGjMDr9fL973+/o7tzQXbt2sWYMWN49913sSyro7sjX1D6yFTkEtm5cycvvvgi77//Pm+//TaTJ08G4Pbbb+/gnp3lcDhYvnz5Zf1VnUvl8OHDPPfccwpDuSBaIYpcIjt37uTuu+9m3759REREkJKSwpIlSxg6dGhHd01EWqFAFBERQR+ZioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAPD/AITvBuK7RjS8AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAEmCAYAAAD80+CWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAlCElEQVR4nO3de1zVdZ7H8deRqzBwUhSOJN5mSDGsDEZEa3RWQicZaptd3ZEhTdNc80JkpmO76TSBueNlzLJ0TN0RpUdTtj5ah6SmWO8gQqtC1irjZRQ1wwMmgcp3/2j5bUeQOMjF9P18PM7j0fmez+93Pr/vg87b7+9cfjZjjEFEROQW166tGxAREbkRKBBFRERQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBwLOtG2gpNTU1nDx5koCAAGw2W1u3IyIibcQYQ0VFBaGhobRrd+114E0biCdPniQsLKyt2xARkRvE8ePH6dq16zUfdysQL1++zLx588jIyKC0tJQuXbowbtw4nnvuOSt1jTHMnz+flStXUlZWRkxMDK+88gp33nmntZ+qqipmzpzJxo0bqaysZNiwYbz66qsujZaVlTF9+nQ2b94MQGJiIi+//DK33XZbo3oNCAiwJiAwMNCdwxQRkZtIeXk5YWFhVi5ck3HDb3/7WxMUFGTee+89U1JSYt566y3zgx/8wCxdutSqWbBggQkICDBvv/222b9/vxk9erTp0qWLKS8vt2omT55sbr/9dpOdnW327dtnfvrTn5q7777bXL582aoZMWKEiYyMNDt37jQ7d+40kZGRJiEhodG9Op1OAxin0+nOIYqIyE2msXngViCOHDnSjB8/3mXskUceMb/61a+MMcbU1NQYh8NhFixYYD3+9ddfG7vdbl577TVjjDHnz583Xl5eJjMz06r529/+Ztq1a2eysrKMMcYUFRUZwOzevduq2bVrlwHMp59+2qheFYgiImJM4/PArU+Z3nfffXz44Yd89tlnAHzyySds376dBx98EICSkhJKS0uJj4+3tvHx8WHIkCHs3LkTgPz8fC5duuRSExoaSmRkpFWza9cu7HY7MTExVs3AgQOx2+1WzdWqqqooLy93uYmIiDSWW+8hPvvsszidTvr06YOHhwdXrlzhxRdf5Je//CUApaWlAISEhLhsFxISwtGjR60ab29vOnToUKemdvvS0lKCg4PrPH9wcLBVc7X09HTmz5/vzuGIiIhY3Fohvvnmm6xfv54NGzawb98+1q1bx+9+9zvWrVvnUnf11xyMMd/51Yera+qrb2g/c+bMwel0Wrfjx4839rBERETcWyE+88wzzJ49m3/6p38CoF+/fhw9epT09HTGjh2Lw+EAsD6BWuvMmTPWqtHhcFBdXU1ZWZnLKvHMmTMMGjTIqjl9+nSd5z979myd1WctHx8ffHx83DkcERERi1srxIsXL9b5UqOHhwc1NTUA9OzZE4fDQXZ2tvV4dXU1OTk5VthFRUXh5eXlUnPq1CkOHDhg1cTGxuJ0OsnNzbVq9uzZg9PptGpERESak1srxJ///Oe8+OKLdOvWjTvvvJOCggIWL17M+PHjgW9Oc6akpJCWlkZ4eDjh4eGkpaXh5+fHmDFjALDb7UyYMIGnn36aoKAgOnbsyMyZM+nXrx9xcXEAREREMGLECCZOnMjrr78OwKRJk0hISKB3797NefwiIiLfcOejq+Xl5WbGjBmmW7duxtfX1/Tq1cvMnTvXVFVVWTU1NTXm+eefNw6Hw/j4+Jif/OQnZv/+/S77qaysNFOnTjUdO3Y07du3NwkJCebYsWMuNefOnTNJSUkmICDABAQEmKSkJFNWVtboXvW1CxERMabxeWAzxpi2DuWWUF5ejt1ux+l06pdqpNXZpmZc9z7M8qRm6EREGpsHutqFiIgICkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAA3L/8kIt8/zfFD46AfG5ebn1aIIiIiKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQA8GzrBkRuJLapGW3dgoi0Ea0QRUREUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERIAmBOLf/vY3fvWrXxEUFISfnx/33HMP+fn51uPGGObNm0doaCjt27dn6NChHDx40GUfVVVVTJs2jU6dOuHv709iYiInTpxwqSkrKyM5ORm73Y7dbic5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en20QhQREeF7EIivvvoqPXv2xNfXl6ioKLZt29bWLYmIyE3ohg7EN998k5SUFObOnUtBQQH3338/P/vZzzh27FhbtyYiIjcZmzHGtHUT1xITE8O9997LihUrrLGIiAgefvhh0tPTG9y2vLwcu92O0+kkMDDwuvrQ+38i8n2g9xDr19g8uGE/VFNdXU1+fj6zZ892GY+Pj2fnzp116quqqqiqqrLuO51O4JuJuP5mLl7/PkREWpht0qq2bsHi/N3otm7BUpsD37X+u2ED8YsvvuDKlSuEhIS4jIeEhFBaWlqnPj09nfnz59cZDwsLa7EeRUSkfvZVk9q6hToqKiqw2+3XfPyGDcRaNpvN5b4xps4YwJw5c0hNTbXu19TU8OWXXxIUFFRvfWOVl5cTFhbG8ePHr/vU681E83Jtmpv6aV6uTXNTv+aaF2MMFRUVhIaGNlh3wwZip06d8PDwqLMaPHPmTJ1VI4CPjw8+Pj4uY7fddluz9RMYGKg/1HpoXq5Nc1M/zcu1aW7q1xzz0tDKsNYN+ylTb29voqKiyM7OdhnPzs5m0KBBbdSViIjcrG7YFSJAamoqycnJREdHExsby8qVKzl27BiTJ09u69ZEROQmc0MH4ujRozl37hy/+c1vOHXqFJGRkWzZsoXu3bu3Wg8+Pj48//zzdU7H3uo0L9emuamf5uXaNDf1a+15uaG/hygiItJabtj3EEVERFqTAlFERAQFooiICKBAFBERARSIgPuXmMrJySEqKgpfX1969erFa6+91kqdti535uWdd97hgQceoHPnzgQGBhIbG8v777/fit22rqZelmzHjh14enpyzz33tGyDbcTdeamqqmLu3Ll0794dHx8ffvjDH/LGG2+0Uretx915ycjI4O6778bPz48uXbrw2GOPce7cuVbqtvX813/9Fz//+c8JDQ3FZrPx7rvvfuc2Lfr6a25xmZmZxsvLy6xatcoUFRWZGTNmGH9/f3P06NF6648cOWL8/PzMjBkzTFFRkVm1apXx8vIyf/rTn1q585bl7rzMmDHDvPTSSyY3N9d89tlnZs6cOcbLy8vs27evlTtvee7OTa3z58+bXr16mfj4eHP33Xe3TrOtqCnzkpiYaGJiYkx2drYpKSkxe/bsMTt27GjFrlueu/Oybds2065dO/P73//eHDlyxGzbts3ceeed5uGHH27lzlveli1bzNy5c83bb79tALNp06YG61v69feWD8QBAwaYyZMnu4z16dPHzJ49u976WbNmmT59+riMPfHEE2bgwIEt1mNbcHde6tO3b18zf/785m6tzTV1bkaPHm2ee+458/zzz9+UgejuvPz5z382drvdnDt3rjXaazPuzsu//du/mV69ermMLVu2zHTt2rXFerwRNCYQW/r195Y+ZVp7ian4+HiX8WtdYgpg165ddeqHDx/O3r17uXTpUov12pqaMi9Xq6mpoaKigo4dO7ZEi22mqXOzZs0aDh8+zPPPP9/SLbaJpszL5s2biY6OZuHChdx+++3ccccdzJw5k8rKytZouVU0ZV4GDRrEiRMn2LJlC8YYTp8+zZ/+9CdGjhzZGi3f0Fr69feG/qWalubuJaYASktL662/fPkyX3zxBV26dGmxfltLU+blaosWLeKrr75i1KhRLdFim2nK3Hz++efMnj2bbdu24el5c/4v15R5OXLkCNu3b8fX15dNmzbxxRdfMGXKFL788sub5n3EpszLoEGDyMjIYPTo0Xz99ddcvnyZxMREXn755dZo+YbW0q+/t/QKsVZjLzHVUH1949937s5LrY0bNzJv3jzefPNNgoODW6q9NtXYubly5Qpjxoxh/vz53HHHHa3VXptx52+mpqYGm81GRkYGAwYM4MEHH2Tx4sWsXbv2plolgnvzUlRUxPTp0/nXf/1X8vPzycrKoqSkRL/h/H9a8vX35vznaiO5e4kpAIfDUW+9p6cnQUFBLdZra2rKvNR68803mTBhAm+99RZxcXEt2WabcHduKioq2Lt3LwUFBUydOhX4JgiMMXh6erJ161b+7u/+rlV6b0lN+Zvp0qULt99+u8tleSIiIjDGcOLECcLDw1u059bQlHlJT09n8ODBPPPMMwDcdddd+Pv7c//99/Pb3/72pjgL1VQt/fp7S68Qm3KJqdjY2Dr1W7duJTo6Gi8vrxbrtTU19dJbGzduZNy4cWzYsOGmfb/D3bkJDAxk//79FBYWWrfJkyfTu3dvCgsLiYmJaa3WW1RT/mYGDx7MyZMnuXDhgjX22Wef0a5dO7p27dqi/baWpszLxYsXadfO9aXZw8MD+P/V0K2qxV9/m+WjOd9jtR+JXr16tSkqKjIpKSnG39/f/PWvfzXGGDN79myTnJxs1dd+7Pepp54yRUVFZvXq1Tf11y4aOy8bNmwwnp6e5pVXXjGnTp2ybufPn2+rQ2gx7s7N1W7WT5m6Oy8VFRWma9eu5h/+4R/MwYMHTU5OjgkPDzePP/54Wx1Ci3B3XtasWWM8PT3Nq6++ag4fPmy2b99uoqOjzYABA9rqEFpMRUWFKSgoMAUFBQYwixcvNgUFBdZXUlr79feWD0RjjHnllVdM9+7djbe3t7n33ntNTk6O9djYsWPNkCFDXOo//vhj079/f+Pt7W169OhhVqxY0codtw535mXIkCEGqHMbO3Zs6zfeCtz9m/m2mzUQjXF/XoqLi01cXJxp37696dq1q0lNTTUXL15s5a5bnrvzsmzZMtO3b1/Tvn1706VLF5OUlGROnDjRyl23vI8++qjB143Wfv3V5Z9ERES4xd9DFBERqaVAFBERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUQa4V/+5V+YNGmSdX/o0KGkpKQ0uE2PHj1YunRpk5/zvffeo3///tTU1DR5HyLuUCCKXMO4ceOw2Wz1XmVgypQp2Gw2xo0b1/qNXYecnByioqLw9fWlV69evPbaa9+5zenTp/n973/Pr3/9a7eeKy8vzyVEbTYb7777bqO3T0hIwGazsWHDBreeV6SpFIgiDQgLCyMzM9PlckRff/01GzdupFu3bte1b2MMly9fvt4WG62kpIQHH3yQ+++/n4KCAn79618zffp03n777Qa3W716NbGxsfTo0cOt5+vcuTN+fn7X0TE89thjug6gtBoFokgD7r33Xrp168Y777xjjb3zzjuEhYXRv39/l9qqqiqmT59OcHAwvr6+3HfffeTl5VmPf/zxx9hsNt5//32io6Px8fFh27ZtVFRUkJSUhL+/P126dGHJkiV1TkmuX7+e6OhoAgICcDgcjBkzhjNnztTZ94cffkh0dDR+fn4MGjSIQ4cOWTWvvfYa3bp1Y+nSpURERPD4448zfvx4fve73zU4B5mZmSQmJtYZv3z5MlOnTuW2224jKCiI5557zuVqDN8+ZVobpn//93+PzWaz7n/yySf89Kc/JSAggMDAQKKioti7d6+1j8TERHJzczly5EiDPYo0BwWiyHd47LHHWLNmjXX/jTfeYPz48XXqZs2axdtvv826devYt28fP/rRjxg+fDhffvllnbr09HSKi4u56667SE1NZceOHWzevJns7Gy2bdvGvn37XLaprq7mhRde4JNPPuHdd9+lpKSk3tO1c+fOZdGiRezduxdPT0+XPnft2kV8fLxL/fDhw9m7dy+XLl2q99jLyso4cOAA0dHRdR5bt24dnp6e7Nmzh2XLlrFkyRL+8Ic/1Luf2n8YrFmzhlOnTln3k5KS6Nq1K3l5eeTn5zN79myXy/h0796d4OBgtm3bVu9+RZpVs/1MuMhNZuzYseahhx4yZ8+eNT4+PqakpMT89a9/Nb6+vubs2bPmoYcesn6V/8KFC8bLy8tkZGRY21dXV5vQ0FCzcOFCY8z//7L/u+++a9WUl5cbLy8v89Zbb1lj58+fN35+fmbGjBnX7C03N9cApqKiwmXfH3zwgVXzn//5nwYwlZWVxhhjwsPDzYsvvuiynx07dhjAnDx5st7nqb0sz7Fjx1zGhwwZYiIiIkxNTY019uyzz5qIiAjrfvfu3c2SJUus+4DZtGmTy34CAgLM2rVrr3mcxhjTv39/M2/evAZrRJqDVogi36FTp06MHDmSdevWsWbNGkaOHEmnTp1cag4fPsylS5cYPHiwNebl5cWAAQMoLi52qf32auvIkSNcunSJAQMGWGN2u53evXu7bFNQUMBDDz1E9+7dCQgIYOjQoQAcO3bMpe6uu+6y/rv2yurfPrVqs9lc6s3/neK8erxW7Xunvr6+dR4bOHCgy3axsbF8/vnnXLlypd591Sc1NZXHH3+cuLg4FixYwOHDh+vUtG/fnosXLzZ6nyJNpUAUaYTx48ezdu1a1q1bV+/p0msFizGmzpi/v3+jtqv11VdfER8fzw9+8APWr19PXl4emzZtAr45lfpt3z7dWLvP2q8tOBwOSktLXerPnDmDp6cnQUFB9R53bfCXlZXV+/j1mjdvHgcPHmTkyJH85S9/oW/fvtax1fryyy/p3Llzizy/yLcpEEUaYcSIEVRXV1NdXc3w4cPrPP6jH/0Ib29vtm/fbo1dunSJvXv3EhERcc39/vCHP8TLy4vc3FxrrLy8nM8//9y6/+mnn/LFF1+wYMEC7r//fvr06eOy6mus2NhYsrOzXca2bt1KdHS0S5Be3V9gYCBFRUV1Htu9e3ed++Hh4Xh4eNS7Ly8vr3pXj3fccQdPPfUUW7du5ZFHHnF5v/brr7/m8OHDdT7AJNISFIgijeDh4UFxcTHFxcX1vuD7+/vzz//8zzzzzDNkZWVRVFTExIkTuXjxIhMmTLjmfgMCAhg7dizPPPMMH330EQcPHmT8+PG0a9fOWuF169YNb29vXn75ZY4cOcLmzZt54YUX3D6GyZMnc/ToUVJTUykuLuaNN95g9erVzJw585rbtGvXjri4OJegr3X8+HFSU1M5dOgQGzdu5OWXX2bGjBnX3FePHj348MMPKS0tpaysjMrKSqZOncrHH3/M0aNH2bFjB3l5eS7/gNi9ezc+Pj7Exsa6fbwi7lIgijRSYGAggYGB13x8wYIF/OIXvyA5OZl7772X//mf/+H999+nQ4cODe538eLFxMbGkpCQQFxcHIMHDyYiIsJ6365z586sXbuWt956i759+7JgwYLv/KpEfXr27MmWLVv4+OOPueeee3jhhRdYtmwZv/jFLxrcbtKkSWRmZtb5xZhHH32UyspKBgwYwJNPPsm0adNcvoh/tUWLFpGdnW19ZcXDw4Nz587x6KOPcscddzBq1Ch+9rOfMX/+fGubjRs3kpSUdN3fZxRpDJv59psVItLmvvrqK26//XYWLVrU4OqytRhjGDhwICkpKfzyl79stec9e/Ysffr0Ye/evfTs2bPVnlduXVohirSxgoICNm7cyOHDh9m3bx9JSUkAPPTQQ23c2TdsNhsrV65s1V/VgW9+WefVV19VGEqr0QpRpI0VFBTw+OOPc+jQIby9vYmKimLx4sX069evrVsTuaUoEEVERNApUxEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREQD+FzzOVM+3yHJcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=0)\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan0 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan0 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.26732673267326734\n", "0.8 0.29411764705882354\n", "0.9 0.328\n", "0.95 0.36\n", "0.99 0.42028985507246375\n", "0.7 0.2127659574468085\n", "0.8 0.23404255319148937\n", "0.9 0.26666666666666666\n", "0.95 0.29545454545454547\n", "0.99 0.35555555555555557\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAEmCAYAAAD80+CWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkMklEQVR4nO3de1xU953/8dfITWFhoiggG1SSEMRqGsQE0WxxV6KmUtLLY7XBEtMYLzVeiCaKa7rBdAPRjZJGGqvWivWaR7YxtW3WaFN1NYogQjYKalapwRWENDhgQsHL9/eHy/llRAkDDHh5Px+PeTwy3/M5Zz7fifGd75lzZmzGGIOIiMgdrktnNyAiInIzUCCKiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICgGdnN+AuV65c4ezZs/j7+2Oz2Tq7HRER6STGGGprawkNDaVLlxuvA2/bQDx79ixhYWGd3YaIiNwkysrKuPvuu2+4/bYNRH9/f+DqGxAQENDJ3YiISGepqakhLCzMyoUbuW0DsfE0aUBAgAJRRES+9uMzXVQjIiKCAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBbuMb8+XWYZuxsV2OY7IntMtxROTOpBWiiIgICkQRERFAgSgiIgLoM0S5jbTHZ5H6HFLkzqUVooiICApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBHAxEC9dusSLL75IeHg43bp145577uHll1/mypUrVo0xhvT0dEJDQ+nWrRsjRozg6NGjTsepr69n5syZ9OzZEz8/P5KSkjhz5oxTTXV1NSkpKdjtdux2OykpKZw/f771MxUREWmGS4G4ePFifvnLX5KdnU1JSQlLlizh3//931m+fLlVs2TJEpYtW0Z2djb5+fmEhITw6KOPUltba9WkpqaydetWtmzZwr59+7hw4QKJiYlcvnzZqklOTqaoqIjt27ezfft2ioqKSElJaYcpi4iINGUzxpiWFicmJhIcHMyaNWussR/84Af4+vqyfv16jDGEhoaSmprK/PnzgaurweDgYBYvXszUqVNxOBz06tWL9evXM378eADOnj1LWFgY7733HqNHj6akpIQBAwaQm5tLbGwsALm5ucTFxXHs2DEiIyO/tteamhrsdjsOh4OAgACX3hTpWO3180/tQV/dJnL7aWkeuLRCfOSRR/jggw84ceIEAB999BH79u3j29/+NgClpaVUVFQwatQoax8fHx/i4+PZv38/AAUFBVy8eNGpJjQ0lIEDB1o1Bw4cwG63W2EIMHToUOx2u1Vzrfr6empqapweIiIiLeXSl3vPnz8fh8NB//798fDw4PLly7zyyis88cQTAFRUVAAQHBzstF9wcDCnT5+2ary9venevXuTmsb9KyoqCAoKavL6QUFBVs21MjMzWbRokSvTERERsbi0QnzrrbfYsGEDmzZt4vDhw6xbt47XXnuNdevWOdXZbDan58aYJmPXurbmevXNHWfBggU4HA7rUVZW1tJpiYiIuLZCfOGFF0hLS+OHP/whAIMGDeL06dNkZmYyceJEQkJCgKsrvN69e1v7VVZWWqvGkJAQGhoaqK6udlolVlZWMmzYMKvm3LlzTV6/qqqqyeqzkY+PDz4+Pq5MR0RExOLSCvHLL7+kSxfnXTw8PKzbLsLDwwkJCWHnzp3W9oaGBvbs2WOFXUxMDF5eXk415eXlHDlyxKqJi4vD4XCQl5dn1Rw8eBCHw2HViIiItCeXVojf+c53eOWVV+jTpw/f+MY3KCwsZNmyZTz99NPA1dOcqampZGRkEBERQUREBBkZGfj6+pKcnAyA3W5n0qRJzJ07l8DAQHr06MHzzz/PoEGDSEhIACAqKooxY8YwefJkVq5cCcCUKVNITExs0RWmIiIirnIpEJcvX85Pf/pTpk+fTmVlJaGhoUydOpV//dd/tWrmzZtHXV0d06dPp7q6mtjYWHbs2IG/v79Vk5WVhaenJ+PGjaOuro6RI0eSk5ODh4eHVbNx40ZmzZplXY2alJREdnZ2W+crIiJyXS7dh3gr0X2Itw7dhygi7uSW+xBFRERuVwpEERERFIgiIiKAAlFERARw8SpTkdtde13go4tzRG49WiGKiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICgGdnNyC3LtuMjZ3dgohIu9EKUUREBAWiiIgI0IpA/N///V9+9KMfERgYiK+vLw8++CAFBQXWdmMM6enphIaG0q1bN0aMGMHRo0edjlFfX8/MmTPp2bMnfn5+JCUlcebMGaea6upqUlJSsNvt2O12UlJSOH/+fOtmKSIi8jVcCsTq6mqGDx+Ol5cX//mf/0lxcTFLly7lrrvusmqWLFnCsmXLyM7OJj8/n5CQEB599FFqa2utmtTUVLZu3cqWLVvYt28fFy5cIDExkcuXL1s1ycnJFBUVsX37drZv305RUREpKSltn7GIiMh12IwxpqXFaWlpfPjhh+zdu/e6240xhIaGkpqayvz584Grq8Hg4GAWL17M1KlTcTgc9OrVi/Xr1zN+/HgAzp49S1hYGO+99x6jR4+mpKSEAQMGkJubS2xsLAC5ubnExcVx7NgxIiMjv7bXmpoa7HY7DoeDgICAlk5RXKCLam7MZE/o7BZE5P+0NA9cWiFu27aNIUOG8M///M8EBQURHR3N6tWrre2lpaVUVFQwatQoa8zHx4f4+Hj2798PQEFBARcvXnSqCQ0NZeDAgVbNgQMHsNvtVhgCDB06FLvdbtVcq76+npqaGqeHiIhIS7kUiKdOnWLFihVERETw/vvvM23aNGbNmsVvfvMbACoqKgAIDg522i84ONjaVlFRgbe3N927d2+2JigoqMnrBwUFWTXXyszMtD5vtNvthIWFuTI1ERG5w7kUiFeuXGHw4MFkZGQQHR3N1KlTmTx5MitWrHCqs9lsTs+NMU3GrnVtzfXqmzvOggULcDgc1qOsrKyl0xIREXEtEHv37s2AAQOcxqKiovj0008BCAkJAWiyiqusrLRWjSEhITQ0NFBdXd1szblz55q8flVVVZPVZyMfHx8CAgKcHiIiIi3lUiAOHz6c48ePO42dOHGCvn37AhAeHk5ISAg7d+60tjc0NLBnzx6GDRsGQExMDF5eXk415eXlHDlyxKqJi4vD4XCQl5dn1Rw8eBCHw2HViIiItCeXvrrtueeeY9iwYWRkZDBu3Djy8vJYtWoVq1atAq6e5kxNTSUjI4OIiAgiIiLIyMjA19eX5ORkAOx2O5MmTWLu3LkEBgbSo0cPnn/+eQYNGkRCQgJwddU5ZswYJk+ezMqVKwGYMmUKiYmJLbrCVERExFUuBeJDDz3E1q1bWbBgAS+//DLh4eG8/vrrTJjw/y8xnzdvHnV1dUyfPp3q6mpiY2PZsWMH/v7+Vk1WVhaenp6MGzeOuro6Ro4cSU5ODh4eHlbNxo0bmTVrlnU1alJSEtnZ2W2dr4iIyHW5dB/irUT3Ibqf7kN0L93LKNI+3HIfooiIyO1KgSgiIoICUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAjQxkDMzMzEZrORmppqjRljSE9PJzQ0lG7dujFixAiOHj3qtF99fT0zZ86kZ8+e+Pn5kZSUxJkzZ5xqqqurSUlJwW63Y7fbSUlJ4fz5821pV0RE5IZaHYj5+fmsWrWKBx54wGl8yZIlLFu2jOzsbPLz8wkJCeHRRx+ltrbWqklNTWXr1q1s2bKFffv2ceHCBRITE7l8+bJVk5ycTFFREdu3b2f79u0UFRWRkpLS2nZFRESa1apAvHDhAhMmTGD16tV0797dGjfG8Prrr7Nw4UK+//3vM3DgQNatW8eXX37Jpk2bAHA4HKxZs4alS5eSkJBAdHQ0GzZs4OOPP+ZPf/oTACUlJWzfvp1f/epXxMXFERcXx+rVq/nDH/7A8ePH22HaIiIizloViM8++yxjx44lISHBaby0tJSKigpGjRpljfn4+BAfH8/+/fsBKCgo4OLFi041oaGhDBw40Ko5cOAAdrud2NhYq2bo0KHY7Xar5lr19fXU1NQ4PURERFrK09UdtmzZwuHDh8nPz2+yraKiAoDg4GCn8eDgYE6fPm3VeHt7O60sG2sa96+oqCAoKKjJ8YOCgqyaa2VmZrJo0SJXpyMiIgK4uEIsKytj9uzZbNiwga5du96wzmazOT03xjQZu9a1Nderb+44CxYswOFwWI+ysrJmX09EROSrXArEgoICKisriYmJwdPTE09PT/bs2cMbb7yBp6entTK8dhVXWVlpbQsJCaGhoYHq6upma86dO9fk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WpoBzG9/+9vOmkK7ueMD0RhjfvGLX5i+ffsab29vM3jwYLNnzx5r28SJE018fLxT/e7du010dLTx9vY2/fr1MytWrOjgjtuXq/MHmjz69u3bsU23I1fmHx8ff935T5w4seMbbyeuzP+NN94w3/jGN4yvr68JCAgw0dHR5s033zSXL1/uhM7bj6v/DXzVrR6Ixrg2/8WLF5t7773XdO3a1XTv3t088sgj5o9//GMndN3+9PNPIiIi3OGfIYqIiDRSIIqIiKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiLfDTn/6UKVOmWM9HjBhBampqs/v069eP119/vdWv+Yc//IHo6GiuXLnS6mOIuEKBKHIDTz31FDabjWnTpjXZNn36dGw2G0899VTHN9ZK5eXlJCcnExkZSZcuXb420BqdO3eOn//85/zLv/yLS6+Xn5/vFKI2m4133323xfsnJiZis9nYtGmTS68r0loKRJFmhIWFsWXLFurq6qyxv/3tb2zevJk+ffq06djGGC5dutTWFlusvr6eXr16sXDhQr75zW+2eL81a9YQFxdHv379XHq9Xr164evr62KXzn784x+zfPnyNh1DpKUUiCLNGDx4MH369OGdd96xxt555x3CwsKIjo52qq2vr2fWrFkEBQXRtWtXHnnkEfLz863tu3fvxmaz8f777zNkyBB8fHzYu3cvtbW1TJgwAT8/P3r37k1WVlaTU5IbNmxgyJAh+Pv7ExISQnJyMpWVlU2O/cEHHzBkyBB8fX0ZNmwYx48ft2r69evHz3/+c5588knsdnuL34MtW7aQlJTUZPzSpUvMmDGDu+66i8DAQF588UW++k2QXz1l2him3/ve97DZbNbzjz76iH/8x3/E39+fgIAAYmJiOHTokHWMpKQk8vLyOHXqVIv7FWktBaLI1/jxj3/M2rVrree//vWvefrpp5vUzZs3j9/+9resW7eOw4cPc9999zF69Gg+//zzJnWZmZmUlJTwwAMPMGfOHD788EO2bdvGzp072bt3L4cPH3bap6GhgZ/97Gd89NFHvPvuu5SWll73dO3ChQtZunQphw4dwtPT87p9uqK6upojR44wZMiQJtvWrVuHp6cnBw8e5I033iArK4tf/epX1z1O4/8YrF27lvLycuv5hAkTuPvuu8nPz6egoIC0tDSnn1Hr27cvQUFB7N27t03zEGmRzv1ucZGb18SJE83jjz9uqqqqjI+PjyktLTV/+ctfTNeuXU1VVZV5/PHHrV+5uHDhgvHy8jIbN2609m9oaDChoaFmyZIlxhhjdu3aZQDz7rvvWjU1NTXGy8vLvP3229bY+fPnja+vr5k9e/YNe8vLyzOAqa2tdTr2n/70J6vmj3/8owFMXV1dk/3j4+ObPX6jwsJCA5hPP/20yf5RUVHmypUr1tj8+fNNVFSU9bxv374mKyvLeg6YrVu3Oh3H39/f5OTkNNtDdHS0SU9P/9peRdpKK0SRr9GzZ0/Gjh3LunXrWLt2LWPHjqVnz55ONSdPnuTixYsMHz7cGvPy8uLhhx+mpKTEqfarq61Tp05x8eJFHn74YWvMbrcTGRnptE9hYSGPP/44ffv2xd/fnxEjRgDw6aefOtU98MAD1j83/mDrV0+tuqrxs9OuXbs22TZ06FBsNpv1PC4ujk8++YTLly+3+Phz5szhmWeeISEhgVdffZWTJ082qenWrRtffvllK7oXcY0CUaQFnn76aXJycli3bt11T0Oa//vs7KsB0Th+7Zifn1+L9mv0xRdfMGrUKP7u7/6ODRs2kJ+fz9atW4Grp1K/6qunGxuP2ZbbFhqDv7q6utXHaE56ejpHjx5l7Nix/PnPf2bAgAHW3Bp9/vnn9OrVyy2vL/JVCkSRFhgzZgwNDQ00NDQwevToJtvvu+8+vL292bdvnzV28eJFDh06RFRU1A2Pe++99+Ll5UVeXp41VlNTwyeffGI9P3bsGJ999hmvvvoq//AP/0D//v3btOpzxb333ktAQADFxcVNtuXm5jZ5HhERgYeHx3WP5eXldd3V4/33389zzz3Hjh07+P73v+/0ee3f/vY3Tp482eQCJhF3UCCKtICHhwclJSWUlJRc9y98Pz8/fvKTn/DCCy+wfft2iouLmTx5Ml9++SWTJk264XH9/f2ZOHEiL7zwArt27eLo0aM8/fTTdOnSxVrh9enTB29vb5YvX86pU6fYtm0bP/vZz1o1j6KiIoqKirhw4QJVVVUUFRVdN+wadenShYSEBKegb1RWVsacOXM4fvw4mzdvZvny5cyePfuGx+rXrx8ffPABFRUVVFdXU1dXx4wZM9i9ezenT5/mww8/JD8/3+l/IHJzc/Hx8SEuLq5V8xVxhQJRpIUCAgIICAi44fZXX32VH/zgB6SkpDB48GD+53/+h/fff5/u3bs3e9xly5YRFxdHYmIiCQkJDB8+nKioKOtzu169epGTk8Pbb7/NgAEDePXVV3nttddaNYfo6Giio6MpKChg06ZNREdH8+1vf7vZfaZMmcKWLVuanHp98sknqaur4+GHH+bZZ59l5syZTjfiX2vp0qXs3LnTumXFw8ODv/71rzz55JPcf//9jBs3jscee4xFixZZ+2zevJkJEya0+X5GkZawma9+WCEine6LL77g7//+71m6dGmzq8uOYoxh6NChpKam8sQTT3TY61ZVVdG/f38OHTpEeHh4h72u3Lm0QhTpZIWFhWzevJmTJ09y+PBhJkyYAMDjjz/eyZ1dZbPZWLVqVYd+qw5AaWkpb775psJQOoxWiCKdrLCwkGeeeYbjx4/j7e1NTEwMy5YtY9CgQZ3dmsgdRYEoIiKCTpmKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgA8P8AlqokCOcV4qAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=1)\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan1 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan1 (bits)\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.18181818181818182\n", "0.8 0.2\n", "0.9 0.22560975609756098\n", "0.95 0.24786324786324787\n", "0.99 0.2967032967032967\n", "0.7 0.1326530612244898\n", "0.8 0.14606741573033707\n", "0.9 0.16666666666666666\n", "0.95 0.18518518518518517\n", "0.99 0.2261904761904762\n" ] }, { "data": { "image/png": "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86tf/cr07t3beHp6moceesjk5ORY2yZOnGhiY2Od6vft22ciIyONp6enueeee8yKFSvauOO24eq8AHVevXv3btum24grcxMbG1vv3EycOLHtG29lrszLm2++ab73ve8ZHx8f4+/vbyIjI83bb79tbty40Q6dty5X/1/6po4ciMa4NjeLFy829957r+natasJCAgwjz76qHn//fdbrBc9/klERIRO/h2iiIhILQWiiIgICkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIp3aSy+9REpKSnu3cdsyMzNJTExs7zbkO06BKJ3OpEmTsNlsTJ8+vc62GTNmYLPZmDRpUts31kzbtm1j5MiR9OjRA39/f2JiYti1a9e37nfhwgV++ctf8s///M9t0GXTff7559hsNgoKCpq8z9SpU8nLy+PAgQOt15h0eApE6ZTCwsLIysqioqLCGvvzn//Mli1b6NWr120d2xjD9evXb7fFJvvv//5vRo4cyc6dOzly5Ag//OEPefzxx8nPz290vzVr1hATE8M999zTNo22Ii8vL5KSknjrrbfauxX5DlMgSqf00EMP0atXL7Zt22aNbdu2jbCwMCIjI51qKysrmT17NkFBQXTt2pVHH32UvLw8a/u+ffuw2Wzs2rWL6OhovLy82L9/P+Xl5UyYMAFfX1969uzJ8uXLGT58OKmpqda+GzduJDo6Gj8/P0JCQkhKSuLixYt1jv3hhx8SHR2Nj48PQ4cO5eTJk1bNG2+8wbx583j44YcJDw8nPT2d8PBw/v3f/73ROcjKyqrzMWNNTQ2LFy/mvvvuw8vLi169evHqq69a2z/99FMee+wxvL29CQwMJCUlhStXrljbbz0/gCeeeMJpxX3PPfeQnp7O5MmT8fPzo1evXqxatcraXvs4qMjISGw2G8OHD7fm4pFHHsHX15e77rqLYcOGcebMGWu/xMRE3nvvPad/5Ii4QoEondY//dM/sXbtWuv9b37zGyZPnlynbt68efz2t79l/fr1HD16lPvuu49Ro0bx9ddf16nLyMigqKiIBx54gOeee46PPvqIHTt2sGfPHvbv38/Ro0ed9qmqquLnP/85v//973nvvfcoLi6u9+PaF198kaVLl/LJJ5/g7u5eb5+1ampqKC8vp1u3bg3WlJaWUlhYSHR0tNN4Wloaixcv5qWXXuL48eNs3rzZejbdtWvXGD16NAEBAeTl5fHuu+/ywQcfWM/tc8XSpUuJjo4mPz+fGTNm8OMf/5gTJ04AcPjwYQA++OADzp8/z7Zt27h+/TpPPPEEsbGx/OEPf+DQoUOkpKQ4PUg2Ojqa6upqa38Rl7XYrwkX+Y6YOHGiGTt2rLl06ZLx8vIyxcXF5vPPPzddu3Y1ly5dMmPHjrWeRHHlyhXj4eFhNm3aZO1fVVVlQkNDzZIlS4wxxuzdu9cA5r333rNqysrKjIeHh3n33XetscuXLxsfHx8zZ86cBns7fPiwAUx5ebnTsT/44AOr5v333zeAqaioqPcYS5YsMd26dTMXLlxo8Ofk5+cbwHzxxRdOPXt5eZnVq1fXu8+qVatMQECAuXLlilMvXbp0MSUlJcaYm0/2uPX8vjmfxhjTu3dv8/TTT1vva2pqTFBQkPXUmOLiYgOY/Px8q+ZPf/qTAcy+ffsaPCdjjAkICDDr1q1rtEakIVohSqfVvXt3xowZw/r161m7di1jxoyhe/fuTjWnT5+murqaYcOGWWMeHh488sgjFBUVOdV+c7X12WefUV1dzSOPPGKN2e12+vXr57RPfn4+Y8eOpXfv3vj5+VkfD37xxRdOdQ888ID137UPQ/3mR6u1tmzZwsKFC9m6dStBQUENnnvtx4pdu3a1xoqKiqisrCQuLq7efYqKivj+97+Pr6+vNTZs2DBqamqcPsJtim+ej81mIyQkpN7zqdWtWzcmTZrEqFGjePzxx/nlL3/J+fPn69R5e3tz7do1l3oRqaVAlE5t8uTJrFu3jvXr19f7MaT5v6ejffOjudrxW8e+GRSN7Vfr6tWrxMfH8xd/8Rds3LiRvLw8tm/fDtz8KPWbPDw8rP+uPWZNTY1TzdatW5kyZQr/+q//yogRIxo5a6zgLy0ttca8vb0b3ae+c761py5dujidI0B1dXWd+m+eT+3+t57PrdauXcuhQ4cYOnQoW7du5f777yc3N9ep5uuvv6ZHjx6NHkekIQpE6dRGjx5NVVUVVVVVjBo1qs72++67D09PT6fL+aurq/nkk08YMGBAg8e999578fDwcPo+q6ysjD/+8Y/W+xMnTvDVV1/x2muv8Vd/9Vf079+/0VVSY7Zs2cKkSZPYvHkzY8aM+db6e++9F39/f44fP26NhYeH4+3tzYcffljvPgMHDqSgoICrV69aYx999BFdunTh/vvvB6BHjx5OK7cbN25QWFjo0rl4enpa+94qMjKStLQ0Dh48SEREBJs3b7a2nT59mj//+c91LooSaSoFonRqbm5uFBUVUVRUhJubW53tvr6+/PjHP+aFF14gOzub48ePM3XqVK5du8aUKVMaPK6fnx8TJ07khRdeYO/evRw7dozJkyfTpUsXazXVq1cvPD09eeutt/jss8/YsWMHP//5z10+hy1btvCjH/2IpUuXMmTIEEpKSigpKcHhcDS4T5cuXRgxYoRT0Hft2pX58+czb9483nnnHU6fPk1ubi5r1qwBYMKECXTt2pWJEydSWFjI3r17mTVrFsnJydaFN4899hjvv/8+77//PidOnGDGjBlcvnzZpfMJCgrC29ub7OxsLly4gMPhoLi4mLS0NA4dOsSZM2fYvXs3p06dcvpHyf79++nbty/33nuvSz9PpJYCUTo9f39//P39G9z+2muv8eSTT5KcnMxDDz3E//zP/7Br1y4CAgIaPe6yZcuIiYkhISGBESNGMGzYMAYMGGB9b9ejRw/WrVvHu+++y8CBA3nttdd4/fXXXe5/5cqVXL9+nWeffZaePXtarzlz5jS6X0pKCllZWU4fVb700kvMnTuXn/3sZwwYMIDx48dbq1YfHx927drF119/zcMPP8zf//3fExcXR2ZmprX/5MmTmThxIj/60Y+IjY2lT58+/PCHP3TpfNzd3XnzzTdZuXIloaGhjB07Fh8fH06cOMGTTz7J/fffT0pKCjNnzmTatGnWflu2bGHq1Kku/SyRb7KZWz/wF5FWcfXqVf7yL/+SpUuXNrq6bCvGGIYMGUJqaipPPfVUe7dzWwoLC4mLi+PUqVPY7fb2bke+o7RCFGkl+fn5bNmyhdOnT3P06FEmTJgAwNixY9u5s5tsNhurVq1q09+q01rOnTvHO++8ozCU26IVokgryc/P55lnnuHkyZN4enoSFRXFsmXLGDRoUHu3JiL1UCCKiIigj0xFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQA+H+Pf4qfo6xDugAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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pf6zzz4zunbtanh7exvt2rUzFi9eXM89blxqOn6Sqnzatm1bv51uZGoyhr179652DIcOHVr/HW8kajJ+77//vtGpUyfD19fXsNvtRteuXY1FixYZV69ebYCeNx41/e/4u+6V0OSnwQAAsIh7mgAAWERoAgBgEaEJAIBFhCYAABYRmgAAWERoAgBgEaEJAIBFhCYAt/jFL36hkSNHmst9+vRRcnLybbdp166dFixYcNfH/P3vf6+uXbvq2rVrd70PoCYITaAWhg0bJpvNptGjR1dZN2bMGNlsNg0bNqz+O3aX1q9fr379+qlVq1ay2+2KiYnR5s2b77jd2bNn9R//8R/6+c9/XqPj5eTkuAStzWbTRx99ZHn7+Ph42Ww2rV27tkbHBe4WoQnUUlhYmDIzM1VeXm62/f3vf1dGRoYeeuihWu3bMAxduXKltl207PPPP1e/fv20adMm5ebm6plnntFzzz2nvLy82263fPlyxcTEqF27djU6XqtWreTr61uLHks//elPtXDhwlrtA7CK0ARqqVu3bnrooYe0fv16s239+vUKCwtT165dXWorKio0fvx4BQUFqVmzZnrqqaeUk5Njrv/ss89ks9m0efNmde/eXT4+Ptq+fbvKyso0ZMgQ+fn5qXXr1po/f36Vy5+rV69W9+7d5e/vr5CQECUmJqq4uLjKvj/55BN1795dvr6+6tmzp44cOWLWLFiwQFOmTNETTzyhiIgIpaSkKCIiQh9//PFtxyAzM1MJCQlV2q9cuaKxY8fqwQcfVGBgoN544w1995s7v3t59kbg/uAHP5DNZjOXv/zySz3zzDPy9/eX3W5XVFSU9u7da+4jISFBe/bs0fHjx2/bR8AdCE3ADX76059qxYoV5vJvfvMbvfzyy1XqpkyZot/+9rdauXKl9u3bp0ceeUT9+/fX+fPnq9Slpqbq0KFDeuyxxzRx4kR98cUX2rhxo7Zu3art27dr3759LttUVlbql7/8pb788kt99NFHKigoqPbS8IwZMzR37lzt3btXnp6e1fbzhmvXrqmsrEwBAQG3rCkpKdH+/fvVvXv3KutWrlwpT09P7d69W++//77mz5+vX//619Xu58YfDytWrFBhYaG5PGTIELVp00Y5OTnKzc3VtGnTXH5ir23btgoKCtL27dtv2UfAbRr2++KBpm3o0KHG888/b5w7d87w8fExCgoKjL/+9a9Gs2bNjHPnzhnPP/+8+csiFy9eNLy8vIw1a9aY21dWVhqhoaHGnDlzDMMwjE8//dSQZHz00UdmTWlpqeHl5WV8+OGHZtuFCxcMX19fY8KECbfs2549ewxJRllZmcu+//SnP5k1f/jDHwxJRnl5ebX7mDNnjhEQEGCcPXv2lsfJy8szJBknT550ae/du7cRGRlpXLt2zWybOnWqERkZaS63bdvWmD9/vrksydiwYYPLfvz9/Y309PRbHt8wDKNr167GzJkzb1sDuAMzTcANWrZsqYEDB2rlypVasWKFBg4cqJYtW7rUHDt2TJcvX1avXr3MNi8vLz355JM6dOiQS+13Z23Hjx/X5cuX9eSTT5ptDodD7du3d9kmLy9Pzz//vNq2bSt/f3/16dNHknTy5EmXuscee8z859atW0uSy2XcGzIyMjRz5kytW7dOQUFBtzz3G/dymzVrVmVdjx49ZLPZzOWYmBh9/fXXunr16i33d7OJEyfqlVdeUWxsrN555x0dO3asSk3z5s317bffWt4ncLcITcBNXn75ZaWnp2vlypXVXvI0/u9e3ndD5Eb7zW1+fn6Wtrvh0qVLiouL0z/8wz9o9erVysnJ0YYNGyRdv2z7Xd+9tHljnze/srFu3ToNHz5c//Vf/6XY2NjbnLXMPw5KSkpuW3e3Zs6cqQMHDmjgwIH685//rI4dO5rndsP58+fVqlWrOjk+8F2EJuAmAwYMUGVlpSorK9W/f/8q6x955BF5e3trx44dZtvly5e1d+9eRUZG3nK/3/ve9+Tl5aU9e/aYbaWlpfr666/N5cOHD+ubb77RO++8o6efflodOnSodvZoRUZGhoYNG6a1a9dq4MCBd6z/3ve+J7vdroMHD1ZZl52dXWU5IiJCHh4e1e7Ly8ur2lnoo48+qtdee01btmzRD3/4Q5f7x3//+9917NixKg9dAXWB0ATcxMPDQ4cOHdKhQ4eqDQU/Pz/97Gc/0+uvv66srCwdPHhQI0aM0Lfffqvhw4ffcr/+/v4aOnSoXn/9dX366ac6cOCAXn75ZT3wwAPmTPGhhx6St7e3Fi5cqOPHj2vjxo365S9/WeNzyMjI0EsvvaS5c+eqR48eKioqUlFRkZxO5y23eeCBBxQbG+vyx8ANp06d0sSJE3XkyBFlZGRo4cKFmjBhwi331a5dO33yyScqKipSSUmJysvLNXbsWH322Wc6ceKEvvjiC+Xk5Lj8kZGdnS0fHx/FxMTU+HyBmiI0ATey2+2y2+23XP/OO+/oRz/6kZKSktStWzf95S9/0ebNm9WiRYvb7nfevHmKiYlRfHy8YmNj1atXL0VGRpr3EVu1aqX09HR9+OGH6tixo9555x299957Ne7/kiVLdOXKFb366qtq3bq1+bld0EnSyJEjlZmZWeUy70svvaTy8nI9+eSTevXVVzVu3DiXLzO42dy5c7V161bzdR0PDw/97W9/00svvaRHH31UgwYN0rPPPqtZs2aZ22RkZGjIkCG1ft8TsMJmfPfGCIAm4dKlS/rHf/xHzZ0797az1PpiGIZ69Oih5ORkvfjii/V23HPnzqlDhw7au3evwsPD6+24uH8x0wSagLy8PGVkZOjYsWPat2+fhgwZIkl6/vnnG7hn19lsNi1durRev71IkgoKCrRo0SICE/WGmSbQBOTl5emVV17RkSNH5O3traioKM2bN09dunRp6K4B9xVCEwAAi7g8CwCARYQmAAAWEZoAAFhEaAIAYBGhCQCARYQmAAAWEZoAAFhEaAIAYBGhCQCARf8PwVypBJv11/MAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=2)\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan2 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan2 (bits)\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.14054054054054055\n", "0.8 0.15441176470588236\n", "0.9 0.1743119266055046\n", "0.95 0.19186046511627908\n", "0.99 0.23076923076923078\n", "0.7 0.10240963855421686\n", "0.8 0.11214953271028037\n", "0.9 0.12727272727272726\n", "0.95 0.14084507042253522\n", "0.99 0.17293233082706766\n" ] }, { "data": { "image/png": "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brLGeaEnwOWNlSYAADYRmgAA2ERoAgBgE59peok3PhMCAFzeWGkCAGAToQkAgE2EJgAANhGaAADYRGgCAGAToQkAgE3ccgLAK7x12xU/x4fLGStNAABsIjQBALCJ0AQAwKYO/5nmK6+8oueee04lJSW68cYb9cILL+jOO+9s724BuEB8NorLWYdeab711ltKS0vTY489pvz8fN155536u7/7Ox06dKi9uwYAuAI5jDGmvTtxoeLi4nTrrbfq1Vdftdr69Omje++9V5mZmec9vqKiQk6nU263WyEhIRfVF36wHbjysFr96bCbBx328mxtba127typefPmebSPGDFC27ZtO+sxNTU1qqmpsV673W5JZybr4jt06uLPAeCy4pi8wivncT8/1ivnQdtpzIHzrSM7bGh+9913qq+vV0REhEd7RESESktLz3pMZmamFixY0Ky9R48ebdJHAJAk54rJ7d0F2FRZWSmn03nO/R02NBs5HA6P18aYZm2N0tPT9cgjj1ivGxoadPz4cYWFhZ3zGDsqKirUo0cPHT58+KIv8+IM5tT7mNO2wbx6X3vMqTFGlZWVioyMbLGuw4Zmt27d1Llz52aryrKysmarz0b+/v7y9/f3aLvqqqu81qeQkBD+0XgZc+p9zGnbYF6971LPaUsrzEYd9tuzfn5+iomJ0aZNmzzaN23apEGDBrVTrwAAV7IOu9KUpEceeUQpKSmKjY1VfHy8li9frkOHDunBBx9s764BAK5AHTo0x44dq++//15PP/20SkpK1K9fP33wwQe65pprLmk//P399dRTTzW79IsLx5x6H3PaNphX77uc57RD36cJAMCl1GE/0wQA4FIjNAEAsInQBADAJkITAACbCE2bXnnlFUVFRalLly6KiYnRli1bWqzfvHmzYmJi1KVLF1133XX63e9+d4l62nG0Zk5LSkqUnJysXr16qVOnTkpLS7t0He1AWjOn77zzjoYPH67u3bsrJCRE8fHx+vDDDy9hbzuO1szr1q1bNXjwYIWFhSkgIEC9e/fW0qVLL2FvO4bW/n9qo88++0w+Pj665ZZb2raD52JwXtnZ2cbX19esWLHC7Nmzx8ycOdMEBQWZgwcPnrX+66+/NoGBgWbmzJlmz549ZsWKFcbX19f853/+5yXu+eWrtXNaXFxsZsyYYVavXm1uueUWM3PmzEvb4Q6gtXM6c+ZMs3DhQrNjxw6zf/9+k56ebnx9fc2uXbsucc8vb62d1127dpl169aZwsJCU1xcbNasWWMCAwPNsmXLLnHPL1+tndNGJ06cMNddd50ZMWKEufnmmy9NZ5sgNG24/fbbzYMPPujR1rt3bzNv3ryz1s+ZM8f07t3bo23KlClm4MCBbdbHjqa1c/pjCQkJhOZZXMycNurbt69ZsGCBt7vWoXljXv/hH/7BPPDAA97uWod1oXM6duxY8/jjj5unnnqq3UKTy7Pn0fgIshEjRni0t/QIsu3btzerHzlypL744gvV1dW1WV87iguZU7TMG3Pa0NCgyspKhYaGtkUXOyRvzGt+fr62bdumhISEtuhih3Ohc/r666/rwIEDeuqpp9q6iy3q0L8IdClcyCPISktLz1p/+vRpfffdd7r66qvbrL8dwYXMKVrmjTldvHixTp48qTFjxrRFFzuki5nXn//85zp27JhOnz6t+fPn69e//nVbdrXDuJA5/eqrrzRv3jxt2bJFPj7tG1uEpk2teQTZuerP1v5T1to5xfld6JyuX79e8+fP1x/+8AeFh4e3Vfc6rAuZ1y1btqiqqkq5ubmaN2+err/+et1///1t2c0Oxe6c1tfXKzk5WQsWLNANN9xwqbp3ToTmeVzII8hcLtdZ6318fBQWFtZmfe0oLmRO0bKLmdO33npLkyZN0ttvv61hw4a1ZTc7nIuZ16ioKElS//79dfToUc2fP5/QVOvntLKyUl988YXy8/M1bdo0SWc+SjDGyMfHRxs3btRdd911SfouccvJeV3II8ji4+Ob1W/cuFGxsbHy9fVts752FDzWzfsudE7Xr1+vCRMmaN26dRo9enRbd7PD8db/Vo0xqqmp8Xb3OqTWzmlISIi+/PJLFRQUWNuDDz6oXr16qaCgQHFxcZeq62e0y9ePOpjGr0evXLnS7Nmzx6SlpZmgoCDzzTffGGOMmTdvnklJSbHqG285efjhh82ePXvMypUrueWkidbOqTHG5Ofnm/z8fBMTE2OSk5NNfn6+2b17d3t0/7LU2jldt26d8fHxMS+//LIpKSmxthMnTrTXEC5LrZ3XrKws895775n9+/eb/fv3m9dee82EhISYxx57rL2GcNm5kH//P9ae354lNG16+eWXzTXXXGP8/PzMrbfeajZv3mztGz9+vElISPCo//TTT82AAQOMn5+fufbaa82rr756iXt8+WvtnEpqtl1zzTWXttOXudbMaUJCwlnndPz48Ze+45e51szriy++aG688UYTGBhoQkJCzIABA8wrr7xi6uvr26Hnl6/W/vv/sfYMTR4NBgCATXymCQCATYQmAAA2EZoAANhEaAIAYBOhCQCATYQmAAA2EZoAANhEaAIAYBOhCaBFTzzxhCZPntze3bhoWVlZSkpKau9uoIMjNIGzmDBhghwOhx588MFm+6ZOnSqHw6EJEyZc+o5doK1bt2rw4MEKCwtTQECAevfuraVLl573uKNHj+rf//3f9W//9m+XoJf2ffPNN3I4HCooKLB9TGpqqvLy8rR169a26xiueIQmcA49evRQdna2qqurrbYffvhB69evV8+ePS/q3MYYnT59+mK7aFtQUJCmTZumP/3pTyoqKtLjjz+uxx9/XMuXL2/xuJUrVyo+Pl7XXnvtpeloG/L391dycrJeeuml9u4KOjBCEziHW2+9VT179tQ777xjtb3zzjvq0aOHBgwY4FFbU1OjGTNmKDw8XF26dNEdd9yhvLw8a/+nn34qh8OhDz/8ULGxsfL399eWLVtUWVmpcePGKSgoSFdffbWWLl2qIUOGKC0tzTr2zTffVGxsrIKDg+VyuZScnKyysrJm5/74448VGxurwMBADRo0SPv27bNqBgwYoPvvv1833nijrr32Wj3wwAMaOXKktmzZ0uIcZGdnN7uk2dDQoIULF+r666+Xv7+/evbsqWeeecba/+WXX+quu+5SQECAwsLCNHnyZFVVVVn7m45Pku69916Plfu1116rjIwMTZw4UcHBwerZs6dHwDc+q3LAgAFyOBwaMmSINRe33367goKCdNVVV2nw4ME6ePCgdVxSUpLeffddjz+EgNYgNIEW/Ou//qtef/116/Vrr72miRMnNqubM2eOfv/732v16tXatWuXrr/+eo0cOVLHjx9vVpeZmamioiLddNNNeuSRR/TZZ5/pvffe06ZNm7Rlyxbt2rXL45ja2lr99re/1Z///Ge9++67Ki4uPuul4ccee0yLFy/WF198IR8fn7P2s1F+fr62bdumhISEc9aUl5ersLBQsbGxHu3p6elauHChnnjiCe3Zs0fr1q2zHh586tQpjRo1Sl27dlVeXp7efvttffTRR9bDg1tj8eLFio2NVX5+vqZOnarf/OY32rt3ryRpx44dkqSPPvpIJSUleuedd3T69Gnde++9SkhI0F/+8hdt375dkydPlsPhsM4ZGxururo663ig1drl2SrAZW78+PHmnnvuMceOHTP+/v6muLjYfPPNN6ZLly7m2LFj5p577rEeoVVVVWV8fX3N2rVrreNra2tNZGSkWbRokTHGmE8++cRIMu+++65VU1FRYXx9fc3bb79ttZ04ccIEBgaamTNnnrNvO3bsMJJMZWWlx7k/+ugjq+b99983kkx1dbXHsT/72c+Mn5+f6dSpk3n66adbnIP8/HwjyRw6dMijz/7+/mbFihVnPWb58uWma9eupqqqyqMvnTp1MqWlpcaYM48kazq+H8+nMcZcc8015oEHHrBeNzQ0mPDwcOsRe8XFxUaSyc/Pt2q+//57I8l8+umnLY6ra9euZtWqVS3WAOfi0455DVz2unXrptGjR2v16tUyxmj06NHq1q2bR82BAwdUV1enwYMHW22+vr66/fbbVVRU5FH741Xb119/rbq6Ot1+++1Wm9PpVK9evTyOyc/P1/z581VQUKDjx4+roaFBknTo0CH17dvXqrvpppus/7766qslSWVlZR6fv27ZskVVVVXKzc3VvHnzdP311+v+++8/69gbL2F26dLFaisqKlJNTY2GDh161mOKiop08803KygoyGobPHiwGhoatG/fPmtFasePx+NwOORyuTwuSzcVGhqqCRMmaOTIkRo+fLiGDRumMWPGWHPRKCAgQKdOnbLdD+DHuDwLnMfEiRO1atUqrV69+qyXPM3/PZL2x5cBG9ubtv04TFo6rtHJkyc1YsQI/c3f/I3efPNN5eXlacOGDZLOXLb9MV9fX+u/G8/ZGLCNoqKi1L9/f6Wmpurhhx/W/Pnzzznuxj8OysvLrbaAgIBz1jf2vel4mvapU6dOHmOUpLq6umb1Px5P4/FNx9PU66+/ru3bt2vQoEF66623dMMNNyg3N9ej5vjx4+revXuL5wHOhdAEzmPUqFGqra1VbW2tRo4c2Wz/9ddfLz8/P49bGerq6vTFF1+oT58+5zzvL37xC/n6+np8vlZRUaGvvvrKer1371599913evbZZ3XnnXeqd+/eLa62WsMYo5qamhb7FxISoj179lht0dHRCggI0Mcff3zWY/r27auCggKdPHnSavvss8/UqVMn3XDDDZKk7t27q6SkxNpfX1+vwsLCVvXdz8/POrapAQMGKD09Xdu2bVO/fv20bt06a9+BAwf0ww8/NPsiF2AXoQmcR+fOnVVUVKSioiJ17ty52f6goCD95je/0aOPPqqcnBzt2bNHqampOnXqlCZNmnTO8wYHB2v8+PF69NFH9cknn2j37t2aOHGiOnXqZK3KevbsKT8/P7300kv6+uuv9d577+m3v/1tq8fw8ssv67/+67/01Vdf6auvvtLrr7+u559/Xg888MA5j+nUqZOGDRvm8cdAly5dNHfuXM2ZM0dvvPGGDhw4oNzcXK1cuVKSNG7cOHXp0kXjx49XYWGhPvnkE02fPl0pKSnWpdm77rpL77//vt5//33t3btXU6dO1YkTJ1o1nvDwcAUEBCgnJ0dHjx6V2+1WcXGx0tPTtX37dh08eFAbN27U/v37Pf5w2bJli6677jr94he/aNX7AY0ITcCGkJAQhYSEnHP/s88+q/vuu08pKSm69dZb9de//lUffvihunbt2uJ5lyxZovj4eCUmJmrYsGEaPHiw+vTpY32O2L17d61atUpvv/22+vbtq2effVbPP/98q/vf0NCg9PR03XLLLYqNjdVLL72kZ599Vk8//XSLx02ePFnZ2dkel0WfeOIJzZo1S08++aT69OmjsWPHWqvfwMBAffjhhzp+/Lhuu+02/dM//ZOGDh2qrKws6/iJEydq/Pjx+tWvfqWEhARFRUXpb//2b1s1Hh8fH7344otatmyZIiMjdc899ygwMFB79+7VfffdpxtuuEGTJ0/WtGnTNGXKFOu49evXKzU1tVXvBfyYwzT9cAFAuzl58qR+9rOfafHixS2uUi8VY4wGDhyotLS0c35hqKMoLCzU0KFDtX//fjmdzvbuDjooVppAO8rPz9f69et14MAB7dq1S+PGjZMk3XPPPe3cszMcDoeWL19+SX+9qK0cOXJEb7zxBoGJi8JKE2hH+fn5+vWvf619+/bJz89PMTExWrJkifr379/eXQNwFoQmAAA2cXkWAACbCE0AAGwiNAEAsInQBADAJkITAACbCE0AAGwiNAEAsInQBADApv8HE1z5ipEO8K4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=3)\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan3 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Morgan3 (bits)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FeatMorgan" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## count based" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.5\n", "0.8 0.5384615384615384\n", "0.9 0.5909090909090909\n", "0.95 0.6333333333333333\n", "0.99 0.7096774193548387\n", "0.7 0.5833333333333334\n", "0.8 0.6363636363636364\n", "0.9 0.7\n", "0.95 0.7777777777777778\n", "0.99 0.8888888888888888\n" ] }, { "data": { "image/png": "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2rUEBnav/3u2Z752797NunXr6NmzJ0VFRRw5coSpU6fy2WefXfLfI7ZnvlJTUykoKGDs2LF88cUXnDhxgszMTJ599tkL0eUur1uvEE9p6yOmzlbfWvulyt/5OuXll19mzpw5vPLKK0RHR5+v7nU5bZ2v5uZmsrKymDt3Ltdee+2F6l6X48+fr5MnT+JwOCgoKOC2227jrrvuYsGCBeTn53eLVSL4N1/bt29n+vTp/PznP6eiooLi4mL27Nmj34f+/7rXP0FP4+8jpgCcTmer9YGBgURFRZ23vnYF7ZmvU1555RUmTpzIH/7wB9LS0s5nN7sMf+ervr6ezZs38/777/PQQw8BX/6Fb4whMDCQ1atX8+1vf/uC9L0ztOfPV79+/bjiiit8Hu0zaNAgjDHs37+f+Pj489rnztSe+crNzeX222/nJz/5CQA33HAD4eHh3HHHHTz55JOX9CdcbdGtV4jtecSUy+VqUb969WqGDBlCUFDQeetrV9DeR3K9/PLL3H///axcubJbfVfh73xFRkayZcsWKisr7e2BBx4gISGByspKUlJSLlTXO0V7/nzdfvvtHDhwgIaGBrvto48+okePHvTv3/+89reztWe+Pv/8c3r08P1rPyAgAPi/T7q6tc66mqerOHXZ8rJly8z27dtNdna2CQ8PN//85z+NMcY89thjxu122/Wnbrv48Y9/bLZv326WLVvWLW+7aOt8rVy50gQGBppFixaZ6upqezt69GhnDeGC8ne+TtfdrjL1d77q6+tN//79zXe/+12zbds2U1paauLj482PfvSjzhrCBeXvfC1fvtwEBgaa3/zmN+Yf//iHWbdunRkyZIi57bbbOmsIXUq3D0RjjFm0aJEZMGCACQ4ONrfccospLS21940fP94MGzbMp37NmjXm5ptvNsHBwebKK680ixcvvsA97lz+zNewYcMM0GIbP378he94J/H3z9dXdbdANMb/+aqqqjJpaWkmNDTU9O/f3zzyyCPm888/v8C97jz+ztczzzxjEhMTTWhoqOnXr58ZN26c2b9//wXuddekxz+JiIjQzb9DFBEROUWBKCIiggJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooi0k9vtJicnp7O7cc5mzpzJ9OnTO7sb0gUoEOWidP/99+NwOFpsH3/8cYecPz8/n8svv7xF+/Dhw3E4HPzyl79sse+uu+7C4XAwZ86cDunDhfLaa6+RmJhISEgIiYmJFBUVfe0xH374IX/5y1+YNm3aBehh261ZswaHw8HRo0fbfMysWbNYvnw5e/bsOX8dk4uCAlEuWqNHj6a6utpnGzhw4Hl/37i4OJYvX+7TduDAAd55551zflpAc3MzJ0+ePKdz+GP9+vWMHTsWt9vNBx98gNvtZsyYMWzYsOGsx+Xl5fG9732PiIiIC9TT8yc6Opr09HSee+65zu6KdDIFoly0QkJCcDqdPtupX+7/3//9XwYPHkzPnj256qqrmDt3LidOnLCPXbBgAcnJyYSHhxMXF8fUqVPtJyasWbOGH/7wh3g8Hnvl+dVVX0ZGBp9++invvfee3Zafn096enqL5zzW1tZy33330atXL8LCwrjzzjvZtWuXz3GXX345b7zxhr1K27t3L9XV1dx9992EhoYycOBAVq5cyZVXXsnTTz/dpjF89dxvvfUWgwYN4rLLLrP/EXHK008/zciRI5k9ezbXXXcds2fPZsSIET7vc7qTJ0/yhz/8gczMTJ92r9fLrFmziIuLIyQkhPj4eJYtW2bvLy0t5bbbbiMkJIR+/frx2GOP+fw3OX18ADfddJPP3DscDn7729/yH//xH4SFhREfH8/rr78OwD//+U++9a1vAdCrVy8cDgf3338/AK+++irJycmEhoYSFRVFWloax44ds8+bmZnJyy+/fMYxS/egQJRLzltvvcUPfvADpk+fzvbt21myZAn5+fn893//t13To0cPnnnmGbZu3coLL7zAO++8w6xZs4Avnyr+9NNPExkZaa88Z86caR8bHBzMuHHjfFaJ+fn5TJgwoUVf7r//fjZv3szrr7/O+vXrMcZw1113cfz4cbvm888/Jzc3l9/+9rds27aN6Oho7rvvPg4cOMCaNWt47bXXWLp0KYcOHfI599nG8NVz/8///A8rVqzgb3/7G5988onPWNavX096errPMaNGjaKsrOyM8/vhhx9y9OhRhgwZ4tN+3333UVhYyDPPPENVVRXPPfccl112GQD/+te/uOuuu7j11lv54IMPWLx4McuWLePJJ5884/ucydy5cxkzZgwffvghd911F+PGjeOzzz4jLi6O1157DYCdO3dSXV3Nr3/9a6qrq/n+97/PhAkTqKqqYs2aNXznO9/xedzRbbfdxr59+9i7d6/f/ZFLSOf+trhI+4wfP94EBASY8PBwe/vud79rjDHmjjvuMDk5OT71K1asMP369Tvj+X7/+9+bqKgo+/Xy5cuNZVkt6oYNG2Yefvhh88EHH5iIiAjT0NBgSktLTXR0tGlqajI33nijeeKJJ4wxxnz00UcGMO+99559/JEjR0xoaKj5/e9/b78PYCorK+2aqqoqA5hNmzbZbbt27TKAWbhwoV9jAMzHH39sty1atMjExMTYr4OCgkxBQYHPeQoKCkxwcPAZ36eoqMgEBASYkydP2m07d+40gCkpKWn1mJ/+9KcmISHB55hFixaZyy67zDQ3NxtjjBkwYECL8X11Po0xBjA/+9nP7NcNDQ3G4XCYN9980xhjzLvvvmsAU1tba9dUVFQYwH4kUms8Ho8BzJo1a85YI5e+wM4KYpFz9a1vfYvFixfbr8PDwwGoqKhg06ZNPivC5uZmvvjiCz7//HPCwsJ49913ycnJYfv27dTV1XHixAm++OILjh07Zp/nbG644Qbi4+N59dVXeffdd3G73S0eEF1VVUVgYKDPg32joqJISEigqqrKbgsODuaGG26wX+/cuZPAwEBuueUWu+2aa66hV69ePudvyxjCwsK4+uqr7WP69evXYqXpcDh8XhtjWrR9VWNjIyEhIT41lZWVBAQEMGzYsFaPqaqqwuVy+Rxz++2309DQwP79+/nGN75xxvc73VfnKjw8nIiIiBZj+qobb7yRESNGkJyczKhRo0hPT+e73/2uz3yGhoYCX66opfvSR6Zy0QoPD+eaa66xt1MXtJw8eZK5c+f6PHl+y5Yt7Nq1i549e7J3717uuusukpKSeO2116ioqGDRokUAPh9lfp0JEyawaNEiXn311VY/LjVneLLa6YETGhrq8/psx53S1jGcHtIOh8PnPE6nk5qaGp+aQ4cOERMT02ofAPr06cPnn39OU1OTzxjOprWQPdWPU+09evRoMfbW/nu0NqazXYgUEBBASUkJb775JomJiTz77LMkJCT4XFX62WefAdC3b9+zjkMubQpEueTccsst7Ny50ycsT209evRg8+bNnDhxgqeeeoqhQ4dy7bXXcuDAAZ9zBAcH09zcfNb3ycrKYsuWLSQlJZGYmNhif2JiIidOnPC5YvPTTz/lo48+YtCgQWc873XXXceJEyd4//337baPP/7Y51aCtoyhLVwuFyUlJT5tq1evJjU19YzH3HTTTQBs377dbktOTubkyZOUlpa2ekxiYiJlZWU+gVdWVkZERARXXHEF8GUYffWCn7q6Or9vhQgODgZo8d/O4XBw++23M3fuXN5//32Cg4N9bi/ZunUrQUFBXH/99X69n1xaFIhyyfn5z3/Oiy++yJw5c9i2bRtVVVW88sor/OxnPwPg6quv5sSJEzz77LPs3r2bFStWtLjk/sorr6ShoYG//vWvHDlypNWP0nr16kV1dTV//etfW+1HfHw899xzD5MmTWLdunV88MEH/OAHP+CKK67gnnvuOWP/r7vuOtLS0pg8eTIbN27k/fffZ/LkyT4rybaMoS0efvhhVq9ezbx589ixYwfz5s3j7bffJjs7+4zH9O3bl1tuuYV169bZbVdeeSXjx49nwoQJ/OlPf2LPnj2sWbOG3//+9wBMnTqVffv2MW3aNHbs2MGf//xnnnjiCR555BF69Pjyr6Fvf/vbrFixgrVr17J161bGjx9vXzXcVgMGDMDhcPDGG29w+PBhGhoa2LBhAzk5OWzevJlPPvmEP/7xjxw+fNjnHyVr167ljjvu+NqVrlziOuvLS5FzMX78eHPPPfeccX9xcbFJTU01oaGhJjIy0tx2221m6dKl9v4FCxaYfv36mdDQUDNq1Cjz4osvtrgY44EHHjBRUVEGsC/sOHVRzZmcfhHIZ599Ztxut7Esy36vjz76yN5/pot3Dhw4YO68804TEhJiBgwYYFauXGmio6PNc8891+YxtHbuoqIic/r/7f/whz+YhIQEExQUZK677jrz2muvnXF8pzz33HNm6NChPm2NjY3mxz/+senXr58JDg4211xzjfnd735n71+zZo259dZbTXBwsHE6nebRRx81x48ft/d7PB4zZswYExkZaeLi4kx+fn6rF9UUFRX5vK9lWWb58uX261/84hfG6XQah8Nhxo8fb7Zv325GjRpl+vbta0JCQsy1115rnn32WZ9zXHvttebll1/+2nHLpc1hzBm+sBCRLmP//v3ExcXx9ttvM2LEiM7uDl988QUJCQkUFhbicrk6uzvn5C9/+Qs/+clP+PDDDwkM1HWG3Zn+64t0Qe+88w4NDQ0kJydTXV3NrFmzuPLKK/nmN7/Z2V0DoGfPnrz44oscOXKks7tyzo4dO8by5csVhoJWiCJd0FtvvcWMGTPYvXs3ERER9o8FDBgwoLO7JnLJUiCKiIigq0xFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQA+H+sma8DD4Q8xQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=0,\n", " atomInvariantsGenerator=rdFingerprintGenerator.GetMorganAtomInvGen())\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan0 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan0 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.3\n", "0.8 0.3263157894736842\n", "0.9 0.36363636363636365\n", "0.95 0.39473684210526316\n", "0.99 0.45454545454545453\n", "0.7 0.24489795918367346\n", "0.8 0.2692307692307692\n", "0.9 0.3023255813953488\n", "0.95 0.3333333333333333\n", "0.99 0.39473684210526316\n" ] }, { "data": { "image/png": "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udVv3LjR3H777cbX19cMGTLELF269CLPuH087QtosQ0ePPjiTrodPOkrKSmp1b4mTpx48Sd+AZ709cILL5ibb77Z+Pv7m6CgIHP77bebl156yTQ3N/fAzNvm6Z/Dr+utgWiMZ30tWLDAXH/99aZPnz6mb9++5pvf/Kb585//3AOzvjBPf1/l5eVm1KhRxs/PzwwaNMg88cQT5ssvv7zIs+4a+vonERERrvD3EEVERM5SIIqIiKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiHZSenk52dnZPT6PTsrKyyMjI6OlpSC+gQJRL0sMPP4zNZmuxffLJJ11y/tzcXK655poW4yNGjMBms/HLX/6yxb777rsPm83G3Llzu2QOF8Pu3bv593//d4YMGYLNZuP5559v13Eff/wxf/7zn5kxY0b3TtBDGzduxGazceLEiXYfM2vWLFatWkVFRUX3TUwuCQpEuWSNHTuWqqoqt+3stz90p/DwcFatWuU2dvjwYd5///1Of1hzc3MzZ86c6dQ5PPHll19y3XXX8ctf/hKn09nu43JycvjBD35AYGBgN87u4ggJCSE5OZmXX365p6ciPUyBKJcsu92O0+l027y8vAD43//9X2JjY+nTpw/XXXcd8+bN4/Tp09axixYtIiYmhoCAAMLDw5k+fbr1if0bN27kP/7jP3C5XNbK8+urvpSUFD7//HM++ugjayw3N5fk5OQW37NYU1PDj3/8Y/r27Yu/vz/33nsvBw4ccDvummuu4a233iIqKgq73c7Bgwepqqri/vvvx8/Pj6FDh7J27VqGDBnitoJrq4evn/vdd99l2LBhXH311db/RJx155138uyzz/LDH/4Qu93erp/7mTNn+MMf/kBqaqrbeGNjI7NmzSI8PBy73U5ERAQrV6609hcVFXHXXXdht9sZOHAgs2fPdvudnNsfwG233eb2s7fZbPzmN7/he9/7Hv7+/kRERLB+/XoA/vGPf/Dtb38bgL59+2Kz2Xj44YcBeP3114mJicHPz4/g4GBGjRrFyZMnrfOmpqaybt26dvUvly8Folx23n33XR566CEyMjLYs2cPy5YtIzc3l//5n/+xaq666ipeeOEFdu3axSuvvML777/PrFmzAEhMTOT5558nKCjIWnlmZWVZx/r6+jJhwgS3VWJubi6TJk1qMZeHH36Y7du3s379erZs2YIxhvvuu49Tp05ZNV9++SXz58/nN7/5Dbt37yYkJIQf//jHHD58mI0bN/LGG2+wfPlyjh496nbutnr4+rl/9atfsXr1av7617/y2WefufXSER9//DEnTpxg+PDhbuM//vGPycvL44UXXqC8vJyXX36Zq6++GoB//vOf3Hfffdx55538/e9/Z+nSpaxcuZJf/OIXHj//vHnzGDduHB9//DH33XcfEyZM4IsvviA8PJw33ngDgH379lFVVcWvf/1rqqqq+NGPfsSkSZMoLy9n48aNfP/73+frH+N81113UVlZycGDBzvxk5FLXs9+trhIx0ycONF4eXmZgIAAa3vwwQeNMcbcc889Jjs7261+9erVZuDAgec93+9//3sTHBxsPV61apVxOBwt6pKSkszjjz9u/v73v5vAwEBTX19vioqKTEhIiGlqajK33nqrefrpp40xxuzfv98A5qOPPrKOP378uPHz8zO///3vrecBTFlZmVVTXl5uAFNSUmKNHThwwABm8eLFHvUAmE8++cQaW7JkiQkNDW31+MGDB7d5/rPy8/ONl5eXOXPmjDW2b98+A5jCwsJWj/nZz35mIiMj3Y5ZsmSJufrqq61v6Gjt+b/+8zTmq29k+fnPf249rq+vNzabzbzzzjvGGGM++OADA5iamhqrprS01ADWVxi1xuVyGcBs3Ljxgv3L5cu7p4JYpLO+/e1vs3TpUutxQEAAAKWlpZSUlLitCJubm/nXv/7Fl19+ib+/Px988AHZ2dns2bOH2tpaTp8+zb/+9S9Onjxpnactt9xyCxEREbz++ut88MEHpKent/iC6PLycry9vd2+2DY4OJjIyEjKy8utMV9fX2655Rbr8b59+/D29uaOO+6wxm644Qb69u3rdv729ODv78/1119vHTNw4MAWK01PNTQ0YLfbsdls1lhZWRleXl4kJSW1ekx5eTkJCQlux9x9993U19dz6NAhvvGNb7T7+b/+swoICCAwMLDNnm699VZGjhxJTEwMY8aMITk5mQcffNDt5+nn5wd8taKWK5deMpVLVkBAADfccIO1nb2g5cyZM8ybN8/tm9d37tzJgQMH6NOnDwcPHuS+++4jOjqaN954g9LSUpYsWQLg9lLmhUyaNIklS5bw+uuvt/pyqTnPN6sZY9yCwc/Pz+1xW8ed1d4ezg1pm8123vO3V//+/fnyyy9pampy66Et5/Z8duzsnOCrl4DPnVtrv4/WemrrQiQvLy8KCwt55513iIqK4sUXXyQyMtLtqtIvvvgCgAEDBrTZh1zeFIhy2bnjjjvYt2+fW1ie3a666iq2b9/O6dOnee6554iPj+fGG2/k8OHDbufw9fWlubm5zedJS0tj586dREdHExUV1WJ/VFQUp0+fZuvWrdbY559/zv79+xk2bNh5z3vTTTdx+vRpduzYYY198sknbrcStKeH7nLbbbcBsGfPHmssJiaGM2fOUFRU1OoxUVFRbN682S3wNm/eTGBgINdeey3wVRh9/YKf2tpaj2+F8PX1BWjxu7PZbNx9993MmzePHTt24OvrS35+vrV/165d+Pj4cPPNN3v0fHJ5USDKZee///u/efXVV5k7dy67d++mvLyc3/3ud/z85z8H4Prrr+f06dO8+OKLfPrpp6xevbrFJfdDhgyhvr6ev/zlLxw/frzVl9L69u1LVVUVf/nLX1qdR0REBA888ABTpkxh06ZN/P3vf+ehhx7i2muv5YEHHjjv/G+66SZGjRrF1KlT2bZtGzt27GDq1KluK8n29NAeTU1N1iq6qamJf/7zn5SVlbV5P+eAAQO444472LRpkzU2ZMgQJk6cyKRJk/jjH/9IRUUFGzdu5Pe//z0A06dPp7KykhkzZrB3717+9Kc/8fTTT/PEE09w1VVf/TP0ne98h9WrV/Phhx+ya9cuJk6caF013F6DBw/GZrPx1ltvcezYMerr69m6dSvZ2dls376dzz77jDfffJNjx465/U/Jhx9+yD333HPBla5c5nrs3UuRTpg4caJ54IEHzru/oKDAJCYmGj8/PxMUFGTuuusus3z5cmv/okWLzMCBA42fn58ZM2aMefXVV1tcjPHII4+Y4OBgA1gXdpy9qOZ8zr0I5IsvvjDp6enG4XBYz7V//35r//ku3jl8+LC59957jd1uN4MHDzZr1641ISEh5uWXX253D62dOz8/33z9r31FRYUBWmxJSUnn7dEYY15++WUTHx/vNtbQ0GB++tOfmoEDBxpfX19zww03mN/+9rfW/o0bN5o777zT+Pr6GqfTaZ588klz6tQpa7/L5TLjxo0zQUFBJjw83OTm5rZ6UU1+fr7b8zocDrNq1Srr8TPPPGOcTqex2Wxm4sSJZs+ePWbMmDFmwIABxm63mxtvvNG8+OKLbue48cYbzbp169rsWS5/NmM6+YaCiHS7Q4cOER4eznvvvcfIkSN7ejr861//IjIykry8PBISEnp6Op3y5z//mf/6r//i448/xttb1xleyfTbF+mF3n//ferr64mJiaGqqopZs2YxZMgQvvWtb/X01ADo06cPr776KsePH+/pqXTayZMnWbVqlcJQ0ApRpBd69913mTlzJp9++imBgYHWhwUMHjy4p6cmctlSIIqIiKCrTEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAD4f0O+j7H17YbSAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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7052djYxMTEAZGdnExsby1dffUVkZOR1eysuLsZut+NwOPD396/viLctfYYorjLpI5u7BZF6qWseNOgzRIfDAUC7du0AOHbsGIWFhcTHx1s1Xl5exMXFsWPHDgD27t3LpUuXnGpCQ0OJioqyanbu3IndbrfCEKBPnz7Y7Xar5krl5eUUFxc7PUREROqq3oFojOGFF17g4YcfJioqCoDCwkIAgoKCnGqDgoKs1woLC/H09KRt27a11gQGBtY4Z2BgoFVzpbS0NOvzRrvdTlhYWH1HExGRFqjegThp0iT279/P+++/X+M1m83m9NwYU2Pbla6suVp9bceZNWsWDofDepw4caIuY4iIiAD1DMTJkyezfv16Nm/eTMeOHa3twcHBADVWcadPn7ZWjcHBwVRUVFBUVFRrzalTp2qc98yZMzVWn9W8vLzw9/d3eoiIiNSVS4FojGHSpEl88sknfPHFF3Tu3Nnp9c6dOxMcHMymTZusbRUVFWRlZdG3b18AoqOj8fDwcKopKCjg4MGDVk1sbCwOh4Pdu3dbNbt27cLhcFg1IiIijcml31Tz3HPPsXbtWv70pz/h5+dnrQTtdjve3t7YbDZSUlJITU0lIiKCiIgIUlNT8fHxISkpyaodM2YM06ZNIyAggHbt2jF9+nR69OjBwIEDAejWrRtDhgxh7NixLF26FIBx48aRkJBQpytMRUREXOVSIC5evBiA/v37O21fsWIFo0ePBmDGjBmUlZUxceJEioqKiImJYePGjfj5+Vn1CxYswN3dneHDh1NWVsaAAQNYuXIlbm5uVs2aNWuYMmWKdTVqYmIi6enp9ZlRRETkuhr0PcSbmb6HWDt9D1Fcpe8hyq3qhnwPUURE5HahQBQREUG3fxKROmqMt9n1tqvczLRCFBERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQHAvbkbENfYJq1p7hZE6q2x/v6a9JGNchyRn9IKUUREBAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAP2mGhG5BTXGb7zRb7uRK2mFKCIiggJRREQEUCCKiIgACkQRERFAF9XcMLptk4jIze2mD8Tf/va3vP766xQUFHDvvfeycOFCHnnkkeZuS0Rucbo3o1zppn7L9IMPPiAlJYWXXnqJnJwcHnnkEYYOHcp3333X3K2JiMhtxmaMMc3dxLXExMTQq1cvFi9ebG3r1q0bw4YNIy0trdZ9i4uLsdvtOBwO/P39m7rV69JbpiJSG600m05d8+Cmfcu0oqKCvXv3MnPmTKft8fHx7Nixo0Z9eXk55eXl1nOHwwH8+AfRUPbpHzT4GCIitbGNW97cLTQqxxsjmrsFS3UOXG/9d9MG4tmzZ6mqqiIoKMhpe1BQEIWFhTXq09LSmDNnTo3tYWFhTdajiIhcnX35uOZuoYaSkhLsdvs1X79pA7GazWZzem6MqbENYNasWbzwwgvW88uXL3P+/HkCAgKuWl9XxcXFhIWFceLEiZvirdem1JJmBc17O2tJs4LmvR5jDCUlJYSGhtZad9MGYvv27XFzc6uxGjx9+nSNVSOAl5cXXl5eTtvatGnTaP34+/u3iL9o0LJmBc17O2tJs4LmrU1tK8NqN+1Vpp6enkRHR7Np0yan7Zs2baJv377N1JWIiNyubtoVIsALL7xAcnIyvXv3JjY2lmXLlvHdd98xYcKE5m5NRERuMzd1II4YMYJz587x6quvUlBQQFRUFJ999hnh4eE3rAcvLy9eeeWVGm/H3o5a0qygeW9nLWlW0LyN5ab+HqKIiMiNctN+higiInIjKRBFRERQIIqIiAAKRBEREUCBCPx4i6nOnTvTunVroqOj2bp1a631WVlZREdH07p1a7p06cKSJUtuUKcN58qsBQUFJCUlERkZSatWrUhJSblxjTYSV+b95JNPGDRoEB06dMDf35/Y2Fg2bNhwA7ttGFdm3bZtG/369SMgIABvb2+6du3KggULbmC3Defqf7fVtm/fjru7Ow888EDTNtjIXJl3y5Yt2Gy2Go+vvvrqBnZcf67+bMvLy3nppZcIDw/Hy8uLu+66i9///veun9i0cOvWrTMeHh5m+fLl5vDhw2bq1KnG19fXHD9+/Kr13377rfHx8TFTp041hw8fNsuXLzceHh7mo48+usGdu87VWY8dO2amTJliVq1aZR544AEzderUG9twA7k679SpU83cuXPN7t27TV5enpk1a5bx8PAw+/btu8Gdu87VWfft22fWrl1rDh48aI4dO2ZWr15tfHx8zNKlS29w5/Xj6rzVLly4YLp06WLi4+PN/ffff2OabQSuzrt582YDmKNHj5qCggLrUVlZeYM7d119fraJiYkmJibGbNq0yRw7dszs2rXLbN++3eVzt/hAfOihh8yECROctnXt2tXMnDnzqvUzZswwXbt2ddo2fvx406dPnybrsbG4OutPxcXF3XKB2JB5q3Xv3t3MmTOnsVtrdI0x67//+7+bp59+urFbaxL1nXfEiBHm17/+tXnllVduqUB0dd7qQCwqKroB3TUuV2f9y1/+Yux2uzl37lyDz92i3zKtvsVUfHy80/Zr3WIKYOfOnTXqBw8ezJdffsmlS5earNeGqs+st7LGmPfy5cuUlJTQrl27pmix0TTGrDk5OezYsYO4uLimaLFR1XfeFStW8Pe//51XXnmlqVtsVA35+fbs2ZOQkBAGDBjA5s2bm7LNRlGfWdevX0/v3r2ZN28ed955J/fccw/Tp0+nrKzM5fPf1L+ppqm5eospgMLCwqvWV1ZWcvbsWUJCQpqs34aoz6y3ssaY98033+T7779n+PDhTdFio2nIrB07duTMmTNUVlYye/ZsfvWrXzVlq42iPvN+/fXXzJw5k61bt+Lufmv9s1efeUNCQli2bBnR0dGUl5ezevVqBgwYwJYtW3j00UdvRNv1Up9Zv/32W7Zt20br1q3JyMjg7NmzTJw4kfPnz7v8OeKt9TejidT1FlO11V9t+83I1VlvdfWd9/3332f27Nn86U9/IjAwsKnaa1T1mXXr1q2UlpaSnZ3NzJkzufvuu/nlL3/ZlG02mrrOW1VVRVJSEnPmzOGee+65Ue01Old+vpGRkURGRlrPY2NjOXHiBG+88cZNHYjVXJn18uXL2Gw21qxZY93RYv78+Tz55JMsWrQIb2/vOp+3RQeiq7eYAggODr5qvbu7OwEBAU3Wa0PVZ9ZbWUPm/eCDDxgzZgwffvghAwcObMo2G0VDZu3cuTMAPXr04NSpU8yePfumD0RX5y0pKeHLL78kJyeHSZMmAT/+I2qMwd3dnY0bN/Jv//ZvN6T3+mis/3b79OnDe++919jtNar6zBoSEsKdd97pdHunbt26YYzh5MmTRERE1Pn8LfozxPrcYio2NrZG/caNG+nduzceHh5N1mtDtbTbadV33vfff5/Ro0ezdu1aHn/88aZus1E01s/WGEN5eXljt9foXJ3X39+fAwcOkJubaz0mTJhAZGQkubm5xMTE3KjW66Wxfr45OTk37Uc61eoza79+/cjPz6e0tNTalpeXR6tWrejYsaNrDTT4spxbXPUlvu+88445fPiwSUlJMb6+vuYf//iHMcaYmTNnmuTkZKu++msXzz//vDl8+LB55513brmvXdR1VmOMycnJMTk5OSY6OtokJSWZnJwcc+jQoeZo32Wuzrt27Vrj7u5uFi1a5HSp+oULF5prhDpzddb09HSzfv16k5eXZ/Ly8szvf/974+/vb1566aXmGsEl9fm7/FO32lWmrs67YMECk5GRYfLy8szBgwfNzJkzDWA+/vjj5hqhzlydtaSkxHTs2NE8+eST5tChQyYrK8tERESYX/3qVy6fu8UHojHGLFq0yISHhxtPT0/Tq1cvk5WVZb02atQoExcX51S/ZcsW07NnT+Pp6Wk6depkFi9efIM7rj9XZwVqPMLDw29s0w3gyrxxcXFXnXfUqFE3vvF6cGXWt956y9x7773Gx8fH+Pv7m549e5rf/va3pqqqqhk6rx9X/y7/1K0WiMa4Nu/cuXPNXXfdZVq3bm3atm1rHn74YfPpp582Q9f14+rP9siRI2bgwIHG29vbdOzY0bzwwgvm4sWLLp9Xt38SERGhhX+GKCIiUk2BKCIiggJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFoog0seTkZFJTU63nnTp1YuHChbXuY7PZ+OMf/1jvc6anp5OYmFjv/aVlUiDKbW306NHYbLYaj2+++aZRjr9y5UratGlTY3v//v2x2Wz85je/qfHaY489hs1mY/bs2Y3Sw41w6NAhfv7zn9OpUydsNtt1A63a/v37+fTTT5k8ebJL5ysoKGDo0KEA/OMf/8Bms5Gbm1vn/ceOHcuePXvYtm2bS+eVlk2BKLe9IUOGUFBQ4PSovstDUwoLC2PFihVO2/Lz8/niiy8a/EuWq6qquHz5coOO4YqLFy/SpUsXfvOb3xAcHFzn/dLT03nqqafw8/Nz6XzBwcF4eXm52qbFy8uLpKQk3n777XofQ1oeBaLc9ry8vAgODnZ6uLm5AfC///u/REdH07p1a7p06cKcOXOorKy09p0/fz49evTA19eXsLAwJk6caP1W/S1btvCf//mfOBwOa+X501VfQkIC586dY/v27da2lStXEh8fX+Mei0VFRTzzzDO0bdsWHx8fhg4dytdff+20X5s2bfjzn/9M9+7d8fLy4vjx4xQUFPD444/j7e1N586dWbt2bY23JGub4afH3rBhA926deOOO+6w/iei2oMPPsjrr7/OL37xizoH1eXLl/nwww+v+tZlSUkJSUlJ3HHHHYSGhtYIrp++ZVr9Py89e/bEZrPRv39/68//oYcewtfXlzZt2tCvXz+OHz9uHSMxMZE//vGP9bpzurRMCkRpsTZs2MDTTz/NlClTOHz4MEuXLmXlypW89tprVk2rVq146623OHjwIKtWreKLL75gxowZAPTt25eFCxfi7+9vrTynT59u7evp6cnIkSOdVokrV67k2WefrdHL6NGj+fLLL1m/fj07d+7EGMNjjz3GpUuXrJqLFy+SlpbG7373Ow4dOkRgYCDPPPMM+fn5bNmyhY8//phly5Zx+vRpp2PXNsNPj/3GG2+wevVq/u///o/vvvvOaZb62L9/PxcuXKB37941Xnv99de577772LdvH7NmzeL555+vccufart37wbg888/p6CggE8++YTKykqGDRtGXFwc+/fvZ+fOnYwbN87pJrK9e/fm0qVL1v4i19WgX0kucpMbNWqUcXNzM76+vtbjySefNMYY88gjj5jU1FSn+tWrV5uQkJBrHu8Pf/iDCQgIsJ6vWLHC2O32GnVxcXFm6tSp5m9/+5vx8/MzpaWlJisrywQGBpqKigpz//33m1deecUYY0xeXp4BzPbt2639z549a7y9vc0f/vAH6zyAyc3NtWqOHDliALNnzx5r29dff20As2DBApdmAMw333xjbVu0aJEJCgq66v7h4eG1Hr9aRkaGcXNzM5cvX66x/5AhQ5y2jRgxwgwdOtR6DpiMjAxjjDHHjh0zgMnJybFeP3funAHMli1bau2hbdu2ZuXKldftVcQYY9ybL4pFbox//dd/ZfHixdZzX19fAPbu3cuePXucVoRVVVX88MMPXLx4ER8fHzZv3kxqaiqHDx+muLiYyspKfvjhB77//nvrOLW57777iIiI4KOPPmLz5s0kJyfXuJH0kSNHcHd3d7pRbUBAAJGRkRw5csTa5unpyX333Wc9P3r0KO7u7vTq1cvadvfdd9O2bVun49dlBh8fH+666y5rn5CQkBorTVeVlZXh5eXltGqrFhsbW+N5XS/UAWjXrh2jR49m8ODBDBo0iIEDBzJ8+PAan816e3tz8eLFevUvLY/eMpXbnq+vL3fffbf1qP5H8/Lly8yZM8fpTuoHDhzg66+/pnXr1hw/fpzHHnuMqKgoPv74Y/bu3cuiRYsAnN7KvJ5nn32WRYsW8dFHH1317VJzjTuwGWOcwsTb29vpeW37VavrDFeGtM1mu+bx66p9+/ZcvHiRioqKOtVfLThrs2LFCnbu3Enfvn354IMPuOeee8jOznaqOX/+PB06dHDpuNJyKRClxerVqxdHjx51CsvqR6tWrfjyyy+prKzkzTffpE+fPtxzzz3k5+c7HcPT05Oqqqpaz5OUlMSBAweIioqie/fuNV7v3r07lZWV7Nq1y9p27tw58vLy6Nat2zWP27VrVyorK8nJybG2ffPNN1y4cMF6XpcZmsoDDzwAwOHDh2u8dmVwZWdn07Vr16sex9PTE+Cqf849e/Zk1qxZ7Nixg6ioKNauXWu99ve//50ffviBnj171ncEaWH0lqm0WC+//DIJCQmEhYXx1FNP0apVK/bv38+BAwf4n//5H+666y4qKyt5++23+dnPfsb27dtZsmSJ0zE6depEaWkpf/3rX7n//vvx8fHBx8fHqaZt27YUFBTUWIVVi4iI4IknnmDs2LEsXboUPz8/Zs6cyZ133skTTzxxzf67du3KwIEDGTduHIsXL8bDw4Np06Y5rSTrMkNdVFRUWMFWUVHBP//5T3Jzc7njjju4++67r7pPhw4d6NWrF9u2bbPCsdr27duZN28ew4YNY9OmTXz44Yd8+umnVz1OYGAg3t7eZGZm0rFjR1q3bs358+dZtmwZiYmJhIaGcvToUfLy8njmmWes/bZu3UqXLl2c3goWqVWzfoIp0sRGjRplnnjiiWu+npmZafr27Wu8vb2Nv7+/eeihh8yyZcus1+fPn29CQkKMt7e3GTx4sHn33XcNYIqKiqyaCRMmmICAAANYF8pUX1RzLT+9qMYYY86fP2+Sk5ON3W63zpWXl2e9fq2Ld/Lz883QoUONl5eXCQ8PN2vXrjWBgYFmyZIldZ7hasfOyMgwP/3nofrClisfcXFx15zRGGOWLFli+vTp47QtPDzczJkzxwwfPtz4+PiYoKAgs3DhQqcafnJRjTHGLF++3ISFhZlWrVqZuLg4U1hYaIYNG2ZCQkKMp6enCQ8PNy+//LKpqqqy9omPjzdpaWm19ifyUzZjGvhBgYjcNE6ePElYWBiff/45AwYMaO52+OGHH4iMjGTdunU1LqRpSgcPHmTAgAHk5eVht9tv2Hnl1qa3TEVuYV988QWlpaX06NGDgoICZsyYQadOnXj00UebuzUAWrduzbvvvsvZs2dv6Hnz8/N59913FYbiEq0QRW5hGzZsYNq0aXz77bf4+flZvywgPDy8uVsTueUoEEVERNDXLkRERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAD4f6L4AoT0UBZYAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=1,\n", " atomInvariantsGenerator=rdFingerprintGenerator.GetMorganAtomInvGen())\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan1 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan1 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.20261437908496732\n", "0.8 0.22115384615384615\n", "0.9 0.2471264367816092\n", "0.95 0.26993865030674846\n", "0.99 0.3191489361702128\n", "0.7 0.14583333333333334\n", "0.8 0.1595744680851064\n", "0.9 0.18055555555555555\n", "0.95 0.2\n", "0.99 0.2413793103448276\n" ] }, { "data": { "image/png": "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bz2unNBSUVHB9OnTne4+vnfvXr755huaNGnC0aNH6devH+3bt+eDDz4gKyuLefPmATh9lPlLhgwZwrx583j//fer/LjUXOPOasYYp2Dw8vJyen697a6o7jFcHdI2m63K/b/22mukpKSwYcMGp8CpSrNmzbh48SKlpaVOx3A9Vx/zz4/nynijRo0q9VbVn0dVx3S9E5Hc3NzYuHEjn332Ge3atWPu3LlEREQ4nVX6448/AtC8efPrHoc0bApEaXA6derEoUOHnMLyyqNRo0bs3r2bsrIyXn/9dbp06cIDDzzAyZMnnfbh4eFBeXn5dd8nMTGRvXv30r59e9q1a1fp9Xbt2lFWVsaOHTussR9++IHDhw/Ttm3ba+63TZs2lJWVkZ2dbY19++23TpcSVOcYquvVV1/l3//930lPT6/0vWBVOnToAMCBAwesscjISCoqKsjMzKxym3bt2rF161anwNu6dSu+vr786le/Ai6H0c9P+CksLHT5UggPDw+ASn92NpuNbt26MX36dLKzs/Hw8GDt2rXW6/v27aNx48Y8+OCDLr2fNCwKRGlw/vznP/P2228zbdo09u/fT25uLu+++y5TpkwB4L777qOsrIy5c+fy3XffsWLFikqn3Lds2ZKioiI+//xzzp49W+VHaf7+/uTl5V3zjMzw8HCeeuophg0bxpYtW/j666955pln+NWvfsVTTz11zf7btGlDr169GD58ODt37iQ7O5vhw4c7rSSrcwzVMXPmTKZMmcJbb71Fy5Ytyc/PJz8/3+ls1as1b96cTp06sWXLFmusZcuWDBo0iCFDhvDf//3fHDlyhIyMDN577z0ARo0axfHjxxk9ejQHDx7ko48+YurUqbz44os0anT5n6Hf/OY3rFixgs2bN7Nv3z4GDRpknTVcXS1atMBms/Hxxx9z5swZioqK2LFjBykpKezevZtjx47x4YcfcubMGaf/Kdm8eTPdu3f/xZWuNHD19u2lyE0YNGiQeeqpp675enp6uunatavx8vIyfn5+5tFHHzWLFi2yXp81a5YJCQkxXl5epk+fPubtt9+udDLGyJEjTUBAgAGsEzuunFRzLVefBPLjjz+apKQkY7fbrfc6fPiw9fq1Tt45efKkeeKJJ4ynp6dp0aKFWbVqlQkMDDQLFiyo9jFUte+1a9ean/9n36JFCwNUevz8GKqyYMEC06VLF6ex4uJi88ILL5iQkBDj4eFh7r//fvPWW29Zr2dkZJhHHnnEeHh4mODgYDNx4kRz6dIl63WHw2H69+9v/Pz8TFhYmFm2bFmVJ9WsXbvW6X3tdrtZunSp9fzll182wcHBxmazmUGDBpkDBw6YPn36mObNmxtPT0/zwAMPmLlz5zrt44EHHjCrV6++7jFLw2cz5hpfWIjILePEiROEhYXxt7/9jZ49e9Z3O/z0009ERESwZs0aYmJi6rudm/LJJ5/wpz/9iT179uDurvMM72T60xe5BX3xxRcUFRURGRlJXl4eEyZMoGXLljz++OP13RoATZo04e233+bs2bP13cpNu3DhAkuXLlUYClohityC1q9fz7hx4/juu+/w9fW1fiygRYsW9d2aSIOlQBQREUFnmYqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiADw/wCtGFw0cxc6QAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAEoCAYAAAA6zKosAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtgklEQVR4nO3dfVhU5b4//vfIwwgES0BnxtkRaRFKmA9YCO42ekTQJPKcs8MdNunJg3qRIgVflat2aWcH24fUK/F5d8RMxV1G28pQSiUV8AFlK4qiO7bihhHTYYBEHu/fHx7WzxHEBQ6C8n5d1/pj7vVZa+77vtS395q1ZlRCCAEiIiK6px6d3QEiIqKHBUOTiIhIIYYmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpBBDk4iISCHbth7w008/YcmSJcjNzUVpaSnS0tIwceJEAEBdXR3ee+897Nq1Cz///DMkSUJwcDD+/Oc/Q6/Xy+eoqalBfHw8tm3bhurqaowZMwarV6/G448/LteYTCbExMRg586dAIDw8HCsXLkSvXr1kmsuXbqEt956C3v37oWDgwMiIyOxdOlS2NvbKxpLY2MjSkpK4OzsDJVK1dapICKiR4QQApWVldDr9ejRo5X1pGijXbt2iXfffVfs2LFDABBpaWnyvvLychEcHCy2b98uzp49K7Kzs4W/v7/w8/OzOMfMmTPFb37zG5GRkSGOHz8uRo8eLQYPHizq6+vlmnHjxglfX1+RlZUlsrKyhK+vrwgLC5P319fXC19fXzF69Ghx/PhxkZGRIfR6vZg1a5bisRQXFwsA3Lhx48aNmwAgiouLW80NlRDt/8J2lUplsdJsydGjR/HCCy/g4sWLeOKJJ2A2m9GnTx9s3rwZkyZNAgCUlJTAw8MDu3btQmhoKAoKCuDj44OcnBz4+/sDAHJychAQEICzZ8/C29sb33//PcLCwlBcXCyvYlNTUzF16lSUlZXBxcXlnv03m83o1asXiouLFdUTEdGjqaKiAh4eHigvL4ckSXeta/Pl2bYym81QqVTyZdXc3FzU1dUhJCRErtHr9fD19UVWVhZCQ0ORnZ0NSZLkwASAESNGQJIkZGVlwdvbG9nZ2fD19bW47BsaGoqamhrk5uZi9OjRzfpSU1ODmpoa+XVlZSUAwMXFhaFJRET3/KiuQ28EunnzJubPn4/IyEg5lIxGI+zt7eHq6mpRq9VqYTQa5RqNRtPsfBqNxqJGq9Va7Hd1dYW9vb1cc6ekpCRIkiRvHh4e9z1GIiLqPjosNOvq6vCHP/wBjY2NWL169T3rhRAWCd9S2ren5nYJCQkwm83yVlxcrGQoREREADooNOvq6hAREYGioiJkZGRYXPrU6XSora2FyWSyOKasrExeOep0Oly5cqXZea9evWpRc+eK0mQyoa6urtkKtIlarZYvxfKSLBERtZXVQ7MpMM+fP48ffvgB7u7uFvv9/PxgZ2eHjIwMua20tBT5+fkIDAwEAAQEBMBsNuPIkSNyzeHDh2E2my1q8vPzUVpaKtfs2bMHarUafn5+1h4WERFR228EqqqqwoULF+TXRUVFyMvLg5ubG/R6PX7/+9/j+PHj+Pbbb9HQ0CCvBt3c3GBvbw9JkjBt2jTExcXB3d0dbm5uiI+Px6BBgxAcHAwAGDhwIMaNG4eoqCisW7cOADB9+nSEhYXB29sbABASEgIfHx8YDAYsWbIE169fR3x8PKKioriCJCKijqH4ocb/s2/fvhafbZkyZYooKiq667Mv+/btk89RXV0tZs2aJdzc3ISDg4MICwsTly5dsnifa9euicmTJwtnZ2fh7OwsJk+eLEwmk0XNxYsXxYQJE4SDg4Nwc3MTs2bNEjdv3lQ8FrPZLAAIs9nc1mkgIqJHiNI8uK/nNB92FRUVkCQJZrOZq1Miom5MaR7wu2eJiIgU6vAvNyCyBtWsLfd9DpE82Qo9IaLujCtNIiIihRiaRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpBBDk4iISCGGJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKFGJpEREQKMTSJiIgUYmgSEREpxNAkIiJSiKFJRESkEEOTiIhIIdvO7gA92lSztnR2F4iIrIYrTSIiIoXaHJo//fQTXn75Zej1eqhUKnz99dcW+4UQWLBgAfR6PRwcHDBq1CicPn3aoqampgazZ89G79694eTkhPDwcFy+fNmixmQywWAwQJIkSJIEg8GA8vJyi5pLly7h5ZdfhpOTE3r37o2YmBjU1ta2dUhERESKtDk0f/31VwwePBjJyckt7l+8eDGWLVuG5ORkHD16FDqdDmPHjkVlZaVcExsbi7S0NKSmpuLgwYOoqqpCWFgYGhoa5JrIyEjk5eUhPT0d6enpyMvLg8FgkPc3NDRgwoQJ+PXXX3Hw4EGkpqZix44diIuLa+uQiIiIFFEJIUS7D1apkJaWhokTJwK4tcrU6/WIjY3FvHnzANxaVWq1WixatAgzZsyA2WxGnz59sHnzZkyaNAkAUFJSAg8PD+zatQuhoaEoKCiAj48PcnJy4O/vDwDIyclBQEAAzp49C29vb3z//fcICwtDcXEx9Ho9ACA1NRVTp05FWVkZXFxc7tn/iooKSJIEs9msqJ7arit9pimSJ3d2F4ioi1KaB1b9TLOoqAhGoxEhISFym1qtRlBQELKysgAAubm5qKurs6jR6/Xw9fWVa7KzsyFJkhyYADBixAhIkmRR4+vrKwcmAISGhqKmpga5ubkt9q+mpgYVFRUWGxERkVJWDU2j0QgA0Gq1Fu1arVbeZzQaYW9vD1dX11ZrNBpNs/NrNBqLmjvfx9XVFfb29nLNnZKSkuTPSCVJgoeHRztGSURE3VWH3D2rUqksXgshmrXd6c6alurbU3O7hIQEmM1meSsuLm61T0RERLezamjqdDoAaLbSKysrk1eFOp0OtbW1MJlMrdZcuXKl2fmvXr1qUXPn+5hMJtTV1TVbgTZRq9VwcXGx2IiIiJSyamj269cPOp0OGRkZclttbS0yMzMRGBgIAPDz84OdnZ1FTWlpKfLz8+WagIAAmM1mHDlyRK45fPgwzGazRU1+fj5KS0vlmj179kCtVsPPz8+awyIiIgLQjm8EqqqqwoULF+TXRUVFyMvLg5ubG5544gnExsYiMTERXl5e8PLyQmJiIhwdHREZGQkAkCQJ06ZNQ1xcHNzd3eHm5ob4+HgMGjQIwcHBAICBAwdi3LhxiIqKwrp16wAA06dPR1hYGLy9vQEAISEh8PHxgcFgwJIlS3D9+nXEx8cjKiqKK0giIuoQbQ7NY8eOYfTo0fLrd955BwAwZcoUpKSkYO7cuaiurkZ0dDRMJhP8/f2xZ88eODs7y8csX74ctra2iIiIQHV1NcaMGYOUlBTY2NjINVu2bEFMTIx8l214eLjFs6E2Njb47rvvEB0djZEjR8LBwQGRkZFYunRp22eBiIhIgft6TvNhx+c0Ox6f0ySih0GnPKdJRET0KGNoEhERKcTQJCIiUoihSUREpBBDk4iISCGGJhERkUIMTSIiIoUYmkRERAq1+RuBiB5W1vqiBX5JAlH3xZUmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpBBDk4iISCGGJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKFrB6a9fX1eO+999CvXz84ODigf//++PDDD9HY2CjXCCGwYMEC6PV6ODg4YNSoUTh9+rTFeWpqajB79mz07t0bTk5OCA8Px+XLly1qTCYTDAYDJEmCJEkwGAwoLy+39pCIiIgAdEBoLlq0CGvXrkVycjIKCgqwePFiLFmyBCtXrpRrFi9ejGXLliE5ORlHjx6FTqfD2LFjUVlZKdfExsYiLS0NqampOHjwIKqqqhAWFoaGhga5JjIyEnl5eUhPT0d6ejry8vJgMBisPSQiIiIAgEoIIax5wrCwMGi1Wnz66ady23/+53/C0dERmzdvhhACer0esbGxmDdvHoBbq0qtVotFixZhxowZMJvN6NOnDzZv3oxJkyYBAEpKSuDh4YFdu3YhNDQUBQUF8PHxQU5ODvz9/QEAOTk5CAgIwNmzZ+Ht7X3PvlZUVECSJJjNZri4uFhzGuj/qGZt6ewuWJ1IntzZXSAiK1OaB1Zfaf72t7/Fjz/+iMLCQgDA3//+dxw8eBAvvfQSAKCoqAhGoxEhISHyMWq1GkFBQcjKygIA5Obmoq6uzqJGr9fD19dXrsnOzoYkSXJgAsCIESMgSZJcc6eamhpUVFRYbERERErZWvuE8+bNg9lsxoABA2BjY4OGhgZ89NFHeO211wAARqMRAKDVai2O02q1uHjxolxjb28PV1fXZjVNxxuNRmg0mmbvr9Fo5Jo7JSUlYeHChfc3QCIi6rasvtLcvn07Pv/8c2zduhXHjx/Hpk2bsHTpUmzatMmiTqVSWbwWQjRru9OdNS3Vt3aehIQEmM1meSsuLlY6LCIiIuuvNP/f//t/mD9/Pv7whz8AAAYNGoSLFy8iKSkJU6ZMgU6nA3Brpdi3b1/5uLKyMnn1qdPpUFtbC5PJZLHaLCsrQ2BgoFxz5cqVZu9/9erVZqvYJmq1Gmq12joDJSKibsfqK80bN26gRw/L09rY2MiPnPTr1w86nQ4ZGRny/traWmRmZsqB6OfnBzs7O4ua0tJS5OfnyzUBAQEwm804cuSIXHP48GGYzWa5hoiIyJqsvtJ8+eWX8dFHH+GJJ57As88+ixMnTmDZsmV48803Ady6pBobG4vExER4eXnBy8sLiYmJcHR0RGRkJABAkiRMmzYNcXFxcHd3h5ubG+Lj4zFo0CAEBwcDAAYOHIhx48YhKioK69atAwBMnz4dYWFhiu6cJSIiaiurh+bKlSvxxz/+EdHR0SgrK4Ner8eMGTPw/vvvyzVz585FdXU1oqOjYTKZ4O/vjz179sDZ2VmuWb58OWxtbREREYHq6mqMGTMGKSkpsLGxkWu2bNmCmJgY+S7b8PBwJCcnW3tIREREADrgOc2HCZ/T7Hh8TpOIHgad9pwmERHRo4qhSUREpBBDk4iISCGGJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKFGJpEREQKMTSJiIgUYmgSEREpxNAkIiJSiKFJRESkEEOTiIhIIYYmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpBBDk4iISKEOCc1//etfeP311+Hu7g5HR0cMGTIEubm58n4hBBYsWAC9Xg8HBweMGjUKp0+ftjhHTU0NZs+ejd69e8PJyQnh4eG4fPmyRY3JZILBYIAkSZAkCQaDAeXl5R0xJCIiIuuHpslkwsiRI2FnZ4fvv/8eZ86cwccff4xevXrJNYsXL8ayZcuQnJyMo0ePQqfTYezYsaisrJRrYmNjkZaWhtTUVBw8eBBVVVUICwtDQ0ODXBMZGYm8vDykp6cjPT0deXl5MBgM1h4SERERAEAlhBDWPOH8+fNx6NAhHDhwoMX9Qgjo9XrExsZi3rx5AG6tKrVaLRYtWoQZM2bAbDajT58+2Lx5MyZNmgQAKCkpgYeHB3bt2oXQ0FAUFBTAx8cHOTk58Pf3BwDk5OQgICAAZ8+ehbe39z37WlFRAUmSYDab4eLiYqUZoNupZm3p7C5YnUie3NldICIrU5oHVl9p7ty5E8OHD8err74KjUaDoUOHYsOGDfL+oqIiGI1GhISEyG1qtRpBQUHIysoCAOTm5qKurs6iRq/Xw9fXV67Jzs6GJElyYALAiBEjIEmSXHOnmpoaVFRUWGxERERKWT00f/75Z6xZswZeXl7YvXs3Zs6ciZiYGHz22WcAAKPRCADQarUWx2m1Wnmf0WiEvb09XF1dW63RaDTN3l+j0cg1d0pKSpI//5QkCR4eHvc3WCIi6lasHpqNjY0YNmwYEhMTMXToUMyYMQNRUVFYs2aNRZ1KpbJ4LYRo1nanO2taqm/tPAkJCTCbzfJWXFysdFhERESwtfYJ+/btCx8fH4u2gQMHYseOHQAAnU4H4NZKsW/fvnJNWVmZvPrU6XSora2FyWSyWG2WlZUhMDBQrrly5Uqz97969WqzVWwTtVoNtVp9H6PrXh7FzyOJiO6H1VeaI0eOxLlz5yzaCgsL4enpCQDo168fdDodMjIy5P21tbXIzMyUA9HPzw92dnYWNaWlpcjPz5drAgICYDabceTIEbnm8OHDMJvNcg0REZE1WX2l+fbbbyMwMBCJiYmIiIjAkSNHsH79eqxfvx7ArUuqsbGxSExMhJeXF7y8vJCYmAhHR0dERkYCACRJwrRp0xAXFwd3d3e4ubkhPj4egwYNQnBwMIBbq9dx48YhKioK69atAwBMnz4dYWFhiu6cJSIiaiurh+bzzz+PtLQ0JCQk4MMPP0S/fv2wYsUKTJ78/9+mP3fuXFRXVyM6Ohomkwn+/v7Ys2cPnJ2d5Zrly5fD1tYWERERqK6uxpgxY5CSkgIbGxu5ZsuWLYiJiZHvsg0PD0dycrK1h0RERASgA57TfJjwOc3W8TPNlvE5TaJHT6c9p0lERPSoYmgSEREpxNAkIiJSiKFJRESkkNXvniV61FnrBineUET08OFKk4iISCGGJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKFGJpEREQKMTSJiIgUYmgSEREpxNAkIiJSiKFJRESkEEOTiIhIIYYmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKdThoZmUlASVSoXY2Fi5TQiBBQsWQK/Xw8HBAaNGjcLp06ctjqupqcHs2bPRu3dvODk5ITw8HJcvX7aoMZlMMBgMkCQJkiTBYDCgvLy8o4dERETdVIeG5tGjR7F+/Xo899xzFu2LFy/GsmXLkJycjKNHj0Kn02Hs2LGorKyUa2JjY5GWlobU1FQcPHgQVVVVCAsLQ0NDg1wTGRmJvLw8pKenIz09HXl5eTAYDB05JCIi6sY6LDSrqqowefJkbNiwAa6urnK7EAIrVqzAu+++i//4j/+Ar68vNm3ahBs3bmDr1q0AALPZjE8//RQff/wxgoODMXToUHz++ec4deoUfvjhBwBAQUEB0tPT8Ze//AUBAQEICAjAhg0b8O233+LcuXMdNSwiIurGOiw033rrLUyYMAHBwcEW7UVFRTAajQgJCZHb1Go1goKCkJWVBQDIzc1FXV2dRY1er4evr69ck52dDUmS4O/vL9eMGDECkiTJNXeqqalBRUWFxUZERKSUbUecNDU1FcePH8fRo0eb7TMajQAArVZr0a7VanHx4kW5xt7e3mKF2lTTdLzRaIRGo2l2fo1GI9fcKSkpCQsXLmz7gIiIiNABK83i4mLMmTMHn3/+OXr27HnXOpVKZfFaCNGs7U531rRU39p5EhISYDab5a24uLjV9yMiIrqd1UMzNzcXZWVl8PPzg62tLWxtbZGZmYlPPvkEtra28grzztVgWVmZvE+n06G2thYmk6nVmitXrjR7/6tXrzZbxTZRq9VwcXGx2IiIiJSyemiOGTMGp06dQl5enrwNHz4ckydPRl5eHvr37w+dToeMjAz5mNraWmRmZiIwMBAA4OfnBzs7O4ua0tJS5OfnyzUBAQEwm804cuSIXHP48GGYzWa5hoiIyJqs/pmms7MzfH19LdqcnJzg7u4ut8fGxiIxMRFeXl7w8vJCYmIiHB0dERkZCQCQJAnTpk1DXFwc3N3d4ebmhvj4eAwaNEi+sWjgwIEYN24coqKisG7dOgDA9OnTERYWBm9vb2sPi4iIqGNuBLqXuXPnorq6GtHR0TCZTPD398eePXvg7Ows1yxfvhy2traIiIhAdXU1xowZg5SUFNjY2Mg1W7ZsQUxMjHyXbXh4OJKTkx/4eIiIqHtQCSFEZ3eis1RUVECSJJjNZn6+2QLVrC2d3YVHmkie3NldIKL/ozQP+N2zRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpBBDk4iISCGGJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCnfIj1ERknd8r5W9yEj1YXGkSEREpxNAkIiJSiKFJRESkEEOTiIhIIYYmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKcTQJCIiUoihSUREpJDVQzMpKQnPP/88nJ2dodFoMHHiRJw7d86iRgiBBQsWQK/Xw8HBAaNGjcLp06ctampqajB79mz07t0bTk5OCA8Px+XLly1qTCYTDAYDJEmCJEkwGAwoLy+39pCIiIgAdMAXtmdmZuKtt97C888/j/r6erz77rsICQnBmTNn4OTkBABYvHgxli1bhpSUFDzzzDP405/+hLFjx+LcuXNwdnYGAMTGxuKbb75Bamoq3N3dERcXh7CwMOTm5sLGxgYAEBkZicuXLyM9PR0AMH36dBgMBnzzzTfWHtZDxRpfBE5ERM2phBCiI9/g6tWr0Gg0yMzMxO9+9zsIIaDX6xEbG4t58+YBuLWq1Gq1WLRoEWbMmAGz2Yw+ffpg8+bNmDRpEgCgpKQEHh4e2LVrF0JDQ1FQUAAfHx/k5OTA398fAJCTk4OAgACcPXsW3t7e9+xbRUUFJEmC2WyGi4tLx03CA8bQ7D74KydE1qE0Dzr8M02z2QwAcHNzAwAUFRXBaDQiJCRErlGr1QgKCkJWVhYAIDc3F3V1dRY1er0evr6+ck12djYkSZIDEwBGjBgBSZLkmjvV1NSgoqLCYiMiIlKqQ0NTCIF33nkHv/3tb+Hr6wsAMBqNAACtVmtRq9Vq5X1GoxH29vZwdXVttUaj0TR7T41GI9fcKSkpSf78U5IkeHh43N8AiYioW+nQ0Jw1axZOnjyJbdu2NdunUqksXgshmrXd6c6alupbO09CQgLMZrO8FRcXKxkGERERgA4MzdmzZ2Pnzp3Yt28fHn/8cbldp9MBQLPVYFlZmbz61Ol0qK2thclkarXmypUrzd736tWrzVaxTdRqNVxcXCw2IiIipawemkIIzJo1C1999RX27t2Lfv36Wezv168fdDodMjIy5Lba2lpkZmYiMDAQAODn5wc7OzuLmtLSUuTn58s1AQEBMJvNOHLkiFxz+PBhmM1muYaIiMiarP7IyVtvvYWtW7fib3/7G5ydneUVpSRJcHBwgEqlQmxsLBITE+Hl5QUvLy8kJibC0dERkZGRcu20adMQFxcHd3d3uLm5IT4+HoMGDUJwcDAAYODAgRg3bhyioqKwbt06ALceOQkLC1N05ywREVFbWT0016xZAwAYNWqURfvGjRsxdepUAMDcuXNRXV2N6OhomEwm+Pv7Y8+ePfIzmgCwfPly2NraIiIiAtXV1RgzZgxSUlLkZzQBYMuWLYiJiZHvsg0PD0dycrK1h0RERATgATyn2ZXxOU162PE5TSLr6DLPaRIRET0qGJpEREQKMTSJiIgUYmgSEREpxNAkIiJSiKFJRESkEEOTiIhIIat/uQERPTjWeiaXz3sSKcOVJhERkUIMTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKFGJpEREQKMTSJiIgUYmgSEREpxF85ISKr/FoKfymFugOGZhdirZ95IiKijsHLs0RERAoxNImIiBRiaBIRESnE0CQiIlLoob8RaPXq1ViyZAlKS0vx7LPPYsWKFXjxxRc7u1tE3Y61bmTjXbjUlT3UK83t27cjNjYW7777Lk6cOIEXX3wR48ePx6VLlzq7a0RE9AhSCSFEZ3eivfz9/TFs2DCsWbNGbhs4cCAmTpyIpKSkex5fUVEBSZJgNpvh4uLSkV1VhI+cEFkPV6zUFkrz4KG9PFtbW4vc3FzMnz/foj0kJARZWVktHlNTU4Oamhr5tdlsBnBrsu6XFL/9vs9BRNajmr6hs7tgdealkzq7C4+sphy41zryoQ3NX375BQ0NDdBqtRbtWq0WRqOxxWOSkpKwcOHCZu0eHh4d0kciImuSNkzv7C488iorKyFJ0l33P7Sh2USlUlm8FkI0a2uSkJCAd955R37d2NiI69evw93d/a7HKFFRUQEPDw8UFxd3icu8DwvOW/tw3tqH89Y+3WXehBCorKyEXq9vte6hDc3evXvDxsam2aqyrKys2eqziVqthlqttmjr1auX1frk4uLySP+h6iict/bhvLUP5619usO8tbbCbPLQ3j1rb28PPz8/ZGRkWLRnZGQgMDCwk3pFRESPsod2pQkA77zzDgwGA4YPH46AgACsX78ely5dwsyZMzu7a0RE9Ah6qENz0qRJuHbtGj788EOUlpbC19cXu3btgqen5wPth1qtxgcffNDs0i+1jvPWPpy39uG8tQ/nzdJD/ZwmERHRg/TQfqZJRET0oDE0iYiIFGJoEhERKcTQJCIiUoihqdDq1avRr18/9OzZE35+fjhw4ECr9ZmZmfDz80PPnj3Rv39/rF279gH1tGtpy7yVlpYiMjIS3t7e6NGjB2JjYx9cR7uYtszbV199hbFjx6JPnz5wcXFBQEAAdu/e/QB723W0Zd4OHjyIkSNHwt3dHQ4ODhgwYACWL1/+AHvbdbT137cmhw4dgq2tLYYMGdKxHexKBN1TamqqsLOzExs2bBBnzpwRc+bMEU5OTuLixYst1v/888/C0dFRzJkzR5w5c0Zs2LBB2NnZiS+//PIB97xztXXeioqKRExMjNi0aZMYMmSImDNnzoPtcBfR1nmbM2eOWLRokThy5IgoLCwUCQkJws7OThw/fvwB97xztXXejh8/LrZu3Sry8/NFUVGR2Lx5s3B0dBTr1q17wD3vXG2dtybl5eWif//+IiQkRAwePPjBdLYLYGgq8MILL4iZM2datA0YMEDMnz+/xfq5c+eKAQMGWLTNmDFDjBgxosP62BW1dd5uFxQU1G1D837mrYmPj49YuHChtbvWpVlj3v793/9dvP7669buWpfW3nmbNGmSeO+998QHH3zQrUKTl2fvoeknyEJCQizaW/sJsuzs7Gb1oaGhOHbsGOrq6jqsr11Je+aNrDNvjY2NqKyshJubW0d0sUuyxrydOHECWVlZCAoK6ogudkntnbeNGzfiH//4Bz744IOO7mKX81B/I9CD0J6fIDMajS3W19fX45dffkHfvn07rL9dRXvmjawzbx9//DF+/fVXREREdEQXu6T7mbfHH38cV69eRX19PRYsWID//u//7siudintmbfz589j/vz5OHDgAGxtu1+EdL8Rt1NbfoLsbvUttT/q2jpvdEt7523btm1YsGAB/va3v0Gj0XRU97qs9szbgQMHUFVVhZycHMyfPx9PP/00XnvttY7sZpejdN4aGhoQGRmJhQsX4plnnnlQ3etSGJr30J6fINPpdC3W29rawt3dvcP62pW0Z97o/uZt+/btmDZtGr744gsEBwd3ZDe7nPuZt379+gEABg0ahCtXrmDBggXdJjTbOm+VlZU4duwYTpw4gVmzZgG49XGAEAK2trbYs2cP/u3f/u2B9L2z8DPNe2jPT5AFBAQ0q9+zZw+GDx8OOzu7DutrV8Kfbmuf9s7btm3bMHXqVGzduhUTJkzo6G52Odb68yaEQE1NjbW712W1dd5cXFxw6tQp5OXlydvMmTPh7e2NvLw8+Pv7P6iud57Ouwfp4dF0S/ann34qzpw5I2JjY4WTk5P45z//KYQQYv78+cJgMMj1TY+cvP322+LMmTPi008/7daP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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=2,\n", " atomInvariantsGenerator=rdFingerprintGenerator.GetMorganAtomInvGen())\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan2 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan2 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.1564245810055866\n", "0.8 0.1702127659574468\n", "0.9 0.1901840490797546\n", "0.95 0.20833333333333334\n", "0.99 0.2484472049689441\n", "0.7 0.11016949152542373\n", "0.8 0.12\n", "0.9 0.1348314606741573\n", "0.95 0.14925373134328357\n", "0.99 0.18095238095238095\n" ] }, { "data": { "image/png": "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HppDhw5FUVGRUdupU6fQs2dPAIC7uzt0Oh3S0tLU/TU1NUhPT0dgYCAAwM/PD5aWlkY1JSUlyM/PV2sCAgJgMBiQnZ2t1hw+fBgGg0GtISIiMiWT36f59ttvIzAwELGxsRg3bhyys7OxYcMGbNiwAcDtj1SjoqIQGxsLDw8PeHh4IDY2FjY2NggLCwMAKIqCKVOmYN68eXBycoKjoyOio6Ph6+uLESNGALi9eh09ejSmTp2K9evXAwCmTZuGkJAQqStniYiImsvkofncc88hJSUFixYtwrvvvgt3d3esXLkSEyb8/8vr58+fj6qqKsycOVP9cYO9e/fCzs5OrVmxYgUsLCwwbtw49ccNEhMTYW5urtZs27YNkZGR6lW2oaGhSEhIMPWQiIiIALTAfZodCe/TbHm8T7NpvE+TqP1os/s0iYiIOiuGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSST/2A7Eckxxe/y8vdriVoXV5pERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSWjw04+LioNFoEBUVpbYJIbB06VK4urrC2toaw4YNw4kTJ4yOq66uxuzZs9GtWzfY2toiNDQU58+fN6rR6/UIDw+HoihQFAXh4eEoLy9v6SEREdFjqkVD88iRI9iwYQOeeeYZo/bly5cjPj4eCQkJOHLkCHQ6HUaOHIlr166pNVFRUUhJSUFycjIyMjJQWVmJkJAQ1NXVqTVhYWHIy8tDamoqUlNTkZeXh/Dw8JYcEhERPcZaLDQrKysxYcIEbNy4EQ4ODmq7EAIrV67E4sWL8dprr8HHxwdbtmzBjRs3sH37dgCAwWDApk2b8NFHH2HEiBEYOHAgPv30Uxw/fhz//Oc/AQCFhYVITU3FJ598goCAAAQEBGDjxo34+uuvUVRU1FLDIiKix1iLheZbb72FsWPHYsSIEUbtxcXFKC0tRXBwsNqm1WoRFBSEzMxMAEBOTg5u3bplVOPq6gofHx+15tChQ1AUBf7+/mrNkCFDoCiKWnOv6upqVFRUGG1ERESyLFripMnJyfjhhx9w5MiRBvtKS0sBAC4uLkbtLi4uOHPmjFpjZWVltEK9U3Pn+NLSUjg7Ozc4v7Ozs1pzr7i4OMTExDR/QERERGiBlea5c+cwZ84cfPrpp+jSpUuTdRqNxui1EKJB273urWms/n7nWbRoEQwGg7qdO3fuvu9HRER0N5OvNHNyclBWVgY/Pz+1ra6uDt999x0SEhLU7xtLS0vRo0cPtaasrExdfep0OtTU1ECv1xutNsvKyhAYGKjWXLx4scH7X7p0qcEq9g6tVgutVvvog3xMaGZta+suEBG1KyZfaQ4fPhzHjx9HXl6eug0ePBgTJkxAXl4eevfuDZ1Oh7S0NPWYmpoapKenq4Ho5+cHS0tLo5qSkhLk5+erNQEBATAYDMjOzlZrDh8+DIPBoNYQERGZkslXmnZ2dvDx8TFqs7W1hZOTk9oeFRWF2NhYeHh4wMPDA7GxsbCxsUFYWBgAQFEUTJkyBfPmzYOTkxMcHR0RHR0NX19f9cIiLy8vjB49GlOnTsX69esBANOmTUNISAg8PT1NPSwiIqKWuRDoQebPn4+qqirMnDkTer0e/v7+2Lt3L+zs7NSaFStWwMLCAuPGjUNVVRWGDx+OxMREmJubqzXbtm1DZGSkepVtaGgoEhISWn08RET0eNAIIURbd6KtVFRUQFEUGAwG2Nvbt3V32h1+p9n+iYQJbd0Fok5BNg/427NERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSGJpERESSLNq6A0T08DSztpnkPCJhgknOQ9TZcaVJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkiaFJREQkyeShGRcXh+eeew52dnZwdnbGK6+8gqKiIqMaIQSWLl0KV1dXWFtbY9iwYThx4oRRTXV1NWbPno1u3brB1tYWoaGhOH/+vFGNXq9HeHg4FEWBoigIDw9HeXm5qYdEREQEoAVCMz09HW+99RaysrKQlpaG2tpaBAcH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9GXixIk4evQodu7ciUOHDkEIgTFjxuDWrVtqzY0bNxAXF4dPPvkEJ06cgLOzM958801cuHABBw4cwN///nds2LABZWVlRue+3xjuPveHH36IpKQkfPfddzh79qzRWO4mhMC3336LoqIivPjii03O77Fjx1BeXo7Bgwcbtb/55ptITk7Gxx9/jMLCQqxbtw5PPPEEAOCXX37BmDFj8Nxzz+HHH3/E2rVrsWnTJrz33ntNvk9TYmJiMG7cOBw7dgxjxozBhAkTcPXqVbi5ueHvf/87AKCoqAglJSX47//+b5SUlOD111/H5MmTUVhYiAMHDuC1117D3c+zeP7553Hu3DmcOXOm2f2hTqRNn7FC1IIiIiKEubm5sLW1Vbff//73QgghXnjhBREbG2tUn5SUJHr06NHk+T7//HPh5OSkvt68ebNQFKVBXVBQkJgzZ4748ccfhZ2dnaisrBTp6enC2dlZ1NTUiGeffVYsWbJECCHEqVOnBADx/fffq8dfvnxZWFtbi88//1x9HwAiLy9PrSksLBQAxJEjR9S2n376SQAQK1asaNYYAIiff/5ZbVu9erVwcXExOq68vFzY2toKCwsLodVqxaZNm5p8DyGESElJEebm5qK+vl5tKyoqEgBEWlpao8f853/+p/D09DQ6ZvXq1eKJJ55QH7vVs2fPBuO7ez6FuP04uXfeeUd9XVlZKTQajfjmm2+EEELs379fABB6vV6tycnJEQDU5z42xmAwCADiwIED9x07dW4WbRXWRK3hN7/5DdauXau+trW1BQDk5OTgyJEjRivLuro63Lx5Ezdu3ICNjQ3279+P2NhYFBQUoKKiArW1tbh58yauX7+unud+nnnmGXh4eOCLL77A/v37ER4eDktLS6OawsJCWFhYGD2l3snJCZ6enigsLFTbrKys8Mwzz6ivi4qKYGFhgUGDBqltffr0gYODg9H5ZcZgY2ODp59+Wj2mR48eDVasdnZ2yMvLQ2VlJb799lvMnTsXvXv3xrBhwxode1VVFbRaLTQajdqWl5cHc3NzBAUFNXpMYWEhAgICjI4ZOnQoKisrcf78eTz11FONHteYu+fK1tYWdnZ2DcZ0t2effRbDhw+Hr68vRo0aheDgYPz+9783mk9ra2sAt1fm9PhiaFKnZmtriz59+jRor6+vR0xMDF577bUG+7p06YIzZ85gzJgxmDFjBv785z/D0dERGRkZmDJlitHHpg8yefJkrF69GgUFBcjOzm6wXzTxOFshhFF4WFtbG72+33F3yI7h3iDXaDQNzm9mZqbO44ABA1BYWIi4uLgmQ7Nbt264ceMGampqYGVlpY7hfu4d893judNuZmbWoG+N/Xk0Nqb7XTxlbm6OtLQ0ZGZmYu/evVi1ahUWL16Mw4cPqxeOXb16FQDQvXv3+46DOjd+p0mPpUGDBqGoqAh9+vRpsJmZmeHo0aOora3FRx99hCFDhqBv3764cOGC0TmsrKxQV1d33/cJCwvD8ePH4ePjA29v7wb7vb29UVtbi8OHD6ttV65cwalTp+Dl5dXkefv164fa2lrk5uaqbT///LPRbRQyY3hYQghUV1c3uX/AgAEAgIKCArXN19cX9fX1SE9Pb/QYb29vZGZmGoViZmYm7Ozs8Ktf/QrA7cC6+yKlioqKZt8GcifE7/2z02g0GDp0KGJiYpCbmwsrKyukpKSo+/Pz82FpaYn+/fs36/2oc2Fo0mPpT3/6E7Zu3YqlS5fixIkTKCwsxGeffYZ33nkHAPD000+jtrYWq1atwunTp5GUlNTgdoNevXqpH1devny50Y/tHBwcUFJSgm+//bbRfnh4eODll1/G1KlTkZGRgR9//BFvvPEGfvWrX+Hll19usv/9+vXDiBEjMG3aNGRnZyM3NxfTpk0zWpHKjEFGXFwc0tLScPr0aZw8eRLx8fHYunUr3njjjSaP6d69OwYNGmR0hW2vXr0QERGByZMn43/+539QXFyMAwcO4PPPPwcAzJw5E+fOncPs2bNx8uRJfPXVV1iyZAnmzp0LM7Pbf1X99re/RVJSEg4ePIj8/HxERESoV0PL6tmzJzQaDb7++mtcunQJlZWVOHz4MGJjY3H06FGcPXsWX375JS5dumT0D5eDBw/ihRdeeOCKmTq5tvoylailRUREiJdffrnJ/ampqSIwMFBYW1sLe3t78fzzz4sNGzao++Pj40WPHj2EtbW1GDVqlNi6dWuDC0hmzJghnJycBAD1YpQ7FwI15d4LV65evSrCw8OFoijqe506dUrd39QFRxcuXBAvvfSS0Gq1omfPnmL79u3C2dlZrFu3TnoMjZ07JSVF3P1Xw+LFi0WfPn1Ely5dhIODgwgICBDJyclNju+OdevWiSFDhhi1VVVVibffflv06NFDWFlZiT59+oi//vWv6v4DBw6I5557TlhZWQmdTicWLFggbt26pe43GAxi3Lhxwt7eXri5uYnExMRGLwRKSUkxel9FUcTmzZvV1++++67Q6XRCo9GIiIgIUVBQIEaNGiW6d+8utFqt6Nu3r1i1apXROfr27St27NjxwHFT56YRookvR4ioQzl//jzc3Nzwz3/+E8OHD2/r7uDmzZvw9PREcnIyAgIC2ro7j+Qf//gH/vjHP+LYsWOwsOClII8z/ukTdVD79u1DZWUlfH19UVJSgvnz56NXr173vX+yNXXp0gVbt27F5cuX27orj+z69evYvHkzA5PAlSZRB7Vnzx7MmzcPp0+fhp2dnfqDCz179mzrrhF1WgxNIiIiSbx6loiISBJDk4iISBJDk4iISBJDk4iISBJDk4iISBJDk4iISBJDk4iISBJDk4iISNL/AcAGa4Yy9zyyAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetMorganGenerator(radius=3,\n", " atomInvariantsGenerator=rdFingerprintGenerator.GetMorganAtomInvGen())\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan3 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"FeatMorgan3 (bits)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# RDKit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Branched (default)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.15225563909774437\n", "0.8 0.17751479289940827\n", "0.9 0.21566401816118047\n", "0.95 0.25167336010709507\n", "0.99 0.33264033264033266\n", "0.7 0.2035225048923679\n", "0.8 0.22637106184364061\n", "0.9 0.2615803814713896\n", "0.95 0.29458917835671344\n", "0.99 0.37115839243498816\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAEmCAYAAAAAxstcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqoElEQVR4nO3dfVhU55kG8HvkYwSEo6AwTEQlDUERbQymiCYBC6LbEGK/oMVMddeoWSI4flRh8yG6DazGj9SQGLUmGoMh19bSuKmh0CRSiSKI0EZFTSMqroyQOAyQ0EHx3T+8PJsBhBccvvT+Xdf8MWeeM/M8jOTOO3MORyOEECAiIqJODerrBoiIiAYKhiYREZEkhiYREZEkhiYREZEkhiYREZEkhiYREZEkhiYREZEkhiYREZEkx75uoC/duHEDly9fhru7OzQaTV+3Q0REfUQIgYaGBuj1egwadPv15D0dmpcvX4afn19ft0FERP1EVVUVRo4cedvH7+nQdHd3B3Dzh+Th4dHH3RARUV+pr6+Hn5+fmgu3c0+H5q2PZD08PBiaRETU6Vd1PBCIiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhI0j39xw3uVprFWXZ5HpE5xy7PQ0R0t2Bo0m3ZI3wZvER0N+HHs0RERJK6HJp//etf8eSTT0Kv10Oj0eCPf/yjzeNCCKSlpUGv18PFxQURERE4efKkTY3VakVSUhKGDx8ONzc3xMbG4tKlSzY1ZrMZBoMBiqJAURQYDAbU1dXZ1Fy8eBFPPvkk3NzcMHz4cCQnJ6O5ubmrIxEREUnpcmh+8803+P73v4/MzMx2H1+/fj02bdqEzMxMlJSUQKfTYcaMGWhoaFBrjEYjcnJykJ2djcLCQjQ2NiImJgYtLS1qTUJCAsrLy5Gbm4vc3FyUl5fDYDCoj7e0tOCJJ57AN998g8LCQmRnZ2Pfvn1Yvnx5V0ciIiKSohFCiG7vrNEgJycHs2fPBnBzlanX62E0GrFq1SoAN1eVPj4+WLduHRYtWgSLxYIRI0Zgz549iI+PB/D/17U8cOAAZs6ciYqKCgQFBaGoqAihoaEAgKKiIoSFheH06dMIDAzERx99hJiYGFRVVUGv1wMAsrOzMW/ePNTU1EhdtaS+vh6KosBisdxVVzmx14FA9sDvNIloIJDNA7t+p1lZWQmTyYTo6Gh1m1arRXh4OA4fPgwAKC0txbVr12xq9Ho9goOD1ZojR45AURQ1MAFgypQpUBTFpiY4OFgNTACYOXMmrFYrSktL2+3ParWivr7e5kZERCTLrqFpMpkAAD4+PjbbfXx81MdMJhOcnZ0xbNiwDmu8vb3bPL+3t7dNTevXGTZsGJydndWa1jIyMtTvSBVFgZ+fXzemJCKie1WPHD3b+iKeQohOL+zZuqa9+u7UfFdqaiosFot6q6qq6rAnIiKi77JraOp0OgBos9KrqalRV4U6nQ7Nzc0wm80d1ly5cqXN89fW1trUtH4ds9mMa9eutVmB3qLVauHh4WFzIyIikmXX0PT394dOp0N+fr66rbm5GQUFBZg6dSoAICQkBE5OTjY11dXVOHHihFoTFhYGi8WC4uJitebo0aOwWCw2NSdOnEB1dbVak5eXB61Wi5CQEHuORUREBKAbfxGosbER//jHP9T7lZWVKC8vh6enJ0aNGgWj0Yj09HQEBAQgICAA6enpcHV1RUJCAgBAURTMnz8fy5cvh5eXFzw9PbFixQpMmDABUVFRAIBx48Zh1qxZWLBgAbZt2wYAWLhwIWJiYhAYGAgAiI6ORlBQEAwGA1555RVcvXoVK1aswIIFC7iCJCKiHtHl0Dx27BimT5+u3l+2bBkAYO7cudi1axdWrlyJpqYmJCYmwmw2IzQ0FHl5eXB3d1f32bx5MxwdHREXF4empiZERkZi165dcHBwUGuysrKQnJysHmUbGxtrc26og4MD/vSnPyExMRHTpk2Di4sLEhISsGHDhq7/FIiIiCTc0XmaAx3P0+x5PE+TiAaCPjlPk4iI6G7G0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpLE0CQiIpJk99C8fv06XnjhBfj7+8PFxQX3338/1q5dixs3bqg1QgikpaVBr9fDxcUFEREROHnypM3zWK1WJCUlYfjw4XBzc0NsbCwuXbpkU2M2m2EwGKAoChRFgcFgQF1dnb1HIiIiAtADoblu3Tq8+eabyMzMREVFBdavX49XXnkFr732mlqzfv16bNq0CZmZmSgpKYFOp8OMGTPQ0NCg1hiNRuTk5CA7OxuFhYVobGxETEwMWlpa1JqEhASUl5cjNzcXubm5KC8vh8FgsPdIREREAACNEELY8wljYmLg4+ODnTt3qtt++tOfwtXVFXv27IEQAnq9HkajEatWrQJwc1Xp4+ODdevWYdGiRbBYLBgxYgT27NmD+Ph4AMDly5fh5+eHAwcOYObMmaioqEBQUBCKiooQGhoKACgqKkJYWBhOnz6NwMDATnutr6+HoiiwWCzw8PCw54+hT2kWZ/V1CyqROaevWyAi6pRsHth9pfnoo4/i448/xtmzZwEAf/vb31BYWIgf/ehHAIDKykqYTCZER0er+2i1WoSHh+Pw4cMAgNLSUly7ds2mRq/XIzg4WK05cuQIFEVRAxMApkyZAkVR1JrWrFYr6uvrbW5ERESyHO39hKtWrYLFYsHYsWPh4OCAlpYWvPzyy/jlL38JADCZTAAAHx8fm/18fHxw4cIFtcbZ2RnDhg1rU3Nrf5PJBG9v7zav7+3trda0lpGRgTVr1tzZgEREdM+y+0rz/fffx7vvvou9e/fi+PHj2L17NzZs2IDdu3fb1Gk0Gpv7Qog221prXdNefUfPk5qaCovFot6qqqpkxyIiIrL/SvPXv/41UlJS8Itf/AIAMGHCBFy4cAEZGRmYO3cudDodgJsrRV9fX3W/mpoadfWp0+nQ3NwMs9lss9qsqanB1KlT1ZorV660ef3a2to2q9hbtFottFqtfQYlIqJ7jt1Xmt9++y0GDbJ9WgcHB/WUE39/f+h0OuTn56uPNzc3o6CgQA3EkJAQODk52dRUV1fjxIkTak1YWBgsFguKi4vVmqNHj8Jisag1RERE9mT3leaTTz6Jl19+GaNGjcL48eNRVlaGTZs24d/+7d8A3PxI1Wg0Ij09HQEBAQgICEB6ejpcXV2RkJAAAFAUBfPnz8fy5cvh5eUFT09PrFixAhMmTEBUVBQAYNy4cZg1axYWLFiAbdu2AQAWLlyImJgYqSNniYiIusruofnaa6/hxRdfRGJiImpqaqDX67Fo0SK89NJLas3KlSvR1NSExMREmM1mhIaGIi8vD+7u7mrN5s2b4ejoiLi4ODQ1NSEyMhK7du2Cg4ODWpOVlYXk5GT1KNvY2FhkZmbaeyQiIiIAPXCe5kDC8zR7Hs/TJKKBoM/O0yQiIrpbMTSJiIgk2f07TaLvstdHxfyYl4j6A640iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDE0iYiIJDn2dQP0/zSLs/q6BSIi6gBXmkRERJIYmkRERJIYmkRERJIYmkRERJIYmkRERJIYmkRERJJ6JDT/93//F08//TS8vLzg6uqKhx56CKWlperjQgikpaVBr9fDxcUFEREROHnypM1zWK1WJCUlYfjw4XBzc0NsbCwuXbpkU2M2m2EwGKAoChRFgcFgQF1dXU+MREREZP/QNJvNmDZtGpycnPDRRx/h1KlT2LhxI4YOHarWrF+/Hps2bUJmZiZKSkqg0+kwY8YMNDQ0qDVGoxE5OTnIzs5GYWEhGhsbERMTg5aWFrUmISEB5eXlyM3NRW5uLsrLy2EwGOw9EhEREQBAI4QQ9nzClJQUfPbZZzh06FC7jwshoNfrYTQasWrVKgA3V5U+Pj5Yt24dFi1aBIvFghEjRmDPnj2Ij48HAFy+fBl+fn44cOAAZs6ciYqKCgQFBaGoqAihoaEAgKKiIoSFheH06dMIDAzstNf6+nooigKLxQIPDw87/QS6j3/c4PZE5py+boGI7mKyeWD3leb+/fsxefJk/PznP4e3tzcmTZqEHTt2qI9XVlbCZDIhOjpa3abVahEeHo7Dhw8DAEpLS3Ht2jWbGr1ej+DgYLXmyJEjUBRFDUwAmDJlChRFUWtas1qtqK+vt7kRERHJsntonjt3Dlu3bkVAQAD+/Oc/49lnn0VycjLeeecdAIDJZAIA+Pj42Ozn4+OjPmYymeDs7Ixhw4Z1WOPt7d3m9b29vdWa1jIyMtTvPxVFgZ+f350NS0RE9xS7h+aNGzfw8MMPIz09HZMmTcKiRYuwYMECbN261aZOo9HY3BdCtNnWWuua9uo7ep7U1FRYLBb1VlVVJTsWERGR/UPT19cXQUFBNtvGjRuHixcvAgB0Oh0AtFkN1tTUqKtPnU6H5uZmmM3mDmuuXLnS5vVra2vbrGJv0Wq18PDwsLkRERHJsntoTps2DWfOnLHZdvbsWYwePRoA4O/vD51Oh/z8fPXx5uZmFBQUYOrUqQCAkJAQODk52dRUV1fjxIkTak1YWBgsFguKi4vVmqNHj8Jisag1RERE9mT3S4MtXboUU6dORXp6OuLi4lBcXIzt27dj+/btAG5+pGo0GpGeno6AgAAEBAQgPT0drq6uSEhIAAAoioL58+dj+fLl8PLygqenJ1asWIEJEyYgKioKwM3V66xZs7BgwQJs27YNALBw4ULExMRIHTlLRETUVXYPzUceeQQ5OTlITU3F2rVr4e/vj1dffRVz5vz/KQMrV65EU1MTEhMTYTabERoairy8PLi7u6s1mzdvhqOjI+Li4tDU1ITIyEjs2rULDg4Oak1WVhaSk5PVo2xjY2ORmZlp75GIiIgA9MB5mgMJz9McOHieJhH1pD47T5OIiOhuxdAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSxNAkIiKSZPeLUN+reC1MIqK7H1eaREREkhiaREREkhiaREREkvidJg0I9vjOWGTOsUMnRHQv40qTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIEkOTiIhIUo+HZkZGBjQaDYxGo7pNCIG0tDTo9Xq4uLggIiICJ0+etNnParUiKSkJw4cPh5ubG2JjY3Hp0iWbGrPZDIPBAEVRoCgKDAYD6urqenokIiK6R/VoaJaUlGD79u2YOHGizfb169dj06ZNyMzMRElJCXQ6HWbMmIGGhga1xmg0IicnB9nZ2SgsLERjYyNiYmLQ0tKi1iQkJKC8vBy5ubnIzc1FeXk5DAZDT45ERET3sB4LzcbGRsyZMwc7duzAsGHD1O1CCLz66qt4/vnn8ZOf/ATBwcHYvXs3vv32W+zduxcAYLFYsHPnTmzcuBFRUVGYNGkS3n33XXz++ef4y1/+AgCoqKhAbm4ufve73yEsLAxhYWHYsWMHPvzwQ5w5c6anxiIiontYj4Xmc889hyeeeAJRUVE22ysrK2EymRAdHa1u02q1CA8Px+HDhwEApaWluHbtmk2NXq9HcHCwWnPkyBEoioLQ0FC1ZsqUKVAURa1pzWq1or6+3uZGREQkq0cuQp2dnY3jx4+jpKSkzWMmkwkA4OPjY7Pdx8cHFy5cUGucnZ1tVqi3am7tbzKZ4O3t3eb5vb291ZrWMjIysGbNmq4PREREhB5YaVZVVWHJkiV49913MXjw4NvWaTQam/tCiDbbWmtd0159R8+TmpoKi8Wi3qqqqjp8PSIiou+ye2iWlpaipqYGISEhcHR0hKOjIwoKCrBlyxY4OjqqK8zWq8Gamhr1MZ1Oh+bmZpjN5g5rrly50ub1a2tr26xib9FqtfDw8LC5ERERybJ7aEZGRuLzzz9HeXm5eps8eTLmzJmD8vJy3H///dDpdMjPz1f3aW5uRkFBAaZOnQoACAkJgZOTk01NdXU1Tpw4odaEhYXBYrGguLhYrTl69CgsFotaQ0REZE92/07T3d0dwcHBNtvc3Nzg5eWlbjcajUhPT0dAQAACAgKQnp4OV1dXJCQkAAAURcH8+fOxfPlyeHl5wdPTEytWrMCECRPUA4vGjRuHWbNmYcGCBdi2bRsAYOHChYiJiUFgYKC9xyIiIuqZA4E6s3LlSjQ1NSExMRFmsxmhoaHIy8uDu7u7WrN582Y4OjoiLi4OTU1NiIyMxK5du+Dg4KDWZGVlITk5WT3KNjY2FpmZmb0+DxER3Rs0QgjR1030lfr6eiiKAovFcsffb2oWZ9mpK+opInNOX7dARP2UbB7wb88SERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJcuzrBoh6i2Zxll2eR2TOscvzENHAw5UmERGRJIYmERGRJIYmERGRJIYmERGRJIYmERGRJIYmERGRJIYmERGRJIYmERGRJIYmERGRJLuHZkZGBh555BG4u7vD29sbs2fPxpkzZ2xqhBBIS0uDXq+Hi4sLIiIicPLkSZsaq9WKpKQkDB8+HG5uboiNjcWlS5dsasxmMwwGAxRFgaIoMBgMqKurs/dIREREAHogNAsKCvDcc8+hqKgI+fn5uH79OqKjo/HNN9+oNevXr8emTZuQmZmJkpIS6HQ6zJgxAw0NDWqN0WhETk4OsrOzUVhYiMbGRsTExKClpUWtSUhIQHl5OXJzc5Gbm4vy8nIYDAZ7j0RERAQA0AghRE++QG1tLby9vVFQUIDHH38cQgjo9XoYjUasWrUKwM1VpY+PD9atW4dFixbBYrFgxIgR2LNnD+Lj4wEAly9fhp+fHw4cOICZM2eioqICQUFBKCoqQmhoKACgqKgIYWFhOH36NAIDAzvtrb6+HoqiwGKxwMPD447mtNffNaX+j397lujuI5sHPf6dpsViAQB4enoCACorK2EymRAdHa3WaLVahIeH4/DhwwCA0tJSXLt2zaZGr9cjODhYrTly5AgURVEDEwCmTJkCRVHUmtasVivq6+ttbkRERLJ6NDSFEFi2bBkeffRRBAcHAwBMJhMAwMfHx6bWx8dHfcxkMsHZ2RnDhg3rsMbb27vNa3p7e6s1rWVkZKjffyqKAj8/vzsbkIiI7ik9GpqLFy/G3//+d7z33nttHtNoNDb3hRBttrXWuqa9+o6eJzU1FRaLRb1VVVXJjEFERASgB0MzKSkJ+/fvx6effoqRI0eq23U6HQC0WQ3W1NSoq0+dTofm5maYzeYOa65cudLmdWtra9usYm/RarXw8PCwuREREcmye2gKIbB48WL84Q9/wCeffAJ/f3+bx/39/aHT6ZCfn69ua25uRkFBAaZOnQoACAkJgZOTk01NdXU1Tpw4odaEhYXBYrGguLhYrTl69CgsFotaQ0REZE+O9n7C5557Dnv37sUHH3wAd3d3dUWpKApcXFyg0WhgNBqRnp6OgIAABAQEID09Ha6urkhISFBr58+fj+XLl8PLywuenp5YsWIFJkyYgKioKADAuHHjMGvWLCxYsADbtm0DACxcuBAxMTFSR84SERF1ld1Dc+vWrQCAiIgIm+1vv/025s2bBwBYuXIlmpqakJiYCLPZjNDQUOTl5cHd3V2t37x5MxwdHREXF4empiZERkZi165dcHBwUGuysrKQnJysHmUbGxuLzMxMe49EREQEoBfO0+zPeJ4mdQfP0yS6+/Sb8zSJiIjuFgxNIiIiSQxNIiIiSQxNIiIiSQxNIiIiSXY/5YTobmevI6V5FC7RwMOVJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSSGJhERkSReT5Ooj9jjupy8JidR7+JKk4iISBJDk4iISBJDk4iISBJDk4iISBJDk4iISBJDk4iISBJPOSEawOxx2grAU1eIZHGlSUREJImhSUREJImhSUREJGnAf6f5xhtv4JVXXkF1dTXGjx+PV199FY899lhft0U0oPBP+hHJGdArzffffx9GoxHPP/88ysrK8Nhjj+Ff/uVfcPHixb5ujYiI7kIaIYTo6ya6KzQ0FA8//DC2bt2qbhs3bhxmz56NjIyMTvevr6+HoiiwWCzw8PC4o17sdRQj0b2OK1bqC7J5MGA/nm1ubkZpaSlSUlJstkdHR+Pw4cPt7mO1WmG1WtX7FosFwM0f1p039O2dPwcRQbNwR1+3YHeWDfF93QJ14lYOdLaOHLCh+dVXX6GlpQU+Pj422318fGAymdrdJyMjA2vWrGmz3c/Pr0d6JCICAGXHwr5ugSQ1NDRAUZTbPj5gQ/MWjUZjc18I0WbbLampqVi2bJl6/8aNG7h69Sq8vLxuu4+M+vp6+Pn5oaqq6o4/5u1LnKN/4Rz9C+fof+w5ixACDQ0N0Ov1HdYN2NAcPnw4HBwc2qwqa2pq2qw+b9FqtdBqtTbbhg4dareePDw8Bvw/QoBz9Deco3/hHP2PvWbpaIV5y4A9etbZ2RkhISHIz8+32Z6fn4+pU6f2UVdERHQ3G7ArTQBYtmwZDAYDJk+ejLCwMGzfvh0XL17Es88+29etERHRXWhAh2Z8fDy+/vprrF27FtXV1QgODsaBAwcwevToXu1Dq9Vi9erVbT76HWg4R//COfoXztH/9MUsA/o8TSIiot40YL/TJCIi6m0MTSIiIkkMTSIiIkkMTSIiIkkMTUlvvPEG/P39MXjwYISEhODQoUMd1hcUFCAkJASDBw/G/fffjzfffLOXOu1YV+aorq5GQkICAgMDMWjQIBiNxt5rtBNdmeMPf/gDZsyYgREjRsDDwwNhYWH485//3Ivd3l5X5igsLMS0adPg5eUFFxcXjB07Fps3b+7Fbm+vq78ft3z22WdwdHTEQw891LMNSurKHAcPHoRGo2lzO336dC923L6uvh9WqxXPP/88Ro8eDa1Wi+9973t46623eqnb2+vKHPPmzWv3/Rg/frx9mxLUqezsbOHk5CR27NghTp06JZYsWSLc3NzEhQsX2q0/d+6ccHV1FUuWLBGnTp0SO3bsEE5OTuL3v/99L3duq6tzVFZWiuTkZLF7927x0EMPiSVLlvRuw7fR1TmWLFki1q1bJ4qLi8XZs2dFamqqcHJyEsePH+/lzm11dY7jx4+LvXv3ihMnTojKykqxZ88e4erqKrZt29bLndvq6hy31NXVifvvv19ER0eL73//+73TbAe6Osenn34qAIgzZ86I6upq9Xb9+vVe7txWd96P2NhYERoaKvLz80VlZaU4evSo+Oyzz3qx67a6OkddXZ3N+1BVVSU8PT3F6tWr7doXQ1PCD37wA/Hss8/abBs7dqxISUlpt37lypVi7NixNtsWLVokpkyZ0mM9yujqHN8VHh7eb0LzTua4JSgoSKxZs8berXWJPeb48Y9/LJ5++ml7t9Yl3Z0jPj5evPDCC2L16tX9IjS7Oset0DSbzb3QnbyuzvHRRx8JRVHE119/3RvtSbvT34+cnByh0WjE+fPn7doXP57txK1LkEVHR9ts7+gSZEeOHGlTP3PmTBw7dgzXrl3rsV470p05+iN7zHHjxg00NDTA09OzJ1qUYo85ysrKcPjwYYSHh/dEi1K6O8fbb7+NL7/8EqtXr+7pFqXcyfsxadIk+Pr6IjIyEp9++mlPttmp7syxf/9+TJ48GevXr8d9992HBx98ECtWrEBTU1NvtNwue/x+7Ny5E1FRUXb/YzcD+i8C9YbuXILMZDK1W3/9+nV89dVX8PX17bF+b6c7c/RH9phj48aN+OabbxAXF9cTLUq5kzlGjhyJ2tpaXL9+HWlpaXjmmWd6stUOdWeOL774AikpKTh06BAcHfvHf4K6M4evry+2b9+OkJAQWK1W7NmzB5GRkTh48CAef/zx3mi7je7Mce7cORQWFmLw4MHIycnBV199hcTERFy9erXPvte809/z6upqfPTRR9i7d6/de+sf/2IHgK5cgux29e1t721dnaO/6u4c7733HtLS0vDBBx/A29u7p9qT1p05Dh06hMbGRhQVFSElJQUPPPAAfvnLX/Zkm52SnaOlpQUJCQlYs2YNHnzwwd5qT1pX3o/AwEAEBgaq98PCwlBVVYUNGzb0WWje0pU5bty4AY1Gg6ysLPUqH5s2bcLPfvYzvP7663Bxcenxfm+nu7/nu3btwtChQzF79my798TQ7ER3LkGm0+narXd0dISXl1eP9dqR7szRH93JHO+//z7mz5+P//7v/0ZUVFRPttmpO5nD398fADBhwgRcuXIFaWlpfRaaXZ2joaEBx44dQ1lZGRYvXgzg5n+0hRBwdHREXl4efvjDH/ZK799lr9+PKVOm4N1337V3e9K6M4evry/uu+8+m8tijRs3DkIIXLp0CQEBAT3ac3vu5P0QQuCtt96CwWCAs7Oz3Xvjd5qd6M4lyMLCwtrU5+XlYfLkyXBycuqxXjtyt1xKrbtzvPfee5g3bx727t2LJ554oqfb7JS93g8hBKxWq73bk9bVOTw8PPD555+jvLxcvT377LMIDAxEeXk5QkNDe6t1G/Z6P8rKyvrk65dbujPHtGnTcPnyZTQ2Nqrbzp49i0GDBmHkyJE92u/t3Mn7UVBQgH/84x+YP39+zzRn18OK7lK3Dn3euXOnOHXqlDAajcLNzU09KislJUUYDAa1/tYpJ0uXLhWnTp0SO3fu7FennMjOIYQQZWVloqysTISEhIiEhARRVlYmTp482Rftq7o6x969e4Wjo6N4/fXXbQ5Jr6ur66sRhBBdnyMzM1Ps379fnD17Vpw9e1a89dZbwsPDQzz//PN9NYIQonv/rr6rvxw929U5Nm/eLHJycsTZs2fFiRMnREpKigAg9u3b11cjCCG6PkdDQ4MYOXKk+NnPfiZOnjwpCgoKREBAgHjmmWf6agQhRPf/XT399NMiNDS0x/piaEp6/fXXxejRo4Wzs7N4+OGHRUFBgfrY3LlzRXh4uE39wYMHxaRJk4Szs7MYM2aM2Lp1ay933L6uzgGgzW306NG923Q7ujJHeHh4u3PMnTu39xtvpStzbNmyRYwfP164uroKDw8PMWnSJPHGG2+IlpaWPujcVlf/XX1XfwlNIbo2x7p168T3vvc9MXjwYDFs2DDx6KOPij/96U990HVbXX0/KioqRFRUlHBxcREjR44Uy5YtE99++20vd91WV+eoq6sTLi4uYvv27T3WEy8NRkREJInfaRIREUliaBIREUliaBIREUliaBIREUliaBIREUliaBIREUliaBIREUliaBIREUliaBL1U+fPn4dGo0F5eXmvvebOnTvbXMNwIPrwww8xadIk3Lhxo69bobsMQ5NIwrx586DRaKDRaODo6IhRo0bh3//932E2m23qxowZo9a5uLhgzJgxiIuLwyeffGJT114gNjQ0ICIiAmPHjkVVVRX8/PxQXV2N4OBgAMDBgweh0WhQV1fXYa+3nrv1LTc3t8P9rFYrXnrpJbz44ovyP5heotFo8Mc//lG6PiYmBhqNpkeup0j3NoYmkaRZs2ahuroa58+fx+9+9zv8z//8DxITE9vUrV27FtXV1Thz5gzeeecdDB06FFFRUXj55Zdv+9y1tbWYPn06GhsbUVhYCD8/Pzg4OECn03X7Qs1/+ctfUF1drd46u+TWvn37MGTIEDz22GPder3+5l//9V/x2muv9XUbdJdhaBJJ0mq10Ol0GDlyJKKjoxEfH4+8vLw2de7u7tDpdBg1ahQef/xxbN++HS+++CJeeuklnDlzpk19VVUVHnvsMbi7u+PTTz/F8OHDAdiuRs+fP4/p06cDAIYNGwaNRoN58+Z12K+Xlxd0Op166+zagtnZ2YiNjW2z/a233sL48eOh1Wrh6+urXgcTAC5evIinnnoKQ4YMgYeHB+Li4nDlyhX18Xnz5rW5ELDRaERERIR6PyIiAsnJyVi5ciU8PT2h0+mQlpamPj5mzBgAwI9//GNoNBr1/t/+9jdMnz4d7u7u8PDwQEhICI4dO6buFxsbi+LiYpw7d67DuYm6gqFJ1A3nzp1Dbm6u9PVRlyxZAiEEPvjgA5vtZ86cwbRp0zB27Fjk5ubC3d293f39/Pywb98+dZ/q6mr89re/7fA1Y2Nj4e3tjWnTpuH3v/99pz0eOnQIkydPttm2detWPPfcc1i4cCE+//xz7N+/Hw888ACAm9fynD17Nq5evYqCggLk5+fjyy+/RHx8fKev1dru3bvh5uaGo0ePYv369Vi7dq16LcWSkhIAwNtvv43q6mr1/pw5czBy5EiUlJSgtLQUKSkpNu/H6NGj4e3tjUOHDnW5H6Lb6d7nPkT3oA8//BBDhgxBS0sL/vnPfwIANm3aJLWvp6cnvL29cf78eZvtv/rVrzB16lTs27cPDg4Ot93fwcEBnp6eAABvb28MHTr0trVDhgzBpk2bMG3aNAwaNAj79+9HfHw8du/ejaeffrrdferq6lBXVwe9Xm+z/Te/+Q2WL1+OJUuWqNseeeQRADc//v373/+OyspK+Pn5AQD27NmD8ePHo6SkRK2TMXHiRKxevRoAEBAQgMzMTHz88ceYMWMGRowYAQAYOnQodDqdus/Fixfx61//GmPHjlX3a+2+++5r8zMnuhNcaRJJmj59OsrLy3H06FEkJSVh5syZSEpKkt5fCAGNRmOz7amnnkJhYaG6irSH4cOHY+nSpfjBD36AyZMnY+3atUhMTMT69etvu09TUxMAYPDgweq2mpoaXL58GZGRke3uU1FRAT8/PzUwASAoKAhDhw5FRUVFl3qeOHGizX1fX1/U1NR0uM+yZcvwzDPPICoqCv/1X/+FL7/8sk2Ni4sLvv322y71QtQRhiaRJDc3NzzwwAOYOHEitmzZAqvVijVr1kjt+/XXX6O2thb+/v422//jP/4Dq1evxpw5c/D+++/3RNsAgClTpuCLL7647eNeXl7QaDQ2RwO7uLh0+Jzt/U9A6+2DBg1C60v2Xrt2rc0+rT/m1mg0nZ4ukpaWhpMnT+KJJ57AJ598gqCgIOTk5NjUXL16VV2pEtkDQ5Oom1avXo0NGzbg8uXLndb+9re/xaBBg9ocFAMAL7zwAv7zP/8Tc+bMwXvvvXfb57h1IE9LS0uXey0rK4Ovr2+Hzx0UFIRTp06p29zd3TFmzBh8/PHH7e4TFBSEixcvoqqqSt126tQpWCwWjBs3DgAwYsQIVFdX2+zXnfNOnZyc2p37wQcfxNKlS5GXl4ef/OQnePvtt9XH/vnPf+LLL7/EpEmTuvx6RLfD0CTqpoiICIwfPx7p6ek22xsaGmAymVBVVYW//vWvWLhwIX7zm9/g5ZdfVg+iaS0lJQUZGRkwGAzIyspqt2b06NHQaDT48MMPUVtbi8bGxnbrdu/ejb1796KiogJnzpzBhg0bsGXLlk4/Sp45cyYKCwtttqWlpWHjxo3YsmULvvjiCxw/flw9jSMqKgoTJ07EnDlzcPz4cRQXF+NXv/oVwsPD1QOKfvjDH+LYsWN455138MUXX2D16tU4ceJEh32051Z4m0wmmM1mNDU1YfHixTh48CAuXLiAzz77DCUlJWpYA0BRURG0Wi3CwsK6/HpEtyWIqFNz584VTz31VJvtWVlZwtnZWVy8eFEIIcTo0aMFAAFAODs7i1GjRom4uDjxySef2OxXWVkpAIiysjKb7Rs3bhQODg7inXfeabdm7dq1QqfTCY1GI+bOndtur7t27RLjxo0Trq6uwt3dXYSEhIg9e/Z0OmNFRYVwcXERdXV1NtvffPNNERgYKJycnISvr69ISkpSH7tw4YKIjY0Vbm5uwt3dXfz85z8XJpPJZv+XXnpJ+Pj4CEVRxNKlS8XixYtFeHi4+nh4eLhYsmSJzT5PPfWUzXz79+8XDzzwgHB0dBSjR48WVqtV/OIXvxB+fn7C2dlZ6PV6sXjxYtHU1KTus3DhQrFo0aJO5ybqCo0Qrb5wIKJ7VlxcHCZNmoTU1NS+buWO1NbWYuzYsTh27Fib75GJ7gQ/niUi1SuvvIIhQ4b0dRt3rLKyEm+88QYDk+yOK00iIiJJXGkSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJYmgSERFJ+j8KrYTOBoX8JgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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du1a0dzc3GX9drTnO3VHaArRsZ6XL18uHnvsMdG7d2/h6uoqnnrqKfHll18+sP0KIURpaamIjo4WDg4OwtvbW8yZM0fcuHHjge65pqZGODg4iA0bNnRpny062u+aNWtEQECAcHBwEP379xcTJkwQFy9e7PT789FgRERECvE7TSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE2iHu7cuXNQqVQoLi7usvfctGmT2XMNJ02adM+nXURFRUGv13f6PY8fPw5vb29cv3690/sgul8MTSILmjRpElQqFVQqFWxtbTFgwAD86U9/gsFgMKt79NFH5ToHBwc8+uijSEhIwDfffGNW11Yg1tXVISoqCoMHD0Z5eTl8fHxQUVGBwMBAAMC3334LlUqFmpqadntt2fedS05OTrvbmUwmvPHGG3j99deVfzAAdu7ciTfffNPsM3jnnXcUbx8UFIQnn3wSq1ev7tD7ElkSQ5PIwsaOHYuKigqcO3cOH3zwAf7nf/4HM2bMaFW3bNkyVFRU4PTp0/j444/Rt29fREdH46233rrrvqurqzFq1CjU19ejoKAAPj4+sLGxgUaj6fTDor/++mtUVFTIy70e+7Vjxw706dMHTz/9dIfex83NDc7Ozp3qscUf//hHrFu3Ds3Nzfe1H6LOYmgSWZharYZGo4G3tzdiYmKQmJiI3NzcVnXOzs7QaDQYMGAAnnnmGWzYsAGvv/463njjDZw+fbpVfXl5OZ5++mk4Oztj79698PDwAGA+Gz137hxGjRoFAHB1dYVKpcKkSZPa7dfd3R0ajUZe7vV8xKysLMTHx7e5bunSpfD09ISLiwumTZuGxsZGed0vT89GRUXh/PnzePnll+UZLgCcP38e48aNg6urK5ycnDB06FDs3r1b3kdsbCyuXr2K/Pz8dnskshaGJpEVnT17Fjk5OYqfpTp79mwIIfD555+bjZ8+fRoREREYPHgwcnJy7jpj8/HxwY4dO+RtKioq8O6777b7nvHx8fD09ERERAQ+++yze/a4f/9+hISEtBr/29/+htLSUuzduxfbt29HdnY2li5d2uY+du7cCW9vb3m2XVFRAQB46aWXYDKZsG/fPhw/fhzLly9Hnz595O3s7e0xfPhw7N+//559EllD587nENFdffHFF+jTpw+am5vx888/AwDS09MVbevm5gZPT0+cO3fObPzFF19EeHg4duzYIT9Ety02NjZwc3MDAHh6eqJv3753re3Tpw/S09MRERGBXr16YdeuXUhMTMSWLVvwwgsvtLlNTU0NampqoNVqW62zt7fHhx9+CEdHRwwdOhTLli3DK6+8gjfffLPVg4Dd3NxgY2Mjz7ZbXLhwAc899xyCgoIAAIMGDWr1Po888kirz4eoqzA0iSxs1KhRWLduHW7cuIEPPvgAZ86cwaxZsxRvL4SQT1e2+N3vfofs7Gzs2LEDCQkJFunTw8MDL7/8svw6JCQEBoMBK1asuGtoNjQ0AAB69+7dat3w4cPh6Ogovw4LC0N9fT3Ky8sxcOBART2lpKTgT3/6E3JzcxEdHY3nnnsOw4YNM6txcHDAjRs3FO2PyNJ4epbIwpycnPD4449j2LBhWLNmDUwm011PU97p6tWrqK6uhq+vr9n4f/3Xf2Hx4sWYMGECPv30U2u0DQAYOXIkfvjhh7uud3d3h0qlanU1cHvu/A9AeyZPnoyzZ89Cp9Ph+PHjCAkJwXvvvWdWc+3aNfTr10/xPoksiaFJZGWLFy/GqlWrcOnSpXvWvvvuu+jVq1eb9zy+9tprePPNNzFhwgRs3779rvtouZCnM1eYHjt2DP3792933wEBATh58mSrdX//+9/lmSgAFBYWok+fPvD29r7rvtrq0cfHB9OnT8fOnTsxd+5cbNy40Wx9SUkJRowYofSQiCyKoUlkZVFRURg6dChSU1PNxuvq6lBZWYny8nLs27cPU6dOxZ///Ge89dZbePzxx9vc18KFC5GWlgadTofMzMw2awYOHAiVSoUvvvgC1dXVqK+vb7Nuy5Yt2LZtG0pLS3H69GmsWrUKa9asueep5NjYWBQUFLQab2xsRHJyMk6ePIk9e/Zg8eLFmDlzZqvvM1s8+uij2LdvH3766SdcuXIFAKDX6/HVV1+hrKwMR48exTfffIMhQ4bI25w7dw4//fQToqOj2+2RyGoEEVnMxIkTxe9+97tW45mZmcLe3l5cuHBBCCHEwIEDBQABQNjb24sBAwaIhIQE8c0335htV1ZWJgCIY8eOmY2//fbbwsbGRnz88cdt1ixbtkxoNBqhUqnExIkT2+x18+bNYsiQIcLR0VE4OzuL4OBgsXXr1nseY2lpqXBwcBA1NTWtjvuNN94Q7u7uok+fPmLy5Mni559/lmsiIyPF7Nmz5dcHDx4Uw4YNE2q1WrT8UzRz5kzx2GOPCbVaLfr16yd0Op24cuWKvE1qaqqIjY29Z49E1qISQohuTW0i6nESEhIwYsQILFq0qMve02Qywc/PD9u3b0dERESXvS/RL/H0LBF12MqVK83un+wK58+fx6uvvsrApG7FmSYREZFCnGkSEREpxNAkIiJSiKFJRESkEEOTiIhIIYYmERGRQgxNIiIihRiaRERECjE0iYiIFGJoEhERKfT/ACrj5AoMwfseAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetRDKitFPGenerator(maxPath=5)\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"RDKit 5 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"RDKit 5 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.06525573192239859\n", "0.8 0.08085106382978724\n", "0.9 0.10695825049701789\n", "0.95 0.13349296617779108\n", "0.99 0.2012158054711246\n", "0.7 0.32704918032786884\n", "0.8 0.3560295324036095\n", "0.9 0.39775413711583923\n", "0.95 0.4330800701344243\n", "0.99 0.5104972375690607\n" ] }, { "data": { "image/png": "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LVxcXMT//u//9vLMb8ze3iorK0VycrL46KOPxK9+9SuxaNGi3p2wHeztbdGiReLNN98Uhw8fFqdOnRIZGRnCxcVFHDt2rJdnfmP29nbs2DGxefNmUVJSIiorK8XGjRtF//79xapVq3p55srY299lDQ0N4u677xaRkZFi7NixvTNZO9nb2549ewQAUV5eLkwmk7z99NNPvTzzG+vK3y0uLk6EhoaK/Px8UVlZKQ4dOiS++uqrXpy1fRiaCvzmN78Rzz77rM3YyJEjxeLFizutf+GFF8TIkSNtxp555hkRFhbWY3PsKnt7u9KkSZNu6tDsTm+XBQYGiqVLlzp6at3miN4eeeQR8fvf/97RU3OIrvY3a9Ys8ac//UksWbLkpg1Ne3u7HJr19fW9MLvusbe3f/7zn0KSJHH+/PnemJ5D8OXZG7j8FWSRkZE249f7CrKDBw92qI+KisLRo0fR1tbWY3O1V1d6u1U4ordLly6hqakJ3t7ePTHFLnNEb8ePH8eBAwcwadKknphit3S1v3Xr1uH06dNYsmRJT0+xy7rztwsODoZOp8PUqVOxZ8+enpxml3Sltx07dmD8+PF46623cNddd2HEiBFIT09HS0tLb0y5S27pTwTqDV35CjKz2dxp/U8//YTvv/8eOp2ux+Zrj670dqtwRG8rVqzAxYsXER8f3xNT7LLu9DZ48GDU1dXhp59+QmZmJp5++umenGqXdKW/iooKLF68GPv374ez8837P2td6U2n0+GDDz5ASEgIrFYrNm7ciKlTp2Lv3r144IEHemPainSlt2+//RYFBQXo168ftm3bhu+//x7z58/HhQsXbtrrmjfvv66bjD1fQXat+s7Gbwb29nYr6WpvH3/8MTIzM/Hpp59Co9H01PS6pSu97d+/H83NzSgsLMTixYtx77334sknn+zJaXaZ0v7a29uRkJCApUuXYsSIEb01vW6x528XEBCAgIAA+XF4eDiqq6uxfPnymyo0L7Ont0uXLkGlUiEnJ0f+hpG3334bjz32GN599124ubn1+HztxdC8ga58BZlWq+203tnZGQMHDuyxudqrK73dKrrT25YtWzB37lz84x//QERERE9Os0u609uwYcMAAGPGjEFNTQ0yMzNvutC0t7+mpiYcPXoUx48fx4IFCwD8/D/GQgg4OzsjLy8PDz74YK/M/UYc9d9cWFgY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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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vghkA+dYAj89XNsTlVHvV5pvvfWWWrdurUaNGqlr167avHlzXUcCANym6nVpfvDBB0pKStLUqVO1Z88ePfLII/r5z3+uEydO1HU0AMBtyGGMMXUd4npiYmL04IMPauHChda29u3b6/HHH1dqauoNH1tYWCin0ym3263g4OAq5eDtWQA1jbd5a0519kG9/UyzpKREu3btUnJyssf2fv36acuWLeXmi4uLVVxcbP3tdrslff9iVT3MxarvAwBuwDFySV1HsLhfHVzXEapVWQ9Uxxqx3pbmuXPnVFpaqvDwcI/t4eHhysvLKzefmpqqmTNnltseFRVVYxkB4KfIuWRkXUeoEUVFRXI6nVXaR70tzTIOh8Pjb2NMuW2SNGXKFD3zzDPW31evXtU333yj0NDQCudvprCwUFFRUcrJyanycr623arZyV27yF27btXc0q2bvSz3iRMn5HA4FBERUeV91tvSbN68uXx8fMqtKs+cOVNu9SlJ/v7+8vf399jWtGnTKucIDg6+pf4h+bFbNTu5axe5a9etmlu6dbM7nc5qy11vvz3r5+enrl27auPGjR7bN27cqB49etRRKgDA7azerjQl6ZlnnlFiYqK6deum2NhYLV68WCdOnNDo0aPrOhoA4DZUr0tz8ODBOn/+vGbNmqXc3Fx16tRJ69evV6tWrWr82P7+/po+fXq5t3xvBbdqdnLXLnLXrls1t3TrZq+J3PX6PE0AAOqTevuZJgAA9Q2lCQCATZQmAAA2UZoAANh0W5emt5cdy8zMVNeuXdWoUSO1adNGf/rTn2opqSdvcufm5iohIUFt27ZVgwYNlJSUVHtBK+BN9jVr1qhv375q0aKFgoODFRsbq08//bQW0/7Am9xZWVnq2bOnQkNDFRAQoHbt2mnevHm1mPYHlb203pdffilfX1898MADNRvwOrzJ/fnnn8vhcJS7ffXVV7WY+Hvevt7FxcWaOnWqWrVqJX9/f919991atmxZLaX9gTe5hw0bVuHr3bFjx1pM/ANvX/P09HTdf//9CgwMVMuWLfWHP/xB58+ft39Ac5tavXq1adiwoVmyZIk5cOCAmTBhgmncuLE5fvx4hfNHjhwxgYGBZsKECebAgQNmyZIlpmHDhubPf/5zvc599OhRM378ePPuu++aBx54wEyYMKFW8/6Yt9knTJhgZs+ebXbs2GEOHz5s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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetRDKitFPGenerator(maxPath=7)\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"RDKit 7 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"RDKit 7 (bits)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## linear" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.19827586206896552\n", "0.8 0.22613065326633167\n", "0.9 0.2673913043478261\n", "0.95 0.3072100313479624\n", "0.99 0.3875739644970414\n", "0.7 0.20640569395017794\n", "0.8 0.23367697594501718\n", "0.9 0.27647058823529413\n", "0.95 0.3177257525083612\n", "0.99 0.40512820512820513\n" ] }, { "data": { "image/png": "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KOLj42t1hqmIiIirXCrEm266ifT0dKZNm8Zzzz1Hx44deemllxg+/N+nu0+dOpXTp08zduxYCgsLiYqKYt26dfj7+1sz8+fPx8PDg6FDh3L69GkGDhzIsmXLcHd3t2ZWrFjBxIkTrbNRExISSEtLu9jjFRERqZJL30O8lOh7iFcefQ9RRKrSIN9DFBERuVypEEVERFAhioiIACpEERERQIUoIiICqBBFREQAFaKIiAigQhQREQFUiCIiIoAKUUREBFAhioiIACpEERERQIUoIiICqBBFREQAFaKIiAigQhQREQFUiCIiIoAKUUREBFAhioiIAODR1AFE6ott/IqLfg6TNrwekojIpUgrRBEREVSIIiIigApRREQEUCGKiIgAKkQRERFAhSgiIgKoEEVERAAVooiICKBCFBERAVSIIiIigApRREQEUCGKiIgAKkQRERFAhSgiIgKoEEVERAAVooiICKBCFBERAVSIIiIiwEUW4uzZs7HZbCQnJ1vbjDHMnDmT0NBQfHx8GDBgAPv27XPar7S0lAkTJtC6dWv8/PxISEjgyJEjTjOFhYUkJSVht9ux2+0kJSVRVFR0MXFFRESqVedC3LlzJ4sWLeKGG25w2j537lzmzZtHWloaO3fuJCQkhEGDBnHy5ElrJjk5mfT0dFavXs2mTZsoKSkhPj6esrIyayYxMZHs7GwyMjLIyMggOzubpKSkusYVERGpUZ0KsaSkhOHDh7N48WJatmxpbTfG8NJLL/HMM89w33330b17d958801OnTrFypUrAXA4HCxZsoQXX3yR2NhYevfuzVtvvcWePXv45JNPAMjJySEjI4O//OUvREdHEx0dzeLFi/nHP/7BwYMH6+GwRUREnNWpEMeNG8ddd91FbGys0/bc3FwKCgqIi4uztnl7exMTE8OWLVsAyMrK4uzZs04zoaGhdO/e3ZrZunUrdrudqKgoa6Zv377Y7XZr5nylpaUUFxc73URERGrLw9UdVq9ezVdffcXOnTsrPVZQUABAcHCw0/bg4GC+//57a8bLy8tpZVkxU7F/QUEBQUFBlZ4/KCjImjnf7NmzmTVrlquHIyIiAri4QszLy2PSpEm89dZbtGjRoto5m83mdN8YU2nb+c6fqWq+pueZNm0aDofDuuXl5dX4eiIiIr/nUiFmZWVx/PhxIiMj8fDwwMPDg8zMTF5+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+42Pj485dOhQtfukp6cbd3d3U15ebm07ePCgAcz69eur3OdPf/qTiYiIcNrn1VdfNVdddZV1Gazzf67GGNOzZ08zY8YM6/6Fftaff/65AUxhYaE1k5WVZQDren1VcTgcBjAbNmyodkYuX1ohymXlhhtusP7bz88Pf39/jh8/DkBWVhaff/45V111lXXr3LkzgPWx6LfffktiYiKdOnUiICCAjh07AvDDDz84vc75q6LqPPXUU2RnZ5OZmcntt9/OM888U+srupv/v3Kx2WzWNh8fHwYNGsTixYvJycmp1fPURt++fXn44Yfp2bMnt956K++88w7XX389r7zySrX7nD59Gm9vb6d82dnZuLu7ExMTU+U+OTk5REdHO+3Tv39/SkpKOHLkiEuZa/pZV6Vnz54MHDiQHj168OCDD7J48WIKCwudZnx8fAA4deqUS1nk8qBClMvK+R9H2mw26+PO8vJy7r77brKzs51u33zzDbfddhsAd999Nz///DOLFy9m+/btbN++HYAzZ844Pa+fn1+t8rRu3ZrrrruO6Oho3nvvPebPn88nn3xSq30rCq+ilAHc3d35+9//TmRkJLfffjv79++v1XO5ys3NjZtuuqnSma6/17p1a06dOuX03lQUSnWMMU5lWLEN/l38bm5uTh9jQtUnLtX0s66Ku7s769ev56OPPqJr16688sorREREOJ1VWvHxeps2bWo8Drk8qRDlinHjjTeyb98+OnTowHXXXed08/Pz4+effyYnJ4fp06czcOBAunTpUmkFcTFatmzJhAkTmDJlSqW/8M9XXl7Oyy+/TMeOHendu7fTY97e3rz//vvcfPPN3H777ezdu7fa5/Hy8qrypJwLMcaQnZ1N27Ztq52p+DrH70u5R48elJeXk5mZWeU+Xbt2ZcuWLU7Hv2XLFvz9/bnmmmuA38ooPz/fery4uNjlr0J4eXkBVDp2m81G//79mTVrFrt27cLLy4v09HTr8b179+Lp6Um3bt1cej25PKgQ5Yoxbtw4fvnlFx566CF27NjB4cOHWbduHY899hhlZWW0bNmSwMBAFi1axD//+U8+++wzJk+eXO8ZDh48aJ30UeHnn3+moKCAw4cPs2bNGmJjY9mxY4fTGaS/5+XlxXvvvUe/fv2444472LNnT5Wv16FDB3Jzc8nOzuann36itLS0yrlZs2bx8ccfc/jwYbKzsxkxYgTZ2dmMGTOm2mNp06YNN954I5s2bXJ6vUceeYTHHnuMv//97+Tm5rJhwwbeeecdAMaOHUteXh4TJkzgwIEDfPDBB8yYMYPJkyfj5vbbX0d33HEHy5cvZ+PGjezdu5dHHnmkyvegJu3bt8dms/GPf/yDEydOUFJSwvbt20lNTeXLL7/khx9+4P333+fEiRN06dLF2m/jxo3ceuutF1zpyuVJhShXjNDQUDZv3kxZWRmDBw+me/fuTJo0CbvdjpubG25ubqxevZqsrCy6d+/OE088UeNZnHXRpk0bkpKSmDlzptPHe7GxsbRt25YePXqQkpJCly5d2L17t/X1gap4enryzjvvcNttt3HHHXewe/fuSjP3338/d955J7fffjtt2rSp9isFRUVFjBo1ii5duhAXF8ePP/7IF198wc0331zj8YwaNYoVK1Y4bVuwYAEPPPAAY8eOpXPnzowcOdL6asM111zD2rVr2bFjBz179mTMmDGMGDGC6dOnW/tPmzaN2267jfj4eIYMGcI999zDtddeW2OO811zzTXMmjWLlJQUgoODGT9+PAEBAXzxxRcMGTKE66+/nunTp/Piiy/yxz/+0dpv1apVjBw50qXXksuHzVzosxsRkWr861//IiIigtWrVxMdHd3UcS7Khx9+yFNPPcXu3bvx8PBo6jjSBLRCFJE6a9GiBX/961+d/nGDS9Wvv/7K0qVLVYZXMK0QRURE0ApRREQEUCGKiIgAKkQRERFAhSgiIgKoEEVERAAVooiICKBCFBERAVSIIiIigApRREQEgP8HrJ/3t+LH69gAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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vqceAfTY58SJE5Gamori4mIEBgZi69at8r4ffvgB58+f7/b5EF2MoUnUT08//TTOnDmDxx9/HGVlZTh69Cjy8/Pxpz/9CR0dHXBzc4OHhwc2btyI77//Hl988QUWL15s8R6OHDmC7du3m20/ffo06uvrcfToUezYsQMREREoKyszuzP2Yg4ODti+fTtCQ0Nx//3349tvv+3xfKNGjUJNTQ30ej1+/vlnmEymHutWrFiBTz/9FEePHoVer0d8fDz0ej3mzZt32WsZPnw47rzzzh6fldyzZw9WrVqF6upqvP766/jggw+waNGiHsfx9PSEo6OjfGOW0WhETU0NUlNTUVJSgmPHjiE/Px/V1dUICAiQj9u9ezdGjx6NW2655bI9EjE0ifpJq9Viz5496OjoQFRUFAIDA7Fo0SJIkgQbGxvY2NggJycHFRUVCAwMxDPPPNPr3an9MXz4cOh0OqSlpZndkRsREQFvb2+MHz8ey5cvR0BAAA4cOIBp06Zddix7e3u8//77uO+++3D//ffjwIED3WoeffRRzJgxA9OmTcPw4cOxbdu2HsdqbGxEYmIiAgICEBkZiZ9++glfffUV7r777l6vJzExEdnZ2d22L1myBBUVFZg4cSL+93//F6+88spl7zK2s7PDunXrsGHDBmi1Wvz2t7+Fk5MTDh8+jEcffRS33XYbEhMTsWDBAsydO1c+btu2bUhISOi1PyKVuNL3OkRE18j58+fh7++PnJycbjf/WFNlZSXCw8NRXV0NSZKu2Xnp+sOZJhENGkOGDME777xj9gMR18KJEyfwzjvvMDDpijjTJCIiUogzTSIiIoUYmkRERAoxNImIiBRiaBIRESnE0CQiIlKIoUlERKQQQ5OIiEghhiYREZFCDE0iIiKF/g//jmBAlraocQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetRDKitFPGenerator(maxPath=5,branchedPaths=False)\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"linear RDKit 5 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"linear RDKit 5 (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.12305516265912306\n", "0.8 0.14457831325301204\n", "0.9 0.17861975642760486\n", "0.95 0.21080368906455862\n", "0.99 0.28660826032540676\n", "0.7 0.18908629441624367\n", "0.8 0.20855614973262032\n", "0.9 0.24014778325123154\n", "0.95 0.26991150442477874\n", "0.99 0.3379174852652259\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetRDKitFPGenerator(maxPath=7,branchedPaths=False)\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"linear RDKit 7 (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"linear RDKit 7 (bits)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Atom pairs and torsions" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.1825242718446602\n", "0.8 0.20576923076923076\n", "0.9 0.23832923832923833\n", "0.95 0.2661290322580645\n", "0.99 0.3203252032520325\n", "0.7 0.2848101265822785\n", "0.8 0.3097713097713098\n", "0.9 0.3438077634011091\n", "0.95 0.37092731829573933\n", "0.99 0.41869158878504675\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAErCAYAAABATfNIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAl5klEQVR4nO3de3TNd77/8WfkJtFkl5BsqSCmaYhomZgSusqMCD1Sbc0pMyHljOvULS5HWbqWsE6TYaZYMynFcenFbeYcZpwZTTlFSoMoYkJSelRdOolbYwfNSSQ+vz/68z3dQmTHTkK8HmvtP/b3+/5+9/udbfqaz759PYwxBhERkUdco/puQERE5EGgQBQREUGBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREcDFQCwvL+fNN98kPDwcPz8/2rVrx7x587h586ZVY4whJSWF0NBQ/Pz86N27N8eOHXM6T2lpKRMnTqR58+Y0adKEgQMHcu7cOaeaoqIikpKSsNls2Gw2kpKSuHLlSs0nFRERqYJLgTh//nzeffdd0tPTyc/PZ8GCBfz2t7/lD3/4g1WzYMECFi5cSHp6OgcOHMBut9O3b1+uXr1q1SQnJ7N582Y2bNjAnj17uHbtGgkJCVRUVFg1iYmJ5OTkkJGRQUZGBjk5OSQlJblhZBERkTswLhgwYID51a9+5bRt0KBBZtiwYcYYY27evGnsdrv5zW9+Y+3/3//9X2Oz2cy7775rjDHmypUrxtvb22zYsMGq+eabb0yjRo1MRkaGMcaYvLw8A5h9+/ZZNXv37jWA+eKLL1xpWUREpFq8XAnP5557jnfffZcTJ07w1FNPceTIEfbs2cPixYsBOHXqFIWFhcTHx1vH+Pr60qtXL7Kyshg7diwHDx7kxo0bTjWhoaFER0eTlZVFv3792Lt3LzabjW7dulk13bt3x2azkZWVRWRkZKXeSktLKS0tte7fvHmTb7/9lqCgIDw8PFwZU0REGhBjDFevXiU0NJRGje7+wqhLgfjGG2/gcDho3749np6eVFRU8NZbb/HLX/4SgMLCQgBCQkKcjgsJCeH06dNWjY+PD02bNq1Uc+v4wsJCgoODKz1+cHCwVXO7tLQ05s6d68o4IiLyCDl79iytWrW6636XAnHjxo18+OGHrFu3jo4dO5KTk0NycjKhoaEMHz7cqrt9RWaMuecq7faaO9VXdZ5Zs2YxdepU677D4aB169acPXuWwMDAas0nIiINT3FxMWFhYQQEBFRZ51Ig/uu//iszZ87kF7/4BQCdOnXi9OnTpKWlMXz4cOx2O/D9Cq9ly5bWcRcuXLBWjXa7nbKyMoqKipxWiRcuXKBHjx5Wzfnz5ys9/sWLFyutPm/x9fXF19e30vbAwEAFooiI3HNh5tKnTL/77rtKr796enpaX7sIDw/Hbrezfft2a39ZWRmZmZlW2MXExODt7e1UU1BQwNGjR62a2NhYHA4H2dnZVs3+/ftxOBxWjYiIiDu5tEJ88cUXeeutt2jdujUdO3bk8OHDLFy4kF/96lfA9+mbnJxMamoqERERREREkJqair+/P4mJiQDYbDZGjhzJtGnTCAoKolmzZkyfPp1OnToRFxcHQIcOHejfvz+jR49m2bJlAIwZM4aEhIQ7fqBGRETkvrnykdTi4mIzefJk07p1a9O4cWPTrl07M3v2bFNaWmrV3Lx508yZM8fY7Xbj6+trnn/+eZObm+t0npKSEjNhwgTTrFkz4+fnZxISEsyZM2ecai5fvmyGDh1qAgICTEBAgBk6dKgpKiqqdq8Oh8MAxuFwuDKiiIg0MNXNAw9jjKnvUK4NxcXF2Gw2HA6H3kMUEXmEVTcP9FumIiIiKBBFREQABaKIiAigQBQREQFc/NqFSG3wmLDWLecx6UPdch4ReTRphSgiIoICUUREBFAgioiIAApEERERQIEoIiICKBBFREQAfe1C7oO7vi4hIvIg0ApRREQEBaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQA8KrvBkTcxWPC2vs+h0kf6oZORORhpBWiiIgICkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgLot0wfWe743U8RkYZEK0QREREUiCIiIoACUUREBFAgioiIAApEERERoAaB+M033zBs2DCCgoLw9/enc+fOHDx40NpvjCElJYXQ0FD8/Pzo3bs3x44dczpHaWkpEydOpHnz5jRp0oSBAwdy7tw5p5qioiKSkpKw2WzYbDaS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gjyiTPrQ+m5BpF5VNw/u6z1Eh8MBQLNmzQA4deoUhYWFxMfHWzW+vr706tWLrKwsAA4ePMiNGzecakJDQ4mOjrZq9u7di81ms8IQoHv37thsNqvmdqWlpRQXFzvdREREqqvGgWiMYerUqTz33HNER0cDUFhYCEBISIhTbUhIiLWvsLAQHx8fmjZtWmVNcHBwpccMDg62am6XlpZmvd9os9kICwur6WgiIvIIqnEgTpgwgb///e+sX7++0j4PDw+n+8aYSttud3vNneqrOs+sWbNwOBzW7ezZs9UZQ0REBKhhIE6cOJEtW7awc+dOWrVqZW232+0AlVZxFy5csFaNdrudsrIyioqKqqw5f/58pce9ePFipdXnLb6+vgQGBjrdREREqsulQDTGMGHCBDZt2sSOHTsIDw932h8eHo7dbmf79u3WtrKyMjIzM+nRowcAMTExeHt7O9UUFBRw9OhRqyY2NhaHw0F2drZVs3//fhwOh1UjIiLiTl6uFI8fP55169bxl7/8hYCAAGslaLPZ8PPzw8PDg+TkZFJTU4mIiCAiIoLU1FT8/f1JTEy0akeOHMm0adMICgqiWbNmTJ8+nU6dOhEXFwdAhw4d6N+/P6NHj2bZsmUAjBkzhoSEhGp9wlRERMRVLgXi0qVLAejdu7fT9tWrVzNixAgAZsyYQUlJCa+//jpFRUV069aNbdu2ERAQYNUvWrQILy8vBg8eTElJCX369GHNmjV4enpaNWvXrmXSpEnWp1EHDhxIenp6TWYUERG5p/v6HuKDTN9DFPmevocoj7o6+R6iiIhIQ6FAFBERQYEoIiICKBBFREQABaKIiAigQBQREQFc/B7io0pfmRARafi0QhQREUGBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBdLULkQbPXVdrMelD3XIekQeVVogiIiIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQE0OWfRKSa3HEZKV1CSh5kWiGKiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigX6oRkTrkjl+7Af3ijdQOrRBF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mda+4cOHm169ejnV79q1y3Tp0sX4+PiYtm3bmqVLl9Zxx+7l6vxApVubNm3qtmk3cmX+Xr163XH+4cOH133jbuLK/L///e9Nx44djb+/vwkMDDRdunQxS5YsMRUVFfXQuXu4+u//hx72QDTGtfnnz59vfvSjH5nGjRubpk2bmueee8787W9/q4eua4cu/yQiIsIj/h6iiIjILQpEERERFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiyEPr66+/xsPDg5ycHLefe8eOHbRv356bN2+6/dx1KTc3l1atWnH9+vX6bkUeAgpEadCysrLw9PSkf//+lfalpKTQuXPnum/qB4/v4eGBh4cHnp6ehIWFMWrUKC5evFit48PCwigoKCA6Otrtvc2YMYPZs2fTqNGD9Z+Itm3bsnjx4mrXd+rUiWeffZZFixbVXlPSYDxY/9pF3GzVqlVMnDiRPXv2cObMmfpup5KOHTtSUFDAmTNnWLp0Kf/1X//Fa6+9Vq1jPT09sdvtd71QrTGG8vJyl3vKysriyy+/5NVXX3X52AfRv/zLv7B06VIqKirquxV5wCkQpcG6fv06f/zjH/n1r39NQkICa9assfatWbOGuXPncuTIEWuVdmv/mTNneOmll3jssccIDAxk8ODBnD9/3jr21spy1apVtG7dmscee4xf//rXVFRUsGDBAux2O8HBwbz11lv37NHLywu73c4TTzxBQkICkyZNYtu2bZSUlJCRkcFzzz3H448/TlBQEAkJCZw8edI69vaXTHft2oWHhwcff/wxXbt2xdfXl927d3PkyBF++tOfEhAQQGBgIDExMXz++ed37WnDhg3Ex8fTuHFjp+1btmyha9euNG7cmObNmzNo0CBrX1FREa+99hpNmzbF39+fF154gS+//LLS3+yHFi9eTNu2ba37I0aM4OWXX+Z3v/sdLVu2JCgoiPHjx3Pjxg0AevfuzenTp5kyZYr1nAGcPn2aF198kaZNm9KkSRM6duzI1q1brfP269ePy5cvk5mZec/nQx5tCkRpsDZu3Ghd4XvYsGGsXr2aW79lP2TIEKZNm2at0AoKChgyZAjGGF5++WW+/fZbMjMz2b59OydPnmTIkCFO5z558iQfffQRGRkZrF+/nlWrVjFgwADOnTtHZmYm8+fP580332Tfvn0u9ezn58fNmzcpLy/n+vXrTJ06lQMHDvDJJ5/QqFEjXnnllXu+rzdjxgzS0tLIz8/n6aefZujQobRq1YoDBw5w8OBBZs6cWeW1Oz/99FO6du3qtO1vf/sbgwYNYsCAARw+fJhPPvnEqWbEiBF8/vnnbNmyhb1792KM4Z/+6Z+sMKuunTt3cvLkSXbu3Ml7773HmjVrrP+jsmnTJlq1asW8efOs5wxg/PjxlJaW8umnn5Kbm8v8+fN57LHHrHP6+PjwzDPPsHv3bpd6kUdQfV5qQ6Q29ejRwyxevNgYY8yNGzdM8+bNzfbt2639d7p0z7Zt24ynp6c5c+aMte3YsWMGMNnZ2dZx/v7+pri42Krp16+fadu2rdNlkCIjI01aWtpd+7v98fPz882TTz5pnn322TvWX7hwwQAmNzfXGGPMqVOnDGAOHz5sjDFm586dBjB//vOfnY4LCAgwa9asuWsft7PZbOb999932hYbG2uGDh16x/oTJ04YwHz22WfWtkuXLhk/Pz/zxz/+8Y6zGvP9tfV+eNmw4cOHmzZt2pjy8nJr26uvvmqGDBli3W/Tpo1ZtGiR03k6depkUlJSqpzplVdeMSNGjKiyRkQrRGmQjh8/TnZ2Nr/4xS+A71+aHDJkCKtWraryuPz8fMLCwggLC7O2RUVF8fjjj5Ofn29ta9u2LQEBAdb9kJAQoqKinD6EEhISwoULF6p8vNzcXB577DH8/PyIiooiLCyMtWvXAt+vQhMTE2nXrh2BgYGEh4cD3PO90NtXd1OnTmXUqFHExcXxm9/8xull1zspKSmp9HJpTk4Offr0uWN9fn4+Xl5eTleMDwoKIjIy0ulvVh0dO3bE09PTut+yZct7/g0nTZrEv/3bv9GzZ0/mzJnD3//+90o1fn5+fPfddy71Io8eBaI0SCtXrqS8vJwnnngCLy8vvLy8WLp0KZs2baKoqOiuxxljrPemqtp++0uOHh4ed9x2r5c3IyMjycnJIS8vj5KSEnbs2MGTTz4JwIsvvsjly5dZsWIF+/fvZ//+/QCUlZVVec4mTZo43U9JSeHYsWMMGDCAHTt2EBUVxebNm+96fPPmzSv9jfz8/O5ab+5ySdUf/s0aNWpUqe5OL6fW5G84atQovvrqK5KSksjNzaVr16784Q9/cKr59ttvadGiRZXnEVEgSoNTXl7O+++/z9tvv01OTo51O3LkCG3atLFWYD4+PpU+eRgVFcWZM2c4e/astS0vLw+Hw0GHDh3c3quPjw9PPvkk4eHh+Pr6WtsvX75Mfn4+b775Jn369KFDhw5VBvm9PPXUU0yZMoVt27YxaNAgVq9efdfaLl26kJeX57Tt6aef5pNPPrljfVRUFOXl5VZg3+r/xIkT1t+sRYsWFBYWOoViTb4/eafnDL7/Csq4cePYtGkT06ZNY8WKFU77jx49SpcuXVx+PHm0KBClwfnrX/9KUVERI0eOJDo62un2z//8z6xcuRL4/mXPU6dOkZOTw6VLlygtLSUuLs76IMqhQ4fIzs7mtddeo1evXpVeiqxNTZs2JSgoiOXLl/M///M/7Nixg6lTp7p8npKSEiZMmMCuXbs4ffo0n332GQcOHKgy3Pv168eePXucts2ZM4f169czZ84c8vPzyc3NZcGCBQBERETw0ksvMXr0aPbs2cORI0cYNmwYTzzxBC+99BLw/SdEL168yIIFCzh58iTvvPMOH330kcvztG3blk8//ZRvvvmGS5cuAZCcnMzHH3/MqVOnOHToEDt27HCa7+uvv+abb74hLi7O5ceTR4sCURqclStXEhcXh81mq7Tv5z//OTk5ORw6dIif//zn9O/fn5/+9Ke0aNGC9evX4+HhwZ///GeaNm3K888/T1xcHO3atWPjxo11OkOjRo3YsGEDBw8eJDo6milTpvDb3/7W5fN4enpy+fJlXnvtNZ566ikGDx7MCy+8wNy5c+96zLBhw8jLy+P48ePWtt69e/OnP/2JLVu20LlzZ372s585rQhXr15NTEwMCQkJxMbGYoxh69at1kugHTp0YMmSJbzzzjs888wzZGdnM336dJfnmTdvHl9//TU/+tGPrJdAKyoqGD9+PB06dKB///5ERkayZMkS65j169cTHx9PmzZtXH48ebR4mLu9ASAij6wZM2bgcDhYtmxZfbdyX0pLS4mIiGD9+vX07NmzvtuRB5xWiCJSyezZs2nTps1D/+sup0+fZvbs2QpDqRatEEVERNAKUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBID/BzCqDNkcnshHAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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8tiwYQP5+fnYbDbcbjc5OTnEx8cTHx9PTk4O4eHhZGVlAWAYBuPHj2f69OlERUXRvXt3ZsyYQf/+/UlLSwOgX79+jBw5kgkTJrB48WLgxG0XGRkZLb7CVERExF9+BeKBAwdwuVxUVlZiGAbXXHMN+fn5DB8+HICZM2dSV1fH5MmT8Xg8pKSksH79euseRICFCxcSHBzM6NGjqaurY9iwYaxcudK6BxFgzZo1TJ061boaNTMzk9zc3ED0KyIi0qQ234d4vtJ9iO1P9yGKv3QfopwL7X4fooiIyMVEgSgiIoICUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBPAzEOfOncv1119PREQEMTEx3H777ezevdunxjRNsrOzcTgchIWFMXToUHbu3OlTU19fz5QpU+jRowddu3YlMzOTffv2+dR4PB5cLheGYWAYBi6Xi0OHDrWuSxERkTPwKxALCwt55JFHKCoqoqCggKNHj5Kens6PP/5o1cyfP58FCxaQm5tLcXExdrud4cOHU1tba9W43W7Wrl1LXl4emzZt4vDhw2RkZHDs2DGrJisri9LSUvLz88nPz6e0tBSXyxWAlkVERBqzmaZptnbngwcPEhMTQ2FhITfffDOmaeJwOHC73TzxxBPAidlgbGws8+bNY9KkSXi9XqKjo1m1ahVjxowBYP/+/TidTtatW8eIESMoLy8nMTGRoqIiUlJSACgqKiI1NZVdu3aRkJBwxrHV1NRgGAZer5fIyMjWtijNsD265lwPQS4wZu7Ycz0E6YBamgdtOofo9XoB6N69OwAVFRVUVVWRnp5u1YSGhjJkyBA2b94MQElJCUeOHPGpcTgcJCUlWTVbtmzBMAwrDAEGDRqEYRhWzanq6+upqanxWURERFqq1YFomibTpk3jpptuIikpCYCqqioAYmNjfWpjY2OtbVVVVYSEhNCtW7dma2JiYhq9Z0xMjFVzqrlz51rnGw3DwOl0trY1ERHpgFodiI8++ih//etfefXVVxtts9lsPq9N02y07lSn1jRV39xxZs+ejdfrtZa9e/e2pA0RERGglYE4ZcoU3nrrLT788EN69eplrbfb7QCNZnHV1dXWrNFut9PQ0IDH42m25sCBA43e9+DBg41mnyeFhoYSGRnps4iIiLSUX4FomiaPPvoor7/+Oh988AFxcXE+2+Pi4rDb7RQUFFjrGhoaKCwsZPDgwQAkJyfTuXNnn5rKykp27Nhh1aSmpuL1etm2bZtVs3XrVrxer1UjIiISSMH+FD/yyCO88sorvPnmm0RERFgzQcMwCAsLw2az4Xa7ycnJIT4+nvj4eHJycggPDycrK8uqHT9+PNOnTycqKoru3bszY8YM+vfvT1paGgD9+vVj5MiRTJgwgcWLFwMwceJEMjIyWnSFqYicnwJ1ZbKuVpX24FcgLlq0CIChQ4f6rF+xYgX3338/ADNnzqSuro7Jkyfj8XhISUlh/fr1REREWPULFy4kODiY0aNHU1dXx7Bhw1i5ciVBQUFWzZo1a5g6dap1NWpmZia5ubmt6VGaoFsmRER8tek+xPOZ7kNsngJRLmSaIYo/zsp9iCIiIhcLBaKIiAgKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREaAVgfiXv/yF2267DYfDgc1m44033vDZbpom2dnZOBwOwsLCGDp0KDt37vSpqa+vZ8qUKfTo0YOuXbuSmZnJvn37fGo8Hg8ulwvDMDAMA5fLxaFDh/xuUEREpCX8DsQff/yRa6+9ltzc3Ca3z58/nwULFpCbm0txcTF2u53hw4dTW1tr1bjdbtauXUteXh6bNm3i8OHDZGRkcOzYMasmKyuL0tJS8vPzyc/Pp7S0FJfL1YoWRUREzsxmmqbZ6p1tNtauXcvtt98OnJgdOhwO3G43TzzxBHBiNhgbG8u8efOYNGkSXq+X6OhoVq1axZgxYwDYv38/TqeTdevWMWLECMrLy0lMTKSoqIiUlBQAioqKSE1NZdeuXSQkJJxxbDU1NRiGgdfrJTIysrUtXrRsj64510MQaTUzd+y5HoJcQFqaBwE9h1hRUUFVVRXp6enWutDQUIYMGcLmzZsBKCkp4ciRIz41DoeDpKQkq2bLli0YhmGFIcCgQYMwDMOqOVV9fT01NTU+i4iISEsFNBCrqqoAiI2N9VkfGxtrbauqqiIkJIRu3bo1WxMTE9Po+DExMVbNqebOnWudbzQMA6fT2eZ+RESk42iXq0xtNpvPa9M0G6071ak1TdU3d5zZs2fj9XqtZe/eva0YuYiIdFTBgTyY3W4HTszwevbsaa2vrq62Zo12u52GhgY8Ho/PLLG6uprBgwdbNQcOHGh0/IMHDzaafZ4UGhpKaGhowHo5X+ncn4hI+wjoDDEuLg673U5BQYG1rqGhgcLCQivskpOT6dy5s09NZWUlO3bssGpSU1Pxer1s27bNqtm6dSter9eqERERCSS/Z4iHDx/myy+/tF5XVFRQWlpK9+7d6d27N263m5ycHOLj44mPjycnJ4fw8HCysrIAMAyD8ePHM336dKKioujevTszZsygf//+pKWlAdCvXz9GjhzJhAkTWLx4MQATJ04kIyOjRVeYioiI+MvvQPz444+55ZZbrNfTpk0DYNy4caxcuZKZM2dSV1fH5MmT8Xg8pKSksH79eiIiIqx9Fi5cSHBwMKNHj6auro5hw4axcuVKgoKCrJo1a9YwdepU62rUzMzM0977KCIdSyBOHejWDTlVm+5DPJ9drPch6hyiSGAoEDuOc3IfooiIyIVKgSgiIoICUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIkCAH/8kp6evXBMROb9phigiIoICUUREBFAgioiIAApEERERQBfViEgHFagL3fRcxYuHZogiIiIoEEVERAAFooiICKBziC2im+pFRC5+5/0M8cUXXyQuLo4uXbqQnJzMxo0bz/WQRETkInRezxBfe+013G43L774IjfeeCOLFy9m1KhRlJWV0bt373M9PBERXa16ETmvZ4gLFixg/PjxPPjgg/Tr14/nnnsOp9PJokWLzvXQRETkInPezhAbGhooKSlh1qxZPuvT09PZvHlzo/r6+nrq6+ut116vF4CampoADOanth9DRKQZtolLz/UQLN5/G3OuhxBQJ3PANM1m687bQPzuu+84duwYsbGxPutjY2OpqqpqVD937lyefvrpRuudTme7jVFE5GJkLJ14rofQLmprazEM47Tbz9tAPMlms/m8Nk2z0TqA2bNnM23aNOv18ePH+eGHH4iKimqyvqVqampwOp3s3buXyMjIVh/nfNdR+oSO06v6vPh0lF4D3adpmtTW1uJwOJqtO28DsUePHgQFBTWaDVZXVzeaNQKEhoYSGhrq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dfztE2i09OnT5+wOuhX86XPIkCFN9jlu3LizP/BW8KfXP/zhD+bVV19thoeHm5GRkeaAAQPMF1980Tx27Ng5GLl//P23+3MXSiCapn99zps3z/zFL35hdunSxezWrZt50003mX/605/Owahbx9/faXl5uZmWlmaGhYWZvXr1MqdNm2b+9NNPAR2THv8kIiJCBz+HKCIicpICUUREBAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKHLR++abb7DZbJSWlgb82B988AFXXXUVx48fByA7O5vrrruu2X3uv/9+br/99la/Z3V1NdHR0fztb39r9TFEmqJAFAE2b95MUFAQI0eObLStJX/k21N2djY2mw2bzUZQUBBOp5MHH3yQgwcPtmh/p9NJZWUlSUlJAR/bzJkzmTNnDp06tfxPyfPPP8/KlSut10OHDsXtdrd4/5iYGFwu1wXz8F+5cCgQRYDly5czZcoUNm3axJ49e871cBq5+uqrqaysZM+ePSxatIi3336b++67r0X7BgUFYbfbT/uwXNM0OXr0qN9j2rx5M1988QV33323X/sZhsGll17q9/v93D/+4z+yZs0aPB5Pm44j8nMKROnwfvzxR/74xz/y8MMPk5GR4TN7WblyJU8//TSffvqpNUs7uX3Pnj386le/4pJLLiEyMpLRo0dz4MABa9+TM8vly5fTu3dvLrnkEh5++GGOHTvG/PnzsdvtxMTE8K//+q9nHGNwcDB2u53LLruMjIwMpk6dyvr166mrqyM/P5+bbrqJSy+9lKioKDIyMvjqq6+sfU/9yHTDhg3YbDbee+89Bg4cSGhoKBs3buTTTz/llltuISIigsjISJKTk/n4449PO6a8vDzS09Pp0qVLo22LFy/G6XQSHh7O3XffzaFDh6xtP//I9P7776ewsJDnn3/e+vl+8803eDwexo4dS3R0NGFhYcTHx7NixQrrGP3798dut7N27doz/uxEWkqBKB3ea6+9Zj19/N5772XFihWc/M77MWPGMH36dGuGVllZyZgxYzBNk9tvv50ffviBwsJCCgoK+OqrrxgzZozPsb/66iveffdd8vPzefXVV1m+fDm33nor+/bto7CwkHnz5vHkk09SVFTk15jDwsI4fvw4R48e5ccff2TatGkUFxfz5z//mU6dOvHrX//aOq93OjNn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetAtomPairGenerator()\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Atom Pairs (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Atom Pairs (bits)\")\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.10344827586206896\n", "0.8 0.125\n", "0.9 0.15789473684210525\n", "0.95 0.18811881188118812\n", "0.99 0.2564102564102564\n", "0.7 0.13114754098360656\n", "0.8 0.15217391304347827\n", "0.9 0.18478260869565216\n", "0.95 0.21428571428571427\n", "0.99 0.27941176470588236\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdUAAAEmCAYAAAA0vwpAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAt8ElEQVR4nO3df1RUdf4/8OcoMPyImRCEcRINCxHD0sVCMNNC0ZKotdINY3UztTV/oJI/1n5oHWG10rYlTV03y1/46dNSnk1Jt4xERZGYDERoi/yRIJrjAMoBxdf3D7/cTyOIDLwByefjnDmnufd1732/GPPpe+69XJ2ICIiIiKjZOrT1AIiIiH4rGKpERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIk5tPYC2dPnyZZw8eRKenp7Q6XRtPRwiImojIoLy8nKYzWZ06ND0+eZNHaonT56Ev79/Ww+DiIhuEMePH0fXrl2bvP1NHaqenp4ArvwQDQZDG4+GiIjaSllZGfz9/bVcaKqbOlRrv/I1GAwMVSIiavapQF6oREREpAhDlYiISBGGKhERkSIMVSIiIkUYqkRERIowVImIiBRhqBIRESnCUCUiIlLkpv7lDyrppm5s9j4keayCkRARUVvhTJWIiEgRhioREZEiDFUiIiJFGKpERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSIMVSIiIkUYqkRERIowVImIiBRxOFS//vprPProozCbzdDpdPjkk0/s1osIFi5cCLPZDDc3NwwZMgR5eXl2NVVVVZg2bRp8fHzg4eGBmJgYnDhxwq7GarUiLi4ORqMRRqMRcXFxOHfunF3NsWPH8Oijj8LDwwM+Pj6YPn06qqurHW2JiIhICYdD9fz587jnnnuQnJxc7/qlS5di2bJlSE5ORlZWFkwmE4YNG4by8nKtJj4+HqmpqUhJSUFGRgYqKioQHR2NmpoarSY2NhYWiwVpaWlIS0uDxWJBXFyctr6mpgYjR47E+fPnkZGRgZSUFHz88ceYPXu2oy0REREpoRMRafLGOh1SU1Px+OOPA7gySzWbzYiPj8fcuXMBXJmV+vn5YcmSJZg8eTJsNhs6d+6M9evXY8yYMQCAkydPwt/fH9u2bcPw4cORn5+P3r17IzMzE2FhYQCAzMxMhIeH48iRIwgKCsL27dsRHR2N48ePw2w2AwBSUlIwfvx4lJaWwmAwXHf8ZWVlMBqNsNlsjapv8GcxdWOztgcASR7b7H0QEZHjVOWB0nOqRUVFKCkpQVRUlLZMr9dj8ODB2Lt3LwAgOzsbFy9etKsxm80ICQnRavbt2wej0agFKgAMGDAARqPRriYkJEQLVAAYPnw4qqqqkJ2dXe/4qqqqUFZWZvciIiJSRWmolpSUAAD8/Pzslvv5+WnrSkpK4OLiAi8vrwZrfH196+zf19fXrubq43h5ecHFxUWruVpSUpJ2jtZoNMLf378JXRIREdWvRa7+1el0du9FpM6yq11dU199U2p+bf78+bDZbNrr+PHjDY6JiIjIEUpD1WQyAUCdmWJpaak2qzSZTKiurobVam2w5tSpU3X2f/r0abuaq49jtVpx8eLFOjPYWnq9HgaDwe5FRESkitJQDQgIgMlkws6dO7Vl1dXVSE9PR0REBAAgNDQUzs7OdjXFxcXIzc3VasLDw2Gz2XDgwAGtZv/+/bDZbHY1ubm5KC4u1mp27NgBvV6P0NBQlW0RERE1ipOjG1RUVOC///2v9r6oqAgWiwWdOnVCt27dEB8fj8TERAQGBiIwMBCJiYlwd3dHbGwsAMBoNGLChAmYPXs2vL290alTJyQkJKBPnz4YOnQoACA4OBgjRozAxIkTsWrVKgDApEmTEB0djaCgIABAVFQUevfujbi4OLzxxhs4e/YsEhISMHHiRM5AiYioTTgcqgcPHsSDDz6ovZ81axYAYNy4cVi3bh3mzJmDyspKTJkyBVarFWFhYdixYwc8PT21bZYvXw4nJyeMHj0alZWViIyMxLp169CxY0etZuPGjZg+fbp2lXBMTIzdvbEdO3bEZ599hilTpmDgwIFwc3NDbGws3nzzTcd/CkRERAo06z7V9u63ep+qirEAvG+WiG4eN+R9qkRERDczhioREZEiDFUiIiJFGKpERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFHH40W/UclQ9XYaIiNoGZ6pERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBHloXrp0iW89NJLCAgIgJubG3r06IHXXnsNly9f1mpEBAsXLoTZbIabmxuGDBmCvLw8u/1UVVVh2rRp8PHxgYeHB2JiYnDixAm7GqvViri4OBiNRhiNRsTFxeHcuXOqWyIiImoU5aG6ZMkSvPfee0hOTkZ+fj6WLl2KN954A3//+9+1mqVLl2LZsmVITk5GVlYWTCYThg0bhvLycq0mPj4eqampSElJQUZGBioqKhAdHY2amhqtJjY2FhaLBWlpaUhLS4PFYkFcXJzqloiIiBpFJyKicofR0dHw8/PD2rVrtWVPPPEE3N3dsX79eogIzGYz4uPjMXfuXABXZqV+fn5YsmQJJk+eDJvNhs6dO2P9+vUYM2YMAODkyZPw9/fHtm3bMHz4cOTn56N3797IzMxEWFgYACAzMxPh4eE4cuQIgoKCrjvWsrIyGI1G2Gw2GAyGZvX9W3zAuCSPbeshEBG1ClV5oHymev/99+OLL75AYWEhAODbb79FRkYGHnnkEQBAUVERSkpKEBUVpW2j1+sxePBg7N27FwCQnZ2Nixcv2tWYzWaEhIRoNfv27YPRaNQCFQAGDBgAo9Go1VytqqoKZWVldi8iIiJVnFTvcO7cubDZbOjVqxc6duyImpoaLF68GE8//TQAoKSkBADg5+dnt52fnx+OHj2q1bi4uMDLy6tOTe32JSUl8PX1rXN8X19freZqSUlJWLRoUfMaJCIiugblobplyxZs2LABmzZtwl133QWLxYL4+HiYzWaMGzdOq9PpdHbbiUidZVe7uqa++ob2M3/+fMyaNUt7X1ZWBn9//0b1dTNS8ZU2v0ImopuJ8lB98cUXMW/ePPzhD38AAPTp0wdHjx5FUlISxo0bB5PJBODKTLNLly7adqWlpdrs1WQyobq6Glar1W62WlpaioiICK3m1KlTdY5/+vTpOrPgWnq9Hnq9Xk2jREREV1F+TvXChQvo0MF+tx07dtRuqQkICIDJZMLOnTu19dXV1UhPT9cCMzQ0FM7OznY1xcXFyM3N1WrCw8Nhs9lw4MABrWb//v2w2WxaDRERUWtSPlN99NFHsXjxYnTr1g133XUXcnJysGzZMjz77LMArnxlGx8fj8TERAQGBiIwMBCJiYlwd3dHbGwsAMBoNGLChAmYPXs2vL290alTJyQkJKBPnz4YOnQoACA4OBgjRozAxIkTsWrVKgDApEmTEB0d3agrf4mIiFRTHqp///vf8fLLL2PKlCkoLS2F2WzG5MmT8corr2g1c+bMQWVlJaZMmQKr1YqwsDDs2LEDnp6eWs3y5cvh5OSE0aNHo7KyEpGRkVi3bh06duyo1WzcuBHTp0/XrhKOiYlBcnKy6paIiIgaRfl9qu0J71NtebxQiYjagxv2PlUiIqKbFUOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSIMVSIiIkUYqkRERIowVImIiBRhqBIRESnCUCUiIlKEoUpERKQIQ5WIiEgRhioREZEiDFUiIiJFGKpERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIi0Sqj///DOeeeYZeHt7w93dHX379kV2dra2XkSwcOFCmM1muLm5YciQIcjLy7PbR1VVFaZNmwYfHx94eHggJiYGJ06csKuxWq2Ii4uD0WiE0WhEXFwczp071xItERERXZfyULVarRg4cCCcnZ2xfft2HD58GG+99RZuvfVWrWbp0qVYtmwZkpOTkZWVBZPJhGHDhqG8vFyriY+PR2pqKlJSUpCRkYGKigpER0ejpqZGq4mNjYXFYkFaWhrS0tJgsVgQFxenuiUiIqJG0YmIqNzhvHnzsGfPHuzevbve9SICs9mM+Ph4zJ07F8CVWamfnx+WLFmCyZMnw2azoXPnzli/fj3GjBkDADh58iT8/f2xbds2DB8+HPn5+ejduzcyMzMRFhYGAMjMzER4eDiOHDmCoKCg6461rKwMRqMRNpsNBoOhWX3rpm5s1va/VZI8tq2HQER0XaryQPlMdevWrejfvz+eeuop+Pr6ol+/flizZo22vqioCCUlJYiKitKW6fV6DB48GHv37gUAZGdn4+LFi3Y1ZrMZISEhWs2+fftgNBq1QAWAAQMGwGg0ajVEREStSXmo/vjjj1i5ciUCAwPx+eef4/nnn8f06dPx4YcfAgBKSkoAAH5+fnbb+fn5aetKSkrg4uICLy+vBmt8fX3rHN/X11eruVpVVRXKysrsXkRERKo4qd7h5cuX0b9/fyQmJgIA+vXrh7y8PKxcuRJ//OMftTqdTme3nYjUWXa1q2vqq29oP0lJSVi0aFGjeyEiInKE8plqly5d0Lt3b7tlwcHBOHbsGADAZDIBQJ3ZZGlpqTZ7NZlMqK6uhtVqbbDm1KlTdY5/+vTpOrPgWvPnz4fNZtNex48fb0KHRERE9VMeqgMHDkRBQYHdssLCQnTv3h0AEBAQAJPJhJ07d2rrq6urkZ6ejoiICABAaGgonJ2d7WqKi4uRm5ur1YSHh8Nms+HAgQNazf79+2Gz2bSaq+n1ehgMBrsXERGRKsq//p05cyYiIiKQmJiI0aNH48CBA1i9ejVWr14N4MpXtvHx8UhMTERgYCACAwORmJgId3d3xMbGAgCMRiMmTJiA2bNnw9vbG506dUJCQgL69OmDoUOHArgy+x0xYgQmTpyIVatWAQAmTZqE6OjoRl35S0REpJryUL333nuRmpqK+fPn47XXXkNAQADefvttjB37f7dWzJkzB5WVlZgyZQqsVivCwsKwY8cOeHp6ajXLly+Hk5MTRo8ejcrKSkRGRmLdunXo2LGjVrNx40ZMnz5du0o4JiYGycnJqlsiIiJqFOX3qbYnvE+15fE+VSJqD27Y+1SJiIhuVgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSLKf00h0a+p+k1T/M1MRNQecKZKRESkCEOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSIMVSIiIkUYqkRERIowVImIiBRhqBIRESnCUCUiIlKEoUpERKQIQ5WIiEiRFg/VpKQk6HQ6xMfHa8tEBAsXLoTZbIabmxuGDBmCvLw8u+2qqqowbdo0+Pj4wMPDAzExMThx4oRdjdVqRVxcHIxGI4xGI+Li4nDu3LmWbomIiKheLRqqWVlZWL16Ne6++2675UuXLsWyZcuQnJyMrKwsmEwmDBs2DOXl5VpNfHw8UlNTkZKSgoyMDFRUVCA6Oho1NTVaTWxsLCwWC9LS0pCWlgaLxYK4uLiWbImIiOiaWixUKyoqMHbsWKxZswZeXl7achHB22+/jQULFmDUqFEICQnBBx98gAsXLmDTpk0AAJvNhrVr1+Ktt97C0KFD0a9fP2zYsAHfffcd/vOf/wAA8vPzkZaWhn/84x8IDw9HeHg41qxZg3//+98oKChoqbaIiIiuqcVC9YUXXsDIkSMxdOhQu+VFRUUoKSlBVFSUtkyv12Pw4MHYu3cvACA7OxsXL160qzGbzQgJCdFq9u3bB6PRiLCwMK1mwIABMBqNWs3VqqqqUFZWZvciIiJSxakldpqSkoJvvvkGWVlZddaVlJQAAPz8/OyW+/n54ejRo1qNi4uL3Qy3tqZ2+5KSEvj6+tbZv6+vr1ZztaSkJCxatMjxhoiIiBpB+Uz1+PHjmDFjBjZs2ABXV9dr1ul0Orv3IlJn2dWurqmvvqH9zJ8/HzabTXsdP368weMRERE5QnmoZmdno7S0FKGhoXBycoKTkxPS09PxzjvvwMnJSZuhXj2bLC0t1daZTCZUV1fDarU2WHPq1Kk6xz99+nSdWXAtvV4Pg8Fg9yIiIlJFeahGRkbiu+++g8Vi0V79+/fH2LFjYbFY0KNHD5hMJuzcuVPbprq6Gunp6YiIiAAAhIaGwtnZ2a6muLgYubm5Wk14eDhsNhsOHDig1ezfvx82m02rISIiak3Kz6l6enoiJCTEbpmHhwe8vb215fHx8UhMTERgYCACAwORmJgId3d3xMbGAgCMRiMmTJiA2bNnw9vbG506dUJCQgL69OmjXfgUHByMESNGYOLEiVi1ahUAYNKkSYiOjkZQUJDqtoiIiK6rRS5Uup45c+agsrISU6ZMgdVqRVhYGHbs2AFPT0+tZvny5XBycsLo0aNRWVmJyMhIrFu3Dh07dtRqNm7ciOnTp2tXCcfExCA5ObnV+yEiIgIAnYhIWw+irZSVlcFoNMJmszX7/Kpu6kZFo6L6SPLYth4CEf2GqcoD/u5fIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSJt8huViByl4pdr8BdIEFFL40yViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSIMVSIiIkUYqkRERIowVImIiBRhqBIRESnCUCUiIlKEoUpERKQIQ5WIiEgRhioREZEiDFUiIiJFlIdqUlIS7r33Xnh6esLX1xePP/44CgoK7GpEBAsXLoTZbIabmxuGDBmCvLw8u5qqqipMmzYNPj4+8PDwQExMDE6cOGFXY7VaERcXB6PRCKPRiLi4OJw7d051S0RERI2iPFTT09PxwgsvIDMzEzt37sSlS5cQFRWF8+fPazVLly7FsmXLkJycjKysLJhMJgwbNgzl5eVaTXx8PFJTU5GSkoKMjAxUVFQgOjoaNTU1Wk1sbCwsFgvS0tKQlpYGi8WCuLg41S0RERE1ik5EpCUPcPr0afj6+iI9PR0PPPAARARmsxnx8fGYO3cugCuzUj8/PyxZsgSTJ0+GzWZD586dsX79eowZMwYAcPLkSfj7+2Pbtm0YPnw48vPz0bt3b2RmZiIsLAwAkJmZifDwcBw5cgRBQUHXHVtZWRmMRiNsNhsMBkOz+tRN3dis7anlSfLYth4CEd2gVOVBi59TtdlsAIBOnToBAIqKilBSUoKoqCitRq/XY/Dgwdi7dy8AIDs7GxcvXrSrMZvNCAkJ0Wr27dsHo9GoBSoADBgwAEajUau5WlVVFcrKyuxeREREqrRoqIoIZs2ahfvvvx8hISEAgJKSEgCAn5+fXa2fn5+2rqSkBC4uLvDy8mqwxtfXt84xfX19tZqrJSUlaedfjUYj/P39m9cgERHRr7RoqE6dOhWHDh3C5s2b66zT6XR270WkzrKrXV1TX31D+5k/fz5sNpv2On78eGPaICIiapQWC9Vp06Zh69at2LVrF7p27aotN5lMAFBnNllaWqrNXk0mE6qrq2G1WhusOXXqVJ3jnj59us4suJZer4fBYLB7ERERqaI8VEUEU6dOxb/+9S98+eWXCAgIsFsfEBAAk8mEnTt3asuqq6uRnp6OiIgIAEBoaCicnZ3taoqLi5Gbm6vVhIeHw2az4cCBA1rN/v37YbPZtBoiIqLW5KR6hy+88AI2bdqETz/9FJ6entqM1Gg0ws3NDTqdDvHx8UhMTERgYCACAwORmJgId3d3xMbGarUTJkzA7Nmz4e3tjU6dOiEhIQF9+vTB0KFDAQDBwcEYMWIEJk6ciFWrVgEAJk2ahOjo6EZd+UtERKSa8lBduXIlAGDIkCF2y99//32MHz8eADBnzhxUVlZiypQpsFqtCAsLw44dO+Dp6anVL1++HE5OThg9ejQqKysRGRmJdevWoWPHjlrNxo0bMX36dO0q4ZiYGCQnJ6tuiX4jVN32xFtziOhaWvw+1RsZ71OlpmCoEv32tJv7VImIiG4WDFUiIiJFGKpERESKMFSJiIgUYagSEREpwlAlIiJShKFKRESkCEOViIhIEYYqERGRIgxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpIjyh5QT/dbxYedEdC2cqRIRESnCUCUiIlKEoUpERKQIQ5WIiEgRhioREZEiDFUiIiJFGKpERESK8D5Vojai4n5X3utKdGPhTJWIiEgRhioREZEiDFUiIiJFeE6VqB3j7yEmurG0+5nqihUrEBAQAFdXV4SGhmL37t1tPSQiIrpJteuZ6pYtWxAfH48VK1Zg4MCBWLVqFR5++GEcPnwY3bp1a+vhEbUbvBKZSI12PVNdtmwZJkyYgOeeew7BwcF4++234e/vj5UrV7b10IiI6CbUbmeq1dXVyM7Oxrx58+yWR0VFYe/evfVuU1VVhaqqKu29zWYDAJSVlSkY0IXm74OoHdNNWtPWQ7Bje3NMWw+B2pHaHBCRZu2n3YbqmTNnUFNTAz8/P7vlfn5+KCkpqXebpKQkLFq0qM5yf3//FhkjEbUd45pJbT0EaofKy8thNBqbvH27DdVaOp3O7r2I1FlWa/78+Zg1a5b2/vLlyzh79iy8vb2vuU1jlJWVwd/fH8ePH4fBYGjyftoT9syef6vY883Zs4igvLwcZrO5Wfttt6Hq4+ODjh071pmVlpaW1pm91tLr9dDr9XbLbr31VmVjMhgMN80fyFrs+ebAnm8ON3vPzZmh1mq3Fyq5uLggNDQUO3futFu+c+dOREREtNGoiIjoZtZuZ6oAMGvWLMTFxaF///4IDw/H6tWrcezYMTz//PNtPTQiIroJtetQHTNmDH755Re89tprKC4uRkhICLZt24bu3bu36jj0ej1effXVOl8t/5ax55sDe745sGd1dNLc64eJiIgIQDs+p0pERHSjYagSEREpwlAlIiJShKFKRESkCEO1kRx9xFx6ejpCQ0Ph6uqKHj164L333mulkarjSM/FxcWIjY1FUFAQOnTogPj4+NYbqEKO9Pyvf/0Lw4YNQ+fOnWEwGBAeHo7PP/+8FUerhiM9Z2RkYODAgfD29oabmxt69eqF5cuXt+Jo1WjqIyP37NkDJycn9O3bt2UH2AIc6fmrr76CTqer8zpy5Egrjrj5HP2cq6qqsGDBAnTv3h16vR533HEH/vnPfzp2UKHrSklJEWdnZ1mzZo0cPnxYZsyYIR4eHnL06NF663/88Udxd3eXGTNmyOHDh2XNmjXi7Ows//u//9vKI286R3suKiqS6dOnywcffCB9+/aVGTNmtO6AFXC05xkzZsiSJUvkwIEDUlhYKPPnzxdnZ2f55ptvWnnkTedoz998841s2rRJcnNzpaioSNavXy/u7u6yatWqVh550znac61z585Jjx49JCoqSu65557WGawijva8a9cuASAFBQVSXFysvS5dutTKI2+6pnzOMTExEhYWJjt37pSioiLZv3+/7Nmzx6HjMlQb4b777pPnn3/eblmvXr1k3rx59dbPmTNHevXqZbds8uTJMmDAgBYbo2qO9vxrgwcPbpeh2pyea/Xu3VsWLVqkemgtRkXPv//97+WZZ55RPbQW09Sex4wZIy+99JK8+uqr7S5UHe25NlStVmsrjK5lONrz9u3bxWg0yi+//NKs4/Lr3+uofcRcVFSU3fKGHjG3b9++OvXDhw/HwYMHcfHixRYbqypN6bm9U9Hz5cuXUV5ejk6dOrXEEJVT0XNOTg727t2LwYMHt8QQlWtqz++//z5++OEHvPrqqy09ROWa8zn369cPXbp0QWRkJHbt2tWSw1SqKT1v3boV/fv3x9KlS3HbbbehZ8+eSEhIQGVlpUPHbte/Uak1NOURcyUlJfXWX7p0CWfOnEGXLl1abLwqNKXn9k5Fz2+99RbOnz+P0aNHt8QQlWtOz127dsXp06dx6dIlLFy4EM8991xLDlWZpvT8/fffY968edi9ezecnNrfX5lN6blLly5YvXo1QkNDUVVVhfXr1yMyMhJfffUVHnjggdYYdrM0pecff/wRGRkZcHV1RWpqKs6cOYMpU6bg7NmzDp1XbX9/QtqII4+Yu1Z9fctvZI72/FvQ1J43b96MhQsX4tNPP4Wvr29LDa9FNKXn3bt3o6KiApmZmZg3bx7uvPNOPP300y05TKUa23NNTQ1iY2OxaNEi9OzZs7WG1yIc+ZyDgoIQFBSkvQ8PD8fx48fx5ptvtotQreVIz5cvX4ZOp8PGjRu1p9UsW7YMTz75JN599124ubk16pgM1etoyiPmTCZTvfVOTk7w9vZusbGq0pSe27vm9LxlyxZMmDABH330EYYOHdqSw1SqOT0HBAQAAPr06YNTp05h4cKF7SJUHe25vLwcBw8eRE5ODqZOnQrgyl++IgInJyfs2LEDDz30UKuMvalU/f88YMAAbNiwQfXwWkRTeu7SpQtuu+02u8e/BQcHQ0Rw4sQJBAYGNurYPKd6HU15xFx4eHid+h07dqB///5wdnZusbGqcjM+Vq+pPW/evBnjx4/Hpk2bMHLkyJYeplKqPmcRQVVVlerhtQhHezYYDPjuu+9gsVi01/PPP4+goCBYLBaEhYW11tCbTNXnnJOTc8OfuqrVlJ4HDhyIkydPoqKiQltWWFiIDh06oGvXro0/eLMuc7pJ1F6avXbtWjl8+LDEx8eLh4eH/PTTTyIiMm/ePImLi9Pqa2+pmTlzphw+fFjWrl3bbm+paWzPIiI5OTmSk5MjoaGhEhsbKzk5OZKXl9cWw28SR3vetGmTODk5ybvvvmt328G5c+faqgWHOdpzcnKybN26VQoLC6WwsFD++c9/isFgkAULFrRVCw5ryp/tX2uPV/862vPy5cslNTVVCgsLJTc3V+bNmycA5OOPP26rFhzmaM/l5eXStWtXefLJJyUvL0/S09MlMDBQnnvuOYeOy1BtpHfffVe6d+8uLi4u8rvf/U7S09O1dePGjZPBgwfb1X/11VfSr18/cXFxkdtvv11WrlzZyiNuPkd7BlDn1b1799YddDM50vPgwYPr7XncuHGtP/BmcKTnd955R+666y5xd3cXg8Eg/fr1kxUrVkhNTU0bjLzpHP2z/WvtMVRFHOt5yZIlcscdd4irq6t4eXnJ/fffL5999lkbjLp5HP2c8/PzZejQoeLm5iZdu3aVWbNmyYULFxw6Jh/9RkREpAjPqRIRESnCUCUiIlKEoUpERKQIQ5WIiEgRhioREZEiDFUiIiJFGKpERESKMFTppjV+/Hg8/vjjSve5bt063Hrrrcr299VXX0Gn0+HcuXPK9tkcqvtrql9++QW+vr746aef2noozVJVVYVu3bohOzu7rYdCijBUqU3odLoGX+PHj2/rITbJmDFjUFhY2CrHqg3chl7r1q1TeszW7K8hSUlJePTRR3H77be39VDsOPoPNb1ej4SEBMydO7flBkWtik+poTZRXFys/feWLVvwyiuvoKCgQFvW2Mcs3Wjc3NxabewRERF2P8cZM2agrKwM77//vrbs10/cuB4RQU1NTYPPDG3N/q6lsrISa9euxbZt29p0HKqMHTsWL774IvLz8xEcHNzWw6Fm4kyV2oTJZNJeRqMROp3ObtmmTZtwxx13wMXFBUFBQVi/fr3d9jqdDitXrsTDDz8MNzc3BAQE4KOPPrKr+e677/DQQw/Bzc0N3t7emDRpkt0TKK5WVVWF6dOnw9fXF66urrj//vuRlZVlV7N161YEBgbCzc0NDz74ID744AO7r2fr+3p069at6N+/P1xdXeHj44NRo0Zp6zZs2ID+/fvD09MTJpMJsbGxKC0tbdTP0MXFxe5n5ubmBr1er7338vLC3Llzr9lP7Uz3888/R//+/aHX67F79258++23ePDBB+Hp6QmDwYDQ0FAcPHjwmv2tXLnyup/VP/7xD/z+97+Hu7s7AgMDsXXrVm291WrF2LFj0blzZ7i5uSEwMNDuHwZX2759O5ycnBAeHm63PC8vDyNHjoTBYICnpycGDRqEH374AcCVx7W99tpr6Nq1K/R6Pfr27Yu0tLQ6P4tff81usVig0+m0r5hre//8888RHByMW265BSNGjND+YbNw4UJ88MEH+PTTT7VvCr766itUV1dj6tSp6NKlC1xdXXH77bcjKSlJO463tzciIiKwefPma/ZM7QdDlW44qampmDFjBmbPno3c3FxMnjwZf/rTn7Br1y67updffhlPPPEEvv32WzzzzDN4+umnkZ+fDwC4cOECRowYAS8vL2RlZeGjjz7Cf/7zH+2ZmPWZM2cOPv74Y3zwwQf45ptvcOedd2L48OE4e/YsAOCnn37Ck08+iccffxwWiwWTJ0/GggULGuzls88+w6hRozBy5Ejk5OTgiy++QP/+/bX11dXVeP311/Htt9/ik08+QVFRkbKvvq/Xz6/rkpKSkJ+fj7vvvhtjx45F165dkZWVhezsbMybN++ajyxs7Ge1aNEijB49GocOHcIjjzyCsWPHauN4+eWXcfjwYWzfvh35+flYuXIlfHx8rtnX119/bfczBICff/4ZDzzwAFxdXfHll18iOzsbzz77LC5dugQA+Nvf/oa33noLb775Jg4dOoThw4cjJiYG33//vUM/0wsXLuDNN9/E+vXr8fXXX+PYsWNISEgAACQkJGD06NFa0BYXFyMiIgLvvPMOtm7div/5n/9BQUEBNmzYUOdr6/vuuw+7d+92aCx0g2r2YwCImun9998Xo9GovY+IiJCJEyfa1Tz11FPyyCOPaO8ByPPPP29XExYWJn/+859FRGT16tXi5eUlFRUV2vrPPvtMOnToICUlJSJy5SkVjz32mIiIVFRUiLOzs2zcuFGrr66uFrPZLEuXLhURkblz50pISIjdMRcsWCAAxGq11ttLeHi4jB07ttE/iwMHDggAKS8vFxGRXbt22e2/IY72U7vvTz75xG4/np6esm7dunqP0dTP6qWXXtLeV1RUiE6nk+3bt4uIyKOPPip/+tOfrttfrccee0yeffZZu2Xz58+XgIAAqa6urncbs9ksixcvtlt27733ypQpU0Sk/p9zTk6OAJCioiIRudI7APnvf/+r1bz77rvi5+envf/1Z1Br2rRp8tBDD8nly5ev2dPf/vY3uf3226+5ntoPzlTphpOfn4+BAwfaLRs4cKA2C6119dd/4eHhWk1+fj7uueceeHh42O3j8uXLdudua/3www+4ePGi3XGdnZ1x3333afssKCjAvffea7fdfffd12AvFosFkZGR11yfk5ODxx57DN27d4enpyeGDBkCADh27FiD+72exvRT6+pZ36xZs/Dcc89h6NCh+Otf/6p9hVqfxn5Wd999t/bfHh4e8PT01L7m/vOf/4yUlBT07dsXc+bMwd69exvsrbKyEq6urnbLLBYLBg0aVO+MuqysDCdPnmzUOK/H3d0dd9xxh/a+S5cu1/26fvz48bBYLAgKCsL06dOxY8eOOjVubm64cOGCQ2OhGxNDlW5IOp3O7r2I1FnW0HYN1de3XP7/ExAbOm59+5TrPDmxoYt6zp8/j6ioKNxyyy3YsGEDsrKykJqaCuDK18LN0Zh+av36Hx7AlXODtecnv/zyS/Tu3VsbV30ac4yrw06n0+Hy5csAgIcffhhHjx5FfHw8Tp48icjISO0r1fr4+PjAarXaLWvMxVMNjbNDhw7asloXL16ss4/6+rjen4Hf/e53KCoqwuuvv47KykqMHj0aTz75pF3N2bNn0blz5+v2QDc+hirdcIKDg5GRkWG3bO/evXWujMzMzKzzvlevXgCA3r17w2Kx4Pz589r6PXv2oEOHDujZs2edY955551wcXGxO+7Fixdx8OBB7bi9evWqc+FS7QU813L33Xfjiy++qHfdkSNHcObMGfz1r3/FoEGD0KtXr0ZfpHQ9jemnIT179sTMmTOxY8cOjBo16poXDjX2s7qezp07Y/z48diwYQPefvttrF69+pq1/fr1w+HDh+2W3X333di9e3e9QWgwGGA2mxscZ22g/fpqaovF4lAPwJWLx2pqauodw5gxY7BmzRps2bIFH3/8sd257dzcXPTr18/h49ENqG2+dSb6P1efp0tNTRVnZ2dZuXKlFBYWyltvvSUdO3aUXbt2aTUAxMfHR9auXSsFBQXyyiuvSIcOHSQvL09ERM6fPy9dunSRJ554Qr777jv58ssvpUePHjJu3DhtH1ef/5oxY4aYzWbZvn275OXlybhx48TLy0vOnj0rIiI//vijODs7y5w5c6SgoEC2bNkiXbt2FQBy7ty5envZtWuXdOjQQV555RU5fPiwHDp0SJYsWSIiIqWlpeLi4iIvvvii/PDDD/Lpp59Kz549BYDk5ORo26MJ51Qb0099+75w4YK88MILsmvXLvnpp58kIyND7rjjDpkzZ06zPqvU1FS7sRqNRnn//fdFROTll1+WTz75RL7//nvJzc2V6Ohoue+++67Z56FDh8TJyUnrQ0TkzJkz4u3tLaNGjZKsrCwpLCyUDz/8UI4cOSIiIsuXLxeDwSApKSly5MgRmTt3rjg7O0thYaGIXDnf7O/vL0899ZQUFBTIv//9bwkKCqpzTvXXvdf2/+u/RhcvXizdunWTI0eOyOnTp6W6ulqWLVsmmzdvlvz8fCkoKJAJEyaIyWSSmpoabbvu3bvLhx9+eM2eqf1gqFKbq+8vqxUrVkiPHj3E2dlZevbsWecvHADy7rvvyrBhw0Sv10v37t1l8+bNdjWHDh2SBx98UFxdXaVTp04yceJE7QIgkbohVFlZKdOmTRMfHx/R6/UycOBAOXDggN0+P/30U7nzzjtFr9fLkCFDZOXKlQJAKisrr9nLxx9/LH379hUXFxfx8fGRUaNGaes2bdokt99+u+j1egkPD5etW7cqC9Xr9VPfvquqquQPf/iD+Pv7i4uLi5jNZpk6dWqD/TXms2ooVF9//XUJDg4WNzc36dSpkzz22GPy448/NtjrgAED5L333rNb9u2330pUVJS4u7uLp6enDBo0SH744QcREampqZFFixbJbbfdJs7OznLPPfdoF0rVysjIkD59+oirq6sMGjRIPvroI4dDtbS0VIYNGya33HKLAJBdu3bJ6tWrpW/fvuLh4SEGg0EiIyPlm2++0bbZu3ev3HrrrXLhwoUGe6b2QSdynRMCRDcgnU6H1NRU5b9m0FGLFy/Ge++9h+PHj7fpOG4227ZtQ0JCAnJzc7Xzoe3VU089hX79+uEvf/lLWw+FFOBvVCJywIoVK3DvvffC29sbe/bswRtvvNHgva/UMh555BF8//33+Pnnn+Hv79/Ww2myqqoq3HPPPZg5c2ZbD4UU4UyV2qW2mqnOnDkTW7ZswdmzZ9GtWzfExcVh/vz5Df5qPyK6eTBUiYiIFGnfJyOIiIhuIAxVIiIiRRiqREREijBUiYiIFGGoEhERKcJQJSIiUoShSkREpAhDlYiISBGGKhERkSL/D5fNbonYmVWnAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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AgYqERGRBAxUIiIiCRioREREEjBQiYiIJGCgEhERScBAJSIikoCBSkREJAEDlYiISAIGKhERkQQMVCIiIgkYqERERBIwUImIiCRgoBIREUnAQCUiIpLArqUHQNTWaGYlSdmPSJwkZT9E1DpwhkpERCQBA5WIiEgCBioREZEEDFQiIiIJGKhEREQSMFCJiIgkYKASERFJwEAlIiKSgIFKREQkAb8piaiFyPjGJX7bElHrwRkqERGRBAxUIiIiCdr8W75r1qzBe++9h8LCQvTq1QsffvghnnjiiZYeFlGz4Bf1E7UebXqGunPnTkRHR2Pp0qXIzs7GE088gaeffhoXL15s6aEREdEDRiOEEC09iIYKCgpCv379sHbtWnWZv78/xo8fj/j4+Dq3LykpgaIoMJvNcHFxadRYZM0UiNoqznKpLZORB232Ld+KigocP34cS5YssVoeGhqKQ4cO1biNxWKBxWJRn5vNZgC//SAbP6Cbjd8HURummbZByn7M70+Ush8iW1TlQGPmmG02UH/55RdUVlbCy8vLarmXlxeKiopq3CY+Ph7Lly+vttzb27tJxkhEtlM2TGvpIdADrLS0FIqiNGjbNhuoVTQajdVzIUS1ZVViYmIwb9489fmdO3dw7do1uLu733Ob+igpKYG3tzcKCgoa/dZxa8B+Wrf7rR/g/uuJ/bRuNfUjhEBpaSkMBkOD99tmA9XDwwPt27evNhstLi6uNmutotVqodVqrZY99NBD0sbk4uJyX/yyVWE/rdv91g9w//XEflq3u/tp6My0Sps9y9fBwQGBgYFIS0uzWp6WlobBgwe30KiIiOhB1WZnqAAwb948GI1G9O/fH8HBwVi/fj0uXryIGTNmtPTQiIjoAdOmA3XixIn49ddf8fbbb6OwsBABAQHYvXs3unbt2qzj0Gq1WLZsWbW3k9sq9tO63W/9APdfT+yndWuqftr0dahEREStRZv9DJWIiKg1YaASERFJwEAlIiKSgIFKREQkAQO1ntasWQMfHx906NABgYGBOHDgQK316enpCAwMRIcOHdCtWzd88sknzTTS+rGln8LCQkRGRsLPzw/t2rVDdHR08w20nmzp54svvsDIkSPRsWNHuLi4IDg4GN98800zjrZutvSTkZGBIUOGwN3dHTqdDj169MCqVauacbR1s/XvT5WDBw/Czs4Offr0adoB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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpg = rdFingerprintGenerator.GetTopologicalTorsionGenerator()\n", "\n", "fps = fpg.GetSparseCountFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetSparseCountFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Topological Torsions (counts)\")\n", "\n", "fps = fpg.GetFingerprints([x[1] for x in ms1],numThreads=8)\n", "fp2s = fpg.GetFingerprints([x[1] for x in ms2],numThreads=8)\n", "accumResults(fps,fp2s,\"Topological Torsions (bits)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Avalon" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.3074761101742552\n", "0.8 0.3394988066825776\n", "0.9 0.38517796196977083\n", "0.95 0.4236111111111111\n", "0.99 0.4988066825775656\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAEmCAYAAAD80+CWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAvy0lEQVR4nO3de3RU5b3/8ffIJCHBZAuBZBiJgDZGEEQMbZhYhCMQsMbo6anQBmfBkgIWBVNJudTzW0Z7mhQUUFeUAgdBuYhtNdXVYgRXNUIhgJG0cqeaKpSEoE4mQXMSCM/vDw77OCSETK5cPq+19lrOs7+z57tH5OOzL7MdxhiDiIjIFe6qjm5ARETkYqBAFBERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBABnRzfQVk6fPs3Ro0eJjIzE4XB0dDsiItJBjDFUVVXhdru56qrzzwMv20A8evQocXFxHd2GiIhcJA4fPkyvXr3Ou/6yDcTIyEjgzBcQFRXVwd2IiEhHqaysJC4uzs6F87lsA/HsYdKoqCgFooiIXPD0mS6qERERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAJfxjfly5XE8srbF2zC5E1qhExG5FGmGKCIiggJRREQE0CFTkQCtcdgVdOhV5FKkGaKIiAgKRBERESDIQOzTpw8Oh6Pe8vDDDwNnnkqclZWF2+0mPDycESNGsGfPnoBt1NTUMGPGDLp3706XLl1IS0vjyJEjATU+nw+v14tlWViWhdfrpaKiomV7KiIi0oigAnHnzp2Ulpbay6ZNmwC4//77AViwYAGLFi0iNzeXnTt34nK5GD16NFVVVfY2MjIyyMvLY/369WzZsoUTJ06QmppKXV2dXZOenk5xcTH5+fnk5+dTXFyM1+ttjf0VERFpkMMYY5r75oyMDP70pz9x6NAhANxuNxkZGcyZMwc4MxuMjY1l/vz5TJs2Db/fT48ePVi9ejXjx48H4OjRo8TFxbFhwwbGjBnDvn376N+/P4WFhSQlJQFQWFiIx+Nh//79JCQkNKm3yspKLMvC7/frAcFXiNa6IKY16KIakYtHU/Og2ecQa2trWbNmDQ8++CAOh4OSkhLKyspISUmxa8LCwhg+fDhbt24FoKioiJMnTwbUuN1uBgwYYNds27YNy7LsMAQYOnQolmXZNQ2pqamhsrIyYBEREWmqZgfiH//4RyoqKpg0aRIAZWVlAMTGxgbUxcbG2uvKysoIDQ2la9eujdbExMTU+7yYmBi7piE5OTn2OUfLsoiLi2vuromIyBWo2YG4YsUK7rrrLtxud8C4w+EIeG2MqTd2rnNrGqq/0HbmzZuH3++3l8OHDzdlN0RERIBmBuJnn33Gu+++y09/+lN7zOVyAdSbxZWXl9uzRpfLRW1tLT6fr9GaY8eO1fvM48eP15t9fltYWBhRUVEBi4iISFM1KxBXrlxJTEwMd999tz3Wt29fXC6XfeUpnDnPWFBQQHJyMgCJiYmEhIQE1JSWlrJ79267xuPx4Pf72bFjh12zfft2/H6/XSMiItLagv7pttOnT7Ny5UomTpyI0/l/b3c4HGRkZJCdnU18fDzx8fFkZ2cTERFBeno6AJZlMXnyZGbNmkV0dDTdunUjMzOTgQMHMmrUKAD69evH2LFjmTJlCkuXLgVg6tSppKamNvkKUxERkWAFHYjvvvsun3/+OQ8++GC9dbNnz6a6uprp06fj8/lISkpi48aNREZG2jWLFy/G6XQybtw4qqurGTlyJKtWraJTp052zdq1a5k5c6Z9NWpaWhq5ubnN2T8REZEmadF9iBcz3Yd45dF9iCLSkDa/D1FERORyokAUERFBgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIiQDNuzBdpbRfT/YMicuXSDFFERAQFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERAZoRiP/617944IEHiI6OJiIigltvvZWioiJ7vTGGrKws3G434eHhjBgxgj179gRso6amhhkzZtC9e3e6dOlCWloaR44cCajx+Xx4vV4sy8KyLLxeLxUVFc3bSxERkQsIKhB9Ph+33347ISEhvP322+zdu5eFCxdyzTXX2DULFixg0aJF5ObmsnPnTlwuF6NHj6aqqsquycjIIC8vj/Xr17NlyxZOnDhBamoqdXV1dk16ejrFxcXk5+eTn59PcXExXq+35XssIiLSAIcxxjS1eO7cufz1r39l8+bNDa43xuB2u8nIyGDOnDnAmdlgbGws8+fPZ9q0afj9fnr06MHq1asZP348AEePHiUuLo4NGzYwZswY9u3bR//+/SksLCQp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tW9Q7x3hUu0bLr3eG5sZnnXRXmUaGhpKYmIimzZtChjftGkTycnJHdSViIhcri7aGSLAY489htfrZciQIXg8HpYtW8bnn3/OQw891NGtiYjIZeaiDsTx48fz5Zdf8tRTT1FaWsqAAQPYsGEDvXv3bvPPDgsL44knnqh3GPZSoN7b36XaN6j3jnCp9g2Xdu8XclHfhygiItJeLtpziCIiIu1JgSgiIoICUUREBFAgioiIAFd4IL744ov07duXzp07k5iYyObNmxutLygoIDExkc6dO3P99dfz29/+tp06rS+Y3ktLS0lPTychIYGrrrqKjIyM9mv0HMH0/cYbbzB69Gh69OhBVFQUHo+Hd955px27DRRM71u2bOH2228nOjqa8PBwbrrpJhYvXtyO3QYK9s/6WX/9619xOp3ceuutbdvgeQTT9/vvv4/D4ai37N+/vx07/j/Bfuc1NTU8/vjj9O7dm7CwMG644QZeeumlduo2UDC9T5o0qcHv/eabb27HjluJuUKtX7/ehISEmOXLl5u9e/eaRx991HTp0sV89tlnDdZ/+umnJiIiwjz66KNm7969Zvny5SYkJMT84Q9/aOfOg++9pKTEzJw507z88svm1ltvNY8++mj7Nvy/gu370UcfNfPnzzc7duwwBw8eNPPmzTMhISHmo48+aufOg+/9o48+MuvWrTO7d+82JSUlZvXq1SYiIsIsXbq0nTsPvvezKioqzPXXX29SUlLMoEGD2qfZbwm27/fee88A5sCBA6a0tNReTp061c6dN+87T0tLM0lJSWbTpk2mpKTEbN++3fz1r39tx67PCLb3ioqKgO/78OHDplu3buaJJ55o38ZbwRUbiN/73vfMQw89FDB20003mblz5zZYP3v2bHPTTTcFjE2bNs0MHTq0zXo8n2B7/7bhw4d3WCC2pO+z+vfvb5588snWbu2CWqP3f//3fzcPPPBAa7d2Qc3tffz48eY///M/zRNPPNEhgRhs32cD0efztUN3jQu297fffttYlmW+/PLL9mivUS39s56Xl2ccDof55z//2Rbttakr8pDp2UdLpaSkBIyf79FSANu2batXP2bMGD788ENOnjzZZr2eqzm9Xwxao+/Tp09TVVVFt27d2qLF82qN3nft2sXWrVsZPnx4W7R4Xs3tfeXKlXzyySc88cQTbd1ig1rynQ8ePJiePXsycuRI3nvvvbZss0HN6f2tt95iyJAhLFiwgGuvvZYbb7yRzMxMqqur26NlW2v8WV+xYgWjRo1qlx9QaW0X9S/VtJVgHy0FUFZW1mD9qVOn+OKLL+jZs2eb9fttzen9YtAafS9cuJCvv/6acePGtUWL59WS3nv16sXx48c5deoUWVlZ/PSnP23LVutpTu+HDh1i7ty5bN68GaezY/6KaE7fPXv2ZNmyZSQmJlJTU8Pq1asZOXIk77//PnfccUd7tA00r/dPP/2ULVu20LlzZ/Ly8vjiiy+YPn06X331VbueR2zpf6elpaW8/fbbrFu3rq1abFNXZCCe1dRHSzVW39B4ewi294tFc/t+9dVXycrK4s033yQmJqat2mtUc3rfvHkzJ06coLCwkLlz5/Kd73yHn/zkJ23ZZoOa2ntdXR3p6ek8+eST3Hjjje3V3nkF850nJCSQkJBgv/Z4PBw+fJhnnnmmXQPxrGB6P336NA6Hg7Vr19pPZVi0aBE/+tGPeOGFFwgPD2/zfr+tuf+drlq1imuuuYb77ruvjTprW1dkIAb7aCkAl8vVYL3T6SQ6OrrNej1Xc3q/GLSk79dee43Jkyfz+9//nlGjRrVlmw1qSe99+/YFYODAgRw7doysrKx2DcRge6+qquLDDz9k165dPPLII8CZv6yNMTidTjZu3Midd9550fV9PkOHDmXNmjWt3V6jmtN7z549ufbaawMeUdSvXz+MMRw5coT4+Pg27fmslnzvxhheeuklvF4voaGhbdlmm7kizyE259FSHo+nXv3GjRsZMmQIISEhbdbruS7Vx2I1t+9XX32VSZMmsW7dOu6+++62brNBrfWdG2Ooqalp7fYaFWzvUVFRfPzxxxQXF9vLQw89REJCAsXFxSQlJV2UfZ/Prl272u10xlnN6f3222/n6NGjnDhxwh47ePAgV111Fb169WrTfr+tJd97QUEB//jHP5g8eXJbtti2OuRSnovA2UuLV6xYYfbu3WsyMjJMly5d7Cuj5s6da7xer11/9raLn//852bv3r1mxYoVHX7bRVN7N8aYXbt2mV27dpnExESTnp5udu3aZfbs2XNR971u3TrjdDrNCy+8EHBZd0VFRbv23Zzec3NzzVtvvWUOHjxoDh48aF566SUTFRVlHn/88Yu+93N11FWmwfa9ePFik5eXZw4ePGh2795t5s6dawDz+uuvX/S9V1VVmV69epkf/ehHZs+ePaagoMDEx8ebn/70pxd972c98MADJikpqb3bbVVXbCAaY8wLL7xgevfubUJDQ81tt91mCgoK7HUTJ040w4cPD6h///33zeDBg01oaKjp06ePWbJkSTt3/H+C7R2ot/Tu3bt9mzbB9T18+PAG+544cWK7921McL0///zz5uabbzYREREmKirKDB482Lz44oumrq6uAzoP/s/Lt3VUIBoTXN/z5883N9xwg+ncubPp2rWr+f73v2/+/Oc/d0DXZwT7ne/bt8+MGjXKhIeHm169epnHHnvMfPPNN+3c9RnB9l5RUWHCw8PNsmXL2rnT1qXHP4mIiHCFnkMUERE5lwJRREQEBaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEo0u7ef/99HA4HFRUVbf5ZX375JTExMfzzn/9s889qSzU1NVx33XUUFRV1dCtyGVMgijRg69atdOrUibFjx3Z0Ky2Sk5PDPffcQ58+fTq6lQCTJk0K6hFBYWFhZGZmMmfOnLZrSq54CkSRBrz00kvMmDGDLVu28Pnnn3d0O81SXV3NihUr2v2hxG1lwoQJbN68mX379nV0K3KZUiCKnOPrr7/md7/7HT/72c9ITU1l1apV9jqPx8PcuXMD6o8fP05ISAjvvfceAGvWrGHIkCFERkbicrlIT0+nvLy80c98/fXXufnmmwkLC6NPnz4sXLgwYH2fPn3Izs7mwQcfJDIykuuuu45ly5Y1us23334bp9OJx+MJGN+zZw933303UVFRREZGMmzYMD755BPgzLMPn3rqKXr16kVYWBi33nor+fn59nsbOtxbXFyMw+GwD8uefUjsO++8Q79+/bj66qsZO3YspaWlAGRlZfHyyy/z5ptv4nA4cDgcvP/++9TW1vLII4/Qs2dPOnfuTJ8+fcjJybE/Jzo6muTkZF599dVG91ukuRSIIud47bXX7KevP/DAA6xcuZKzv4E/YcIEXn31Vb79m/ivvfYasbGxDB8+HIDa2lp+9atf8be//Y0//vGPlJSUMGnSpPN+XlFREePGjePHP/4xH3/8MVlZWfy///f/AoIYYOHChQwZMoRdu3Yxffp0fvazn7F///7zbveDDz5gyJAhAWP/+te/uOOOO+jcuTN/+ctfKCoq4sEHH+TUqVMAPPfccyxcuJBnnnmGv//974wZM4a0tDQOHToUzFfIN998wzPPPMPq1av54IMP+Pzzz8nMzAQgMzOTcePG2SFZWlpKcnIyzz//PG+99Ra/+93vOHDgAGvWrKl3qPd73/semzdvDqoXkSbr2IdtiFx8kpOTzbPPPmuMMebkyZOme/fuZtOmTcYYY8rLy43T6TQffPCBXe/xeMwvfvGL825vx44dBjBVVVXGGGPee+89Axifz2eMMSY9Pd2MHj064D2/+MUvTP/+/e3XvXv3Ng888ID9+vTp0yYmJqbRR5Dde++95sEHHwwYmzdvnunbt6+pra1t8D1ut9v8+te/Dhj77ne/a6ZPn95g78acedYmYEpKSowxxqxcudIA5h//+Idd88ILL5jY2Fj79cSJE829994b8DkzZswwd955pzl9+vR59+m5554zffr0Oe96kZbQDFHkWw4cOMCOHTv48Y9/DIDT6WT8+PG89NJLAPTo0YPRo0ezdu1aAEpKSti2bRsTJkywt7Fr1y7uvfdeevfuTWRkJCNGjAA477nIffv2cfvttweM3X777Rw6dIi6ujp77JZbbrH/2eFw4HK5Gj0UW11dTefOnQPGiouLGTZsGCEhIfXqKysrOXr0aIO9BHveLiIightuuMF+3bNnzwseNp40aRLFxcUkJCQwc+ZMNm7cWK8mPDycb775JqheRJpKgSjyLStWrODUqVNce+21OJ1OnE4nS5Ys4Y033sDn8wFnDpv+4Q9/4OTJk6xbt46bb76ZQYMGAWfOP6akpHD11VezZs0adu7cSV5eHnDmUGpDjDE4HI56Y+c6N8QcDgenT58+7750797d7vms8PDwC3wDNNjL2bGrrrqqXn8nT55sUq8N7dO33XbbbZSUlPCrX/2K6upqxo0bx49+9KOAmq+++ooePXpccB9EmkOBKPK/Tp06xSuvvMLChQspLi62l7/97W/07t3bnhXed999/M///A/5+fmsW7eOBx54wN7G/v37+eKLL/jNb37DsGHDuOmmmy44M+rfvz9btmwJGNu6dSs33ngjnTp1avb+DB48mL179waM3XLLLWzevLnBEIuKisLtdjfYS79+/QDsMDp7gQycmXUGKzQ0NGD2++0exo8fz/Lly3nttdd4/fXX+eqrr+z1u3fvZvDgwUF/nkiTdOgBW5GLSF5engkNDTUVFRX11v3yl780t956q/06PT3dDBo0yDgcDvPZZ5/Z4+Xl5SY0NNT84he/MJ988ol58803zY033mgAs2vXLmNM/fNwRUVF5qqrrjJPPfWUOXDggFm1apUJDw83K1eutLfbu3dvs3jx4oCeBg0aZJ544onz7s/f//5343Q6zVdffWWPffHFFyY6Otr88Ic/NDt37jQHDx40r7zyitm/f78xxpjFixebqKgos379erN//34zZ84cExISYg4ePGiMMaa2ttbExcWZ+++/3xw4cMD86U9/MgkJCfXOIVqWVe+7/fZfN7/+9a/NddddZ/bv32+OHz9uamtrzaJFi8yrr75q9u3bZw4cOGAmT55sXC6XqaurC/geXnnllfPus0hLKBBF/ldqaqr5wQ9+0OC6oqIiA5iioiJjjDF//vOfDWDuuOOOerXr1q0zffr0MWFhYcbj8Zi33nqr0UA0xpg//OEPpn///iYkJMRcd9115umnnw7YZnMC0Rhjhg4dan77298GjP3tb38zKSkpJiIiwkRGRpphw4aZTz75xBhjTF1dnXnyySfNtddea0JCQsygQYPM22+/HfD+LVu2mIEDB5rOnTubYcOGmd///vdBB2J5ebkZPXq0ufrqqw1g3nvvPbNs2TJz6623mi5dupioqCgzcuRI89FHH9nv2bp1q7nmmmvMN9980+g+izSXw5gLHNgXkUvWhg0byMzMZPfu3fb5v0vV/fffz+DBg/nlL3/Z0a3IZcrZ0Q2ISNv5wQ9+wKFDh/jXv/5FXFxcR7fTbDU1NQwaNIif//znHd2KXMY0QxQREUFXmYqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiADw/wGX5xo3FIsv5QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compareFPs(ms1,ms2,lambda x:pyAvalonTools.GetAvalonCountFP(x),\"Avalon (counts)\")\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.38765432098765434\n", "0.8 0.4245614035087719\n", "0.9 0.4748201438848921\n", "0.95 0.5148148148148148\n", "0.99 0.5888077858880778\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAEnCAYAAAA3jzMzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAjwklEQVR4nO3df1RVdb7/8eeRw+8LJ8XgSCLqLPxtZqIIzqRrUvIaUXfujHRBVk2mOeYPJrV0ebtqzcDopHYbytQxbfLnvd6YqblGMncVo4k/Iulq+KM1MYUlYoYHLASEz/cPv+7bASIO8lNfj7X2Wp6932fv9/4s7dXnnL3PthljDCIiIje5bh3dgIiISGegQBQREUGBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiABg7+gG2kpdXR1ffPEFQUFB2Gy2jm5HREQ6iDGGiooKwsPD6datiXmg8UBNTY1ZunSp6du3r/Hz8zP9+vUzK1asMLW1tVZNXV2dWbZsmenVq5fx8/Mz48ePN8ePH3fbz+XLl82cOXNMSEiICQgIMPfdd58pLi52q/nqq6/MtGnTTHBwsAkODjbTpk0zZWVlze61uLjYAFq0aNGiRYsBGuRMfR7NEFeuXMnLL7/Mq6++ytChQ3n//ff5+c9/jsPhYP78+QCsWrWKNWvWsGXLFgYMGMCvfvUrJk2axKlTpwgKCgIgLS2NN998k507dxISEsKCBQtISEggPz8fLy8vAJKTkzlz5gzZ2dkAzJw5k9TUVN58881m9XrtWMXFxQQHB3tymiIicgMpLy8nIiLCyoXv1OwplzHm3nvvNY888ojbup/85Cdm2rRpxpirs0On02l+85vfWNsvX75sHA6Hefnll40xxly8eNF4e3ubnTt3WjWff/656datm8nOzjbGGFNYWGgAc/DgQasmLy/PAObkyZPN6tXlchnAuFwuT05RRERuMM3NA48uqvnhD3/I//zP/3D69GkAPvzwQ/bv38+UKVMAKCoqoqSkhPj4eOs9vr6+jB8/ngMHDgCQn59PTU2NW014eDjDhg2zavLy8nA4HMTExFg1Y8eOxeFwWDX1VVVVUV5e7raIiIg0l0cfmT711FO4XC4GDRqEl5cXtbW1/PrXv+Zf/uVfACgpKQEgLCzM7X1hYWF8+umnVo2Pjw/du3dvUHPt/SUlJYSGhjY4fmhoqFVTX0ZGBitWrPDkdERERCwezRB37drF1q1b2b59Ox988AGvvvoqzz33HK+++qpbXf2rOo0x33ulZ/2axuqb2s+SJUtwuVzWUlxc3NzTEhER8WyGuGjRIhYvXsyDDz4IwPDhw/n000/JyMjgoYcewul0AldneL169bLeV1paas0anU4n1dXVlJWVuc0SS0tLiYuLs2rOnTvX4Pjnz59vMPu8xtfXF19fX09OR0RExOLRDPGbb75pcA+Hl5cXdXV1APTr1w+n00lOTo61vbq6mtzcXCvsRo0ahbe3t1vN2bNnOX78uFUTGxuLy+Xi8OHDVs2hQ4dwuVxWjYiISGvyaIZ433338etf/5o+ffowdOhQjh49ypo1a3jkkUeAqx9zpqWlkZ6eTlRUFFFRUaSnpxMQEEBycjIADoeD6dOns2DBAkJCQujRowcLFy5k+PDhTJw4EYDBgwczefJkZsyYwfr164Grt10kJCQwcODA1jx/ERGRqzy5dLW8vNzMnz/f9OnTx/j5+Zn+/fubpUuXmqqqKqvm2o35TqfT+Pr6mrvuusscO3bMbT+VlZVmzpw5pkePHsbf398kJCSYzz77zK3mwoULJiUlxQQFBZmgoCCTkpLi0Y35uu1CRESMaX4e2IwxpqNDuS2Ul5fjcDhwuVy6MV9E5CbW3Dy4YX/LVKQlbHO2tcp+TGZKq+xHRNqPnnYhIiKCAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAfqlGbiCt9SszInJz0gxRREQEBaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIALrtQqRNtMYtIHrIsEj70gxRREQEBaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIkALAvHzzz9n2rRphISEEBAQwB133EF+fr613RjD8uXLCQ8Px9/fnwkTJvDRRx+57aOqqoq5c+fSs2dPAgMDSUxM5MyZM241ZWVlpKam4nA4cDgcpKamcvHixZadpYiIyPfwKBDLysoYN24c3t7evPXWWxQWFrJ69WpuueUWq2bVqlWsWbOGzMxMjhw5gtPpZNKkSVRUVFg1aWlpZGVlsXPnTvbv38+lS5dISEigtrbWqklOTqagoIDs7Gyys7MpKCggNTX1+s9YRESkETZjjGlu8eLFi3nvvffYt29fo9uNMYSHh5OWlsZTTz0FXJ0NhoWFsXLlSh577DFcLhe33norr732GklJSQB88cUXREREsGfPHu655x5OnDjBkCFDOHjwIDExMQAcPHiQ2NhYTp48ycCBA7+31/LychwOBy6Xi+Dg4OaeonRhtjnbOrqFVmUyUzq6BZEbQnPzwKMZ4htvvEF0dDQ/+9nPCA0NZeTIkWzcuNHaXlRURElJCfHx8dY6X19fxo8fz4EDBwDIz8+npqbGrSY8PJxhw4ZZNXl5eTgcDisMAcaOHYvD4bBq6quqqqK8vNxtERERaS6PAvGTTz5h3bp1REVF8fbbbzNr1izmzZvHH/7wBwBKSkoACAsLc3tfWFiYta2kpAQfHx+6d+/eZE1oaGiD44eGhlo19WVkZFjfNzocDiIiIjw5NRERucl5FIh1dXXceeedpKenM3LkSB577DFmzJjBunXr3OpsNpvba2NMg3X11a9prL6p/SxZsgSXy2UtxcXFzT0tERERzwKxV69eDBkyxG3d4MGD+eyzzwBwOp0ADWZxpaWl1qzR6XRSXV1NWVlZkzXnzp1rcPzz5883mH1e4+vrS3BwsNsiIiLSXB4F4rhx4zh16pTbutOnTxMZGQlAv379cDqd5OTkWNurq6vJzc0lLi4OgFGjRuHt7e1Wc/bsWY4fP27VxMbG4nK5OHz4sFVz6NAhXC6XVSMiItKa7J4U//KXvyQuLo709HSmTp3K4cOH2bBhAxs2bACufsyZlpZGeno6UVFRREVFkZ6eTkBAAMnJyQA4HA6mT5/OggULCAkJoUePHixcuJDhw4czceJE4Oqsc/LkycyYMYP169cDMHPmTBISEpp1hamIiIinPArE0aNHk5WVxZIlS3jmmWfo168fzz//PCkp/3d5+JNPPkllZSWzZ8+mrKyMmJgY9u7dS1BQkFWzdu1a7HY7U6dOpbKykrvvvpstW7bg5eVl1Wzbto158+ZZV6MmJiaSmZl5vecrIiLSKI/uQ+xKdB/izUf3IYpIY9rkPkQREZEblQJRREQEBaKIiAjg4UU1Im3hRvvuT0S6JgWiSCfVWv+joItzRJpHH5mKiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAGDv6AZEpG3Z5mxrlf2YzJRW2Y9IZ6UZooiICApEERER4DoDMSMjA5vNRlpamrXOGMPy5csJDw/H39+fCRMm8NFHH7m9r6qqirlz59KzZ08CAwNJTEzkzJkzbjVlZWWkpqbicDhwOBykpqZy8eLF62lXRETkO7U4EI8cOcKGDRu4/fbb3davWrWKNWvWkJmZyZEjR3A6nUyaNImKigqrJi0tjaysLHbu3Mn+/fu5dOkSCQkJ1NbWWjXJyckUFBSQnZ1NdnY2BQUFpKamtrRdERGRJrUoEC9dukRKSgobN26ke/fu1npjDM8//zxLly7lJz/5CcOGDePVV1/lm2++Yfv27QC4XC42bdrE6tWrmThxIiNHjmTr1q0cO3aMv/zlLwCcOHGC7Oxsfv/73xMbG0tsbCwbN27kz3/+M6dOnWqF0xYREXHXokB8/PHHuffee5k4caLb+qKiIkpKSoiPj7fW+fr6Mn78eA4cOABAfn4+NTU1bjXh4eEMGzbMqsnLy8PhcBATE2PVjB07FofDYdWIiIi0Jo9vu9i5cycffPABR44cabCtpKQEgLCwMLf1YWFhfPrpp1aNj4+P28zyWs2195eUlBAaGtpg/6GhoVZNfVVVVVRVVVmvy8vLPTgrERG52Xk0QywuLmb+/Pls3boVPz+/76yz2Wxur40xDdbVV7+msfqm9pORkWFdgONwOIiIiGjyeCIiIt/mUSDm5+dTWlrKqFGjsNvt2O12cnNzeeGFF7Db7dbMsP4srrS01NrmdDqprq6mrKysyZpz5841OP758+cbzD6vWbJkCS6Xy1qKi4s9OTUREbnJeRSId999N8eOHaOgoMBaoqOjSUlJoaCggP79++N0OsnJybHeU11dTW5uLnFxcQCMGjUKb29vt5qzZ89y/PhxqyY2NhaXy8Xhw4etmkOHDuFyuaya+nx9fQkODnZbREREmsuj7xCDgoIYNmyY27rAwEBCQkKs9WlpaaSnpxMVFUVUVBTp6ekEBASQnJwMgMPhYPr06SxYsICQkBB69OjBwoULGT58uHWRzuDBg5k8eTIzZsxg/fr1AMycOZOEhAQGDhx43SctIiJSX6v/lumTTz5JZWUls2fPpqysjJiYGPbu3UtQUJBVs3btWux2O1OnTqWyspK7776bLVu24OXlZdVs27aNefPmWVejJiYmkpmZ2drtioiIAGAzxpiObqItlJeX43A4cLlc+vi0k2utH5+WtqUf95auqrl5oN8yFRERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICtMFvmcrNQz+5JiI3Es0QRUREUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERAfQ8RBFpptZ4/qXJTGmFTkTahmaIIiIiKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAjgYSBmZGQwevRogoKCCA0N5YEHHuDUqVNuNcYYli9fTnh4OP7+/kyYMIGPPvrIraaqqoq5c+fSs2dPAgMDSUxM5MyZM241ZWVlpKam4nA4cDgcpKamcvHixZadpYiIyPfwKBBzc3N5/PHHOXjwIDk5OVy5coX4+Hi+/vprq2bVqlWsWbOGzMxMjhw5gtPpZNKkSVRUVFg1aWlpZGVlsXPnTvbv38+lS5dISEigtrbWqklOTqagoIDs7Gyys7MpKCggNTW1FU5ZRESkIZsxxrT0zefPnyc0NJTc3FzuuusujDGEh4eTlpbGU089BVydDYaFhbFy5Uoee+wxXC4Xt956K6+99hpJSUkAfPHFF0RERLBnzx7uueceTpw4wZAhQzh48CAxMTEAHDx4kNjYWE6ePMnAgQO/t7fy8nIcDgcul4vg4OCWnqI0wTZnW0e3IF2MyUzp6Bbk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d+/e5qc//an56KOPTG5uromKijKPPvpoR51Cp+TpuG7evNnY7Xbz0ksvmb/97W9m//79Jjo62owZM6ajTsFyUwSiMca8+OKLJjIy0vj4+Jg777zT5ObmWtseeughM378eLf6d99914wcOdL4+PiYvn37mnXr1rVzx12DJ+M6fvx4AzRYHnroofZvvJPz9O/rtykQv5un43rixAkzceJE4+/vb3r37m2eeOIJ880337Rz152fp+P6wgsvmCFDhhh/f3/Tq1cvk5KSYs6cOdPOXTekxz+JiIhwE3yHKCIi0hwKRBERERSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFokin9e6772Kz2bh48WKbH+vChQuEhoby97//vdnH3rJlC7fccst1HXf06NG8/vrr17UPkdaiQBS5DgcOHMDLy4vJkyd3dCvXJSMjg/vuu4++ffs2+z1JSUmcPn3aer18+XLuuOMOj4779NNPs3jxYurq6jx6n0hbUCCKXIdXXnmFuXPnsn//fj777LOObqdFKisr2bRpE48++qhH7/P397/uZ1nee++9uFwu3n777evaj0hrUCCKtNDXX3/Nf/zHf/CLX/yChIQEtmzZYm2LjY1l8eLFbvXnz5/H29ubd955B4CtW7cSHR1NUFAQTqeT5ORkSktLmzzmf/3XfzF06FB8fX3p27cvq1evdtvet29f0tPTeeSRRwgKCqJPnz5s2LChyX2+9dZb2O12YmNjG2x77733GDFiBH5+fsTExHDs2DFr27c/Mt2yZQsrVqzgww8/xGazYbPZrPFYvnw5ffr0wdfXl/DwcObNm2ftw8vLiylTprBjx44mexRpDwpEkRbatWsXAwcOZODAgUybNo3Nmzdbz3NLSUlhx44dbs9327VrF2FhYYwfPx6A6upqnn32WT788EP++Mc/UlRUxMMPP/ydx8vPz2fq1Kk8+OCDHDt2jOXLl/P000+7BTHA6tWriY6O5ujRo8yePZtf/OIXnDx58jv3+9e//pXo6OhGty1atIjnnnuOI0eOEBoaSmJiIjU1NQ3qkpKSWLBgAUOHDuXs2bOcPXuWpKQkdu/ezdq1a1m/fj0ff/wxf/zjHxk+fLjbe8eMGcO+ffu+sz+RdtOxD9sQ6bri4uLM888/b4wxpqamxvTs2dPk5OQYY4wpLS01drvd/PWvf7XqY2NjzaJFi75zf4cPHzaAqaioMMYY88477xjAlJWVGWOMSU5ONpMmTXJ7z6JFi8yQIUOs15GRkWbatGnW67q6OhMaGtrk48vuv/9+88gjj7itu3bsnTt3WusuXLhg/P39za5du4wxV59r53A4rO2NPXZq9erVZsCAAaa6uvo7j/+nP/3JdOvWzdTW1n5njUh70AxRpAVOnTrF4cOHefDBBwGw2+0kJSXxyiuvAHDrrbcyadIktm3bBkBRURF5eXmkpKRY+zh69Cj3338/kZGRBAUFMWHCBIDv/C7yxIkTjBs3zm3duHHj+Pjjj6mtrbXW3X777dafbTYbTqezyY9iKysr8fPza3Tbtz9G7dGjBwMHDuTEiRPfua/6fvazn1FZWUn//v2ZMWMGWVlZXLlyxa3G39+furo6qqqqmr1fkbagQBRpgU2bNnHlyhVuu+027HY7druddevW8frrr1NWVgZc/dh09+7d1NTUsH37doYOHcqIESOAq98/xsfH8w//8A9s3bqVI0eOkJWVBVz9KLUxxhhsNluDdfV5e3u7vbbZbE1exdmzZ0+r5+ao30NTIiIiOHXqFC+++CL+/v7Mnj2bu+66y+1j16+++oqAgAD8/f2bvV+RtqBAFPHQlStX+MMf/sDq1aspKCiwlg8//JDIyEhrVvjAAw9w+fJlsrOz2b59O9OmTbP2cfLkSb788kt+85vf8KMf/YhBgwZ97wU1Q4YMYf/+/W7rDhw4wIABA/Dy8mrx+YwcOZLCwsJGtx08eND6c1lZGadPn2bQoEGN1vr4+LjNVK/x9/cnMTGRF154gXfffZe8vDy3i3OOHz/OnXfe2eL+RVqLvaMbEOlq/vznP1NWVsb06dNxOBxu237605+yadMm5syZQ2BgIPfffz9PP/00J06cIDk52arr06cPPj4+/O53v2PWrFkcP36cZ599tsnjLliwgNGjR/Pss8+SlJREXl4emZmZvPTSS9d1Pvfccw9LliyhrKyM7t27u2175plnCAkJISwsjKVLl9KzZ08eeOCBRvfTt29fioqKKCgooHfv3gQFBbFjxw5qa2uJiYkhICCA1157DX9/fyIjI6337du3j/j4+Os6B5FW0dFfYop0NQkJCWbKlCmNbsvPzzeAyc/PN8YY89///d8GMHfddVeD2u3bt5u+ffsaX19fExsba9544w0DmKNHjxpjGl5UY4wxu3fvNkOGDDHe3t6mT58+5re//a3bPiMjI83atWvd1o0YMcIsW7asyXMaO3asefnll63X14795ptvmqFDhxofHx8zevRoU1BQYNXUv6jm8uXL5p//+Z/NLbfcYgCzefNmk5WVZWJiYkxwcLAJDAw0Y8eONX/5y1+s95w5c8Z4e3ub4uLiJvsTaQ82Yxr5EkJEbip79uxh4cKFHD9+nG7d2u+blEWLFuFyub73XkmR9qCPTEWEKVOm8PHHH/P5558TERHRbscNDQ1l4cKF7XY8kaZohigiIoKuMhUREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQHg/wGikg0xbbChtgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compareFPs(ms1,ms2,lambda x:pyAvalonTools.GetAvalonFP(x),\"Avalon (bits)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pattern" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.6049382716049383\n", "0.8 0.6327212020033389\n", "0.9 0.6694677871148459\n", "0.95 0.6984126984126984\n", "0.99 0.7504\n" ] }, { "data": { "image/png": "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SktLL3tsbW0toVCIcDhMWlratW71ujEQJV1rrW2D/5XmQYtdITY0NLBr1y7mzp0bNZ6fn8/mzZsb1dfX11NfXx+5Hw6HgY8n4rMKzXr1Mz+HJH1exD30/Gd+jvCPx12FTq6OCznwaeu/FhuIJ06c4Ny5c2RkZESNZ2RkUF1d3ai+tLSUBQsWNBrPzs6+Zj1Kki4t9PxDzd1CI3V1dYRCoU98vMUG4gVxcXFR94MgaDQGMG/ePGbOnBm5f/78eT744AM6derUqL62tpbs7GwOHTrUqt5Ovdact6Zx3prOuWsa5y1aEATU1dWRlZV12boWG4idO3embdu2jVaDx44da7RqBEhKSiIpKSlq7Oabb77sa6SlpfnD0gTOW9M4b03n3DWN8/a/LrcyvKDFbrtITExkwIABrF+/Pmp8/fr1DB48uJm6kiS1Vi12hQgwc+ZMioqKGDhwIHl5eTz33HO89957PPzww83dmiSplWnRgThu3Djef/99Hn/8caqqqujbty9r166le/fun+l5k5KSeOyxxxq9xarLc96axnlrOueuaZy3pmnR+xAlSbpeWuxniJIkXU8GoiRJGIiSJAEGoiRJQCsOxFgvG1VRUcGAAQNo164dPXv25Gc/+9l16rRliWXefv3rXzNy5Ei6dOlCWloaeXl5/P73v7+O3bYcTb1M2aZNm4iPj+euu+66tg22ULHOW319Pd/5znfo3r07SUlJ/M3f/A0///nPr1O3LUusc7dy5Uq+9KUvkZycTNeuXfnXf/1X3n///evU7edE0AqtXr06SEhICJ5//vlgz549wYwZM4KUlJTg3XffvWT9gQMHguTk5GDGjBnBnj17gueffz5ISEgIfvnLX17nzptXrPM2Y8aMYOHChcH27duD/fv3B/PmzQsSEhKC119//Tp33rxinbcLTp48GfTs2TPIz88PvvSlL12fZluQpsxbQUFBkJubG6xfvz44ePBgsG3btmDTpk3XseuWIda527BhQ9CmTZvg6aefDg4cOBBs2LAh+OIXvxjcf//917nzlq1VBuI999wTPPzww1Fjd9xxRzB37txL1s+ePTu44447osYmT54cDBo06Jr12BLFOm+X0qdPn2DBggVXu7UWranzNm7cuOC73/1u8Nhjj92QgRjrvP3ud78LQqFQ8P7771+P9lq0WOfuRz/6UdCzZ8+osWeeeSbo1q3bNevx86jVvWV64bJR+fn5UeOfdNkogC1btjSqHzVqFDt37uTs2bPXrNeWpCnzdrHz589TV1dHx44dr0WLLVJT5+3FF1/k7bff5rHHHrvWLbZITZm31157jYEDB7Jo0SJuueUWbr/9dmbNmsWZM2euR8stRlPmbvDgwRw+fJi1a9cSBAFHjx7ll7/8Jffdd9/1aPlzo0X/ppqmiPWyUQDV1dWXrP/oo484ceIEXbt2vWb9thRNmbeLPfnkk5w+fZqxY8deixZbpKbM23//938zd+5cNmzYQHx8q/sreEWaMm8HDhxg48aNtGvXjjVr1nDixAmmTJnCBx98cEN9jtiUuRs8eDArV65k3Lhx/PWvf+Wjjz6ioKCAJUuWXI+WPzda3Qrxgiu9bNTl6i813trFOm8XvPLKK8yfP59XX32V9PT0a9Vei3Wl83bu3DkKCwtZsGABt99++/Vqr8WK5eft/PnzxMXFsXLlSu655x7uvfdeFi9ezPLly2+4VSLENnd79uxh+vTpfO9732PXrl2Ul5dz8OBBfy/0RVrdf09jvWwUQGZm5iXr4+Pj6dSp0zXrtSVpyrxd8OqrrzJx4kR+8YtfMGLEiGvZZosT67zV1dWxc+dO3njjDaZOnQp8/A99EATEx8ezbt06/vZv//a69N6cmvLz1rVrV2655Zaoy/j07t2bIAg4fPgwOTk517TnlqIpc1daWsqQIUP49re/DcCdd95JSkoK/+///T9+8IMf3BDvgl2JVrdCbMplo/Ly8hrVr1u3joEDB5KQkHDNem1Jmnq5rVdeeYUJEyawatWqG/LziFjnLS0tjb/85S9UVlZGbg8//DC9evWisrKS3Nzc69V6s2rKz9uQIUM4cuQIp06diozt37+fNm3a0K1bt2vab0vSlLn78MMPadMm+p/7tm3bAv/7bpho3dsuXnjhhWDPnj1BcXFxkJKSErzzzjtBEATB3Llzg6Kiokj9hW0X3/rWt4I9e/YEL7zwwg297eJK523VqlVBfHx88NOf/jSoqqqK3E6ePNlcp9AsYp23i92o3zKNdd7q6uqCbt26Bf/4j/8Y7N69O6ioqAhycnKCb37zm811Cs0m1rl78cUXg/j4+ODZZ58N3n777WDjxo3BwIEDg3vuuae5TqFFapWBGARB8NOf/jTo3r17kJiYGPTv3z+oqKiIPPbAAw8EQ4cOjar/05/+FNx9991BYmJicNtttwVLly69zh23DLHM29ChQwOg0e2BBx64/o03s1h/3v6vGzUQgyD2edu7d28wYsSIoH379kG3bt2CmTNnBh9++OF17rpliHXunnnmmaBPnz5B+/btg65duwbjx48PDh8+fJ27btm8/JMkSbTCzxAlSWoKA1GSJAxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJSa3YQJE4iLiyMuLo6EhAR69uzJrFmzOH369Kce+6c//Ym4uDhOnjwZNT5s2DCKi4uvTcNSK9XqrnYhfR6NHj2aF198kbNnz7Jhwwa++c1vcvr0aZYuXdqsfTU0NJCYmNisPUjXiytEqQVISkoiMzOT7OxsCgsLGT9+PL/5zW94+eWXGThwIKmpqWRmZlJYWMixY8cAeOedd/ja174GQIcOHYiLi2PChAlMmDCBiooKnn766cjK85133gE+vi7evffey0033URGRgZFRUWcOHEi0sewYcOYOnUqM2fOpHPnzowcOTKyCv3DH/7AwIEDSU5OZvDgwbz11lvXfZ6ka8lAlFqg9u3bc/bsWRoaGvj+97/Pn//8Z37zm99w8OBBJkyYAEB2dja/+tWvAHjrrbeoqqri6aef5umnnyYvL49JkyZRVVVFVVUV2dnZVFVVMXToUO666y527txJeXk5R48eZezYsVGv/dJLLxEfH8+mTZtYtmxZZPw73/kOTz75JDt37iQ+Pp4HH3zwus2HdD34lqnUwmzfvp1Vq1YxfPjwqNDp2bMnzzzzDPfccw+nTp3ipptuomPHjgCkp6dz8803R2oTExNJTk4mMzMzMrZ06VL69+9PSUlJZOznP/852dnZ7N+/n9tvvx2AL3zhCyxatChSc+FCtE888QRDhw4FYO7cudx333389a9/pV27dld/EqRm4ApRagF++9vfctNNN9GuXTvy8vL46le/ypIlS3jjjTf4+7//e7p3705qairDhg0D4L333ov5NXbt2sUf//hHbrrppsjtjjvuAODtt9+O1A0cOPCSx995552RP1+4wvqFt2+l1sAVotQCfO1rX2Pp0qUkJCSQlZVFQkICp0+fJj8/n/z8fF5++WW6dOnCe++9x6hRo2hoaIj5Nc6fP8/Xv/51Fi5c2OixCwEHkJKScsnjExISIn+Oi4uLPKfUWhiIUguQkpLCF77whaixffv2ceLECX74wx+SnZ0NwM6dO6NqLnwD9Ny5c43GLx7r378/v/rVr7jtttuIj/evvnQx3zKVWqhbb72VxMRElixZwoEDB3jttdf4/ve/H1XTvXt34uLi+O1vf8vx48c5deoUALfddhvbtm3jnXfe4cSJE5w/f55HHnmEDz74gG984xts376dAwcOsG7dOh588MFG4SndiAxEqYXq0qULy5cv5xe/+AV9+vThhz/8IT/+8Y+jam655RYWLFjA3LlzycjIYOrUqQDMmjWLtm3b0qdPn8hbrVlZWWzatIlz584xatQo+vbty4wZMwiFQrRp4z8FUlwQBEFzNyFJUnPzv4WSJGEgSpIEGIiSJAEGoiRJgIEoSRJgIEqSBBiIkiQBBqIkSYCBKEkSYCBKkgQYiJIkAQaiJEkA/H/TjX9Yep33hwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compareFPs(ms1,ms2,lambda x:Chem.PatternFingerprint(x),\"Pattern\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Gobbi2D pharmacophore fingerprints" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "from rdkit.Chem.Pharm2D import Gobbi_Pharm2D,Generate\n", "def Gobbi2D_bits(mol,fpLen=2048):\n", " res = DataStructs.ExplicitBitVect(fpLen)\n", " for bit in Generate.Gen2DFingerprint(mol,Gobbi_Pharm2D.factory).GetOnBits():\n", " # the bits are not hashed, so we need to do so before we fold them:\n", " res.SetBit(hash((bit,))%fpLen)\n", " return res" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7 0.17470881863560733\n", "0.8 0.20520231213872833\n", "0.9 0.25068493150684934\n", "0.95 0.29214402618657936\n", "0.99 0.3725124378109453\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAEmCAYAAAD80+CWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAjDUlEQVR4nO3de3SV5Zn//3cgEAImW4kmISUiVkROrQgagrawhoPOyGScjg1tbNQ1KLgAIR6qMLYKtoYFVnBqPDJaHQRxDrLUGWXAqhkREARi5dxWijAQQQ07oBhO9+8Pf+yvIRyyQ07g+7XW/iP3vvbOdSXAh3vv59lPQgghIEnSt1yLpm5AkqTmwECUJAkDUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJgMSmbqChHDp0iG3btpGSkkJCQkJTtyNJaiIhBHbv3k1WVhYtWhx7H3jaBuK2bdvIzs5u6jYkSc3Eli1b6Nix4zHvP20DMSUlBfj6B5CamtrE3UiSmkplZSXZ2dmxXDiW0zYQD79MmpqaaiBKkk749pkH1UiShIEoSRJgIEqSBBiIkiQBBqIkSYCBKEkSYCBKkgQYiJIkAafxifk6voSxs0/6OULJdfXQiSQ1D+4QJUnCQJQkCTAQJUkCDERJkgADUZIkwKNMTzn1cXSoJKkmd4iSJGEgSpIEGIiSJAEGoiRJgIEoSRJgIEqSBMQZiAcOHOAXv/gFnTt3Jjk5mfPPP5/777+fQ4cOxWpCCEyaNImsrCySk5MZOHAga9asqfY8VVVV3HrrrZx99tm0a9eOvLw8tm7dWq2moqKCwsJCIpEIkUiEwsJCdu3aVfdJJUk6jrgCcerUqTzxxBOUlJSwbt06pk2bxoMPPsgjjzwSq5k2bRrTp0+npKSE5cuXk5mZyZAhQ9i9e3espqioiHnz5jF37lwWLVrEnj17GDZsGAcPHozVFBQUUFZWxvz585k/fz5lZWUUFhbWw8iSJNWUEEIItS0eNmwYGRkZPP3007G1f/iHf6Bt27bMmjWLEAJZWVkUFRVx9913A1/vBjMyMpg6dSqjRo0iGo1yzjnnMGvWLIYPHw7Atm3byM7O5rXXXuPKK69k3bp1dO/enaVLl5KTkwPA0qVLyc3NZf369XTt2vWEvVZWVhKJRIhGo6Smpsb1Q2nOmtOJ+V7+SdKpoLZ5ENcO8YorruD3v/89GzduBOCDDz5g0aJF/M3f/A0AmzZtory8nKFDh8Yek5SUxIABA1i8eDEAK1asYP/+/dVqsrKy6NmzZ6xmyZIlRCKRWBgC9OvXj0gkEqs5UlVVFZWVldVukiTVVlwf3Xb33XcTjUa56KKLaNmyJQcPHuSBBx7gpz/9KQDl5eUAZGRkVHtcRkYGmzdvjtW0bt2as846q0bN4ceXl5eTnp5e4/unp6fHao40ZcoUJk+eHM84kiTFxLVDfPHFF3n++eeZM2cOK1eu5LnnnuM3v/kNzz33XLW6hISEal+HEGqsHenImqPVH+95Jk6cSDQajd22bNlS27EkSYpvh/jzn/+cCRMm8JOf/ASAXr16sXnzZqZMmcINN9xAZmYm8PUOr0OHDrHH7dixI7ZrzMzMZN++fVRUVFTbJe7YsYP+/fvHaj755JMa33/nzp01dp+HJSUlkZSUFM84kiTFxLVD/PLLL2nRovpDWrZsGTvtonPnzmRmZrJw4cLY/fv27aO0tDQWdn369KFVq1bVarZv387q1atjNbm5uUSjUZYtWxaree+994hGo7EaSZLqU1w7xL/927/lgQce4Nxzz6VHjx6sWrWK6dOn84//+I/A1y9zFhUVUVxcTJcuXejSpQvFxcW0bduWgoICACKRCCNGjOCOO+4gLS2N9u3bc+edd9KrVy8GDx4MQLdu3bjqqqu4+eabefLJJwEYOXIkw4YNq9URppIkxSuuQHzkkUf45S9/yejRo9mxYwdZWVmMGjWKe++9N1Zz1113sXfvXkaPHk1FRQU5OTksWLCAlJSUWM2MGTNITEwkPz+fvXv3MmjQIJ599llatmwZq5k9ezbjxo2LHY2al5dHSUnJyc4rSdJRxXUe4qnE8xAbnuchSjoVNMh5iJIkna4MREmSMBAlSQLiPKhG+qb6ej/T9yIlNQfuECVJwkCUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkoA6BOL//d//8bOf/Yy0tDTatm3LxRdfzIoVK2L3hxCYNGkSWVlZJCcnM3DgQNasWVPtOaqqqrj11ls5++yzadeuHXl5eWzdurVaTUVFBYWFhUQiESKRCIWFhezatatuU0qSdAJxBWJFRQWXX345rVq14vXXX2ft2rU89NBDnHnmmbGaadOmMX36dEpKSli+fDmZmZkMGTKE3bt3x2qKioqYN28ec+fOZdGiRezZs4dhw4Zx8ODBWE1BQQFlZWXMnz+f+fPnU1ZWRmFh4clPLEnSUSSEEEJtiydMmMC7777LO++8c9T7QwhkZWVRVFTE3XffDXy9G8zIyGDq1KmMGjWKaDTKOeecw6xZsxg+fDgA27ZtIzs7m9dee40rr7ySdevW0b17d5YuXUpOTg4AS5cuJTc3l/Xr19O1a9cT9lpZWUkkEiEajZKamlrbEZu9hLGzm7qFehdKrmvqFiSdxmqbB3HtEF955RX69u3Lj3/8Y9LT0+nduzczZ86M3b9p0ybKy8sZOnRobC0pKYkBAwawePFiAFasWMH+/fur1WRlZdGzZ89YzZIlS4hEIrEwBOjXrx+RSCRWc6SqqioqKyur3SRJqq3EeIo/+ugjHn/8cW6//Xb+6Z/+iWXLljFu3DiSkpK4/vrrKS8vByAjI6Pa4zIyMti8eTMA5eXltG7dmrPOOqtGzeHHl5eXk56eXuP7p6enx2qONGXKFCZPnhzPOI3qdNzZSdLpJK4d4qFDh7jkkksoLi6md+/ejBo1iptvvpnHH3+8Wl1CQkK1r0MINdaOdGTN0eqP9zwTJ04kGo3Gblu2bKntWJIkxReIHTp0oHv37tXWunXrxscffwxAZmYmQI1d3I4dO2K7xszMTPbt20dFRcVxaz755JMa33/nzp01dp+HJSUlkZqaWu0mSVJtxfWS6eWXX86GDRuqrW3cuJFOnToB0LlzZzIzM1m4cCG9e/cGYN++fZSWljJ16lQA+vTpQ6tWrVi4cCH5+fkAbN++ndWrVzNt2jQAcnNziUajLFu2jMsuuwyA9957j2g0Sv/+/U9iXDVH9fVysgfnSDoZcQXibbfdRv/+/SkuLiY/P59ly5bx1FNP8dRTTwFfv8xZVFREcXExXbp0oUuXLhQXF9O2bVsKCgoAiEQijBgxgjvuuIO0tDTat2/PnXfeSa9evRg8eDDw9a7zqquu4uabb+bJJ58EYOTIkQwbNqxWR5hKkhSvuALx0ksvZd68eUycOJH777+fzp078/DDD3Pddf/vf+Z33XUXe/fuZfTo0VRUVJCTk8OCBQtISUmJ1cyYMYPExETy8/PZu3cvgwYN4tlnn6Vly5axmtmzZzNu3LjY0ah5eXmUlJSc7LySJB1VXOchnkqa23mIHmXa8HzJVNLRNMh5iJIkna4MREmSMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQJOMhCnTJlCQkICRUVFsbUQApMmTSIrK4vk5GQGDhzImjVrqj2uqqqKW2+9lbPPPpt27dqRl5fH1q1bq9VUVFRQWFhIJBIhEolQWFjIrl27TqZdSZKOKbGuD1y+fDlPPfUU3/ve96qtT5s2jenTp/Pss89y4YUX8utf/5ohQ4awYcMGUlJSACgqKuLVV19l7ty5pKWlcccddzBs2DBWrFhBy5YtASgoKGDr1q3Mnz8fgJEjR1JYWMirr75a15Z1mksYO/uknyOUXFcPnUg6FdVph7hnzx6uu+46Zs6cyVlnnRVbDyHw8MMPc8899/CjH/2Inj178txzz/Hll18yZ84cAKLRKE8//TQPPfQQgwcPpnfv3jz//PN8+OGHvPHGGwCsW7eO+fPn8y//8i/k5uaSm5vLzJkz+a//+i82bNhQD2NLklRdnQJxzJgxXH311QwePLja+qZNmygvL2fo0KGxtaSkJAYMGMDixYsBWLFiBfv3769Wk5WVRc+ePWM1S5YsIRKJkJOTE6vp168fkUgkViNJUn2K+yXTuXPnsnLlSpYvX17jvvLycgAyMjKqrWdkZLB58+ZYTevWravtLA/XHH58eXk56enpNZ4/PT09VnOkqqoqqqqqYl9XVlbGMZUk6dsurh3ili1bGD9+PM8//zxt2rQ5Zl1CQkK1r0MINdaOdGTN0eqP9zxTpkyJHYATiUTIzs4+7veTJOmb4grEFStWsGPHDvr06UNiYiKJiYmUlpby29/+lsTExNjO8Mhd3I4dO2L3ZWZmsm/fPioqKo5b88knn9T4/jt37qyx+zxs4sSJRKPR2G3Lli3xjCZJ+paLKxAHDRrEhx9+SFlZWezWt29frrvuOsrKyjj//PPJzMxk4cKFscfs27eP0tJS+vfvD0CfPn1o1apVtZrt27ezevXqWE1ubi7RaJRly5bFat577z2i0Wis5khJSUmkpqZWu0mSVFtxvYeYkpJCz549q621a9eOtLS02HpRURHFxcV06dKFLl26UFxcTNu2bSkoKAAgEokwYsQI7rjjDtLS0mjfvj133nknvXr1ih2k061bN6666ipuvvlmnnzySeDr0y6GDRtG165dT3poSZKOVOfzEI/lrrvuYu/evYwePZqKigpycnJYsGBB7BxEgBkzZpCYmEh+fj579+5l0KBBPPvss7FzEAFmz57NuHHjYkej5uXlUVJSUt/tSpIEQEIIITR1Ew2hsrKSSCRCNBptFi+f1sdJ42p4npgvnX5qmwd+lqkkSRiIkiQBBqIkSYCBKEkSYCBKkgQYiJIkAQaiJEmAgShJEmAgSpIEGIiSJAEGoiRJgIEoSRJgIEqSBBiIkiQBBqIkSYCBKEkSYCBKkgQYiJIkAQaiJEmAgShJEmAgSpIEGIiSJAEGoiRJgIEoSRIAiU3dgNScJIydXS/PE0quq5fnkdR43CFKkoSBKEkSYCBKkgQYiJIkAQaiJEmAgShJEmAgSpIEGIiSJAEGoiRJgIEoSRJgIEqSBPhZprVSX59vKUlqvtwhSpKEgShJEmAgSpIExBmIU6ZM4dJLLyUlJYX09HSuueYaNmzYUK0mhMCkSZPIysoiOTmZgQMHsmbNmmo1VVVV3HrrrZx99tm0a9eOvLw8tm7dWq2moqKCwsJCIpEIkUiEwsJCdu3aVbcpJUk6gbgCsbS0lDFjxrB06VIWLlzIgQMHGDp0KF988UWsZtq0aUyfPp2SkhKWL19OZmYmQ4YMYffu3bGaoqIi5s2bx9y5c1m0aBF79uxh2LBhHDx4MFZTUFBAWVkZ8+fPZ/78+ZSVlVFYWFgPI0uSVFNCCCHU9cE7d+4kPT2d0tJSfvjDHxJCICsri6KiIu6++27g691gRkYGU6dOZdSoUUSjUc455xxmzZrF8OHDAdi2bRvZ2dm89tprXHnllaxbt47u3buzdOlScnJyAFi6dCm5ubmsX7+erl27nrC3yspKIpEI0WiU1NTUuo4IeJSp4hdKrmvqFiT9/2qbByf1HmI0GgWgffv2AGzatIny8nKGDh0aq0lKSmLAgAEsXrwYgBUrVrB///5qNVlZWfTs2TNWs2TJEiKRSCwMAfr160ckEonVHKmqqorKyspqN0mSaqvOgRhC4Pbbb+eKK66gZ8+eAJSXlwOQkZFRrTYjIyN2X3l5Oa1bt+ass846bk16enqN75menh6rOdKUKVNi7zdGIhGys7PrOpok6VuozoE4duxY/vCHP/DCCy/UuC8hIaHa1yGEGmtHOrLmaPXHe56JEycSjUZjty1bttRmDEmSgDoG4q233sorr7zCW2+9RceOHWPrmZmZADV2cTt27IjtGjMzM9m3bx8VFRXHrfnkk09qfN+dO3fW2H0elpSURGpqarWbJEm1FVcghhAYO3YsL730Em+++SadO3eudn/nzp3JzMxk4cKFsbV9+/ZRWlpK//79AejTpw+tWrWqVrN9+3ZWr14dq8nNzSUajbJs2bJYzXvvvUc0Go3VSJJUn+L6LNMxY8YwZ84cXn75ZVJSUmI7wUgkQnJyMgkJCRQVFVFcXEyXLl3o0qULxcXFtG3bloKCgljtiBEjuOOOO0hLS6N9+/bceeed9OrVi8GDBwPQrVs3rrrqKm6++WaefPJJAEaOHMmwYcNqdYSpJEnxiisQH3/8cQAGDhxYbf13v/sdN954IwB33XUXe/fuZfTo0VRUVJCTk8OCBQtISUmJ1c+YMYPExETy8/PZu3cvgwYN4tlnn6Vly5axmtmzZzNu3LjY0ah5eXmUlJTUZUZJkk7opM5DbM48D1GnOs9llOpHo5yHKEnS6cJAlCQJA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJgMSmbkDS0dXXham90LBUO+4QJUnCQJQkCTAQJUkCDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAD/cWzrt+SHhUu24Q5QkCQNRkiTAQJQkCTAQJUkCDERJkgADUZIkwNMuJNVSfZy+4akbas7cIUqShIEoSRJgIEqSBJwC7yE+9thjPPjgg2zfvp0ePXrw8MMP84Mf/KCp25JUB36MnJqzZr1DfPHFFykqKuKee+5h1apV/OAHP+Cv//qv+fjjj5u6NUnSaSYhhBCauoljycnJ4ZJLLuHxxx+PrXXr1o1rrrmGKVOmHPexlZWVRCIRotEoqampJ9VHff2vVlLz4S7z26O2edBsXzLdt28fK1asYMKECdXWhw4dyuLFi2vUV1VVUVVVFfs6Go0CX/8gTr6ZL0/+OSQ1KwkjZzZ1C/Uu+pvhTd1Cs3Q4B060/2u2gfjpp59y8OBBMjIyqq1nZGRQXl5eo37KlClMnjy5xnp2dnaD9ShJzUlk5simbqFZ2717N5FI5Jj3N9tAPCwhIaHa1yGEGmsAEydO5Pbbb499fejQIT7//HPS0tKOWl9blZWVZGdns2XLlpN+6bW5cKZTx+k4lzOdOk6XuUII7N69m6ysrOPWNdtAPPvss2nZsmWN3eCOHTtq7BoBkpKSSEpKqrZ25pln1ls/qampp/QfiKNxplPH6TiXM506Toe5jrczPKzZHmXaunVr+vTpw8KFC6utL1y4kP79+zdRV5Kk01Wz3SEC3H777RQWFtK3b19yc3N56qmn+Pjjj7nllluaujVJ0mmmWQfi8OHD+eyzz7j//vvZvn07PXv25LXXXqNTp06N1kNSUhL33XdfjZdjT2XOdOo4HedyplPH6TrXsTTr8xAlSWoszfY9REmSGpOBKEkSBqIkSYCBKEkSYCACX19iqnPnzrRp04Y+ffrwzjvvHLe+tLSUPn360KZNG84//3yeeOKJRuq09uKZafv27RQUFNC1a1datGhBUVFR4zUah3hmeumllxgyZAjnnHMOqamp5Obm8j//8z+N2G3txTPXokWLuPzyy0lLSyM5OZmLLrqIGTNmNGK3tRPv36nD3n33XRITE7n44osbtsE6iGemt99+m4SEhBq39evXN2LHJxbv76mqqop77rmHTp06kZSUxHe/+12eeeaZRuq2EYRvublz54ZWrVqFmTNnhrVr14bx48eHdu3ahc2bNx+1/qOPPgpt27YN48ePD2vXrg0zZ84MrVq1Cv/xH//RyJ0fW7wzbdq0KYwbNy4899xz4eKLLw7jx49v3IZrId6Zxo8fH6ZOnRqWLVsWNm7cGCZOnBhatWoVVq5c2cidH1+8c61cuTLMmTMnrF69OmzatCnMmjUrtG3bNjz55JON3PmxxTvTYbt27Qrnn39+GDp0aPj+97/fOM3WUrwzvfXWWwEIGzZsCNu3b4/dDhw40MidH1tdfk95eXkhJycnLFy4MGzatCm899574d13323ErhvWtz4QL7vssnDLLbdUW7vooovChAkTjlp/1113hYsuuqja2qhRo0K/fv0arMd4xTvTNw0YMKBZBuLJzHRY9+7dw+TJk+u7tZNSH3P9/d//ffjZz35W363VWV1nGj58ePjFL34R7rvvvmYXiPHOdDgQKyoqGqG7uol3ptdffz1EIpHw2WefNUZ7TeJb/ZLp4UtMDR06tNr6sS4xBbBkyZIa9VdeeSXvv/8++/fvb7Bea6suMzV39THToUOH2L17N+3bt2+IFuukPuZatWoVixcvZsCAAQ3RYtzqOtPvfvc7/vznP3Pfffc1dItxO5nfU+/evenQoQODBg3irbfeasg241KXmV555RX69u3LtGnT+M53vsOFF17InXfeyd69exuj5UbRrD+ppqHFe4kpgPLy8qPWHzhwgE8//ZQOHTo0WL+1UZeZmrv6mOmhhx7iiy++ID8/vyFarJOTmatjx47s3LmTAwcOMGnSJG666aaGbLXW6jLTH//4RyZMmMA777xDYmLz+yepLjN16NCBp556ij59+lBVVcWsWbMYNGgQb7/9Nj/84Q8bo+3jqstMH330EYsWLaJNmzbMmzePTz/9lNGjR/P555+fNu8jNr8/fU2gtpeYOl790dabUrwznQrqOtMLL7zApEmTePnll0lPT2+o9uqsLnO988477Nmzh6VLlzJhwgQuuOACfvrTnzZkm3Gp7UwHDx6koKCAyZMnc+GFFzZWe3USz++pa9eudO3aNfZ1bm4uW7Zs4Te/+U2zCMTD4pnp0KFDJCQkMHv27NiVI6ZPn861117Lo48+SnJycoP329C+1YEY7yWmADIzM49an5iYSFpaWoP1Wlt1mam5O5mZXnzxRUaMGMG///u/M3jw4IZsM24nM1fnzp0B6NWrF5988gmTJk1qFoEY70y7d+/m/fffZ9WqVYwdOxb4+h/eEAKJiYksWLCAv/qrv2qU3o+lvv5O9evXj+eff76+26uTuszUoUMHvvOd71S7jFK3bt0IIbB161a6dOnSoD03hm/1e4h1ucRUbm5ujfoFCxbQt29fWrVq1WC91tbpeNmsus70wgsvcOONNzJnzhyuvvrqhm4zbvX1uwohUFVVVd/t1Um8M6WmpvLhhx9SVlYWu91yyy107dqVsrIycnJyGqv1Y6qv39OqVaua/C2Vw+oy0+WXX862bdvYs2dPbG3jxo20aNGCjh07Nmi/jaaJDuZpNg4fevz000+HtWvXhqKiotCuXbvwl7/8JYQQwoQJE0JhYWGs/vBpF7fddltYu3ZtePrpp5vtaRe1nSmEEFatWhVWrVoV+vTpEwoKCsKqVavCmjVrmqL9o4p3pjlz5oTExMTw6KOPVjvsfdeuXU01wlHFO1dJSUl45ZVXwsaNG8PGjRvDM888E1JTU8M999zTVCPUUJc/f9/UHI8yjXemGTNmhHnz5oWNGzeG1atXhwkTJgQg/Od//mdTjVBDvDPt3r07dOzYMVx77bVhzZo1obS0NHTp0iXcdNNNTTVCvfvWB2IIITz66KOhU6dOoXXr1uGSSy4JpaWlsftuuOGGMGDAgGr1b7/9dujdu3do3bp1OO+888Ljjz/eyB2fWLwzATVunTp1atymTyCemQYMGHDUmW644YbGb/wE4pnrt7/9bejRo0do27ZtSE1NDb179w6PPfZYOHjwYBN0fmzx/vn7puYYiCHEN9PUqVPDd7/73dCmTZtw1llnhSuuuCL893//dxN0fXzx/p7WrVsXBg8eHJKTk0PHjh3D7bffHr788stG7rrhePknSZL4lr+HKEnSYQaiJEkYiJIkAQaiJEmAgShJEmAgSpIEGIiSJAEGonRKmjRp0gmvKn/jjTdyzTXXHLdm4MCBFBUV1Vtf0qnMQJQaWXl5OePHj+eCCy6gTZs2ZGRkcMUVV/DEE0/w5ZdfNmovL730Er/61a8A2L9/P3fffTe9evWiXbt2ZGVlcf3117Nt27ZqjznvvPNISEggISGB5ORkzjvvPPLz83nzzTcbtXepvhmIUiP66KOP6N27NwsWLKC4uJhVq1bxxhtvcNttt/Hqq6/yxhtvNGo/7du3JyUlBYAvv/ySlStX8stf/pKVK1fy0ksvsXHjRvLy8mo87v7772f79u1s2LCBf/3Xf+XMM89k8ODBPPDAA43av1Svmvqz46RvkyuvvDJ07Ngx7Nmz56j3Hzp0KIQQwubNm0NeXl5o165dSElJCT/+8Y9DeXl5rO7w530+8cQToWPHjiE5OTlce+21oaKiIlZzww03hL/7u78LkyZNCuecc05ISUkJI0eODFVVVbGaAQMGhPHjxx+z32XLlgUgbN68ObbWqVOnMGPGjBq19957b2jRokVYv359LX8aUvPiDlFqJJ999hkLFixgzJgxtGvX7qg1CQkJhBC45ppr+PzzzyktLWXhwoX8+c9/Zvjw4dVq//SnP/Fv//ZvvPrqq8yfP5+ysjLGjBlTreb3v/8969at46233uKFF15g3rx5TJ48udY9R6NREhISOPPMM09YO378eEIIvPzyy7V+fqk5+VZfIFhqTH/6058IIVS7kjp8fbHWr776CoAxY8YwePBg/vCHP7Bp0yays7MBmDVrFj169GD58uVceumlAHz11Vc899xzsWvRPfLII1x99dU89NBDZGZmAl9f9+6ZZ56hbdu29OjRg/vvv5+f//zn/OpXv6JFi+P/f/irr75iwoQJFBQUkJqaesL52rdvT3p6On/5y1/i+rlIzYU7RKmRJSQkVPt62bJllJWV0aNHD6qqqli3bh3Z2dmxMATo3r07Z555JuvWrYutnXvuudUuzJqbm8uhQ4fYsGFDbO373/8+bdu2rVazZ88etmzZctwe9+/fz09+8hMOHTrEY489VuvZQgg15pNOFe4QpUZywQUXkJCQwPr166utn3/++QAkJycDxw6VE4XN4ftqE0jHq9m/fz/5+fls2rSJN998s1a7Q/j6JeGdO3fSuXPnWtVLzY07RKmRpKWlMWTIEEpKSvjiiy+OWde9e3c+/vjjaru4tWvXEo1G6datW2zt448/rnZKxJIlS2jRogUXXnhhbO2DDz5g7969sa+XLl3KGWecUW1n+U2Hw/CPf/wjb7zxBmlpabWe75//+Z9p0aLFCc99lJorA1FqRI899hgHDhygb9++vPjii6xbt44NGzbw/PPPs379elq2bMngwYP53ve+x3XXXcfKlStZtmwZ119/PQMGDKBv376x52rTpg033HADH3zwAe+88w7jxo0jPz8/9v4hwL59+xgxYgRr167l9ddf57777mPs2LFHff/wwIEDXHvttbz//vvMnj2bgwcPUl5eTnl5Ofv27atWu3v3bsrLy9myZQv/+7//y8iRI/n1r3/NAw88wAUXXNBwP0CpITXlIa7St9G2bdvC2LFjQ+fOnUOrVq3CGWecES677LLw4IMPhi+++CKEUPvTLh577LGQlZUV2rRpE370ox+Fzz//PFZz+LSLe++9N6SlpYUzzjgj3HTTTeGrr76K1XzztItNmzYF4Ki3t956K/aYTp06xdZbt24dzj333JCfnx/efPPNhv3BSQ0sIYQQmi6OJUlqHnzJVJIkDERJkgADUZIkwECUJAkwECVJAgxESZIAA1GSJMBAlCQJMBAlSQIMREmSAANRkiTAQJQkCYD/DzfpEEq969blAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compareFPs(ms1,ms2,Gobbi2D_bits,\"Gobbi2D\")\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "pickle.dump(results_accum,open('./results/fp_thresholds_random_accum.pkl','wb+'))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }