Проект LPCE предназначен для очистки и обработки структур PDB с целью извлечения и фильтрации лигандов, а также удаления ненужных компонентов, таких как молекулы воды и мусорные лиганды.
├── README.md <- Основной README-файл для разработчиков.
│
├── data <- Данные проекта.
│ ├── complexes.json <- Извлеченные комплексы лигандов.
│ ├── grouped_complexes.json <- Группированные по цепям комплексы лигандов.
│ ├── site_info.json <- Информация о сайтах связывания лигандов.
│ ├── removed_ligands_summary.json <- Сводка по удаленным лигандам.
│ └── trash_ligands.json <- Список мусорных лигандов для удаления.
│
├── lpce <- Исходный код проекта.
│ ├── cleanup <- Скрипты для очистки PDB-файлов от ненужных компонентов.
│ │ ├── filter_ligands.py <- Скрипт для фильтрации лигандов.
│ │ ├── remove_dna_rna.py <- Скрипт для удаления ДНК и РНК из PDB-файлов.
│ │ ├── remove_junk_ligands.py <- Скрипт для удаления мусорных лигандов из PDB-файлов.
│ │ ├── remove_water.c <- Программа на C для удаления молекул воды.
│ │ └── remove_water.py <- Python-обертка для удаления молекул воды.
│ │
│ ├── config <- Настройки и конфигурации проекта.
│ │ └── settings.py <- Файл с настройками путей и переменных окружения.
│ │
│ ├── extraction <- Скрипты для извлечения и обработки лигандов.
│ │ ├── convert_pdb_to_smiles_sdf.py <- Скрипт для конвертации PDB в SMILES и SDF форматы.
│ │ ├── decompress_files.py <- Скрипт для распаковки PDB-файлов.
│ │ ├── extract_complexes.py <- Скрипт для извлечения комплексов из PDB-файлов.
│ │ └── parse_dict.py <- Скрипт для создания словарей и структурирования данных.
│ │
│ ├── notifications <- Скрипты для уведомлений.
│ │ └── send_email.py <- Скрипт для отправки уведомлений по электронной почте о завершении обработки.
│ │
│ ├── run_cleanup_pipeline.py <- Скрипт для запуска очистки данных.
│ └── run_full_pipeline.py <- Скрипт для полного запуска всех этапов обработки данных.
│
├── notebook <- Jupyter ноутбуки для анализа и обработки данных.
│ └── trash_ligands.ipynb <- Ноутбук для анализа и работы с мусорными лигандами.
│
└── scripts <- Скрипты для дополнительных задач.
├── calc_descriptors.py
├── sdf2df.py
└── smi2df.py
- lpce/cleanup/remove_junk_ligands.py: Фильтрация PDB-файлов от мусорных лигандов на основе списка
trash_ligands.json
. - lpce/cleanup/remove_water.c: Программа на C для удаления молекул воды из PDB-файлов.
- lpce/cleanup/remove_dna_rna.py: Удаление ДНК и РНК из PDB-файлов.
- lpce/cleanup/filter_ligands.py: Фильтрация лигандов по заданным критериям.
- lpce/extraction/extract_complexes.py: Извлечение комплексов лигандов из PDB-файлов.
- lpce/extraction/convert_pdb_to_smiles_sdf.py: Конвертация PDB-файлов в SMILES и SDF форматы.
- lpce/extraction/parse_dict.py: Группировка и структурирование извлеченных комплексов.
- lpce/run_full_pipeline.py: Скрипт для полного запуска всех этапов обработки данных, включая очистку, фильтрацию и извлечение лигандов.
- lpce/notifications/send_email.py: Отправка уведомлений по завершении обработки.
Для работы с проектом LPCE вам необходимо активировать специальное виртуальное окружение. Убедитесь, что файл environment.yml
находится в корне проекта, затем выполните следующие шаги:
-
Установка окружения:
В терминале выполните команду для создания окружения на основе существующего файла
environment.yml
:conda env create -f environment.yml
-
Активация окружения:
После успешного создания окружения активируйте его с помощью команды:
conda activate lpce
Теперь ваше окружение готово к использованию, и вы можете запускать скрипты проекта, находясь в этом окружении.
Если бинарный файл remove_water
уже присутствует и совместим с вашей системой, сборка не требуется.
Если бинарный файл отсутствует или несовместим:
-
Перейдите в директорию с
remove_water.c
:cd lpce/cleanup
-
Скомпилируйте:
gcc -o remove_water remove_water.c
Это создаст исполняемый файл remove_water
для использования в проекте.
Основные параметры проекта, такие как пути к директориям и переменные окружения, настраиваются в lpce/config/settings.py
.
Для запуска полной обработки данных выполните:
python lpce/run_full_pipeline.py
Этот скрипт выполнит последовательную обработку, очистку и извлечение лигандов, а также отправит уведомление о завершении работы.
Вы также можете запускать отдельные этапы пайплайна или весь процесс с помощью Makefile. Убедитесь, что вы находитесь в корне проекта, затем используйте следующие команды:
-
Для запуска полного пайплайна:
make all
-
Для запуска отдельных этапов:
-
Извлечение комплексов:
make extract_complexes
-
Удаление ДНК/РНК:
make remove_dna_rna
-
Удаление молекул воды:
make remove_water
-
Удаление мусорных лигандов:
make remove_junk_ligands
-
Конвертация PDB в SMILES и SDF:
make convert_pdb
-
Фильтрация лигандов:
make filter_ligands
-