- ChemCluster -
ChemCluster is an interactive web application for cheminformatics and molecular analysis, focusing on forming and visualizing molecular clusters built using Streamlit, RDKit, and scikit-learn.
Final project for the course Practical Programming in Chemistry — EPFL CH-200
📦 Package overview
ChemCluster is an interactive cheminformatics platform developed at EPFL in 2025 as part of the Practical Programming in Chemistry course. It is a user-friendly web application designed to explore and analyze chemical structures, either individually via the formation of conformers or as datasets.
This tool enables users to compute key molecular properties, visualize 2D and 3D structures, and perform clustering based on molecular similarity or conformer geometry. It also offers filtering options to help select clusters matching specific physicochemical criteria.
🌟 Features
- Upload .sdf, .mol, or .csv files with SMILES
- Compute key molecular properties (MW, logP, TPSA, etc.)
- Visualize molecules in 2D (RDKit) and interactive 3D (Py3Dmol)
- Reduce dimensionality with PCA and auto-optimize KMeans clustering
- Click points on the PCA plot to inspect molecules and properties
- Export cluster data to .csv
🛠️ Installation
- Install from PyPI:
pip install chemcluster
- Run the app:
chemcluster
This will open the ChemCluster interface in your browser.
To contribute or run locally from source:
git clone https://github.com/erubbia/ChemCluster.git
cd ChemCluster
conda env create -f environment.yml
conda activate chemcluster-env
pip install -e .
▶️ Testing
Testing can be done with 'pytest' or 'tox':
pytest
# or with tox
tox
📖 Usage
- Analyze a single molecule by inputting a SMILES string or drawing the structure
- Upload a dataset of molecules to perform PCA and clustering
- Click on any point in the scatter plot to view its structure and properties
- Use filters to identify clusters with desirable properties (e.g., high LogP, low MW)
- Export selected clusters as CSV files for further analysis
📂 License
👨🔬 Developers
Metadata
Release files for chemcluster 0.1.42
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chemcluster-0.1.42.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chemcluster-0.1.42-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.0 kB
Release files / chemcluster-0.1.42.tar.gz
| Download URL | chemcluster-0.1.42.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a857733b0be77a58215af8ccba8400702d32a7bc7461ec51fe7e79ac7bd17a38
|
|
BLAKE2b-256 checksum How to use checksums |
49b258e8c4cdaa73f7e9dde894cbcbea5c300dc5a5b258644214007b1cac97a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.17
|
Release files / chemcluster-0.1.42-py3-none-any.whl
| Download URL | chemcluster-0.1.42-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6d9a95a413c2605b35205015f67d5d4a2b95ebd295ec4e5b8063f305c76ba7e
|
|
BLAKE2b-256 checksum How to use checksums |
66518a6521912fe1eda8ca74260eb63cd053710a2aeea8b079bf7a433941af38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.17
|