https://github.com/haripasapuleti/web_apps
This web app predicts the solubility (LogS) of molecules based on their SMILES representation. It calculates key molecular descriptors and uses a machine learning model to make accurate solubility predictions.
https://github.com/haripasapuleti/web_apps
machine-learning molecular-descriptors python rdkit streamlit webapp-development
Last synced: about 1 month ago
JSON representation
This web app predicts the solubility (LogS) of molecules based on their SMILES representation. It calculates key molecular descriptors and uses a machine learning model to make accurate solubility predictions.
- Host: GitHub
- URL: https://github.com/haripasapuleti/web_apps
- Owner: HariPasapuleti
- Created: 2024-08-29T11:16:56.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-07T10:20:34.000Z (over 1 year ago)
- Last Synced: 2025-02-24T13:17:38.612Z (over 1 year ago)
- Topics: machine-learning, molecular-descriptors, python, rdkit, streamlit, webapp-development
- Language: Python
- Homepage: https://molecular-solubility.streamlit.app/
- Size: 328 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Molecular Solubility Prediction Web App
This repository contains the code for a **Molecular Solubility Prediction Web App**, which predicts the **Solubility (LogS)** values of molecules based on their SMILES representation. The app utilizes machine learning and molecular descriptors to make predictions and visualize the results.
## Features
- **Molecular Descriptor Calculation**: The app computes key molecular descriptors such as MolLogP, MolWt, and AromaticProportion.
- **SMILES Input**: Users can input molecular structures as SMILES strings.
- **Solubility Prediction**: The app uses a pre-trained model to predict the solubility (LogS) of the molecules.
- **Interactive Interface**: Built with Streamlit for easy use and interaction.
## Technologies Used
- **Streamlit**: For building the web application.
- **RDKit**: For calculating molecular descriptors from SMILES strings.
- **scikit-learn**: For loading the pre-trained machine learning model to make predictions.
- **Pandas & NumPy**: For data manipulation.
- **Pickle**: For saving and loading the trained model.
## Getting Started
To get started with this project locally, follow the steps below:
### Prerequisites
Make sure you have the following installed:
- Python 3.7+
- pip (Python package manager)
### Installation
1. Clone the repository to your local machine:
```bash
git clone https://github.com/HariPasapuleti/Web_Apps.git
cd Web_Apps
```
2. Install the necessary dependencies:
```bash
pip install -r requirements.txt
```
3. Run the app:
```bash
streamlit run app.py
```
4. Open the app in your browser.
### Input
- Users can input molecular structures in the form of SMILES strings through the sidebar. The default SMILES input is:
NCCCC CCC CN
### Output
The app will display the following outputs:
- **Molecular Descriptors**: LogP, Molecular Weight, Number of Rotatable Bonds, and Aromatic Proportion.
- **Predicted LogS Value**: The predicted solubility value for the input molecule.
## Model Details
The app uses a pre-trained machine learning model saved in the file `solubility_model.pkl`. The model takes in molecular descriptors and predicts the solubility of the molecule (LogS).
## Deployed Link
You can access the deployed web app here:
[Deployed Molecular Solubility Prediction Web App](https://molecular-solubility.streamlit.app/)