ResHelp Tools is a unified, Windows-friendly GUI application for chemical data workflows: PubChem downloads, IMPPAT data extraction, docking automation (OpenBabel + AutoDock Vina), and Vina log analysis. It ships with structured logging, retry/backoff networking, and a simple headless CLI for containers.
- One application, four tabs: PubChem, IMPPAT, Docking, Logs
- Reliable networking with retries/backoff and progress
- Structured logs (text + JSONL) with rotating files
- Preferences: theme (dark/light) and external tool paths
- Windows .exe packaging via PyInstaller
- Optional Docker image for reproducible testing
Prerequisites:
- Windows 10/11
- Python 3.10+ installed and added to PATH
Steps:
- Clone the repo
- Install dependencies
- Run the GUI
git clone https://github.com/manavc-13/ResHelp-Tools.git
cd ResHelp-Tools
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m appThe main window has a menu for Preferences and About. Set paths to vina.exe, vina_split.exe, optional perl.exe, and an OpenBabel bin directory if they’re not on PATH.
Creates a distributable executable under dist/.
packaging\build_windows.ps1Output will be at dist\ResHelpTools\ResHelpTools.exe (one-folder) or dist\ResHelpTools.exe (one-file depending on spec).
Build a minimal image that runs unit tests and supports headless CLI operations.
docker build -t reshelp-tools .
docker run --rm reshelp-toolsExample headless run to parse logs (mount a folder):
docker run --rm -v ${PWD}:/app reshelp-tools python cli.py parse-logs /app/your/log/folder- PubChem: batch CID download with concurrency and retry. Resume using logs.
- IMPPAT: scrape tables for associations/therapeutics and export to CSV/Excel.
- Docking: calls OpenBabel (obminimize/obabel), AutoDock Vina, and vina_split. Organizes output poses into folders. Paths can be set in Preferences.
- Logs: parse Vina logs to summarize best affinities sorted ascending.
- Logs saved in
logs/rotating files; JSONL events for downstream tools. - Status bar shows memory usage (psutil), handy for long runs.
Run tests locally (if pytest installed) or via Docker.
python -m pip install pytest ; pytest -q- PyQt6 import errors: ensure
pip install -r requirements.txtcompleted successfully in the active interpreter. - OpenBabel not found: install from official releases and add to PATH, or set the bin directory in Preferences.
- Vina not found: bundle in
Vina/or set explicit paths in Preferences. - Icon build error: Pillow is installed automatically by the build script; if you customize, ensure
.icoor Pillow is present.
Apache License 2.0. See LICENSE.
Copyright (c) 2024 Manav Amit Choudhary
