From e9b1423b70562192f3a771014bf897fc18672d06 Mon Sep 17 00:00:00 2001 From: Jochen Sieg Date: Mon, 10 Feb 2025 14:36:43 +0100 Subject: [PATCH 1/5] estimators: add NearestNeighborsRetrieverTanimoto - Add new class that performs k-nearest neighbor searches using Tanimoto similarity. The implementation uses sparse dot product making the algorithm 2-3x faster than RDKit's BulkTanimotoSimilarity - Add notebook illustrating NearestNeighborsRetrieverTanimoto for dataset similarity analysis, like train/test set comaparison. --- molpipeline/estimators/nearest_neighbor.py | 208 ++++- molpipeline/utils/kernel.py | 8 +- .../advanced_04_dataset_similarity.ipynb | 750 ++++++++++++++++++ .../test_estimators/test_nearest_neighbors.py | 103 +++ 4 files changed, 1066 insertions(+), 3 deletions(-) create mode 100644 notebooks/advanced_04_dataset_similarity.ipynb diff --git a/molpipeline/estimators/nearest_neighbor.py b/molpipeline/estimators/nearest_neighbor.py index 456d90ef..82540fd3 100644 --- a/molpipeline/estimators/nearest_neighbor.py +++ b/molpipeline/estimators/nearest_neighbor.py @@ -2,19 +2,22 @@ from __future__ import annotations +import multiprocessing from typing import Any, Callable, Literal, Sequence, Union +from joblib import Parallel, delayed + try: from typing import Self except ImportError: from typing_extensions import Self - import numpy as np import numpy.typing as npt from scipy import sparse from sklearn.neighbors import NearestNeighbors +from molpipeline.utils.kernel import tanimoto_similarity_sparse from molpipeline.utils.value_checks import get_length __all__ = ["NamedNearestNeighbors"] @@ -202,3 +205,206 @@ def fit_predict( """ self.fit(X, y) return self.predict(X, return_distance=return_distance, n_neighbors=n_neighbors) + + +class NearestNeighborsRetrieverTanimoto: # pylint: disable=too-few-public-methods + """k-nearest neighbors between data sets using Tanimoto similarity. + + This class uses the Tanimoto similarity to find the k-nearest neighbors of a query set in a target set. + The full similarity matrix is computed and reduced to the k-nearest neighbors. A dot-product based + algorithm is used, which is faster than using the RDKit native Tanimoto function. + + For handling larger datasets, the computation can be batched to reduce memory usage. In addition, + the batches can be processed in parallel using joblib. + """ + + def __init__( + self, + target_fingerprints: sparse.csr_matrix, + k: int | None = None, + batch_size: int = 1000, + n_jobs: int = 1, + ): + """Initialize NearestNeighborsRetrieverTanimoto. + + Parameters + ---------- + target_fingerprints: sparse.csr_matrix + Fingerprints of target molecules. Must be a binary sparse matrix. + """ + self.target_fingerprints = target_fingerprints + if k is None: + self.k = self.target_fingerprints.shape[0] + else: + self.k = k + self.batch_size = batch_size + if n_jobs == -1: + self.n_jobs = multiprocessing.cpu_count() + else: + self.n_jobs = n_jobs + if self.k == 1: + self.knn_reduce_function = self._reduce_k_equals_1 + elif self.k < self.target_fingerprints.shape[0]: + self.knn_reduce_function = self._reduce_k_greater_1_less_n + else: + self.knn_reduce_function = self._reduct_to_indices_k_equals_n + + @staticmethod + def _reduce_k_equals_1( + similarity_matrix: npt.NDArray[np.float64], + ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: + """Reduce similarity matrix to k=1 nearest neighbors. + + Uses argmax to find the index of the nearest neighbor in the target fingerprints. + This function has therefore O(n) time complexity. + + Parameters + ---------- + similarity_matrix: npt.NDArray[np.float64] + Similarity matrix of Tanimoto scores between query and target fingerprints. + + Returns + ------- + npt.NDArray[np.int64] + Indices of the query's nearest neighbors in the target fingerprints. + """ + topk_indices = np.argmax(similarity_matrix, axis=1) + topk_similarities = np.take_along_axis( + similarity_matrix, topk_indices.reshape(-1, 1), axis=1 + ).squeeze() + return topk_indices, topk_similarities + + def _reduce_k_greater_1_less_n( + self, + similarity_matrix: npt.NDArray[np.float64], + ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: + """Reduce similarity matrix to k>1 and k tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: + """Reduce similarity matrix to k=n nearest neighbors. + + Parameters + ---------- + similarity_matrix: npt.NDArray[np.float64] + Similarity matrix of Tanimoto scores between query and target fingerprints. + + Returns + ------- + tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]] + Indices of the query's k-nearest neighbors in the target fingerprints and + the corresponding similarities. + """ + indices = np.fliplr(similarity_matrix.argsort(axis=1, kind="stable")) + similarities = np.take_along_axis(similarity_matrix, indices, axis=1) + return indices, similarities + + def _process_batch( + self, query_batch: sparse.csr_matrix + ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: + """Process a batch of query fingerprints. + + Parameters + ---------- + query_batch: sparse.csr_matrix + Batch of query fingerprints. + + Returns + ------- + tuple + Indices of the k-nearest neighbors in the target fingerprints and the corresponding similarities. + """ + # compute full similarity matrix for the query batch + similarity_mat_chunk = tanimoto_similarity_sparse( + query_batch, self.target_fingerprints + ) + + # reduce the similarity matrix to the k nearest neighbors + return self.knn_reduce_function(similarity_mat_chunk) + + def predict( + self, query_fingerprints: sparse.csr_matrix + ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: + """Predict the k-nearest neighbors of the query fingerprints. + + Parameters + ---------- + query_fingerprints: sparse.csr_matrix + Query fingerprints. + + Returns + ------- + tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]] + Indices of the k-nearest neighbors in the target fingerprints and the corresponding similarities. + """ + if query_fingerprints.shape[1] != self.target_fingerprints.shape[1]: + raise ValueError( + "The number of features in the query fingerprints does not match the number of features in the target fingerprints." + ) + if self.n_jobs > 1: + # parallel execution + with Parallel(n_jobs=self.n_jobs) as parallel: + # the parallelization is not optimal: the self.target_fingerprints (and query_fingerprints) are copied to each child process worker + # -> joblib does some behind the scenes mmapping but copying the full matrices is probably a memory bottleneck. + # If Python removes the GIL this here would be a good use case for threading with zero copies. + res = parallel( + delayed(self._process_batch)( + query_fingerprints[i : i + self.batch_size, :] + ) + for i in range(0, query_fingerprints.shape[0], self.batch_size) + ) + result_indices_tmp, result_similarities_tmp = zip(*res) + result_indices = np.concatenate(result_indices_tmp) + result_similarities = np.concatenate(result_similarities_tmp) + else: + # single process execution + result_shape = ( + (query_fingerprints.shape[0], self.k) + if self.k > 1 + else (query_fingerprints.shape[0],) + ) + result_indices = np.full(result_shape, -1, dtype=np.int64) + result_similarities = np.full(result_shape, np.nan, dtype=np.float64) + for i in range(0, query_fingerprints.shape[0], self.batch_size): + query_batch = query_fingerprints[i : i + self.batch_size, :] + ( + result_indices[i : i + self.batch_size], + result_similarities[i : i + self.batch_size], + ) = self._process_batch(query_batch) + + return result_indices, result_similarities diff --git a/molpipeline/utils/kernel.py b/molpipeline/utils/kernel.py index e949ebb9..b25ca221 100644 --- a/molpipeline/utils/kernel.py +++ b/molpipeline/utils/kernel.py @@ -25,8 +25,12 @@ def tanimoto_similarity_sparse( Matrix of similarity values between instances of A (rows/first dim) , and instances of B (columns/second dim). """ intersection = matrix_a.dot(matrix_b.transpose()).toarray() - norm_1 = np.array(matrix_a.multiply(matrix_a).sum(axis=1)) - norm_2 = np.array(matrix_b.multiply(matrix_b).sum(axis=1)) + norm_1 = np.array(matrix_a.sum(axis=1)) + if matrix_a is matrix_b: + # avoid calculating the same norm twice + norm_2 = norm_1 + else: + norm_2 = np.array(matrix_b.sum(axis=1)) union = norm_1 + norm_2.T - intersection # avoid division by zero https://stackoverflow.com/a/37977222 return np.divide( diff --git a/notebooks/advanced_04_dataset_similarity.ipynb b/notebooks/advanced_04_dataset_similarity.ipynb new file mode 100644 index 00000000..7ac91930 --- /dev/null +++ b/notebooks/advanced_04_dataset_similarity.ipynb @@ -0,0 +1,750 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e6afe352-c6de-4469-9508-a24cbd914d57", + "metadata": {}, + "source": [ + "# Analyzing similarity of molecular dataset\n", + "\n", + "This notebook illustrates how the `NearestNeighborsRetrieverTanimoto` can be used for analyzing the Tanimoto similarities of two datasets. \n", + "\n", + "Such analysis can be useful for many applications. For example, for analyzing how similar new molecules are to the training set to assess the applicability domain when making predictions. Alternatively the similarity of training and test set can be evaluated to understand how well the model generalizes. \n", + "\n", + "The notebook has the following sections:\n", + "\n", + "**How to compute dataset similarities?**\n", + "\n", + "**How to analyze similarities between train and test set?**\n", + "\n", + "**Comparison to native RDKit Tanimoto computation**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4b74dcad-0865-41a5-b380-fe6fdea89506", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from rdkit import DataStructs\n", + "from sklearn.model_selection import train_test_split\n", + "import seaborn as sns\n", + "\n", + "from molpipeline import Pipeline, ErrorFilter\n", + "from molpipeline.any2mol import AutoToMol\n", + "from molpipeline.mol2any import MolToMorganFP\n", + "\n", + "from molpipeline.utils.kernel import tanimoto_similarity_sparse\n", + "from molpipeline.estimators.nearest_neighbor import NearestNeighborsRetrieverTanimoto" + ] + }, + { + "cell_type": "markdown", + "id": "17a66d14-8a18-4363-9016-199feeefbff6", + "metadata": {}, + "source": [ + "For this notebook we use 20k molecules from ChEMBL35 as a dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "dd318e60-226e-4fcc-a245-cbada6ac36bb", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\"example_data/chembl_35_20k.smi.gz\", index_col=\"index\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d1013e21-f57f-4917-a764-ebf24c586b51", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\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", + "
smileschembl_id
index
0Cc1cc(-c2csc(N=C(N)N)n2)cn1CCHEMBL153534
1CC[C@H](C)[C@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@@H...CHEMBL440060
2CCCC[C@@H]1NC(=O)[C@@H](NC(=O)[C@H](CC(C)C)NC(...CHEMBL440245
3CC(C)C[C@@H]1NC(=O)CNC(=O)[C@H](c2ccc(O)cc2)NC...CHEMBL440249
4Brc1cccc(Nc2ncnc3ccncc23)c1NCCN1CCOCC1CHEMBL405398
.........
19995NS(=O)(=O)c1ccc(NC(=O)c2ccccc2)cc1CHEMBL23559
19996Cn1cncc1C(O)(C#Cc1ccc(C#N)cc1-c1cc(Cl)cc(Cl)c1...CHEMBL23578
19997CC(C)(C)C(=O)Nc1nnc(S(N)(=O)=O)s1CHEMBL23579
19998COC(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)NC(Cc1ccccc1...CHEMBL23580
19999CC(C)c1nc2sc3c(c2c(-c2ccc(F)cc2)c1/C=C/[C@@H](...CHEMBL23581
\n", + "

20000 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " smiles chembl_id\n", + "index \n", + "0 Cc1cc(-c2csc(N=C(N)N)n2)cn1C CHEMBL153534\n", + "1 CC[C@H](C)[C@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@@H... CHEMBL440060\n", + "2 CCCC[C@@H]1NC(=O)[C@@H](NC(=O)[C@H](CC(C)C)NC(... CHEMBL440245\n", + "3 CC(C)C[C@@H]1NC(=O)CNC(=O)[C@H](c2ccc(O)cc2)NC... CHEMBL440249\n", + "4 Brc1cccc(Nc2ncnc3ccncc23)c1NCCN1CCOCC1 CHEMBL405398\n", + "... ... ...\n", + "19995 NS(=O)(=O)c1ccc(NC(=O)c2ccccc2)cc1 CHEMBL23559\n", + "19996 Cn1cncc1C(O)(C#Cc1ccc(C#N)cc1-c1cc(Cl)cc(Cl)c1... CHEMBL23578\n", + "19997 CC(C)(C)C(=O)Nc1nnc(S(N)(=O)=O)s1 CHEMBL23579\n", + "19998 COC(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)NC(Cc1ccccc1... CHEMBL23580\n", + "19999 CC(C)c1nc2sc3c(c2c(-c2ccc(F)cc2)c1/C=C/[C@@H](... CHEMBL23581\n", + "\n", + "[20000 rows x 2 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "id": "824a47b9-2ecc-4505-bf73-df06a70795e0", + "metadata": {}, + "source": [ + "## How to compute dataset similarities? " + ] + }, + { + "cell_type": "markdown", + "id": "8125630a-a8d0-4247-8929-bde009b6f550", + "metadata": {}, + "source": [ + "To start the comparison we need the fingerprints as sparse matrices." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "491e9e8b-9210-4d03-8b9b-42d8831389d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1.82 s, sys: 657 ms, total: 2.47 s\n", + "Wall time: 16.9 s\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "error_filter = ErrorFilter()\n", + "\n", + "fingerprint_pipeline = Pipeline(\n", + " [\n", + " (\"auto2mol\", AutoToMol()),\n", + " (\"error_filter\", error_filter),\n", + " (\"morgan2_2048\", MolToMorganFP(n_bits=2048, radius=2, return_as=\"sparse\")),\n", + " ],\n", + " n_jobs=-1,\n", + ")\n", + "\n", + "fp_matrix = fingerprint_pipeline.transform(df[\"smiles\"])\n", + "fp_matrix" + ] + }, + { + "cell_type": "markdown", + "id": "ae7865fe-67d7-441f-bd3d-1c1d7f6a4e84", + "metadata": {}, + "source": [ + "The resulting fingerprint matrix has the shape (19999, 2048) showing that 1 molecule could not be processed." + ] + }, + { + "cell_type": "markdown", + "id": "6425965c-9263-41ca-87e2-729693bf4a2e", + "metadata": {}, + "source": [ + "To make a data set comparison we need to define the target and the query data set. The `NearestNeighborsRetrieverTanimoto` will retrieve the k most similar molecules in the target data sets for every query fingerprint. In this example we use the same matrix as target and query data set and compute their 3-nearest neighbors using `k=3`. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "18455107-0f22-479e-9359-8a81ce66934f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 116 ms, sys: 14.2 ms, total: 130 ms\n", + "Wall time: 6.46 s\n" + ] + } + ], + "source": [ + "%%time\n", + "target_fps = fp_matrix\n", + "query_fps = target_fps\n", + "\n", + "retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=3, n_jobs=-1)\n", + "indices, similarities = retriever.predict(query_fps)" + ] + }, + { + "cell_type": "markdown", + "id": "ef7b6df2-8741-44e1-aaba-94f4534db708", + "metadata": {}, + "source": [ + "The output of the retriever are a list of `indices` corresponding to the hits in the target dataset and a list of the hits' Tanimoto similarities" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f87925c5-ec5c-4a7b-8ca3-9c550cd6cd2a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 13038, 13544],\n", + " [ 2744, 1, 111],\n", + " [ 2, 2984, 24],\n", + " ...,\n", + " [19996, 3854, 10457],\n", + " [19997, 11806, 1485],\n", + " [19998, 19881, 19690]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indices" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a87fcc03-8941-4198-bc11-655b2c540ee0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(19999, 3)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indices.shape" + ] + }, + { + "cell_type": "markdown", + "id": "5fe38ce9-f778-4c68-83ee-a48e8535490b", + "metadata": {}, + "source": [ + "The `indices` array contains one row for each query fingerprint and three columns for the 3-nearest neighbors. The hits of each query are sorted from left to right in descending order. The `similarities` array has the same shape as `indices` but contains the Tanimoto scores. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b3977853-ccc3-4647-b9c5-90acb7c5fd95", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1. , 0.60784314, 0.30909091],\n", + " [1. , 1. , 1. ],\n", + " [1. , 0.97986577, 0.87179487],\n", + " ...,\n", + " [1. , 0.68571429, 0.575 ],\n", + " [1. , 0.41860465, 0.41836735],\n", + " [1. , 0.96969697, 0.63291139]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "similarities" + ] + }, + { + "cell_type": "markdown", + "id": "3cd1973b-4563-4dd9-8a66-1f93ef0ba4c0", + "metadata": {}, + "source": [ + "Since we used the same dataset for the query and the target dataset, we always find a molecule with a similarity of 1.0 because the query itself is contained in the target dataset. However, sometimes there are multiple hits with the same Tanimoto score of 1.0." + ] + }, + { + "cell_type": "markdown", + "id": "d8f41e49-a307-476a-a168-4a01e3276581", + "metadata": {}, + "source": [ + "## How to analyze similarities between train and test set?\n", + "\n", + "The nearest neighbors can be used for analyzing the similarity between training and test set which can be an essential tool to better understand the generalization capabilities of machine learning models. In addition, this information can be used to select an appropriate data splitting strategy." + ] + }, + { + "cell_type": "markdown", + "id": "2cd5fc30-f176-4a1e-8235-3d77bfc0ed69", + "metadata": {}, + "source": [ + "First we make a train/test split with our ChEMBL data and a dummy y vector because we don't use the labels in this example. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "48c61bce-af90-48b9-9222-b0d984be6fa5", + "metadata": {}, + "outputs": [], + "source": [ + "# let's use dummy values for y\n", + "y = np.zeros(fp_matrix.shape[0], dtype=np.int64)\n", + "\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " fp_matrix, y, test_size=0.33, random_state=42\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a6706966-fce9-4aca-b175-ce65827fdbb9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train" + ] + }, + { + "cell_type": "markdown", + "id": "e18d7248-18c5-46bd-bfcf-d15856a0871b", + "metadata": {}, + "source": [ + "We use the `NearestNeighborsRetrieverTanimoto` to get the 1-nearest neighbors of the test compounds in the training set" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3d3a9ab0-891a-4990-a5f6-2ce616fd2bc6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.7826087 , 0.74736842, 0.85074627, ..., 0.7752809 , 0.60869565,\n", + " 0.81538462])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "retriever = NearestNeighborsRetrieverTanimoto(X_train, k=1, n_jobs=-1)\n", + "indices, similarities = retriever.predict(X_test)\n", + "similarities" + ] + }, + { + "cell_type": "markdown", + "id": "4f123918-6595-4d95-8396-fb3a8eac3185", + "metadata": {}, + "source": [ + "Let's look at the mean similarities of the most similar compounds in the training set" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "11b2789c-9940-4958-889c-ecf107d26516", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.6575015090173907" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.mean(similarities)" + ] + }, + { + "cell_type": "markdown", + "id": "ab4e809c-ff50-4871-b4b0-1d290f71c9f7", + "metadata": {}, + "source": [ + "We can also plot the distribution of similarities to get a better impression how similar the train and test set are to each other." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "401ee1a7-04c7-4ac6-be9f-0eada88a1021", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, '1-nearest neighbor Tanimoto similarities to training data')" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+JTyUNbtoiI0a9YMTk5OWLt2rcY29Msvv+Dy5csafVPQdtW9e3fk5ubi888/15i+YsUKGBkZFTguC3h+xtrL242vry+MjY3LdAhGF7R9fllZWVi9enWZlluS7+eAAQOQm5uLxYsX55uXk5MjLePhw4f59kDkne1XVD9aWVlpraV79+74448/NLbXJ0+eYN26dfD09ISPj0+pllsQbf0N5P/e6lNQUBBu376tcUmQjIwMfPnll0W+1sTEBEFBQdi5cyeSkpKk6ZcvX873m6qtL9LS0rBhw4Z8yy2on01MTPL15datWzUuKVGeuGdHBz7//HOoVCrpH87du3fj1q1bAJ4PTi3qdNXi+vDDD3HkyBG0bNkSY8aMgY+PDx48eIA///wTBw8elMYB9ezZE9u3b0ffvn3Ro0cPJCYmYu3atfDx8cHjx4+L9V5RUVF4/fXX4evrizFjxsDLywupqamIjY3FrVu3pGsj+Pj4oEOHDvD394eDgwPOnDmDbdu2adxLKi/YTZ48GUFBQTAxMcGgQYPK3B8zZszATz/9hJ49e0qncz558gTx8fHYtm0bbty4UeBfDIsWLcL+/fvRpk0bjB8/XvrHsVGjRmW+bH5iYiJ69+6Nrl27IjY2Ft999x3efvttNGnSBADQpEkThISEYN26ddKhiT/++AMbN25Enz590LFjxzK9f0F0sV2UN1NTU3z00UcYMWIE2rdvj8GDB0unnnt6emLq1KlS24K2q169eqFjx46YO3cubty4gSZNmmD//v3YtWsXpkyZku+U4xcdPnwYEydOxFtvvYW6desiJycH3377rfTHhj61bt0aVatWRUhICCZPngwjIyN8++23ZT6s4e3tDXt7e6xduxY2NjawsrJCy5YttY5had++PcaNG4fIyEjExcWhS5cuMDU1xdWrV7F161b85z//Qf/+/bFx40asXr0affv2hbe3Nx49eoQvv/wStra2UtgviL+/P9asWYMlS5agdu3acHJyQqdOnfD+++/j+++/R7du3TB58mQ4ODhg48aNSExMxI8//ljkFa39/f1x8OBBfPrpp3B1dUWtWrWkAfLa2Nraol27dli2bBmys7NRo0YN7N+/v8x70nRp3Lhx+PzzzzF48GC89957cHFxwaZNm6TB/UXtzQoPD8fevXvRtm1bTJgwATk5OVi1ahUaNmyoMfayS5cu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cSOio6OxYMECfa0SERERGRi93i6iV69eGs8/+OADrFmzBqdOnULNmjXx1VdfYfPmzejUqRMAYMOGDWjQoAFOnTqFVq1aYf/+/bh06RIOHjwIZ2dn+Pn5YfHixZg1axYWLVoEMzMzfawWERERGRCDGbOTm5uLLVu24MmTJwgICMDZs2eRnZ2NwMBAqU39+vXh7u6O2NhYAEBsbCx8fX3h7OwstQkKCkJ6erq0d0ibzMxMpKenazyIiEheVKo0ODorC334+jXVd5lUAfR+I9D4+HgEBAQgIyMD1tbW2LFjB3x8fBAXFwczMzPY29trtHd2dkZKSgoAICUlRSPo5M3Pm1eQyMhIhIeH63ZFiIjIoKjVat4ZnQAYwJ6devXqIS4uDr///jvGjx+PkJAQXLp0qVzfc/bs2UhLS5Me//zzT7m+HxEREemP3vfsmJmZoXbt2gAAf39/nD59Gv/5z38wcOBAZGVlQaVSaezdSU1NhVKpBAAolUr88ccfGsvLO1srr402CoUCCoVCx2tCRES6kHf4qag2RMWl97DzMrVajczMTPj7+8PU1BSHDh1CcHAwAODKlStISkpCQEAAACAgIAAffPAB7t69CycnJwDAgQMHYGtrCx8fH72tAxERlV5xDj9N7+5bQdWQHOg17MyePRvdunWDu7s7Hj16hM2bN+Po0aPYt28f7OzsMGrUKISFhcHBwQG2traYNGkSAgIC0KpVKwBAly5d4OPjg2HDhmHZsmVISUnBvHnzEBoayj03REREBEDPYefu3bt45513kJycDDs7OzRu3Bj79u3DG2+8AQBYsWIFjI2NERwcjMzMTAQFBWH16tXS601MTLBnzx6MHz8eAQEBsLKyQkhICCIiIvS1SkREslScQ0tKFxfEx52roIqIik+vYeerr74qdL65uTmioqIQFRVVYBsPDw/ExMToujQiInoBz2yiykzvZ2MRERERlSeGHSIiIpI1hh0iIiKSNYYdIiIikjWDu84OERFVTrwYIBkqhh0iItIJXgyQDBUPYxEREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrFXRdwFERET6olKlwdFZWWgbpYsL4uPOVVBFVB4Y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Pu5cBVUkDww7REREBqI4N/VdOrRdBVUjHzyMRURERLLGsENERESyxrBDREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLJWRd8FEBkSX7+mSElOLrSNSpVWQdUQEZEuMOwQvSAlORlzvjteaJvp3X0rqBoiItIFHsYiIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWePtIoiIiCoRlSoNjs7KQts8fvIE1lZWhbZRurggPu6cLkszWAw7RERElYharS7WPfzm7DhbaJulQ9vpsiyDxsNYREREJGsMO0RERCRrDDtEREQkaww7REREJGsMO0RERCRrDDtEREQkaww7REREJGsGHXYWLVoEIyMjjUf9+vWl+RkZGQgNDUW1atVgbW2N4OBgpKam6rFiIiIiMjQGHXYAoGHDhkhOTpYeJ06ckOZNnToVu3fvxtatW3Hs2DHcuXMH/fr102O1REREZGgM/grKVapUgVKZ/7LYaWlp+Oqrr7B582Z06tQJALBhwwY0aNAAp06dQqtWrSq6VCIiIjJABh92rl69CldXV5ibmyMgIACRkZFwd3fH2bNnkZ2djcDAQKlt/fr14e7ujtjY2ELDTmZmJjIzM6Xn6enp5boOZBh8/ZoiJTm50DYqVVoFVUNEZPjk8rtp0GGnZcuWiI6ORr169ZCcnIzw8HC0bdsWFy5cQEpKCszMzGBvb6/xGmdnZ6SkpBS63MjISISHh5dj5WSIUpKTi3U/GSIiek4uv5sGHXa6desm/X/jxo3RsmVLeHh44L///S8sLCxKvdzZs2cjLCxMep6eng43N7cy1UpERESGyeAHKL/I3t4edevWRUJCApRKJbKysqBSqTTapKamah3j8yKFQgFbW1uNBxEREclTpQo7jx8/xrVr1+Di4gJ/f3+Ympri0KFD0vwrV64gKSkJAQEBeqySiIiIDIlBH8aaPn06evXqBQ8PD9y5cwcLFy6EiYkJBg8eDDs7O4waNQphYWFwcHCAra0tJk2ahICAAJ6JRURERBKDDju3bt3C4MGD8e+//8LR0RGvv/46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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.histplot(pd.DataFrame({\"1nn_similarities\": similarities}), bins=50)\n", + "plt.title(f\"1-nearest neighbor Tanimoto similarities to training data\")" + ] + }, + { + "cell_type": "markdown", + "id": "ba609b94-1a37-4691-98cb-48533a9fa5c5", + "metadata": {}, + "source": [ + "As the histogram shows, the similarity between the test and training set is relatively high with most compounds having a similarity >0.6 and even ~250 molecules with a Tanimoto score of 1. However, this is just a hypothetical example. If a real-world dataset would have such high similarities we would probably use cluster or time splits to reduce the similarity and data leakage. " + ] + }, + { + "cell_type": "markdown", + "id": "4439964e-d9e7-4e5c-af77-10e16db7d842", + "metadata": {}, + "source": [ + "## Comparison to native RDKit Tanimoto computation" + ] + }, + { + "cell_type": "markdown", + "id": "61516a5d-a871-4b30-a5eb-3fe57282a9d1", + "metadata": {}, + "source": [ + "`NearestNeighborsRetrieverTanimoto` performs an exhaustive comparison to find the k-nearest neighbors. To do this, the full similarity matrix must be computed. MolPipeline's algorithm for finding these Tanimoto similarity scores differs from the approach in RDKit. In MolPipeline, we use an implementation based on sparse matrices that exploits the sparse matrix dot product algorithm from scipy. The central function is `tanimoto_similarity_sparse` which computes the full similarity matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d54ef845-9b6b-474e-85a8-4368b69387cf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 19.3 s, sys: 9.39 s, total: 28.7 s\n", + "Wall time: 28.7 s\n" + ] + }, + { + "data": { + "text/plain": [ + "(19999, 19999)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "sim_matrix = tanimoto_similarity_sparse(fp_matrix, fp_matrix)\n", + "sim_matrix.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "ab1a9fdf-ad68-4c53-9d66-5b26c1c4694b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1. , 0.08783784, 0.05747126, ..., 0.09836066, 0.06730769,\n", + " 0.08602151],\n", + " [0.08783784, 1. , 0.45212766, ..., 0.05405405, 0.19760479,\n", + " 0.10465116],\n", + " [0.05747126, 0.45212766, 1. , ..., 0.04678363, 0.17368421,\n", + " 0.09230769],\n", + " ...,\n", + " [0.09836066, 0.05405405, 0.04678363, ..., 1. , 0.07070707,\n", + " 0.10344828],\n", + " [0.06730769, 0.19760479, 0.17368421, ..., 0.07070707, 1. ,\n", + " 0.12903226],\n", + " [0.08602151, 0.10465116, 0.09230769, ..., 0.10344828, 0.12903226,\n", + " 1. ]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sim_matrix" + ] + }, + { + "cell_type": "markdown", + "id": "7f588705-1d0e-48d8-b5df-8f987298425a", + "metadata": {}, + "source": [ + "To get the full similarity matrix with RDKit using `BulkTanimotoSimilarity`, we have to have the fingerprints as a different datastructure, for example as `ExplicitBitVect`. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c53e1b2f-3001-49ba-bc82-152098facd0d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1.27 s, sys: 143 ms, total: 1.42 s\n", + "Wall time: 1.73 s\n" + ] + }, + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "error_filter = ErrorFilter()\n", + "\n", + "fingerprint_pipeline2 = Pipeline(\n", + " [\n", + " (\"auto2mol\", AutoToMol()),\n", + " (\"error_filter\", error_filter),\n", + " (\n", + " \"morgan2_2048\",\n", + " MolToMorganFP(n_bits=2048, radius=2, return_as=\"explicit_bit_vect\"),\n", + " ),\n", + " ],\n", + " n_jobs=-1,\n", + ")\n", + "\n", + "fp_matrix_explicit = fingerprint_pipeline2.transform(df[\"smiles\"])\n", + "fp_matrix_explicit[:4]" + ] + }, + { + "cell_type": "markdown", + "id": "83e28e13-b375-48d1-8160-2a9b08edba73", + "metadata": {}, + "source": [ + "Now, let's compute the full similarity matrix using RDKit's `BulkTanimotoSimilarity`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "797df24b-d431-47d5-860c-7eb7bd933564", + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "sim_mat_rdkit = np.full((len(fp_matrix_explicit), len(fp_matrix_explicit)), np.nan)\n", + "for i, query_fp in enumerate(fp_matrix_explicit):\n", + " sim_mat_rdkit[i, :] = DataStructs.BulkTanimotoSimilarity(\n", + " query_fp, fp_matrix_explicit\n", + " )\n", + "sim_mat_rdkit.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92b5b3fa-7365-439a-a490-877156f039a8", + "metadata": {}, + "outputs": [], + "source": [ + "assert np.allclose(sim_matrix, sim_mat_rdkit)" + ] + }, + { + "cell_type": "markdown", + "id": "442e7536-2e67-4f80-938c-12b958ac2d89", + "metadata": {}, + "source": [ + "Based on this simple comparison MolPipeline's similarity matrix computation is about ~2-3 times faster than RDKit's. However, of course there are many other things to consider that are not touched in this notebook. For example, `tanimoto_similarity_sparse` uses more memory since it needs intermediate matrices while `BulkTanimotoSimilarity` uses almost no memory. In addition, for both approaches different strategies for parallelization come to mind (one is implemented in `NearestNeighborsRetrieverTanimoto`), which can be beneficial in different scenarios. Lastly, while the here discussed functions are useful for easy analysis in Python, there are highly optimized tools for similarity search, like [Artor](https://www.nextmovesoftware.com/arthor.html) which should probably be used when search speed is essential. " + ] + } + ], + "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.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/test_estimators/test_nearest_neighbors.py b/tests/test_estimators/test_nearest_neighbors.py index 88bc14fa..cda24c8f 100644 --- a/tests/test_estimators/test_nearest_neighbors.py +++ b/tests/test_estimators/test_nearest_neighbors.py @@ -3,11 +3,13 @@ from unittest import TestCase import numpy as np +from scipy.sparse import csr_matrix from sklearn.base import clone from molpipeline import ErrorFilter, FilterReinserter, Pipeline, PostPredictionWrapper from molpipeline.any2mol import SmilesToMol from molpipeline.estimators import NamedNearestNeighbors, TanimotoToTraining +from molpipeline.estimators.nearest_neighbor import NearestNeighborsRetrieverTanimoto from molpipeline.mol2any import MolToMorganFP from molpipeline.utils.kernel import tanimoto_distance_sparse @@ -34,6 +36,15 @@ ] ) +FOUR_NN_SIMILARITIES = np.array( + [ + [1.0, 3 / 14, 0.0, 0.0], + [1.0, 3 / 14, 0.038461538461538464, 0.0], + [1.0, 4 / 9, 0.0, 0.0], + [1.0, 4 / 9, 0.038461538461538464, 0.0], + ] +) + class TestNamedNearestNeighbors(TestCase): """Test the NamedNearestNeighbors class if correct names are returned.""" @@ -209,3 +220,95 @@ def test_fit_and_predict_invalid_with_distance(self) -> None: self.assertTrue( 1 - np.allclose(distances[1:, :].astype(np.float64), TWO_NN_SIMILARITIES) ) + + +class TestNearestNeighborsRetrieverTanimoto(TestCase): + """Test nearest neighbors retriever with tanimoto.""" + + example_fingerprints: csr_matrix + + @classmethod + def setUpClass(cls) -> None: + """Set up the tests.""" + morgan_pipeline = Pipeline( + [ + ("mol", SmilesToMol()), + ("fingerprint", MolToMorganFP()), + ] + ) + cls.example_fingerprints = morgan_pipeline.transform(TEST_SMILES) + + def test_k_equals_1(self) -> None: + """Test the k=1 retrieval.""" + target_fps = self.example_fingerprints + query_fps = self.example_fingerprints + + retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=1) + indices, similarities = retriever.predict(query_fps) + self.assertTrue(np.array_equal(indices, np.array([0, 1, 2, 3]))) + self.assertTrue(np.allclose(similarities, np.array([1, 1, 1, 1]))) + + # test parallel + retriever = NearestNeighborsRetrieverTanimoto( + target_fps, k=1, n_jobs=2, batch_size=2 + ) + indices, similarities = retriever.predict(query_fps) + self.assertTrue(np.array_equal(indices, np.array([0, 1, 2, 3]))) + self.assertTrue(np.allclose(similarities, np.array([1, 1, 1, 1]))) + + def test_k_greater_1_less_n(self) -> None: + """Test k>1 and k None: + """Test k=n retrieval.""" + target_fps = self.example_fingerprints + query_fps = self.example_fingerprints + + retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=target_fps.shape[0]) + indices, similarities = retriever.predict(query_fps) + self.assertTrue( + np.array_equal( + indices, + np.array([[0, 1, 3, 2], [1, 0, 3, 2], [2, 3, 1, 0], [3, 2, 1, 0]]), + ) + ) + self.assertTrue(np.allclose(similarities, FOUR_NN_SIMILARITIES)) + + # test parallel + retriever = NearestNeighborsRetrieverTanimoto( + target_fps, k=target_fps.shape[0], n_jobs=2, batch_size=2 + ) + indices, similarities = retriever.predict(query_fps) + self.assertTrue( + np.array_equal( + indices, + np.array([[0, 1, 3, 2], [1, 0, 3, 2], [2, 3, 1, 0], [3, 2, 1, 0]]), + ) + ) + self.assertTrue(np.allclose(similarities, FOUR_NN_SIMILARITIES)) + + # [ + # [1.0, 3 / 14, 0.0, 0.0], + # [1.0, 3 / 14, 0.038461538461538464, 0.0], + # [1.0, 4 / 9, 0.0, 0.0], + # [1.0, 4 / 9, 0.038461538461538464, 0.0], + # ] From b0df02a4c9d3c209b682da849324727c2af6938f Mon Sep 17 00:00:00 2001 From: Jochen Sieg Date: Mon, 10 Feb 2025 14:40:18 +0100 Subject: [PATCH 2/5] docsig --- molpipeline/estimators/nearest_neighbor.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/molpipeline/estimators/nearest_neighbor.py b/molpipeline/estimators/nearest_neighbor.py index 82540fd3..6b4d07eb 100644 --- a/molpipeline/estimators/nearest_neighbor.py +++ b/molpipeline/estimators/nearest_neighbor.py @@ -231,6 +231,12 @@ def __init__( ---------- target_fingerprints: sparse.csr_matrix Fingerprints of target molecules. Must be a binary sparse matrix. + k: int, optional (default=None) + Number of nearest neighbors to find. If None, all neighbors are returned. + batch_size: int, optional (default=1000) + Size of the batches for parallel processing. + n_jobs: int, optional (default=1) + Number of parallel jobs to run for neighbors search. """ self.target_fingerprints = target_fingerprints if k is None: From 21f37e67cb93687fcfae90b868473ef1caba1dcb Mon Sep 17 00:00:00 2001 From: Jochen Sieg Date: Mon, 10 Feb 2025 14:41:43 +0100 Subject: [PATCH 3/5] finished notebook execution --- .../advanced_04_dataset_similarity.ipynb | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/notebooks/advanced_04_dataset_similarity.ipynb b/notebooks/advanced_04_dataset_similarity.ipynb index 7ac91930..2341d106 100644 --- a/notebooks/advanced_04_dataset_similarity.ipynb +++ b/notebooks/advanced_04_dataset_similarity.ipynb @@ -693,10 +693,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "797df24b-d431-47d5-860c-7eb7bd933564", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1min 9s, sys: 245 ms, total: 1min 10s\n", + "Wall time: 1min 10s\n" + ] + }, + { + "data": { + "text/plain": [ + "(19999, 19999)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "%%time\n", "sim_mat_rdkit = np.full((len(fp_matrix_explicit), len(fp_matrix_explicit)), np.nan)\n", @@ -709,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "92b5b3fa-7365-439a-a490-877156f039a8", "metadata": {}, "outputs": [], From 4a3700fba77075d6649d52d0ae3acbf49a5243d7 Mon Sep 17 00:00:00 2001 From: Jochen Sieg Date: Mon, 10 Feb 2025 14:50:14 +0100 Subject: [PATCH 4/5] add chembl_35_20k.smi.gz example data file --- notebooks/example_data/chembl_35_20k.smi.gz | Bin 0 -> 376686 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 notebooks/example_data/chembl_35_20k.smi.gz diff --git a/notebooks/example_data/chembl_35_20k.smi.gz b/notebooks/example_data/chembl_35_20k.smi.gz new file mode 100644 index 0000000000000000000000000000000000000000..24349fd56c10f7724dba2ef5f998faac3a028926 GIT binary patch literal 376686 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%0D=Eb7NF(h9EC{AC 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⁢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ȿ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 DYH!&#(fJqtGVeSU)NH@1U1}rmPsmiL&5+;Oe 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
be zw{oN%7#)K(4pF21ZjjO0lnDKIv+12j}*IMiOI$ts33e|=l&vi>dpc*5BbXb7!XD>b&K&cup zCTCs~z?|fr`qpt7qeW;T<_`}0co8wslI54Y$5$M;d0@__tNHTIT&`(QjR>m7i+_6w zlCwyejhA7ifyfp&NCa{k7l$WltV}m!HaixWzCWo!Rs(Nq6x?%ct(Bfd06A88=L%@g zsFqU6U$nXku+ONJ>^q%aZ_cbKxd?K{NXplbv0IWjaBl?|FKBC`?iVE3fQrT8#pK`^ zAJvnbe14*pw7kXjwxqw;3!4{)-j6_jN5zI-o8?$+>a|jmH4lJQ8nK{l!1VD9e;Xa= zb7&f&r&_6PVuazeg*BKU#jZV4Fmi<}3OQ|wk0ob^&nzX2M=oQ1DS0Z{yY0FrhduJ; zupDbwQMw9bi;H0%b@2#`-tC&y?HnS)3Tw0KB8ih)rJJ(tLD!yjEA$+d?k7>}{;ouX zM%*=OQU82OEyFeo9LI{XciNLjfDn9e0i^uEj0k2(daF!61i_zk-khkxP@`S9MvkRx(4ei#=4fd z3ZRT5rRm7GUu~s0e~^#qVuY{asc)y)z8QZ~D+E$(U*q4ljMZx4s4~24*u0F(O{Z9Q zaXEIq32bg9lO}zBG>fD)v20rV>zA~DO>Q=-Ya7n#spi;j)5cIK-Y*HLI&Ge>qsni` zR;YTlpDl{dfC?n$G(W=s#xO)DgaH&h6ToCJyR#GnNHy>?GJr4szW{Wt} z)OIgkl%T!BAi4nE7>g?1)0A{F4BJ+M@4>n(o^q?6@@xH==Ak(2{!mJ2s?|Vsm*lT) z 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

>)d*IFRO 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 Date: Thu, 13 Feb 2025 14:43:00 +0100 Subject: [PATCH 5/5] first part Christians comments --- molpipeline/estimators/nearest_neighbor.py | 101 ++++++++++++++---- molpipeline/utils/multi_proc.py | 2 +- .../test_estimators/test_nearest_neighbors.py | 82 +++++++++----- 3 files changed, 135 insertions(+), 50 deletions(-) diff --git a/molpipeline/estimators/nearest_neighbor.py b/molpipeline/estimators/nearest_neighbor.py index 6b4d07eb..db76fc34 100644 --- a/molpipeline/estimators/nearest_neighbor.py +++ b/molpipeline/estimators/nearest_neighbor.py @@ -2,10 +2,13 @@ from __future__ import annotations -import multiprocessing from typing import Any, Callable, Literal, Sequence, Union from joblib import Parallel, delayed +from scipy.sparse import csr_matrix +from sklearn.base import BaseEstimator + +from molpipeline.utils.multi_proc import check_available_cores try: from typing import Self @@ -207,8 +210,8 @@ def fit_predict( return self.predict(X, return_distance=return_distance, n_neighbors=n_neighbors) -class NearestNeighborsRetrieverTanimoto: # pylint: disable=too-few-public-methods - """k-nearest neighbors between data sets using Tanimoto similarity. +class TanimotoKNN(BaseEstimator): # pylint: disable=too-few-public-methods + """k-nearest neighbors (KNN) between data sets using Tanimoto similarity. This class uses the Tanimoto similarity to find the k-nearest neighbors of a query set in a target set. The full similarity matrix is computed and reduced to the k-nearest neighbors. A dot-product based @@ -218,42 +221,85 @@ class NearestNeighborsRetrieverTanimoto: # pylint: disable=too-few-public-metho the batches can be processed in parallel using joblib. """ + target_indices_mapping_: npt.NDArray[np.int64] | None + def __init__( self, - target_fingerprints: sparse.csr_matrix, - k: int | None = None, + *, + k: int | None, batch_size: int = 1000, n_jobs: int = 1, ): - """Initialize NearestNeighborsRetrieverTanimoto. + """Initialize TanimotoKNN. Parameters ---------- - target_fingerprints: sparse.csr_matrix - Fingerprints of target molecules. Must be a binary sparse matrix. - k: int, optional (default=None) + k: int | None Number of nearest neighbors to find. If None, all neighbors are returned. batch_size: int, optional (default=1000) Size of the batches for parallel processing. n_jobs: int, optional (default=1) Number of parallel jobs to run for neighbors search. """ - self.target_fingerprints = target_fingerprints - if k is None: - self.k = self.target_fingerprints.shape[0] - else: - self.k = k + self.target_fingerprints: csr_matrix | None = None + self.k = k self.batch_size = batch_size - if n_jobs == -1: - self.n_jobs = multiprocessing.cpu_count() - else: - self.n_jobs = n_jobs + self.n_jobs = check_available_cores(n_jobs) + self.knn_reduce_function: ( + Callable[ + [npt.NDArray[np.float64]], + tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]], + ] + | None + ) = None + + def fit( + self, + X: sparse.csr_matrix, # pylint: disable=invalid-name + y: Sequence[Any] | None = None, # pylint: disable=invalid-name + ) -> Self: + """Fit the estimator using X as target fingerprint data set. + + Parameters + ---------- + X : sparse.csr_matrix + The target fingerprint data set. By calling `predict`, searches are performed + against this target data set. + y : Sequence[Any] + Target values. Here values are used as returned nearest neighbors. + Must have the same length as X. + Will be stored as the learned_names_ attribute as npt.NDArray[Any]. + + Returns + ------- + Self + The instance itself. + + Raises + ------ + ValueError + If the input arrays have different lengths or do not have a shape nor len attribute. + """ + if y is None: + y = list(range(X.shape[0])) + if X.shape[0] != get_length(y): + raise ValueError("X and y must have the same length.") + + if self.k is None: + # set k to the number of target fingerprints if k is None + self.k = X.shape[0] + + # determine the recude function dependent on the value of k if self.k == 1: self.knn_reduce_function = self._reduce_k_equals_1 - elif self.k < self.target_fingerprints.shape[0]: + elif self.k < X.shape[0]: self.knn_reduce_function = self._reduce_k_greater_1_less_n else: - self.knn_reduce_function = self._reduct_to_indices_k_equals_n + self.knn_reduce_function = self._reduce_k_equals_n + + self.target_indices_mapping_ = np.array(y) + self.target_fingerprints = X + return self @staticmethod def _reduce_k_equals_1( @@ -320,7 +366,7 @@ def _reduce_k_greater_1_less_n( return topk_indices_sorted, topk_similarities_sorted @staticmethod - def _reduct_to_indices_k_equals_n( + def _reduce_k_equals_n( similarity_matrix: npt.NDArray[np.float64], ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: """Reduce similarity matrix to k=n nearest neighbors. @@ -360,11 +406,16 @@ def _process_batch( query_batch, self.target_fingerprints ) + if self.knn_reduce_function is None: + raise AssertionError( + "The knn_reduce_function has not been set. This should happen in the fit function." + ) # reduce the similarity matrix to the k nearest neighbors return self.knn_reduce_function(similarity_mat_chunk) def predict( - self, query_fingerprints: sparse.csr_matrix + self, + query_fingerprints: sparse.csr_matrix, ) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]]: """Predict the k-nearest neighbors of the query fingerprints. @@ -378,6 +429,12 @@ def predict( tuple[npt.NDArray[np.int64], npt.NDArray[np.float64]] Indices of the k-nearest neighbors in the target fingerprints and the corresponding similarities. """ + if self.target_fingerprints is None: + raise ValueError("The model has not been fitted yet.") + if self.k is None: + raise AssertionError( + "The number of neighbors k has not been set. This should happen in the fit function." + ) if query_fingerprints.shape[1] != self.target_fingerprints.shape[1]: raise ValueError( "The number of features in the query fingerprints does not match the number of features in the target fingerprints." diff --git a/molpipeline/utils/multi_proc.py b/molpipeline/utils/multi_proc.py index f71fe334..1a01e90d 100644 --- a/molpipeline/utils/multi_proc.py +++ b/molpipeline/utils/multi_proc.py @@ -35,6 +35,6 @@ def check_available_cores(n_requested_cores: int) -> int: ) return n_available_cores if n_requested_cores < 0: - return n_available_cores + return n_available_cores + 1 + n_requested_cores return n_requested_cores diff --git a/tests/test_estimators/test_nearest_neighbors.py b/tests/test_estimators/test_nearest_neighbors.py index cda24c8f..5767afb6 100644 --- a/tests/test_estimators/test_nearest_neighbors.py +++ b/tests/test_estimators/test_nearest_neighbors.py @@ -9,7 +9,7 @@ from molpipeline import ErrorFilter, FilterReinserter, Pipeline, PostPredictionWrapper from molpipeline.any2mol import SmilesToMol from molpipeline.estimators import NamedNearestNeighbors, TanimotoToTraining -from molpipeline.estimators.nearest_neighbor import NearestNeighborsRetrieverTanimoto +from molpipeline.estimators.nearest_neighbor import TanimotoKNN from molpipeline.mol2any import MolToMorganFP from molpipeline.utils.kernel import tanimoto_distance_sparse @@ -222,8 +222,8 @@ def test_fit_and_predict_invalid_with_distance(self) -> None: ) -class TestNearestNeighborsRetrieverTanimoto(TestCase): - """Test nearest neighbors retriever with tanimoto.""" +class TestTanimotoKNN(TestCase): + """Test TanimotoKNN estimator.""" example_fingerprints: csr_matrix @@ -243,16 +243,16 @@ def test_k_equals_1(self) -> None: target_fps = self.example_fingerprints query_fps = self.example_fingerprints - retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=1) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=1) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue(np.array_equal(indices, np.array([0, 1, 2, 3]))) self.assertTrue(np.allclose(similarities, np.array([1, 1, 1, 1]))) # test parallel - retriever = NearestNeighborsRetrieverTanimoto( - target_fps, k=1, n_jobs=2, batch_size=2 - ) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=1, n_jobs=2, batch_size=2) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue(np.array_equal(indices, np.array([0, 1, 2, 3]))) self.assertTrue(np.allclose(similarities, np.array([1, 1, 1, 1]))) @@ -261,18 +261,18 @@ def test_k_greater_1_less_n(self) -> None: target_fps = self.example_fingerprints query_fps = self.example_fingerprints - retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=2) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=2) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue( np.array_equal(indices, np.array([[0, 1], [1, 0], [2, 3], [3, 2]])) ) self.assertTrue(np.allclose(similarities, TWO_NN_SIMILARITIES)) # test parallel - retriever = NearestNeighborsRetrieverTanimoto( - target_fps, k=2, n_jobs=2, batch_size=2 - ) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=2, n_jobs=2, batch_size=2) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue( np.array_equal(indices, np.array([[0, 1], [1, 0], [2, 3], [3, 2]])) ) @@ -283,8 +283,9 @@ def test_k_equals_n(self) -> None: target_fps = self.example_fingerprints query_fps = self.example_fingerprints - retriever = NearestNeighborsRetrieverTanimoto(target_fps, k=target_fps.shape[0]) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=target_fps.shape[0]) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue( np.array_equal( indices, @@ -294,10 +295,9 @@ def test_k_equals_n(self) -> None: self.assertTrue(np.allclose(similarities, FOUR_NN_SIMILARITIES)) # test parallel - retriever = NearestNeighborsRetrieverTanimoto( - target_fps, k=target_fps.shape[0], n_jobs=2, batch_size=2 - ) - indices, similarities = retriever.predict(query_fps) + knn = TanimotoKNN(k=target_fps.shape[0], n_jobs=2, batch_size=2) + knn.fit(target_fps) + indices, similarities = knn.predict(query_fps) self.assertTrue( np.array_equal( indices, @@ -306,9 +306,37 @@ def test_k_equals_n(self) -> None: ) self.assertTrue(np.allclose(similarities, FOUR_NN_SIMILARITIES)) - # [ - # [1.0, 3 / 14, 0.0, 0.0], - # [1.0, 3 / 14, 0.038461538461538464, 0.0], - # [1.0, 4 / 9, 0.0, 0.0], - # [1.0, 4 / 9, 0.038461538461538464, 0.0], - # ] + def test_pipeline(self) -> None: + """Test TanimotoKNN in a pipeline.""" + # test normal pipeline + pipeline = Pipeline( + [ + ("mol", SmilesToMol()), + ("fingerprint", MolToMorganFP()), + ("knn", TanimotoKNN(k=1)), + ] + ) + pipeline.fit(TEST_SMILES) + indices, similarities = pipeline.predict(TEST_SMILES) + self.assertTrue(np.array_equal(indices, np.array([0, 1, 2, 3]))) + self.assertTrue(np.allclose(similarities, np.array([1, 1, 1, 1]))) + + # test pipeline with failing smiles + test_smiles = [ + "c1ccccc1", + "c1cc(-C(=O)O)ccc1", + "I am a failing smiles :)", + "CCCCCCN", + "CCCCCCO", + ] + pipeline = Pipeline( + [ + ("mol", SmilesToMol()), + ("error_filter", ErrorFilter(filter_everything=True)), + ("fingerprint", MolToMorganFP()), + ("knn", TanimotoKNN(k=1)), + ] + ) + pipeline.fit(test_smiles) + indices, similarities = pipeline.predict(test_smiles) + todo assert right result