{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "adc1daa6-39fb-426f-8d4b-eba9dc8b71b7",
   "metadata": {},
   "outputs": [],
   "source": [
    "from rdkit import Chem\n",
    "from rdkit.Chem import rdFingerprintGenerator\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "from rdkit import DataStructs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b9fac38b-2b2b-4cf7-832d-e782fa5f1042",
   "metadata": {},
   "outputs": [],
   "source": [
    "mfpgen2 = rdFingerprintGenerator.GetMorganGenerator(radius=2,fpSize=2048)\n",
    "mfpgen = rdFingerprintGenerator.GetMorganGenerator(fpSize=2048)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c202e400-ac26-4262-a4df-76306d44e79a",
   "metadata": {},
   "outputs": [],
   "source": [
    "s1=\"Cc1ccc2c(c1)Cc1c(C(=O)NN3CCCCC3)nn(-c3ccc(Cl)cc3Cl)c1-2\"\n",
    "s2=\"O=C(NN1CCCCC1)c1nn(-c2ccc(Cl)cc2Cl)c2c1Cc1cc(C3CC3)ccc1-2\"\n",
    "mol1=Chem.MolFromSmiles(s1)\n",
    "mol2=Chem.MolFromSmiles(s2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9c96b7db-e0df-48a0-9ada-b2c546c7ffe5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7f64915ae420>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mol1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "4aa3cdf1-6ee1-4db7-b008-01e174399575",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7f64915af060>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mol2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "5a160c10-ba85-49c2-9e89-62b5e4306fa4",
   "metadata": {},
   "outputs": [],
   "source": [
    "mol1_m2=mfpgen2.GetSparseCountFingerprint(mol1)\n",
    "mol2_m2=mfpgen2.GetSparseCountFingerprint(mol2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "5c6be868-ebea-4bf9-a9da-bb30d5a41388",
   "metadata": {},
   "outputs": [],
   "source": [
    "mol1_m2d=mol1_m2.GetNonzeroElements()\n",
    "mol2_m2d=mol2_m2.GetNonzeroElements()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "841170b7-d919-4bdf-b997-b7ddc3156023",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(56, 59)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(mol1_m2d.keys()), len(mol2_m2d.keys())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "f982a050-ad5c-4d14-9bf3-022d7e9300bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8163265306122449"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DataStructs.TanimotoSimilarity(mol1_m2, mol2_m2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "994068fc-12f2-4f6a-9911-35ca85481d53",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7716535433070866"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mol1_m3=mfpgen.GetSparseCountFingerprint(mol1)\n",
    "mol2_m3=mfpgen.GetSparseCountFingerprint(mol2)\n",
    "DataStructs.TanimotoSimilarity(mol1_m3, mol2_m3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "27340825-288b-4a8e-ab57-fb5a68d98176",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/home/fc/didattica/corsi/chimica-computazionale/esperienze/sn2'"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pwd\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91e36719-386c-4ffe-a7ba-49c7e11647b3",
   "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.13.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
