{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":67356,"databundleVersionId":8006601,"sourceType":"competition"}],"dockerImageVersionId":30698,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Leash - ECFP & Gradient Boosting","metadata":{}},{"cell_type":"markdown","source":"Extended Connectivity Fingerprints (ECFPs) were first introduced by Rogers and Hahn in a seminal 2010 publication and have since remained among the most widely used and effective techniques for transforming molecular structures into informative vectorial representations suitable for downstream machine learning applications. The ECFP algorithm operates based on two critical hyperparameters: the fingerprint length \\(L\\) and the maximum radius \\(R\\). An ECFP of length \\(L\\) manifests as an \\(L\\)-dimensional bit vector composed of zeros and ones, where each element of the vector signifies the presence or absence of specific circular substructures within the molecule. These substructures are centered around an atom and extend outward to a defined radius, encapsulated by the hyperparameter \\(R\\), which limits the size of any substructure considered in the fingerprint. An illustration included below demonstrates these circular substructures centered around a nitrogen atom in a sample compound.","metadata":{}},{"cell_type":"markdown","source":"![image.png](attachment:8189e62c-0eb4-4060-851f-b342c204bc92.png)","metadata":{},"attachments":{"8189e62c-0eb4-4060-851f-b342c204bc92.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAmsAAAGGCAYAAAAkfsYlAAAgAElEQVR4AeydCbiVU/vGm+eBJkRzkRKFEJVQVBpoMJRIk0KGhAZEpoiIzF/xKZmSSMiYKLMIpVAqSsqUIUN7P///b+1vd0613z2cs+d9r+s6V6e932Gte71nvfd6hvspYmpCQAgIASEgBIRA2iPw66+/2scff2z33XefffTRR/bvv/+mfZ/VwfggUCQ+l9FVhIAQEAJCQAgIgUQh8P3331vfvn1t9913t9KlS1vZsmWta9eutmDBAkfa/H5/om6t66YBAiJraTAJ6oIQEAJCQAgIAS8EPvnkE+vZs6eVKlXK9ttvP+vSpYs1bNjQEbbixYvb4YcfbpMnT3bWtp9//tlE3LyQzNzPRdYyd+7UcyEgBISAEMhiBHw+n7388svWpk0bR9Tat29vCxcutL/++sveeustu+666+z444+3SpUqWYkSJWzfffe1wYMH24wZM2zVqlXG+WrZgYDIWnbMo0YhBISAEBACWYTAP//8Y9OmTXMWNCxqvXv3tqVLl+5AwP7++29bvXq1zZs3z4YNG2Z77723FStWzKpVq2ZHHnmkjR492lnbtm3blkXI5OZQRNZyc941aiEgBISAEEhTBLZu3WqTJk2yqlWrWpEiRax///72448/ero3cXtibVu7dq1NnDjR6tSp487D2laxYkU78cQT7ZVXXjHInVpmIiCylpnzpl4LASEgBIRAFiLw008/2TXXXGMVKlRwyQRjx441rGyxNIjbE0884WLbsLZhmSO2rWXLlnbPPffYihUrbMuWLZ7kL5Z76djkICCylhycdRchIASEgBAQAmERgEQNGjTIZXsSf4ZER2HkOf744w8X4zZq1Cg7+uijnaUO0taoUSMbPny4zZ4927lRC3OPsAPSl3FDQGQtblDqQkJACAgBISAEYkeARAASBjp27GhFixa15s2b2zPPPGO4Q+PRuP6XX35pjz32mCOD++yzj3OTVq9e3Y477ji7+uqr7f333y8UMYxHP3UNbwRE1ryx0TdCQAgIASEgBBKKAESKeDIIGlavFi1aOOHbRFi7uNcvv/xiy5cvt1tuucWaNm3qEhLQbKtZs6adfPLJ9vzzz9uff/6Z0DHr4rEjILIWO2Y6QwgIASEgBIRAoRGAkL3wwgu25557WsmSJV0iwG+/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tWrVykg4UDN79913HW4HHnig/fzzz4JECGQNAiJrWTOVGogQEALZggByHOXKlbP69esbpCxUCx4DofM6JtR52fwZxBbcGjRoYJ9//nk2D1VjyzEERNZybMI1XCEgBNIfAYRuGzdubHvttZdn/U+OQb6jTp069tJLL6X/oJLQQ9zBDRs2tJo1a9r8+fOTcEfdQggkBwGRteTgrLsIASEgBGJCoFevXk4Y9/777/c8r3fv3la1alV7+OGHPY/Jhi+oh4rQbTTVGrp27Wq77767UbZLTQhkCwIia9kykxqHEBACWYXANddc43TUxo0b5zmu8ePHuxitm2++OWtLLEHQFi5caIMGDTKEbyM1itwjFgw2akIgWxAQWcuWmdQ4hIAQyCoEnn76aZdAgHzH33//HXJsCOIWLVrURowYYVu3bg15TKZ/CFGjtBbjvPTSSyMO54knnnDHDhs2zDOTNuJFdIAQSDMERNbSbELUHSEgBIQACHz55ZdOR+3kk0/2zPZcsWKF02Pr27evZ9ZopqJJXdRHH33UuXkrVKhgZ555ZlRj/Pjjjx1Zw0W8efPmTB2++i0EdkBAZG0HOPQfISAEhEB6IECMFoXa27RpY1988UXITm3ZssWqV69u6LGtWrUq5DGZ+OH69eudGxOSBgajR482PovUkOvAJUxGKNZGyXdEQkzfZwoCImuZMlPqpxAQAjmFAEH1Bx98sMv4fOedd0KOnTqihx56qDVt2tQ++eSTkMdk2odr1qyxc845xypVqmS77bab3X333fbTTz9FHMZ3331nF110kVWsWNFl0T777LMRz9EBQiBTEBBZy5SZUj+FgBDIOQROO+00q1atmr3wwgshx/7PP//Yqaee6o558803Qx6TSR/+8MMPdsIJJ7jEitq1a9uCBQuiijtbt26d9enTxyUWlC1b1h555JGsjeHLpPlUX+OHgMha/LDUlYSAEBACcUXgqquucsRl+vTpIWUrKKlE9iN1RElIwBqXiQ19NGLN9t13X1fbE2sh1QgijYdMUSxx7du3d+chhrto0aJMhEB9FgJhERBZCwuPvhQCQkAIpA6BGTNmuCSDG2+8MWRGKGTl8ccfd+7SOXPmRCQ3qRuJ951///13o87pfvvt50hnt27d7P333484FlzAiAFTWorSXBA23MWRCJ53T/SNEEhfBETW0ndu1DMhIARyHIG33nrLufaGDh1qkJpQjYxHrFKUn8q09ueff9odd9xh9erVc4Tr3HPPdVmwkcYBFlOnTrVGjRo5MosLlJJb0YjmRrq2vhcC6YiAyFo6zor6JASEgBAws2XLltnee+9tnTp1iirIPpNAQztu5MiRLtuzcuXKNnHixKiyNyF4N910k+2xxx7OEof22vfffy+LWiZNvvoaMwIiazFDphOEgBAQAslB4JtvvrHDDjvMmjRp4qm1lpyexPcuSGr07NnTif4iPfLAAw9ElUgAwbv44otdfBqyHnfeeWd8O6arCYE0RUBkLU0nRt0SAkJACGzcuNEQxUXC4uuvv854QEiIwGVL/U6SIihWP3PmTCPBIFzDvbly5UqX+VqsWDFXrP3BBx804tbUhEAuICCylguzrDEKASGQkQggejt8+HAXl0XZpUxvr7zyirVr185luB5zzDH22muvRXRfQuSQJTn++OMdwSNTlDJbXiW4Mh0j9V8IhEJAZC0UKvpMCAgBIZAGCEBUJkyY4NyFuAoztWEZQ/sMS1qpUqXs9NNPd/F40YwHjbkWLVo4otaxY0dbsmSJYaFTEwK5hIDIWi7NtsYqBIRAxiHw0EMPufJJxGplYkO4l4SA8uXLO6I2ZMiQqBICkODARYoLuHjx4nbWWWdlVdxeJs6l+pw6BETWUoe97iwEhIAQiIjAvHnzrE6dOtaqVSujcDsSHZkiUUFFgrFjx7oSUJSPuuyyy4wC7eEaJI3yUjfccIMjd5xHGalNmzaFO03fCYGsRkBkLaunV4MTAkIg0xGgQPugQYOcDhklmKibiRAun6ezAOzq1atdX7GoNWzY0KZMmRJVxicVCS688EJXGxR5DkibCrJn+lOs/hcWAZG1wiKo84WAEBACCUbgs88+swsuuMCJx+ISpF4ogfqUmqK80tatWxPcg9gu/95771mHDh2cZaxly5YuISCaODMyXpH0gOAhV/Lkk08q4zM26HV0liIgspalE6thCQEhkD0IYEEjM/TLL7902mIE3EPaCNZHNJcSTdQGTXWGJO7ZF1980ZWAKlq0qHPdQtwiSXMwU5SYOuCAA1wiweGHH+4yQDPF3Zs9T5pGkq4IiKyl68yoX0JACAgBDwTQFyOWjXqYxHSVLFnSIEe4GydPnmzr1q1zFqlkuklJJJg9e7aLr0NDrXXr1vbtt996jCDvY4hcMC4PAtq2bVv79NNP8w7Qb0JACJjImh4CISAEhECGIoDlCYsUgftHHnmkK92EaGytWrWcPhskiNgxiFSi27vvvms1a9a03Xff3cWqRUokoD/U+ESSpG7dus71edpppxlVG9SEgBDYEQGRtR3x0P+EgBAQAhmHANapr776yqZPn24DBw50FjasVFWqVDG0ya6//npbvHhxQuO/ghUGSAggmzNSI6v1qquusj333NNq1KhhV1xxRVTnRbquvhcC2YiAyFo2zqrGJASEQM4iAFH68MMPbdKkSXbwwQe76gflypVzBK5Xr142a9asiPIZBQEPK9+GDRtcbF2k83GP9unTx1nTiLm755577Ndff410mr4XAjmLgMhazk69Bi4EhEA2I0C8GhmYlHg64YQTnPRHkSJFHHmrX7++3X777bZ58+akQ0CSBLF2uGvJap0zZ05aS5AkHSDdUAiEQEBkLQQo+kgICAEhkE0IELNGbBvyH02bNnVxZZAlrFpomlF3dP369QmNbYM84oo9+uijXUJE8+bNnexINuGssQiBRCEgspYoZHVdISAEhECaIQBhIuHg/vvvd27IBg0aOAsXJZ26du3qrG1IbcRbt43sVTTTmjVr5kpn9ejRwz7//PM0Q0fdEQLpi4DIWvrOjXomBISAEEgIApA2yje99dZbrm4numZothHbhtZZv379HLn68ccfC31/9OFuvvlm22uvvdz1hw0blvbVFwo9aF1ACMQZAZG1OAOqywkBISAEMgkBXKTU8Jw7d6517tzZuShxkaLfhvjubbfdFlXSQKgxk/E5evRody3i5cj+JJEAsqgmBIRA9AiIrEWPlY4UAkJACGQ1ApAoSludf/75RhICZZ8Q261YsaKLd0NLjWzTaEpHQQCHDh3qyB/SHFOnThVJy+qnR4NLJAIia4lEV9cWAkJACGQgAshwENt211132UknnbS9JimCt927d3dCth999JETtd15eJyLdAgxcFRWIJGAygZ8riYEhEDBEBBZKxhuOksICAEhkPUIBGPbXnrpJefCJLatTJkyLr4NDTfizyBiuDtpuFSfe+45VxMUixzF5hcsWJDQLNOsnwQNUAiYqdyUngIhIASEgBCIjAAZoljbENXFugZpowYoLk5IHEkEU6ZMsUaNGrkMUyxrVFWQRS0ytjpCCERCQJa1SAjpeyEgBISAENgFgRUrVrjYtj322MORNixpJCbg+sTiRgksNSEgBOKDgMhafHDUVYSAEBACOYcAbtI1a9Y4fbZOnTrZgAED3O8qHZVzj4IGnGAERNYSDLAuLwSEgBDIBQR+++03J8sht2cuzLbGmGwERNaSjbjuJwSEgBAQAkJACAiBGBAQWYsBLB0qBISAEBACQkAICIFkIyCylmzEdT8hIASEgBAQAkJACMSAgMhaDGDpUCEgBISAEBACQkAIJBsBkbVkI677CQEhIASEgBAQAkIgBgRE1mIAS4cKASEgBISAEBACQiDZCIisJRtx3U8ICAEhIASEgBAQAjEgILIWA1g6VAgIASEgBISAEBACyUZAZC3ZiOt+QkAICAEhIASEgBCIAQGRtRjA0qFCQAgIASEgBISAEEg2AiJryUZc9xMCQkAICAEhIASEQAwIiKzFAJYOFQJCQAgIASEgBIQoHgZuAAAgAElEQVRAshEQWUs24rqfEBACQkAICAEhIARiQEBkLQawdKgQEAJCQAgIASEgBJKNgMhashHX/YSAEBACQkAICAEhEAMCImsxgKVDhYAQEAJCQAgIASGQbARE1pKNuO4nBISAEBACQkAICIEYEBBZiwEsHSoEhIAQEAJCQAgIgWQjILKWbMR1PyEgBISAEBACQkAIxICAyFoMYOlQISAEhIAQEAJCQAgkGwGRtWQjrvsJASEgBISAEBACQiAGBETWYgBLhwoBISAEhIAQEAJCINkIiKwlG3HdTwgIASEgBISAEBACMSAgshYDWDpUCAgBISAEhIAQEALJRkBkLdmI635CQAgIASEgBISAEIgBAZG1GMDSoUJACAgBISAEhIAQSDYCImvJRlz3EwJCQAgIASEgBIRADAiIrMUAlg4VAkJACAgBISAEhECyERBZSzbiup8QEAJCQAgIASEgBGJAQGQtBrB0qBAQAkJACAgBISAEko2AyFqyEdf9hIAQEAJCQAgIASEQAwIiazGApUOFgBAQAkJACAgBIZBsBETWko247icEhIAQEAJCQAgIgRgQEFmLASwdKgSEgBAQAkJACAiBZCMgspZsxHU/ISAEhIAQEAJCQAjEgIDIWgxg6VAhIASEgBAQAkJACCQbAZG1ZCOu+wkBISAEhIAQEAJCIAYERNZiAEuHCgEhIASEgBAQAkIg2QiIrCUbcd1PCAgBISAEhIAQEAIxICCyFgNYOlQICAEhIASEgBAQAslGQGQt2YjrfkJACAgBISAEhIAQiAEBkbUYwNKhQkAICAEhIASEgBBINgIia8lGXPcTAkJACAgBISAEhEAMCIisxQCWDhUCQkAICAEhIASEQLIREFlLNuK6nxAQAkJACAgBISAEYkBAZC0GsHSoEBACQkAICAEhIASSjYDIWrIR1/2EgBAQAkJACAgBIRADAiJrMYClQ4WAEBACQkAICAEhkGwERNaSjbjuJwTSEIF///3X/H5/GvZMXRIChUfA5/PZ999/b4sXL7YZM2bYDz/8YH/99VfhL6wrCIEkISCyliSgdRshkK4I8OIaPny4Pf/88+naRfVLCESNwLZt22zDhg320ksv2cSJE61fv37WokUL23vvva1q1apWsWJF69Chg11xxRXGJkVNCGQCAiJrmTBL6qMQSBACWNNmzpxpVapUsWrVqtny5ctlYUsQ1rps4RHAQoZFbMuWLbZ582b79ttv7cMPP7Tp06fbZZddZieccILVqlXLihUrZkWKFHH/lipVyipUqOCe8Zo1a1rTpk2tXLlyxu9PPPGEQe7UhEC6IyCylu4zpP4JgQQjsGnTJjvnnHOMl1rbtm3t66+/TvAddXkhEBkBrF4//vijffXVV/buu+/aiy++aA899JCNGzfOWcuOOuooR7hKlizpiFnx4sVtt912s3r16tkhhxxixx9/vJ1xxhk2duxYmzp1qi1YsMDWrFljW7duteuvv94RtlatWjmypxCAyPOhI1KLgMhaavHX3YVAWiDw5ZdfOqIGYTv33HNdTE9adEydyHoEIEpYy7777jt75513nLXrlltusQsvvNBOPfVUO+aYY6xJkybOhVmiRAlHzCBoe+yxhyNlPXr0sIsuushuvfVWe+SRR+yVV16xpUuX2saNG+3vv/8Oid/vv/9uQ4YMsdKlS1uvXr3s119/DXmcPhQC6YKAyFq6zIT6IQRSjMAnn3xie+21l+2+++521113eb7oUtxN3T7DEYBAffPNNzZ//ny77bbbbNCgQY6QHXDAAVa3bl2rXr26lS9ffrsrE4JGvBmk7fzzz7e7777bxaPxvGIFJnHgt99+i9mdicv/2GOPdRbliy++2HCxqgmBdEVAZC1dZ0b9EgIpQOC5556zsmXLupfj+++/n4Ie6JaZjABWMkgPcWC4MXE5Qqie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BBQBRUARyAoClKajPmjLli1d7088W5MmTaRp06a+qWKgyprrcOkXioAioAgoAoqAIpBPCHz66afSqVMn2XPPPV2rGKxbt07at28vFStWFL9wramylk9SqM+iCCgCioAioAgoAq4IwJ2Ge7N06dKC4hatccxxxx1njoEk1w9NlTU/jIL2QRFQBBQBRUARUATSjgDZnhdddJHJ9nzmmWei3o+s0bPOOssoaxR090NTZc0Po6B9UAQUAUVAEVAEFIG0I0C2J9Qce+yxh4wZM8b1fldffbXhY4t1jOvJafhClbU0gKqXVAQUAUVAEVAEFAF/IjB58mSpXLmyqf/p1sOHHnpIKlSoILGyRt3OTcfnqqylA1W9piKgCCgCioAioAj4EoGXXnrJlJxq3LixFBUVRe3jiy++KFWqVJHWrVsLbtFsN1XWsj0Cen9FQBFQBBQBRUARyBgCa9eulf33318qVarkWqyd2qHVq1eX2rVrCwXgs91UWcv2COj9FQFFQBFQBBQBRSBjCOzYscPwrBG35lb/8+eff5b99tvPFHR/++23M9Y3txupsuaGjH6uCCgCioAioAgoAnmHAK7Pbt26mbJTs2fPjvp8gUBAjjjiCNlrr73kqaeeinpMJj9UZS2TaOu9FAFFQBFQBBQBRSDrCEDfseuuu8ott9zi2pcLLrhAypUrJ7fffrvrMZn6QpW1TCGt91EEFAFFQBFQBBQBXyBw1113Ga61888/37WkFMeg0F1yySVZ77Mqa1kfAu2AIqAIKAKKgCKgCGQSgQULFkipUqVMpYI///wz6q0p+s4xJ598srgdE/XENHxY0MraX3/9JT/++KP88MMP5jeDAWGeNkUA2SDAVFvhIBA6HzAn/P777zofFM7w65PGQIB18bfffjNrpbNe8r7kcvvss8+MInbooYfKli1boj7Kl19+aSxrXbp0ka+++irqMZn6sCCVNQIHyQAZOnSojBw5Up588kkZO3asXHjhhYK2rQpbpsTPX/dh3H/55RdZsmSJMXtjHv/nn3/81UntTcoRYIzfeOMNufzyy2X48OFmTjjttNOkX79+cs8998ivv/6a8nvqBRWBXEGAQuaPPvqoXHHFFXL//febd+Lcc88VfuAiYz3NxYZxhmLuTZs2dc0I5Zhq1apJmzZt5P3338/qYxakskbx1oMPPljQlv/zn/8YC8qmTZvkvPPOk5o1a8rzzz+f1UHRm2cWAQgPhw0bZszhLVu2NDJQpkwZadCggeT67jGzSObm3d566y0z9mSFscP+5ptv5OmnnxYIM2EwP/7444UFS5siUGgIMP/dd999Zq1cuXKlfP/99wLtxd133y177723+eFdydXWtm1bqVOnjrzwwguuj9C+fXuzFrz66quux2Tii4JU1gYOHGhSdidNmhTGXvzyyy8bVmMUtm3btmUCf72HDxAgjZsdIj8fffSR2TGWLl1alTUfjE0mukA8CuSY48aNE4o807AW3HnnnVKxYkXjBrnxxhvV4p6JwdB7+AqB7du3C8oK8yGeKKehuDVp0sS4ETF65KoHYsCAAYaag/JTbg0jDqWpZs6c6XZIRj5PqbLGohfpQmTScyvnkJEnjLgJOwNKSLArwOUZ2j755BNp1KiRUeRiDV7oOfp3bATcZMKvpnPM3ijzqqzFHlcv3zLGkePM/OC3iR0XB0HEnTp1MlYD59mwuNWrV898d+yxx5qYHec7/a0IlAQB3oNo6yKfRb4zJblPSc9lvezevbuhr4DqwmlvvvmmHHDAAebdOProo333Tjv9jPebbM/ddttNbr75Zlfc0QWYG/C4Reo38a6fyu9ToqzxAMSAUZ3++uuvNzE/7FBfe+01YUd61VVXydy5c6MKZyofxsu1XnnlFbMQ161bV15//fWwU3B/4L/eZZddzIKdzYEJ61gO/ocJ59lnnzVjP378eKF0B7E/s2bNktGjR8sNN9wgq1ev9t2TqbKWmiEhGBfL1NVXXy3Tp083Y4/Vks+YDx544IEwxSg1d03uKvTluOOOM/E4jL/TmNNgMEeRY0HShBMHGf1dEgSQsfnz55t3A2suoTgE7eOGv/baa838uGLFiqwqBs7zOfGcDz74oOknn7MuPvHEE8bgwVqJmzRX18pFixaZ9xtqDhKKojWsi59//rnr99HOScdnKVHW0L7POussmThxoil6Wr9+fRk0aJCgiWO9GjJkiNHCFy9eHPMZEAxAYRFP5geFIJ7QMDEz+RKPtHTp0rD+MCjNmjUzylyvXr00XikMncT+QwwAQdooZyx4Rx55pPTp08dMRPPmzZO+ffsaduh4BXKRiQ8++CApeUCGUBqi7WDdnkaVNTdkvH/OmKGME9fCmBOge+qpp0r//v1NMs8jjzxi3j8WqljvK999++23JrA3mfmAc9wm4NCn+eOPP0ysGtluoY3EIyzwLEiXXXaZ68479Bz9WxGIhwDJLBdffLHZuBBy06pVKyGZ6brrrhOMCVhx+fniiy9iXgrZRtFL9t2Id33n5ryHoda+DRs2mDjO8uXLy6hRo0xSlnNsrv3euHGjUHLqlFNOke+++87X3U+JsnbHHXeYTJHNmzfLIYccYpQhyjQQ90V1e9yOxH6gzMVqpNKiLDE5JvOz++67C4kCsRpsxShrFHFdtmxZ2KHsbpo3b26+pxSFZoGFweP5Pyx+PXv2FHaHuJaxYoI5FhVe+ilTpghjhfmZ7MtYjckrGVlwzmHS+/rrr2PdIuw7VdbC4EjqP0zmxxxzjAlGJiYElzJBvGTZsrHDfcL4oLzFUtZ5HznfGctkft97771JPQNWNPrHPZHfbKftJ/UQepIvEcCQMWPGDPM+sBkgmenSSy81PF633nqrmSt5R1DqYjU2vcRSJfNecA4FytlYeW1YxbEwo2Bi7MBzkshG2Ot9MnkcCi9zE/oK85afW4mVNRZfrFAE52OpatiwoRE2zKY0zIwocEze69evj4kFA89OmuOS+UFRi7VT5+b4pr0oa127do2rSMR8mAL+cs2aNWahQ2nDFQ4DNAo7OznGGHN/ixYtzO4y3nhxPNbWZOSBc7CWhu4K4w2LKmvxEIr/PZsyXN0oZp07dzbvW+/evc3CwHigQLdr106eeeaZmBdDNlDYmESTGX/OcxIGYt4o4ksUSDYUTOKHH364ceFHHKL/VQSSQgB57NGjh5FpvDxkG6OwOYoZm4sDDzzQzI3IfqzGtVjzknk3OCdRSxLHcx59pQwTyh7B91j34s3jsZ4jm9+BIV4fYtWjCDSqAAAFY0lEQVSxUPq5lVhZY5AINsRCgnuDoqcszsSn0Fhs+RslzA+N+Ck3NygpyY5ljaBKLy4UPzyT3/oA0TAvMEoS7jDwZtFm8abhbsLi5kfLpSprJZcmlCQWkbffftssPIw/Lk+n8R3jn4gS7Zybid/EE5EBB+8iND/aFIFUIcBGYNWqVcJGFvlirYQixqGGYf5BaXD+n6r7pvo6bKDZcPFu44Xy6lJNdT9Kej3Gw8kIjRemVdJ7lfT8EitrTgdQbCDNw7zqZ34qdswIWLQEAxRKEgxw25DOj6KprWQIOJYVyEaZoPzeVFlL3QgRhFy1alXzPuESz4VGeRkWIZRLLAlsRpnbSJJIxkqXC8+sfcw8ArjVobxgLfrXv/7lW8sUPGsol+vWrQtbD1kb8aixVuKKzVX2BJ7jpptuMkoz1Bx+thCmTFlD+E444QQjfFAfJNOwuLCrffjhh+Whhx5K+GfatGkxY2DoEyzEKJTVq1cXJubQxu6AXQ67HSobaCsZAlhbYYgmgHPq1KlJWVKw0sGHl4w8IEdk/CayyKqyVrIxd85mkr/mmmvMu7TPPvskNAbONYinYaHArZrM+HMecbReGzF1uOfh2wuNpSMr9KSTTkrqGbzeW48rLASWL19ezFP22GOPJfXwsBcQ+5bMu8E5XsjfqVwAByEx3iR6hTaShlDWypYtaxSe0O9y5W+UMzZi6ATEs/vZQJMyZe29994zfl92CgQ+JtNQ+MgSZMJM5ofYuHh+eAYD6xmxAsROhWrSEP2RyVquXDkTg5fMM+g5QQTICEUeomXeBo+K/ReLdevWrZOSB6oRDB482MStxb5L8FtV1oJYlOQvrNRYpxl/JvVkGso+GXKMYzLzAefxjsdrzAmEcsClNGHCBBN7S/wtij6KG5YPXFbaFIFUIMCag4eHjSzJBdSfTKaxuejYsWNS7wbvE3Q18RIMkHveYfoZykvKZozz+Q7rOYaSXG3gSNIEnsF4eGTzGVOirCF8KGhk+BGzliz7P9fBCkIsUzI/Xt1s7Lgx3cLI7GQjskiT7cLnpPHyf20lQwDuGl5mzP3EOCTbcEMlIw+cE2ohiXV/5I77EFdHzTt2jCjuWPb4PBHrXKz7FMp3a9euNYsI4487NNnG+GFxT2b8OS90M+bWh3feecfEVLK7pr+RP1jaSUzSpgikAgHWKazOzDEoTckqCMR8cq1k3g2vcyPUSySHsZFx5nDuS1gDRg/eFTL/3QqhpwKvdF8DCyWeHwwDfo2jBYOUKGs84OOPP27MoRQ/Ruv2cyPLBrJe6oOOGDHC1AEkZbpDhw4mywXuFW0lRwCOLXaPEKN6VaRLftfkrkCBYjKcUNTgPYJqpkaNGibbic/hDEt2Uk2uR7l9FskFuE748ftEzpzFeMMbFe2HDWi2S83ktjRo70MRIHkAiz+yhuvNzw1jBkYMODOxPGF5Jp4TqxrVPZgbyf7Xln4EUqKs0U0yKdmhwmnlZTeb/keLfQd23WR64b4lM+3DDz80WatYUrSlBgF2Yiza0DX4veGKQAawCJG9HPrDZEQ8Yy7ItV9wxhpJjAvvlt9xI3OZWFa3H57D79l5fhl37Ud8BDBukBHNepkLcsVGm/mPtZJ3gffESTrIhf7HH5HcOCJlylpuPK72UhFQBBQBRUARUAQUgdxCQJW13Bov7a0ioAgoAoqAIqAIFBgCqqwV2IDr4yoCioAioAgoAopAbiGgylpujZf2VhFQBBQBRUARUAQKDAFV1gpswPVxFQFFQBFQBBQBRSC3EFBlLbfGS3urCCgCioAioAgoAgWGQCm/p9UX2Hjo4yoCioAioAgoAoqAIhCGwP8BrhpWGAcvjSsAAAAASUVORK5CYII="}}},{"cell_type":"markdown","source":"Utilizing RDKit, a SMILES string can be easily converted into an ECFP using the function described below:","metadata":{}},{"cell_type":"code","source":"!pip install rdkit","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:19:50.291655Z","iopub.execute_input":"2024-05-01T10:19:50.292089Z","iopub.status.idle":"2024-05-01T10:20:09.755688Z","shell.execute_reply.started":"2024-05-01T10:19:50.292038Z","shell.execute_reply":"2024-05-01T10:20:09.754240Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import numpy as np\nfrom rdkit.Chem import AllChem\n\n\n# define function that transforms SMILES strings into ECFPs\ndef ECFP_from_smiles(smiles,\n                     R = 2,\n                     L = 2**10,\n                     use_features = False,\n                     use_chirality = False):\n    \"\"\"\n    Inputs:\n    \n    - smiles ... SMILES string of input compound\n    - R ... maximum radius of circular substructures\n    - L ... fingerprint-length\n    - use_features ... if false then use standard DAYLIGHT atom features, if true then use pharmacophoric atom features\n    - use_chirality ... if true then append tetrahedral chirality flags to atom features\n    \n    Outputs:\n    - np.array(feature_list) ... ECFP with length L and maximum radius R\n    \"\"\"\n    \n    molecule = AllChem.MolFromSmiles(smiles)\n    feature_list = AllChem.GetMorganFingerprintAsBitVect(molecule,\n                                                                       radius = R,\n                                                                       nBits = L,\n                                                                       useFeatures = use_features,\n                                                                       useChirality = use_chirality)\n    return np.array(feature_list)","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:20:09.760740Z","iopub.execute_input":"2024-05-01T10:20:09.761166Z","iopub.status.idle":"2024-05-01T10:20:09.973831Z","shell.execute_reply.started":"2024-05-01T10:20:09.761117Z","shell.execute_reply":"2024-05-01T10:20:09.972579Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Data Preprocessing","metadata":{}},{"cell_type":"markdown","source":"The paths for the training and testing datasets are specified for the **.parquet files**. To efficiently navigate through the substantial volumes of training data, we employ **duckdb** for scanning and searching. To initiate our analysis, we aim to sample an equal number of positive and negative cases.\n\nThe SQL query crafted for this purpose selectively retrieves an equal number of samples where the **binds** attribute equals 0, indicating non-binding, and 1, indicating binding. Each category is capped at 40,000 samples to maintain a balanced dataset, thereby preventing any model bias toward either class.","metadata":{}},{"cell_type":"code","source":"!pip install duckdb","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:20:09.975412Z","iopub.execute_input":"2024-05-01T10:20:09.975839Z","iopub.status.idle":"2024-05-01T10:20:25.848737Z","shell.execute_reply.started":"2024-05-01T10:20:09.975809Z","shell.execute_reply":"2024-05-01T10:20:25.847308Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import duckdb\nimport pandas as pd\n\ntrain_path = '/kaggle/input/leash-BELKA/train.parquet'\ntest_path = '/kaggle/input/leash-BELKA/test.csv'\n\ncon = duckdb.connect()\n\ndf = con.query(f\"\"\"(SELECT *\n                        FROM parquet_scan('{train_path}')\n                        WHERE binds = 0\n                        ORDER BY random()\n                        LIMIT 40000)\n                        UNION ALL\n                        (SELECT *\n                        FROM parquet_scan('{train_path}')\n                        WHERE binds = 1\n                        ORDER BY random()\n                        LIMIT 40000)\"\"\").df()\n\ncon.close()","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:20:25.852291Z","iopub.execute_input":"2024-05-01T10:20:25.852670Z","iopub.status.idle":"2024-05-01T10:21:20.487859Z","shell.execute_reply.started":"2024-05-01T10:20:25.852636Z","shell.execute_reply":"2024-05-01T10:21:20.486615Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.head()","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:21:20.489220Z","iopub.execute_input":"2024-05-01T10:21:20.490417Z","iopub.status.idle":"2024-05-01T10:21:20.516999Z","shell.execute_reply.started":"2024-05-01T10:21:20.490381Z","shell.execute_reply":"2024-05-01T10:21:20.516163Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's retrieve the SMILES representation for the fully assembled molecule from `molecule_smiles` and generate ECFPs for it. While it's possible to vary the radius and bit size, a radius of 2 and a bit size of 1024 are commonly used as standard settings.","metadata":{}},{"cell_type":"code","source":"df['ecfp'] = df['molecule_smiles'].apply(ECFP_from_smiles)","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:21:20.518554Z","iopub.execute_input":"2024-05-01T10:21:20.518850Z","iopub.status.idle":"2024-05-01T10:23:45.710492Z","shell.execute_reply.started":"2024-05-01T10:21:20.518825Z","shell.execute_reply":"2024-05-01T10:23:45.709232Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.head(5)","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:23:45.712390Z","iopub.execute_input":"2024-05-01T10:23:45.712857Z","iopub.status.idle":"2024-05-01T10:23:45.741687Z","shell.execute_reply.started":"2024-05-01T10:23:45.712817Z","shell.execute_reply":"2024-05-01T10:23:45.740593Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Train Model","metadata":{}},{"cell_type":"code","source":"from sklearn.preprocessing import OneHotEncoder\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import GradientBoostingClassifier\nfrom sklearn.metrics import average_precision_score, roc_curve, auc, confusion_matrix, ConfusionMatrixDisplay\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n# One-hot encode the protein_name\nonehot_encoder = OneHotEncoder(sparse_output=False)\nprotein_onehot = onehot_encoder.fit_transform(df['protein_name'].values.reshape(-1, 1))\n\n# Combine ECFPs and one-hot encoded protein_name\nX = [np.concatenate((ecfp, protein)) for ecfp, protein in zip(df['ecfp'].tolist(), protein_onehot.tolist())]\ny = df['binds'].tolist()\n\n# Split the data into train and test sets\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n\n# Create and train the Gradient Boosting model\ngb_model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)\ngb_model.fit(X_train, y_train)\n\n# Make predictions on the test set\ny_pred_proba = gb_model.predict_proba(X_test)[:, 1]  # Probability of the positive class\ny_pred = gb_model.predict(X_test)\n\n# Calculate the mean average precision\nmap_score = average_precision_score(y_test, y_pred_proba)\nprint(f\"Mean Average Precision (mAP): {map_score:.2f}\")\n\n# ROC Curve\nfpr, tpr, thresholds = roc_curve(y_test, y_pred_proba)\nroc_auc = auc(fpr, tpr)\n\nplt.figure(figsize=(8, 6))\nplt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)\nplt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')\nplt.xlim([0.0, 1.0])\nplt.ylim([0.0, 1.05])\nplt.xlabel('False Positive Rate')\nplt.ylabel('True Positive Rate')\nplt.title('Receiver Operating Characteristic')\nplt.legend(loc=\"lower right\")\nplt.show()\n\n# Confusion Matrix\ncm = confusion_matrix(y_test, y_pred)\ndisp = ConfusionMatrixDisplay(confusion_matrix=cm)\ndisp.plot(cmap=plt.cm.Blues)\nplt.title('Confusion Matrix')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-05-01T10:29:06.403427Z","iopub.execute_input":"2024-05-01T10:29:06.403818Z","iopub.status.idle":"2024-05-01T10:33:40.741815Z","shell.execute_reply.started":"2024-05-01T10:29:06.403788Z","shell.execute_reply":"2024-05-01T10:33:40.738922Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- The model depicted in this ROC curve has strong discriminatory ability as the curve is closer to the top-left corner and the AUC is quite high. This suggests that the model's settings, including its threshold values, effectively balance the detection of true positives while controlling for false positives.\n- The model has more difficulty correctly classifying positive instances (Class 1) compared to negative instances (Class 0), as indicated by the relatively higher number of false negatives (2075) than false positives (531).\n- The model shows a good balance in identifying negatives, with a high number of true negatives (7448) suggesting a strong specificity.\n- The larger number of false negatives relative to false positives suggests that the model may have a higher specificity but lower sensitivity, indicating a conservative tendency in predicting positive instances. This could lead to a potentially higher impact of missing positive cases, which might be critical ","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}