Loading repository data…
Loading repository data…
Capt-Lappland / repository
VortexDock is a Python-based distributed molecular docking system, supports parallel computation across multiple nodes, utilizing idle resources to improve virtual screening efficiency.
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.
Manages the task database, distributes receptor, ligand, and docking parameters, and collects docking results (ligand_out.pdbqt) from compute nodes.
Monitors the task database and visualizes task execution status.
Fetches tasks from the distribution server, performs docking, and submits results back to the server.
pip install -r requirements.txt
distribution_server directory.config.py:
python cli.py
compute_node directory.config.py:
vina program has execution permissions.cd distribution_server
python server.py
# List all tasks
python cli.py -ls
# Create a new task
python cli.py -zip <task_file.zip> -name <task_name>
task_name.zip
├── receptor.pdbqt
├── parameter.txt
│ ├── center_x = 233.7
│ ├── center_y = 155.8
│ ├── center_z = 127.7
│ ├── size_x = 35.7
│ ├── size_y = 41.2
│ ├── size_z = 45.2
│ ├── num_modes = 9
│ ├── energy_range = 9
│ └── cpu = 8
└── ligands
├── 001.pdbqt
├── 002.pdbqt
├── 003.pdbqt
└── ...
# Pause/Resume a task
python cli.py -pause <task_id>
# Delete a task
python cli.py -rm <task_id>
Python-based monitoring server:
cd monitor_server
python app.py # Default: localhost:9000
PHP-based monitoring server:
Set the web root to monitor_server_PHP.
cd compute_node
python client.py