На правах рукописи

На правах рукописи На правах рукописи

cdn.scipeople.com
from cdn.scipeople.com More from this publisher
19.11.2014 Views

p3.OD_CD____.21 p3.O__CD____.21 p3.OD_C_____.21 p3.O__C_____.21 p3.OD_______.21 p3.O________.21 5.1.5. Алгоритм генерации фрагментных дескрипторов Нами разработан и реализован в программе Fragment эффективный алгоритм нахождения/генерации фрагментов. Данный алгоритм включает два прохода по базе данных химических соединений. Во время первого прохода осуществляется поиск необходимых фрагментов и определяется число появлений каждого из них в каждой из химических структур исследуемой базы данных, а при втором проходе формируется матрица, содержащая числа вхождений каждого из найденных фрагментов в каждой химической структуре из базы данных. При первом проходе из базы данных считывается каждая из имеющихся структур и приводится к «стандартному» виду (явно заданные атомы водорода преобразуются в неявные, меняются резонансные формы некоторых функциональных групп, например семиполярная связь в нитро-группе заменяется на двойную и т.д.). Далее производится поиск ароматических циклов и полициклических систем. После этого все содержащиеся в текущей химической структуре атомы классифицируются с помощью рассмотренной выше кодировки из трех символов. Далее каждая структура анализируется в три этапа. На первом этапе ищутся все фрагменты типов p1, p3, c3, p5, c5, s5, p7, c7, b1, b2, p9, c9, b5, pb, cb, b8, pd, cd, bb, bc, t3, t4, t5, t6, t7, t8, t9, pf, cf и te с применением специальной процедуры поиска, состоящей из 16 вложенных циклов и множества специальных условий проверки для прореживания поискового дерева на как можно более ранней стадии. На втором этапе ищутся все фрагменты типов p2, p4, c4, s4, p6, c6, b0, s6, p8, c8, b3, b4, pa, ca, b6, b7, pc, cc, b9, ba, t0, t1, t2, pe, ce, bd, ta, tb, tc, td с использованием аналогичной процедуры поиска. Наконец, на третьем этапе, все указанные пользователем нестандартные фрагменты ищутся с использованием рекурсивной процедуры нахождения подграфов в графе. 156

После нахождения первоначального набора фрагментных дескрипторов, содержащих коды атомов в наиболее подробной классификации, программа генерирует фрагментные дескрипторы с различными уровнями обобщения классификации атомов (в соответствии с выбранной схемой, см. выше) и формирует канонические кодирующие строки для каждого из них. При этом просматриваются все возможные перестановки из группы автоморфизмов соответствующего фрагмента, и осуществляется выбор лексикографически наименьшей строки. Каждая каноническая строка сравнивается сначала с указанным пользователем либо сформированным вызывающей программой (NASAWIN, NETPROGNOSIS, и т.д.) списком масок (кодов) фрагментов, а затем она ищется в иерархически сформированном списке уже найденных фрагментов. Если такая строка соответствует какой-либо из масок и содержится в этом списке, то число вложений соответствующего фрагмента увеличивается на единицу, в противном случае, если строка соответствует какой-либо маске, но отсутствует в списке, то соответствующий фрагмент добавляется к списку найденных фрагментов с числом вложений, равным единице. Для нестандартных фрагментов число вложений определяется путем деления числа изоморфных вложений соответствующего подграфа в молекулярный граф на предварительно найденный порядок группы автоморфизмов этого подграфа. Кроме того, программа хранит в памяти список фрагментов, содержащих указатели на группы статистически идентичных дескрипторов (значения которых пропорциональны друг другу для всех уже пройденных химических структур), тогда как сам список и все группы реорганизуются после завершения анализа каждой из химических структур. После завершения первого прохода подсчитывается число появлений во всей базе данных для каждого из фрагментов, накопленных в иерархическом списке, и те фрагменты, которые содержатся в слишком малом числе соединений, и, соответственно, не удовлетворяют пороговому условию, заданному пользователем, удаляются из списка. Кроме того, из каждой группы статистически идентичных дескрипторов в списке оставляется только один. На втором проходе формируется файл с именами оставшихся дескрипторов и файл, со- 157

p3.OD_CD____.21 p3.O__CD____.21 p3.OD_C_____.21<br />

p3.O__C_____.21 p3.OD_______.21 p3.O________.21<br />

5.1.5. Алгоритм генерации фрагментных дескрипторов<br />

Нами разработан и реализован в программе Fragment эффективный алгоритм<br />

нахождения/генерации фрагментов. Данный алгоритм включает два прохода<br />

по базе данных химических соединений. Во время первого прохода осуществляется<br />

поиск необходимых фрагментов и определяется число появлений<br />

каждого из них в каждой из химических структур исследуемой базы данных, а<br />

при втором проходе формируется матрица, содержащая числа вхождений каждого<br />

из найденных фрагментов в каждой химической структуре из базы данных.<br />

При первом проходе из базы данных считывается каждая из имеющихся<br />

структур и приводится к «стандартному» виду (явно заданные атомы водорода<br />

преобразуются в неявные, меняются резонансные формы некоторых функциональных<br />

групп, например семиполярная связь в нитро-группе заменяется на<br />

двойную и т.д.). Далее производится поиск ароматических циклов и полициклических<br />

систем. После этого все содержащиеся в текущей химической структуре<br />

атомы классифицируются с помощью рассмотренной выше кодировки из<br />

трех символов. Далее каждая структура анализируется в три этапа. На первом<br />

этапе ищутся все фрагменты типов p1, p3, c3, p5, c5, s5, p7, c7, b1, b2, p9, c9, b5,<br />

pb, cb, b8, pd, cd, bb, bc, t3, t4, t5, t6, t7, t8, t9, pf, cf и te с применением специальной<br />

процедуры поиска, состоящей из 16 вложенных циклов и множества<br />

специальных условий проверки для прореживания поискового дерева на как<br />

можно более ранней стадии. На втором этапе ищутся все фрагменты типов p2,<br />

p4, c4, s4, p6, c6, b0, s6, p8, c8, b3, b4, pa, ca, b6, b7, pc, cc, b9, ba, t0, t1, t2, pe, ce,<br />

bd, ta, tb, tc, td с использованием аналогичной процедуры поиска. Наконец, на<br />

третьем этапе, все указанные пользователем нестандартные фрагменты ищутся<br />

с использованием рекурсивной процедуры нахождения подграфов в графе.<br />

156

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!