Проект "Повышение эффективности первичного скрининга биологически активных соединений с использованием вычислительных моделей"


Модуль для автоматической генерации трехмерных моделей фармакофоров и последующего виртуального скрининга

Последняя версия модуля psearch (Python) доступна по ссылке: https://github.com/meddwl/psearch

Подготовка данных

В данном контексте под подготовкой данных подразумевается разделение набора данных по активности, генерация стереоизомеров и конформеров для каждой молекулы и генерация базы данных с фармакофорным представлением соединений. Фармакофорное представление соединения - это полный граф, вершинами которого являются все возможные фармакофорные центры соединения, а ребрами - расстояния между ними.

Запускает процесс подготовки данных модуль prepare_dataset.py. На вход он принимает файл формата .smi (содержащий SMILES) (parameter, -i/--in), который состоит из трех колонок в строго заданном порядке: SMILES молекулы, имя молекулы и ее активность. Активность молекул может быть определена словом active/inactive или численно (parameter, --label). Если активность определяется числом, то активными молекулами будут считаться те, для которых значение в третьей колонке не строго больше заданного числа (parameter, -u/--act_threshold), а неактивными - нестрого меньше заданного числа(parameter, -l/--inact_threshold). На выходе получаются 2 файла формата .smi с активными и неактивными соединениями. Далее осуществляется генерация стереоизомеров. В результате получаются 2 файла формата .smi, которые содержат оригиналы молекул и полученные стереоизомеры. На следующем шаге генерируется стереоизомеры. Здесь есть 3 настраиваемых параметра: максимальное количество конформеров (parameter, -n/--nconf), пороговая энергия (parameter, -e/--energy_cutoff) и среднее квадратичное отклонение (parameter, -r/--rms). В результате образуются 2 sdf-файла. И заключительным шагом подготовки данных является генерация баз данных. На этом этапе генерируются фармакофорные представления молекул. Параметры, влияющие на этот процесс, это толерантность (parameter, -tol/--tolerance) и путь к fdef файлу (parameter, -f/--fdef_fname). Параметр толерантности влияет при расчете знака стереоконфигурации. Если объем тетраэдра, созданного четырьмя точками, меньше допустимого значения, то эти точки считаются лежащими в одной плоскости (знак стереоконфигурации равен 0). Второй параметр - это путь к fdef файлу, в котором описано, какая атомная группа каким фармакофорным центром кодируется. По умолчанию используется стандартный набор соответствия фармакофорных центров и фрагментов. На выходе образуются две базы данных, содержащих активные и неактивные соединения. Для использования при расчетах больше одного ядра применяется параметр -c/--ncpu.

Пример:

prepare_dataset.py -i test/input.smi --label -n 100 -e 100 -r 0.5 -c 4

Фармакофорное моделирование и виртуальный скрининг

1. Генерация фармакофоров осуществляется в 2 этапа:

(а) сначала генерируются все возможные квадруплеты,

(б) после создаются наиболее сложные фармакофорные модели, количество и качество которых регулируются статистикой.

(а) Для генерации квадруплетов используется модуль create_subpharm.py.

Параметры:

-d/--input_db, путь к базе данных, в которой хранится информация о всех молекулах (тренировочного и тестового наборов), обязательный параметр.

-ts/--file_trainset, путь к файлу со списком молекул тренировочного набора, обязательный параметр.

-tol/--tolerance, параметр, который используется для генерации знака стереоконфигурации соединения, по умолчанию этот параметр равен 0.

-l/--lower, число фармакофорных центров, с которым будут сгенерированы фармакофорные модели, по умолчанию этот параметр равен 4.

Пример:

psearch/scripts/create_subpharm.py -d test/compounds/active.db -ts test/trainset/active_tr1.txt -tol 0 -l 4

(б) Генерация фармакофорных моделей. На этом этапе генерируется статистика, с помощью которой оценивается качество полученных моделей, и лучшие фармакофорные модели сохраняются в папку models с расширением .pma.

Эту функцию выполняет модуль gen_subph.py.

Параметры:

-a/--in_subph_active, путь к файлу с активными квадруплетами, полученные на предыдущем шаге.

-i/--in_subph_inactive, путь к файлу с неактивными квадруплетами, полученные на предыдущем шаге.

-adb/--in_active_database, путь к базе данных с активными соединениями.

-idb/--in_inactive_database, путь к базе данных с неактивными соединениями.

-ats/--in_active_trainset, путь к файлу со списком активных молекул тренировочного набора.

-l/--lower, число фармакофорных центров, которые имеют фармакофорные модели на входе.

Пример:

psearch/scripts/gen_subph.py -a test/trainset/ph_active_tr1.txt -i test/trainset/ph_inactive_tr1.txt -adb test/compounds/active.db -idb test/compounds/inactive.db -ats test/trainset/active_tr1.txt -l 4

2. Виртуальный скрининг с использованием полученных фармакофорных моделей осуществляется модулем screen_db.py.

Параметры:

-d/--database, путь к базе данных.

-q/--query, путь к фармакофорной модели (.pma файл).

-o/--output, путь к файлу, куда бдут сохранены результаты виртуального скрининга.

Пример:

psearch/scripts/screen_db.py -d test/compounds/active.db -q models/model1.pma -o screen/screen_active_model1.txt


January 11, 2019 at 13:44. Valentina Afonina