Skip to content

manavc-13/ResHelp-Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResHelp Tools

Logo

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.

Highlights

  • 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

Quick start (source)

Prerequisites:

  • Windows 10/11
  • Python 3.10+ installed and added to PATH

Steps:

  1. Clone the repo
  2. Install dependencies
  3. 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 app

The 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.

Packaging a Windows .exe

Creates a distributable executable under dist/.

packaging\build_windows.ps1

Output will be at dist\ResHelpTools\ResHelpTools.exe (one-folder) or dist\ResHelpTools.exe (one-file depending on spec).

Docker (optional)

Build a minimal image that runs unit tests and supports headless CLI operations.

docker build -t reshelp-tools .
docker run --rm reshelp-tools

Example 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

Tabs overview

  • 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.

Logging & monitoring

  • Logs saved in logs/ rotating files; JSONL events for downstream tools.
  • Status bar shows memory usage (psutil), handy for long runs.

Testing

Run tests locally (if pytest installed) or via Docker.

python -m pip install pytest ; pytest -q

Troubleshooting

  • PyQt6 import errors: ensure pip install -r requirements.txt completed 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 .ico or Pillow is present.

License

Apache License 2.0. See LICENSE.

Copyright (c) 2024 Manav Amit Choudhary

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published