Skip to content

Latest commit

ย 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

chemap_video_l.mp4

ChemApp

ChemApp is a Streamlit-based application designed to support virtual screening and early-stage drug discovery workflows.

The application integrates machine learning, automated machine learning (AutoML), molecular fingerprinting, de novo molecular generation, drug-likeness assessment, molecular docking, and interactive visualization into a single computational platform.

ChemApp is primarily designed to run in a Linux environment and can also be used under Windows Subsystem for Linux (WSL). For convenience, the application can be launched from Windows using a .bat script and a desktop shortcut.

Scan QR code to launch app:

chemapp

๐Ÿงฌ Overview

ChemApp provides an integrated workflow for computational screening and prioritization of potentially bioactive molecules.

The application combines ligand-based machine learning prediction with drug-likeness assessment and structure-based molecular docking.

The main workflow is:

Chemapp_fig

Importantly, molecular descriptors used for drug-likeness assessment are not used as input features for the machine learning model. The ML model uses molecular fingerprints as its representation.


๐Ÿš€ Features

1. ๐Ÿง  Machine Learning Model Development

ChemApp allows users to create a machine learning classification model for molecular bioactivity prediction.

The model development workflow can retrieve experimental bioactivity data directly from ChEMBL using the ChEMBL API.

The user can provide a ChEMBL ID, after which the application retrieves the corresponding dataset and preprocesses it for machine learning.

ChemApp supports datasets based on activity measurements such as:

  • Ki
  • IC50

The retrieved data is subsequently processed and converted into molecular representations suitable for machine learning.

ChemApp uses AutoML to automate the process of model development.


2. ๐Ÿงช Molecular Input

Once a classification model is available, ChemApp provides several ways to obtain molecules for prediction.

Single molecule

A user can enter an individual molecule using its SMILES representation.

Example:

Cc1n2[C@@H](COc3cccc(c23)c1C(=O)c4cccc5ccccc45)CN6CCOCC6

The molecule is then processed and passed to the trained ML model.

Molecular library from CSV

ChemApp can also import a collection of molecules from a .csv file.

For example:

smiles,id
Cc1n2[C@@H](COc3cccc(c23)c1C(=O)c4cccc5ccccc45)CN6CCOCC6,WIN 55
CC(C)(C)[C@@H](CO)NC(=O)c1nn(c2c[n+]([O-])ccn2)c3[C@H]4C[C@H]4Cc13,Olorinab
CC(C)CN1C(=O)CN(Cc2ccc(cc2)c3ccc(F)c(CNC4CCOCC4)n3)C1=O,LEI102
Cc1c(nn(CCCCCO)c1c2ccccc2)C(=O)NC34CC5CC(CC(C5)C3)C4,AM10257

This allows multiple compounds to be screened in a single workflow.

De novo molecular generation

ChemApp can generate new molecular structures using ChemBERTaLM โ€“ Hugging Face Model.

The generated molecules can then be passed through the same screening pipeline as externally supplied compounds.


3. ๐Ÿ”ฌ ML Bioactivity Prediction

After molecules have been imported or generated, ChemApp can use the previously trained classification model to predict their bioactivity.

The ML prediction uses molecular fingerprints, consistent with the representation used during model training.

The predicted bioactivity can be used as an initial filtering or prioritization step before further computational analysis.


4. ๐Ÿ’Š Drug-Likeness Assessment

After bioactivity prediction, ChemApp calculates molecular descriptors used to assess drug-likeness.

These descriptors are not used as features by the ML model. They represent a separate stage of the workflow intended to characterize the physicochemical properties of candidate molecules.


5. โš—๏ธ Molecular Docking

ChemApp integrates molecular docking using AutoDock Vina.

Docking is performed for molecules after the preceding screening steps.

The purpose of this stage is to investigate potential interactions between candidate ligands and a selected protein target.


6. ๐ŸงŠ Docking Visualization

ChemApp provides interactive visualization of docking results using py3Dmol.


๐Ÿ“ฆ Installation

1. Clone the repository

git clone https://github.com/Adam-maz/ChemApp.git
cd ChemApp

2. Create a virtual environment

Create Conda environment:

conda env create -f chemapp_environment.yml

Activate it:

conda activate chemapp_env

โ–ถ๏ธ Running the Application

After activating the virtual environment, ChemApp can be started using:

streamlit run ChemApp.py

Streamlit will start a local web server.

The application is typically available at:

http://localhost:8501

The exact address and port are displayed by Streamlit when the application starts.


๐Ÿš€ Quick Launch Using a .bat Script

For convenience, ChemApp can be launched from Windows using a .bat file.

The batch script can start the application inside WSL, making it possible to launch ChemApp using a Windows desktop shortcut.

A simplified example is:

@echo off

wsl bash -c "cd /path_to_ChemApp && source .run_chemapp.sh"

pause

The path should be adjusted to the actual location of the ChemApp project.

The .bat file can then be linked to a Windows desktop shortcut.

run_chemapp.sh script and .ico file are also provided


โš ๏ธ Limitations

ChemApp is intended as a computational research and educational tool for virtual screening and early-stage drug discovery.

The results generated by the application are subject to the limitations of the underlying computational methods.

Potential limitations include:

  • Dependence on the quality and representativeness of ChEMBL data
  • Experimental noise in bioactivity measurements
  • Potential bias in training datasets
  • Applicability-domain limitations of ML models
  • Limitations of molecular fingerprints
  • Uncertainty associated with ML predictions
  • Simplifications introduced by drug-likeness descriptors
  • Approximate nature of molecular docking
  • Limitations of docking scoring functions
  • Limited representation of protein flexibility
  • Possible generation of chemically undesirable structures by generative models

Therefore, ChemApp should be considered as a tool for molecular screening, candidate prioritization, and hypothesis generation rather than a replacement for experimental validation.

Experimental studies are required to confirm predicted biological activity and molecular binding.


๐Ÿ”ฌ Intended Use

ChemApp can be used for:

  • Virtual screening
  • Early-stage drug discovery
  • Computational chemistry
  • Cheminformatics
  • Bioactivity prediction
  • Machine learning model development
  • Automated machine learning
  • Molecular fingerprint-based classification
  • De novo molecular generation
  • Drug-likeness assessment
  • Molecular docking
  • Docking pose analysis
  • Proteinโ€“ligand visualization
  • Computational chemistry education

๐Ÿ“š References & Resources

Bioactivity database

Molecular generation

Machine learning

Cheminformatics

Molecular docking

Visualization & application framework

About

ChemApp is a Streamlit-based platform for virtual screening and early-stage drug discovery, integrating machine learning, molecular generation, fingerprinting, drug-likeness assessment, molecular docking, and interactive visualization in a unified workflow.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages