Программа для построения геномных профилей весовых матриц

Предлагаемый алгоритм может использоваться и в случае, если предварительно объединить связанные периоды постоянства, а затем распределить параметры, охватывающие несколько периодов постоянства, на эти периоды по определенной зависимости (например равномерно). Конечно, полученное решение будет не самым оптимальным, но позволит довольно просто получать

эффективную программу разделительного комплекса.

Литература

1. Зойтендейк Г. Методы возможных направлений. М.: Изд-во иностран. лит-ры, 1963. 175 с.

2. Хемди А. Таха. Введение в исследование операций. М.: Изд-во «Вильямс», 2007. 912 с.

УДК 519.688

ПРОГРАММА ДЛЯ ПОСТРОЕНИЯ ГЕНОМНЫХ ПРОФИЛЕЙ ВЕСОВЫХ МАТРИЦ

Е.С. Черемушкин, к.ф.-м.н.

Целью данной работы явилась разработка программы для анализа геномных профилей весовых матриц. Геномным профилем автор называет гистограмму, построенную для графика плотности распределения сайтов связывания с транскрипционными факторами, найденными с помощью этой матрицы. Разработанная программа позволяет строить геномные профили для различных матриц и порогов поиска. Была экспериментально обнаружена независимость профиля матрицы от заданных порогов.

Ключевые слова: весовые матрицы, сайты связывания с транскрипционными факторами, геном, ДНК, программная система.

Регуляция транскрипции (считывания РНК) является одним из наиболее широко исследуемых биоинформатикой биомолекулярных процессов [1]. При считывании РНК важную роль играют специфические белки, называемые транскрипционными факторами (ТФ) [2]. Они образуют комплексы на участках ДНК, называемых промоторами (участками ДНК, расположенными до старта транскрипции). Если в клетке присутствует необходимый для данного промотора набор ТФ, то с некоторой вероятностью он образует белковый комплекс на этом промоторе, что позволяет РНК-полимеразе закрепиться на старте транскрипции этого гена и начать считывание РНК. Таким образом, за счет различного состава ТФ происходит дифференциация клеток: в разных клетках присутствуют всевозможные наборы ТФ, которые запускают транскрипцию различных генов, производящих различные белковые продукты. Эти белки, в свою очередь, тоже могут быть ТФ, запускающими, к примеру, следующую стадию развития клетки.

Небольшие фрагменты ДНК длиной в среднем 10-20 нуклеотидов, к которым прикрепляются ТФ, называются сайтами связывания с ТФ, или просто сайтами [3, 4]. Сайты одного и того же ТФ имеют схожие последовательности. Это объясняется тем, что ТФ обладают специфической формой, позволяющей им закрепляться на последовательностях определенного типа. Но, несмотря на кажущуюся простоту, определить, является ли заданная последовательность сайтом, сложно. Это

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

Разработан целый ряд алгоритмов и программ для распознавания сайтов на заданной последовательности ДНК [5]. Одним из лидеров в распознавании сайтов являются продукты компании Biobase, такие как библиотека весовых матриц Trans-fac и алгоритм поиска сайтов match [6]. Этой компанией была собрана БД известных сайтов, открытых биологическими методами. Затем по сайтам построены специальные модели, называемые весовыми матрицами. Весовые матрицы являются самым распространенным средством для выявления потенциальных сайтов связывания с ТФ на ДНК.

В данной работе для каждой весовой матрицы построены гистограммы распределения плотности сайтов на геноме человека, названные геномными профилями. Исследовались шесть весовых матриц библиотеки TRANSFAC компании Biobase: V$MYOD_01, V$E47_01, V$VMYB_01, V$CMYB_01, V$AP4_01, V$MEF2_01. Была экспериментально подтверждена независимость геномных профилей от порогов, задаваемых для поиска сайтов. Разработана программная система, позволяющая строить, выводить и сохранять геномные профили для заданных весовых матриц (см. http://nprog.ru/en/genomesignal.zip).

Алгоритм построения геномных профилей состоит в следующем. Каждая хромосома разби-

вается на участки длины Ь (Ь=100 000). На каждом участке для каждой матрицы вычисляется количество предсказанных с заданным порогом сайтов. Далее для каждых хромосомы, матрицы и порога строится профиль. Затем вычисляется средний профиль для всех хромосом. Для порогов меньше 0,8 профиль практически одинаков для любого порога, поэтому можем считать, что для каждой матрицы имеем единственный профиль. Опишем шаги подробнее.

Предсказание сайтов. Весовая матрица - это матрица размером 4х№ Пример весовой матрицы ¥$МУ0Б_01 показан в таблице. В каждом столбце записана частота встречаемости в данной позиции нуклеотидов А, С, О или Т соответственно. Номер строки соответствует позиции нуклеотида внутри сайта. Например, в позиции 5 частота А составляет 5, а частоты С, О и Т равны 0.

Позиция нуклеотида Частота вст речаемости

А С О Т

01 1 2 2 0

02 2 1 2 0

03 3 0 1 1

04 0 5 0 0

05 5 0 0 0

06 0 0 4 1

07 0 1 4 0

08 0 0 0 5

09 0 0 5 0

10 0 1 2 2

11 0 2 0 3

12 1 0 3 1

В каждой строке весовой матрицы записаны частоты встречаемости нуклеотидов А, С, О, Т в соответствующей позиции в сайтах, используемых для построения данной матрицы. Зачастую многие матрицы имеют участок, называемый ядром, в котором нуклеотиды наиболее консервативны во всех сайтах исходной выборки (в данном примере - участок с позиции 04 по позицию 09).

Распознавание сайтов производится в режиме скользящего окна. Для каждой позиции 1 последовательности 8 вычисляется вес матрицы С этой целью рассматривается фрагмент 8[1, ..., ^+N1, для которого вычисляется сумма соответствующих элементов матрицы М, как показано на рисунке 1.

Вес матрицы вычисляется путем последовательного суммирования весов, соответствующих нуклеотидам последовательности, а затем нормируется в интервале [0, 1].

Далее искомый вес нормируется на интервал [0, 1] следующим образом: '=('с-'т1„)/('тах--'т1„), где 'т1„ и 'тах - минимальный и максимальный вес последовательности.

После вычисления веса последовательности он сравнивается с некоторым наперед заданным порогом с. Если '>с, то сайт в данном месте на последовательности считается распознанным, в противном случае нераспознанным.

А С О Т

01 1 2 2 0 А

02 2 1 2 0 О

03 3 0 1 1 А

04 0 5 0 0 С

05 5 0 0 0 А

06 0 0 4 1 О

07 0 1 4 0 О

08 0 0 0 5 т

09 0 0 5 0 О

10 0 1 2 2 О

11 0 2 0 3 т

12 1 0 3 1 т

Рис. 1. Вычисление веса матрицы М на подпоследовательности

Построение профиля распознанных сайтов. Зафиксируем порог с и матрицу М. Разобьем каждую хромосому сИг на участки фиксированной длины Ь=100 000. В каждом из таких участков произведем поиск сайтов по описанной выше процедуре. Для каждого участка сИг1 получим количество У11с,М найденных на нем сайтов.

Таким образом, получим профиль распознанных сайтов на каждой хромосоме (рис. 2), где по оси X отложен номер участка 1, а по оси У - количество предсказанных на данном участке сайтов, распознанных с порогом 0,3 для матрицы У$МУ0В 01.

ц 11 'ту т у*

4

(Ми! цпрг

Рис. 2. Профиль распознанных сайтов на участке хромосомы одного человека

Построение профиля матрицы. Профиль матрицы есть не что иное, как гистограмма профиля распознанных сайтов, нормированная и с отсеченными по 5 % хвостами распределения. В графике Ус,М(1), построенном на предыдущем шаге, отсортируем значения Ус,М(1) по возрастанию и отбросим 5 % значений сверху и снизу. Перед этим отбросим все нулевые значения, так как они образуются на непредсказанных участках ДНК, заполненных поли^-сигналом. Этим способом отсекаем выбросы распределения Ус,М(1). Полученное распределение У'с,М преобразуем следующим образом: найдем У'тах и У'т1„ - максимум и минимум У'с,М. Разобьем интервал [У'т1„, У'тах] на Т=20 равных фрагментов ..., Далее посчи-

1200

1000

800

600

400

200

0

таем количество У'с,м(0, попавших в каждый из Повторим процедуру для каждой хромосомы. Получим искомый геномный профиль Рс,м(1). Экспериментальным путем установлено, что для порогов с<0,8 корреляция между профилями больше 99 %. Таким образом, можно считать, что профиль не зависит от порога с: Рм(1). Полученные профили для 6 матриц отображены на рисунке 3, где по оси X отложено относительное количество найденных сайтов, нормированное на интервал [0, 20], а по оси У частота встречаемости такого количества сайтов в геноме.

35000 30000 25000 20000 15000 10000 5000 0

—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 — V$MYOD_01 V$E47_01 V$VMYB_01

V$CMYB_01

V$AP4_01

V$MEF2_01

Рис. 3. Геномные профили весовых матриц

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

Описание программной системы. Программа Genomesignal, предназначенная для построения геномных профилей матриц, написана на языке С++ с использованием MFC. Она представляет собой диалоговое окно, в котором отображаются распределение сайтов на участке хромосомы, построенный по геному или хромосоме профиль, а также функциональность, позволяющая строить и сохранять геномные профили (рис. 4).

Рис. 4. Пример использования программы Genomesignal

Кроме того, имеются кнопки Draw profile и Refresh, предназначенные для рисования построенных профилей по хромосоме и итогового профиля. Для них необходимо выбрать матрицу и порог; кнопка Build Total Prf предназначена для по-

строения общего профиля по всем хромосомам; Build Chr Distr - это поиск сайтов на хромосоме.

Входными данными программы являются файл с библиотекой матриц Transfac matrix.dat, а также последовательность генома человека, взятая с http://hgdownload. cse. ucsc. edu/goldenPath/hg19/ chromosomes/. Для использования программы необходимо положить файлы с последовательностью ДНК в тот же каталог, что и библиотеку матриц. Для того чтобы построить распределение сайтов по всем хромосомам, необходимо нажать кнопку <Build Chr Distr>. Это длительная процедура, поэтому в левом нижнем углу отмечается прогресс операции и отображается затраченное и оцененное время на всю операцию. Если скорость расчета слишком низкая, можно сократить количество матриц в исходной библиотеке матриц.

Следующим шагом является построение одного тестового профиля по одной из хромосом. Для этого необходимо выбрать файл с выходными данными первого шага, например chr1.fa.out, выбрать матрицу и порог, а затем нажать кнопку Draw Profile. Изменяя матрицы и пороги, можно нажимать Refresh, чтобы сравнивать различные профили матриц. Но эти профили построены пока только по одной хромосоме. Чтобы построить общие профили для всех хромосом, необходимо нажать кнопку <Build Total Prf>. С ее помощью также отслеживается прогресс операции и оценивается общее и затраченное время. Результирующий профиль можно отобразить по кнопке Refresh либо считать из файла profiles.out.

Таким образом, разработанная автором программа позволяет строить распределения сайтов на хромосоме, сохранять и загружать, а также строить геномный профиль матрицы по всем загруженным хромосомам.

Геномные профили матриц, разработанные автором, являются характеристикой скученности или густоты сайтов на длинных участках ДНК. Они характеризуют распределение этой густоты сайтов: то есть сколько фрагментов генома имеют одну густоту сайтов, сколько другую, сколько третью и т.д. Экспериментальным путем выведено, что построенный профиль не зависит от порога, с которым производится поиск сайтов. Это является большим преимуществом, поскольку в таком случае профиль характеризует только вид матрицы. Из графиков на рисунке 3 видно, что матрицы V$VMYB_01 и V$MEF2_01 имеют схожий тип профиля с пиком в районе 14. При этом длина матрицы V$VMYB_01 составляет 10 нуклео-тидов, а V$MEF2_01 - 16. Например, длина V$MYOD_01 равна 12, из чего следует вывод, что профили не зависят от длины матрицы. Что же влияет на похожесть профилей, пока остается невыясненным и является предметом дальнейших исследований.

45000

40000

Литература

1. Rister J., Desplan C. Deciphering the genome's regulatory code: the many languages of DNA // Bioessays. 2010, May, №. 32, pp. 381-384.

2. Won K.J. [et.al.]. An integrated approach to identifying cis-regulatory modules in the human genome // PLoS One. 2009, № 4 (5).

3. Bauer D.C., Bailey T.L. Studying the functional conservation of cis-regulatory modules and their transcriptional output // BMC Bioinformatics. 2008, Apr. № 29 (9), p. 220.

4. Blanchette M. [et.al.]. Genome-wide computational prediction of transcriptional regulatory modules reveals new insights into human gene expression // Genome Res. 2006, May, № 16 (5), pp. 656-668.

5. Van Loo P., Marynen P. Computational methods for the detection of cis-regulatory modules // Brief Bioinform. 2009, Sep., № 10 (5), pp. 509-524.

6. Matys V. [et.al.]. TRANSFAC: transcriptional regulation, from patterns to profiles // Nucleic Acids Res. 2003. № 31, pp. 374-378.

УДК 004.932.75'1

КОМБИНИРОВАНИЕ КЛАССИФИКАТОРОВ НА ОСНОВЕ ТЕОРИИ НЕЧЕТКИХ МНОЖЕСТВ

И.А. Багрова; С.А. Пономарев; С.В. Сорокин,, к..ф.-м.н.; Д.А. Сытник, к.т.н.

В статье рассматривается применение методов теории нечетких множеств для решения задачи комбинирования простых классификаторов с целью улучшения качества классификации и расширения вида классифицируемых объектов. Эффективность предложенных алгоритмов оценивается на задаче распознавания текста. Даются рекомендации по применимости рассмотренных алгоритмов.

Ключевые слова: классификация, нечеткие множества, распознавание текста.

При разработке системы распознавания печатных кириллических символов авторы столкнулись с необходимостью создания специального классификатора, который должен распознавать множество начертаний символов, различающихся шрифтом, размером и стилем. Создание и обучение подобного классификатора в виде одной монолитной системы, скажем, одной искусственной нейронной сети, весьма сложно. Популярным подходом при решении сложных задач классификации является применение принципа «разделяй и властвуй», который получил распространение как в системах распознавания [1], так и в других задачах анализа данных, например, в алгоритме Matrixnet, применяемом поисковой системой Яндекс.

Этот подход предполагает создание и обучение набора простых классификаторов, распознающих определенные типы объектов, и последующее комбинирование результатов их работы.

Одной из наиболее распространенных технологий создания простых классификаторов являются искусственные нейронные сети. Классификаторы такого типа имеют по одному выходу на каждый распознаваемый класс, при этом одновременно несколько выходов могут иметь ненулевые значения. Интерпретация этих значений часто проводится в рамках теории вероятности, однако сложность в данном случае состоит в том, что вы-

ходы нейронных сетей не соответствуют базовому положению теории вероятности о том, что сумма вероятностей должна равняться 1. Для решения этой проблемы применялись различные способы, позволяющие по выходу сети определить вероятность принадлежности объекта тому или иному классу [2].

В статье рассматривается альтернативный подход к интерпретации результатов работы такого классификатора. Авторы предлагают опираться не на теорию вероятностей, а на теорию нечетких множеств, введенную Заде [3]. В этом случае выход нейронной сети может быть непосредственно интерпретирован как нечеткое подмножество множества распознаваемых классов, где каждый выход сети указывает степень принадлежности каждого конкретного объекта данному классу, представляемую числом в диапазоне [0, 1].

Определение 1. Нечетким подмножеством (множеством) А (в) X называется совокупность упорядоченных пар вида

А = {(х, цА(х)) | х е X, цА : X ^ I = [0,1]}, где ^А(х) представляет собой степень принадлежности х к А.

Отметим, что, в отличие от вероятностной интерпретации, в данном случае не требуется, чтобы сумма выходных значений классификатора равнялась 1. Неопределенность, моделируемая в рамках теории нечетких множеств, позволяет рассматри-