Упрощенная версия docking-benchmark с группировкой результатов по белкам и автоматической генерацией статистики и графиков.
- Упрощенная структура кода: функции вместо классов, словарь методов вместо фабрик
- Группировка по белкам: результаты организованы как
results/{protein_name}/вместоresults/{method}/ - Единая таблица результатов: автоматическое объединение метрик всех методов в
combined_metrics.csv - Автоматический анализ: статистика и графики генерируются автоматически для каждого белка
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-
Отредактируйте
scripts/run_slurm.sh:- Укажите пути к данным (
PROTEIN_DIR,LIGAND_DIR) - Выберите методы (
METHODS) - Настройте параметры методов
- Укажите пути к данным (
-
Запустите:
sbatch scripts/run_slurm.sh- Проверьте статус:
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)