Metadata-Version: 2.4
Name: MolMiner
Version: 0.0.3
Summary: Tools for Cheminformatic Workflows.
License-Expression: MIT
License-File: LICENSE
Author: Tony Eight Lin
Author-email: tonyelin@tmu.edu.tw
Requires-Python: >=3.11, <3.15
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: all
Provides-Extra: docking
Provides-Extra: ml
Provides-Extra: safe
Provides-Extra: vina
Requires-Dist: MolMiner[docking,ml,safe] ; extra == "all"
Requires-Dist: datamol (>=0.12.5)
Requires-Dist: fsspec (>=2021.9)
Requires-Dist: ipython (>=8.0.0)
Requires-Dist: keras (>=3.13.2) ; extra == "ml"
Requires-Dist: legendkit (>=0.3.6)
Requires-Dist: matplotlib (>=3.7)
Requires-Dist: meeko (>=0.6.1) ; extra == "docking"
Requires-Dist: numpy (>=2.4.3)
Requires-Dist: optuna (>=4.2.1) ; extra == "ml"
Requires-Dist: pandas (>=3.0.1)
Requires-Dist: pillow (>=10.0.1)
Requires-Dist: prolif (>=2.1.0) ; extra == "docking"
Requires-Dist: rdkit (>=2025.9.6)
Requires-Dist: requests (>=2.31.0)
Requires-Dist: safe-mol (==0.1.13) ; extra == "safe"
Requires-Dist: scikit-learn (==1.6.1)
Requires-Dist: scipy (>=1.17.1)
Requires-Dist: seaborn (>=0.13.2)
Requires-Dist: splito (>=0.1.4)
Requires-Dist: torch (>=2.10.0) ; extra == "ml"
Requires-Dist: tqdm (>=4.67.3)
Requires-Dist: transformers (==4.51.0) ; extra == "safe"
Requires-Dist: umap-learn (>=0.5.11)
Requires-Dist: vina (>=1.2.7) ; extra == "vina"
Requires-Dist: xgboost (>=3.2.0) ; extra == "ml"
Project-URL: Repository, https://github.com/tlint101/MolMiner.git
Description-Content-Type: text/markdown

# MolMiner

[![MolMiner](https://img.shields.io/pypi/v/MolMiner.svg?label=MolMiner&style=flat)](https://pypi.org/project/MolMiner)
[![python](https://img.shields.io/badge/Python-3.11+-3776AB.svg?style=flat&logo=python)](https://www.python.org)
[![jupyter](https://img.shields.io/badge/Jupyter-Lab-F37626.svg?style=flat&logo=Jupyter)](https://jupyterlab.readthedocs.io/en/stable)
[![scikit-learn](https://img.shields.io/badge/scikit-1.5.1-%23F7931E.svg?style=flat&logo=scikit-learn)](https://scikit-learn.org/stable/)
[![pytorch](https://img.shields.io/badge/PyTorch-2.1.0+-EE4C2C.svg?style=flat&logo=pytorch)](https://pytorch.org)
[![Keras](https://img.shields.io/badge/Keras-3.0.0+-%23D00000.svg?style=flat&logo=keras&logoColor=D00000)](https://keras.io)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

MolMiner consolidates tools for small-molecule virtual screening. It includes custom scripts for data preprocessing,
molecular docking (Autodock Vina), and ML/DL model development (Scikit-Learn and Keras). Using MolMiner is optional and
was created to streamline environment setup without manually sourcing relevant Python project packages.

## Installation
MolMiner installs a light cheminformatics core by default. Additional modules can be installed if needed. 
```bash
pip install MolMiner
```

### Additional modules

| Install                           | Adds                                                                         | Usage                                                                                                                        |
|-----------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| `pip install MolMiner`            | rdkit, pandas, datamol, scikit-learn, splito, umap-learn, matplotlib/seaborn | fingerprints, BRICS/RECAP fragmentation, molecule drawing, chemical space (PCA/t-SNE/UMAP), clustering, plots, ROC/PR curves |
| `pip install "MolMiner[ml]"`      | torch, keras, xgboost, optuna                                                | `mminer.models`, `mminer.hyperparams`                                                                                        |
| `pip install "MolMiner[docking]"` | prolif, meeko                                                                | `mminer.docking` interaction analysis and ligand prep, requires Autodock Vina installation using Conda or Pixi               |
| `pip install "MolMiner[safe]"`    | safe-mol, transformers                                                       | `slicer='safe'`, `SAFEbuild`, `Draw.safe_highlight`, `Matching`                                                              |
| `pip install "MolMiner[all]"`     | all of the above                                                             | everything except AutoDock Vina (see below)                                                                                  |

Installing additional modules at once: `pip install "MolMiner[ml,safe]"`.

Using a feature whose extra is missing reports what to install rather than failing with a bare
`ModuleNotFoundError`:

### Molecular Docking
Vina is **not** included in `[all]`, because it cannot be installed by pip on every platform. Installation of Vina 
should be done directly using Conda or Pixi before the associated MolMiner modules can be used.

## Quickstart
Tutorials will be forthcoming.
