Skip to content

OlgaKoont/docking-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docking Benchmark 2.0

Упрощенная версия docking-benchmark с группировкой результатов по белкам и автоматической генерацией статистики и графиков.

Основные изменения

  1. Упрощенная структура кода: функции вместо классов, словарь методов вместо фабрик
  2. Группировка по белкам: результаты организованы как results/{protein_name}/ вместо results/{method}/
  3. Единая таблица результатов: автоматическое объединение метрик всех методов в combined_metrics.csv
  4. Автоматический анализ: статистика и графики генерируются автоматически для каждого белка

Структура результатов

results/
├── {protein_name}/
│   ├── docking/
│   │   ├── gnina/
│   │   │   ├── ligand_1_out.pdbqt
│   │   │   └── ligand_1.log
│   │   └── qvina/
│   │       ├── ligand_1_out.pdbqt
│   │       └── ligand_1.log
│   ├── metrics/
│   │   ├── gnina_metrics.csv
│   │   ├── qvina_metrics.csv
│   │   └── combined_metrics.csv  # Единая таблица всех методов
│   ├── statistics/
│   │   ├── summary_stats.json
│   │   └── method_comparison.csv
│   └── plots/
│       ├── affinity_comparison.png
│       ├── method_correlation.png
│       └── affinity_scatter_gnina_vs_qvina.png

Установка

cd docking-benchmark-2
pip install -e .

Использование

Базовый запуск

docking-benchmark2 \
    --protein-dir data/input/proteins \
    --ligand-dir data/input/ligands \
    --methods gnina qvina plapt

Запуск отдельных стадий

# Только подготовка
docking-benchmark2 --stage preparation

# Только докинг
docking-benchmark2 --stage docking

# Только агрегация и анализ
docking-benchmark2 --stage analysis

Запуск через SLURM

  1. Отредактируйте scripts/run_slurm.sh:

    • Укажите пути к данным (PROTEIN_DIR, LIGAND_DIR)
    • Выберите методы (METHODS)
    • Настройте параметры методов
  2. Запустите:

sbatch scripts/run_slurm.sh
  1. Проверьте статус:
squeue -u $USER
tail -f slurm-<JOB_ID>.out

Подробнее: см. scripts/README_SLURM.md или QUICKSTART_SLURM.md

Конфигурация

Создайте файл config/default_config.yaml:

base_dir: data
protein_dir: data/input/proteins
ligand_dir: data/input/ligands
processed_dir: processed
output_dir: results
methods:
  - gnina
  - qvina
  - plapt
random_state: 42

Требования

  • Python 3.8+
  • Meeko (Python API) - для подготовки белков и лигандов
  • RDKit - для конвертации SMILES в 3D структуры
  • BioPython - для извлечения последовательностей белков (для PLAPT)
  • Pandas, NumPy, Matplotlib, Seaborn
  • PLAPT - для метода PLAPT (устанавливается отдельно)

Поддерживаемые методы

  • gnina - Gnina docking (требует PDBQT файлы)
  • qvina - QVina docking (требует PDBQT файлы)
  • plapt - PLAPT affinity prediction (требует последовательности белков и SMILES)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published