/SolubilityPrediction

A web based application predicts water solubility of any given chemical compound known or unknown

Primary LanguageJupyter Notebook

Logo of Program
Water Solubility Prediction

A web based application predicts water solubility of any given chemical compound whether known or unknown.

made with python built with love

IntroductionRequirementsInstallationUsageHow it WorksThanks ❤


Introduction

This Project is inspired from a research paper by Delaney published in 2003, Predicting water solubility of any chemical compound. Here we train our model on four features suggested by delaney.

Requirements

  • Python 3.3+
  • macOs or Linux or Windows

Installation

Building the source code

1. Clone the repository

git clone https://github.com/arhamshah/SolubilityPrediction.git
cd SolubilityPrediction

2. Create Anaconda Environment

  • First we create an environment
conda create -n ml-project python=3.8
  • We need to activate that environment
conda activate ml-project

3. Download & Install all the Dependencies

pip install -r requirements.txt

For installation of rdkit refer here.

Usage

Checkout Video Tutorial

Input SMILES

  • Enter SMILES code of compound. For Multiple Entries, each compound on a new line.
  • Press Ctrl + Enter to calculate.

How it Works

Checkout research paper by Delaney here

  • Descriptors such as Molecular LogP, Molecular Weight, Number of Rotatable Bonds, Aromatic Proportion are calculated.
  • Model is trained using CatBoost regressor.
  • Solubility prediction is made with input compound given by user.
  • Streamlit is used for Graphical User Interface and Deployment.
  • Calculated accuracy is about 93.35%.

Thanks

  • Delaney for providing insight from research-paper.
  • Data Professor for helping me build this project.
  • Shoutout to developers & contributors of Pillow, Pip, Pycaret, Rdkit.