vortexdock
VortexDock is a Python-based distributed molecular docking system, supports parallel computation across multiple nodes, utilizing idle resources to improve virtual screening efficiency.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Repository
VortexDock is a Python-based distributed molecular docking system, supports parallel computation across multiple nodes, utilizing idle resources to improve virtual screening efficiency.
Basic Info
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 5
- Releases: 1
Metadata Files
README.md
__ __ _ ____ _
\ \ / /__ _ __| |_ _____ _| _ \ ___ ___| | __
\ \ / / _ \| '__| __/ _ \ \/ / | | |/ _ \ / __| |/ /
\ V / (_) | | | || __/> <| |_| | (_) | (__| <
\_/ \___/|_| \__\___/_/\_\____/ \___/ \___|_|\_\
VortexDock: Distributed Molecular Docking System
VortexDock is a Python-based distributed molecular docking system consisting of a distribution server, a monitoring server, and compute nodes. It supports parallel computation across multiple nodes, utilizing idle resources to improve virtual screening efficiency. Currently, it supports AutoDock Vina, with plans to add more docking software.
Architecture
Distribution Server
Manages the task database, distributes receptor, ligand, and docking parameters, and collects docking results (ligand_out.pdbqt) from compute nodes.
Monitoring Server
Monitors the task database and visualizes task execution status.
Compute Node
Fetches tasks from the distribution server, performs docking, and submits results back to the server.
Installation
- Clone the repository.
- Install MySQL (current must, but we'll support SQLite soon)
- Install dependencies:
bash pip install -r requirements.txt
Distribution Server Setup
- Navigate to the
distribution_serverdirectory. - Edit
config.py:- Database connection
- Server port
- Other parameters
- Initialize the database:
bash python cli.py
Compute Node Setup
- Navigate to the
compute_nodedirectory. - Edit
config.py:- Server connection
- Task parameters
- System settings
- Ensure the
vinaprogram has execution permissions.
Usage
Start Distribution Server
bash
cd distribution_server
python server.py
Task Management
```bash
List all tasks
python cli.py -ls
Create a new task
python cli.py -zip
taskname.zip ├── receptor.pdbqt ├── parameter.txt │ ├── centerx = 233.7 │ ├── centery = 155.8 │ ├── centerz = 127.7 │ ├── sizex = 35.7 │ ├── sizey = 41.2 │ ├── sizez = 45.2 │ ├── nummodes = 9 │ ├── energy_range = 9 │ └── cpu = 8 └── ligands ├── 001.pdbqt ├── 002.pdbqt ├── 003.pdbqt └── ...
Pause/Resume a task
python cli.py -pause
Delete a task
python cli.py -rm
Start Monitoring Server
Python-based monitoring server:
bash
cd monitor_server
python app.py # Default: localhost:9000
PHP-based monitoring server:
Set the web root to monitor_server_PHP.
Start Compute Node
bash
cd compute_node
python client.py
Features
- Distributed computation with multi-node support
- Task resumption after interruption
- Node heartbeat detection
- Automatic retry for failed tasks
- Temporary file management
Owner
- Login: Capt-Lappland
- Kind: user
- Repositories: 1
- Profile: https://github.com/Capt-Lappland
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Wang
given-names: Runze
orcid: https://orcid.org/0009-0000-0204-9906/
title: "VortexDock"
version: 0.0.1
identifiers:
- type: doi
value: 10.5281/zenodo.15019935
date-released: 2025-03-13
GitHub Events
Total
- Create event: 6
- Release event: 1
- Issues event: 10
- Watch event: 66
- Delete event: 3
- Issue comment event: 6
- Push event: 16
- Public event: 1
- Pull request event: 15
- Fork event: 7
Last Year
- Create event: 6
- Release event: 1
- Issues event: 10
- Watch event: 66
- Delete event: 3
- Issue comment event: 6
- Push event: 16
- Public event: 1
- Pull request event: 15
- Fork event: 7
Dependencies
- cryptography ==36.0.1
- curses ==2.2.1
- flask ==2.0.3
- mysql-connector-python ==8.0.26
- requests ==2.31.0
- windows-curses ==2.2.1
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codecov/codecov-action v1 composite
- mysql 8.0 docker