Об одной задаче восстановления матриц расстояний между цепочками ДНК

Об одной задаче восстановления матриц расстояний между цепочками ДНК

Б. Ф. Мельников, М. А. Тренина

Аннотация—На практике достаточно часто встречается необходимость вычисления специальным образом определённых расстояний между последовательностями различной природы. Подобные алгоритмы используются в биоинформатике для сравнения секвенированных генетических цепочек. В силу большой размерности таких цепочек приходится использовать эвристические алгоритмы, которые дают приближённые результаты.

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

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

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

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

I. Введение

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

Статья получена 3 мая 2018.

Борис Феликсович Мельников, Российский государственный социальный университет (email: bf-melnikov@yandex.ru).

Марина Анатольевна Тренина, Тольяттинский государственный университет (email: trenina.m.a@yandex.ru).

очень большая длина такой последовательности. Например, даже для очень коротких митохондриальных ДНК человека (мДНК) длина последовательности превышает 16000 символов, а для обычной ДНК может превышать 3 • 108 символов, [1].

В силу этого алгоритмы, вычисляющие точное значение расстояния между двумя последовательностями, являются неприменимыми, а для оценки расстояния между такими цепочками приходится использовать эвристические алгоритмы [2], [3], [4], которые дают приближённые результаты. При этом даже подобные эвристические алгоритмы требуют больших временных затрат: например, для построения матрицы порядка 50 х 50, в которую записываются расстояния, вычисляемые алгоритмом Нидлмана-Вунша, требуется около 28 часов (при тактовой частоте процессора порядка 2 ГГц, см. [5]).

Итак, для определения расстояния между геномами нам необходимы эвристические алгоритмы - причём, по-возможности, не требующие слишком больших времен-нь1х затрат. Существуют различные подобные алгоритмы, но очевидным их недостатком является получение несколько различающихся результатов при использовании различных эвристических алгоритмов, применённых к подчёту расстояния между одной и той же парой строк ДНК. Поэтому возникает задача оценки качества используемых метрик (расстояний) - и по результатам, полученным при решении этой задачи, можно делать выводы о применимости конкретного алгоритма подсчёта расстояний к различным прикладным исследованиям. Возможный подход к определению оценки качества метрик был приведён в [5].

Кроме того, одной из рассматриваемых в биокибернетике задач является задача восстановления матрицы расстояний между последовательностями ДНК (ниже -просто матрицы ДНК), в которой на входе алгоритма известны не все элементы рассматриваемой матрицы [6], [7]. В связи с этим возникает другая задача: использовать разработанный метод сравнительной оценки алгоритмов расчёта расстояний между последовательностями для совершенно иной цели, а именно - для кратко описываемой нами далее задачи восстановления матрицы расстояний между последовательностями ДНК. Для этой задачи мы в настоящей статье рассматриваем применение разработанного и исследованного нами ранее метода сравнительной оценки алгоритмов расчёта расстояний между парой строк ДНК.

При таком подходе (т. е. при применение метода сравнительной оценки алгоритмов расчёта расстояний к восстановлению матриц) само восстановление происходит в результате осуществления нескольких вычислитель-

ных проходов. На каждом из проходов для некоторых пока незаполненных (неизвестных) элементов матрицы получаются разные оценки; эти оценки специальным образом усредняются - и результат усреднения берётся в качестве значения неизвестного элемента. С физической точки зрения применяемое усреднение даёт положение центра тяжести одномерной системы тел, масса которых задается специальной функцией - функцией риска [8], [9]. Отметим, что ранее функции риска применялись нами в совершенно иных предметных областях - причём всегда были связаны со вспомогательными алгоритмами, относящимися к многокритериальной оптимизации.

Ниже рассматриваемые матрицы, подлежащие восстановлению, мы будем называть неполностью заполненными матрицами расстояний. Мы вводим этот термин для матрицы, из которой «вычеркнуто» некоторое количество элементов; при этом схожее понятие «разрежённая матрица» не полностью отражает смысл рассматриваемой нами задачи. Мы будем писать термин «неполностью» в одно слово - аналогично «труднорешаемым задачам» в русском переводе монографии [10].

Настоящая статья имеет следующую структуру. В разделе II при описании предварительных сведений мы приводим возможный подход к реализации вышеупомянутого алгоритма Нидлмана - Вунша.

В разделах III и IV описывается метод восстановления неполностью заполненной матрицы ДНК, разработанный на основе исследуемой раннее методики сравнительного анализа различных алгоритмов вычисления расстояний между последовательностями ДНК. Конкретно, в разделе III приводятся его неформальные обоснования, а в разделе IV формально описывается сам алгоритм восстановления. В нём для вычисления неизвестных элементов матрицы в качестве вспомогательного алгоритма используются функции риска.

Далее мы рассматриваем примеры применения алгоритма. В разделе V приводятся подробные результаты вычислительного эксперимента для малой размерности (матрица 7 х 7). А в разделе VI даётся краткое описание результатов вычислительного эксперимента для матрицы существенно большей размерности (28 х 28), а также приведена оценка полученных результатов для различных способов восстановления матрицы ДНК. Мы считаем, что наш подход правилен, в связи со следующим фактом: получаемое нами значение невязки - т.е. тривиальным образом определённого расстояния между двумя матрицами, исходной и восстановленной по неполным данным, - очень мало.

В заключении (раздел VII) даётся краткое обобщение проделанной работы, а также перечислены направления дальнейших исследований в данном направлении.

II. Предварительные сведения.

Подход к реализации алгоритма Нидлмана - Вунша

Алгоритм Нидлмана - Вунша [11] выполняется путём выравнивания двух последовательностей символов. Он представляет из себя пример динамического программирования ([12, стр.299] и др.) и является, по-видимому, первым описанным в литературе приложением динамического программирования к сравнению биологических последовательностей.

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

По заданной матрице расстояний между аминокислотами итеративным образом рассчитывается следующая матрица всех возможных маршрутов

sij = Dij + max

где:

• sij - элемент г-й строки j-го столбца строимой матрицы;

• Dij - расстояние между г-й и j-й аминокислотами (или нуклеотидами);

• G - штраф на делецию (штраф за пропуск аминокислоты).

Затем осуществляется проход по матрице в обратном направлении, по максимальным элементам.

Полученный маршрут соответствует оптимальному выравниванию, его значение принимается в качестве выхода алгоритма Нидлмана - Вунша.

III. Об одном методе восстановления матрицы ДНК

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

Предположение о том, что треугольники должны быть остроугольными равнобедренными, возникает на основе примерно таких рассуждений, см. [14]. Согласно данным биологов, шимпанзе (Ш) и бонобо (Б) имели общего предка, жившего около 2-2.5 млн. лет назад, а человек (Ч) с ними обоими разошелся 5.5-7 млн. лет назад, см. [15] и др. В связи с этим возникает вопрос: почему Ч должен быть ближе к Б чем к Ш? Или наоборот - почему он должен быть ближе к Ш чем к Б? Очевидно, что ответ на оба этих вопроса отрицательный, т. е., иными словами, объяснения большей близости существовать не может.

Для ответа на вопрос, насколько «правильной» является матрица, полученная в результате некоторого эвристического алгоритма, мы предлагаем использовать «харак-

теристику отхода» полученных треугольников от «вытянутых равнобедренных» треугольников - т. н. "badness", ниже будем писать без кавычек. При этом в качестве одного из вариантов badness может использоваться формула

а — в

Y

где а, в и y - углы треугольника, причём мы предполагаем, что а > в > Y [14]. По мнению авторов настоящей статьи, эта формула наилучшим образом характеризует описанные нами требования (упрощая ситуацию - «насколько» остроугольным равнобедренным является рассматриваемый нами треугольник). Приведём неформальное объяснение этого: чем ближе треугольник к равнобедренному, тем меньше у него разность между а и в, и в идеальном случае в числителе получается 0; при этом, согласно сделанным нами допущениям, тупоугольного (или прямоугольного) равнобедренного треугольника получаться не может. Выполнение же свойства ост-роугольности увеличивает знаменатель. Следовательно, приближение треугольника к равнобедренному треугольному уменьшает в формуле числитель и увеличивает знаменатель, т. е. а стремится к нулю.

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

При расчёте badness всей матрицы для каждого варианта восстановления можно:

• либо суммировать соответствующие badness по всем возможным треугольникам рассматриваемых матриц;

• либо взять максимальную badness по этим треугольникам.

В дальнейшем мы предполагаем рассмотреть и другие подходы к вычислению badness всей матрицы.

Однако при расчёте этого показателя

Исходя из всего этого, для вычисления badness всей матрицы мы используем специальное усреднение. С физической точки зрения применяемое усреднение даёт положение центра тяжести одномерной системы тел, масса которых задаётся специальной функцией - так называемой функцией риска, см. [16]. Badness для всех треугольников определяет координаты тел, а функция риска - их массы, при этом, чем больше координата, тем меньше ее масса (т. е. чем больше badness, тем меньше его вклад).

Итак, как уже было отмечено выше, мы считаем, что в правильно заполненной матрице расстояний между последовательностями ДНК все возможные построенные треугольники должны быть максимально близкими к равнобедренным остроугольным, и тогда на основании этого вывода можно произвести восстановление матрицы расстояний между строк ДНК, которая сначала имеет некоторое количество неизвестных элементов. Заполнением таких матриц мы и будем заниматься далее.

IV. Строгое описание алгоритма восстановления

Для определения неизвестного элемента мы рассматриваем все возможные треугольники, образованные из элементов этой матрицы, для которых одна из сторон неизвестна. Для каждого такого треугольника из того условия, что он является равнобедренным остроугольным, мы получаем одно из возможных значений этой неизвестной стороны. Далее мы специальным образом вычисляем окончательное значение этой стороны (неизвестного элемента). А именно, для её вычисления на основе всех полученных оценок элемент полагается равным среднему арифметическому всех полученных значений; в качестве альтернативного варианта мы можем исключать наибольшее и наименьшее из получаемых значений1.

При большом количестве пропущенных элементов матрицы треугольников с двумя известными сторонами будет немного, поэтому восстановление матрицы за один проход обычно невозможно. При восстановлении матрицы на втором и последующих проходах можно либо использовать только элементы матрицы последнего прохода, либо же воспользоваться всеми матрицами, полученными на предыдущих проходах. Во втором случае с каждым последующим проходом в матрице становится всё больше элементов, вычисленных приближённо. Поэтому при оценке неизвестного элемента возможно применение аналога функции риска, которая будет корректировать вес элементов в зависимости от номера прохода.

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

соЕо + е1Е1 + ... + екЕк

E

со + ci + ... + ск

где:

• Ег - где значение элемента матрицы, полученной на г-м проходе;

• с0 ,..., ск - некоторые специально подбираемые коэффициенты.

На практике [17] хорошие результаты достигаются, когда для коэффициентов используются формулы

со

1,

Ci = pci-i.

Согласно [8], [9], [18], функция риска может быть и динамической: при использовании последней мы берём усреднение, зависящее от «черновой прикидки» итогового значения: является ли оно «хорошим», «средним» или

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

и =

«плохим». Кроме того, можем рассматривать и последовательность таких динамических функций риска, где на каждом этапе мы в качестве такой «черновой прикидки» опираемся на значение, полученное на предыдущем шаге. В нашем случае для оценки неизвестного элемента матрицы расстояний между строк ДНК используется формула

J2i=i aif Ю

Ell f (ai) '

Ei i :-

Ek j :—

c0E0ki + ... + csEli ; c0 + ... + cs '

coEkj + ... + csEjj

co + ... + cs if Eki > Ekj then bш :— Еы else bkoi :— Ej end; end;

end;

bi + ... + b,

oi

мы используем такой показатель, как невязка; он характеризует отклонение полученной матрицы от исходной. Мы вычисляем невязку на основе естественной метрики

d —

n— 1 n

-1(aij aij)2

n(n - 1)/2

где:

где /(x) - некоторая специальным образом выбранная убывающая функция.

Алгоритм 1

Вход: Неполностью определенная матрица A = a ij (все равные нулю элементы вне главной диагонали считаем неизвестными).

Использующиеся вспомогательные переменные: bi - массив оценок неизвестного элемента.

Описание алгоритма.

Шаг 1: Устанавливаем s := 1 - номер прохода.

Шаг 2: Вычисляем h - количество элементов верхнего треугольника, равных нулю.

Шаг 3:

if aij = 0 and i = j then begin

kol := 0 {считаем количество треугольников, построенных на неизвестном элементе} for k := 0 to n do begin

if k = i and k = j and a i = 0 and a j = 0 then begin

kol := kol + 1; cq := 1; cs := cs-i  p;

kol

Шаг 4: Вычисляем hi - количество элементов верхнего треугольника, равных нулю после очередного прохода.

Шаг 5:

if h1 =0 then выход 1; if h1 = h then выход 2;

s := s + 1; переход к шагу 2.

Выход 1: Заполненная матрица A.

Выход 2: Матрицу A восстановить невозможно.

После выполнения алгоритма для проведения сравнительного анализа результатов восстановления матрицы

• - элементы матрицы, полученной в результате применения некоторого алгоритма подсчёта расстояний между парой геномов (в нашем случае - алгоритма Нидлмана - Вунша);

• а^ - элементы матрицы, восстановленной в результате работы вышеописанного алгоритма.

V. Подробное описание примера работы с матрицей малой размерности

Оба рассматриваемых нами примера (в этом разделе -для малой размерности 7, а также в следующем, для размерности 28) работают с матрицами, полученными применением алгоритмом Нидлмана - Вунша [19]. Мы применили этот алгоритм к цепочкам мДНК различных животных, взятых из банка данных NCBI [20]; при этом были взяты секвенированные цепочки мДНК для одного представителя каждого из 28 отрядов млекопитающих (классификацию млекопитающих выбираем согласно [1], другие варианты классификации не рассматриваем). В таблице 14 приложения перечислены все выбранные нами виды животных. Повторим, что в настоящем разделе подробно рассматривается пример для первых семи элементов этой таблицы.

Результаты применения рассматриваемых нами алгоритмов (в частности - алгоритма Нидлмана - Вунша) обычно выражаются в «процентах близости». Согласно же нашим предыдущим работам ([14], [19], [21] и др.), нам необходима схожая характеристика («относительная удалённость») - получающаяся вычитанием полученного «процента близости» из 100 и делением на 100. В настоящем разделе в таблицах мы будем использовать эти значения - а в следующих разделах, для больших размерностей, данные для удобства в таблицах (см. приложение) будут обозначаться целыми числами, образованными первыми тремя значащими цифрами этих значений.

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

Итак, сначала мы рассматриваем пример очень малой размерности. Конечно, количество элементов, которые можно убрать из матрицы, зависит от её размера. Применение вычислительных экспериментов показывает, что для матрицы порядка 7 х 7 приемлемое восстановление обычно возможно в том случае, когда процент обнуления матрицы не превосходит 70.

Для примера возьмем квадратную матрицу 7 х 7 (таблица 1). Отметим ещё раз, что здесь значение 0 соответствует минимально возможному расстоянию между геномами (их совпадению), а значение 1 (по-видимому, недостижимое для реальных геномов) соответствовало бы максимально возможному расстоянию между ними

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

Таблица 1. Исходная матрица порядка 7

D 0,299 0,25 В D,27 0,3149 0,324 D,2B5

0,299 0 0,369 0,29В 0,2399 0,209 0,3014

0,25 В 0,369 0 0,292 0,3432 0,339 0,3579

0,27 0,29В 0,292 0 0,2936 0,34В 0,2923

0,315 0,24 0,343 0,294 0 0,217 0,3177

0,324 D,2D9 0,339 0,34В 0,216В 0 0,3411

0,2В5 0,301 0.3579 0,292 0,3177 0,341 0

Далее. Из этой матрицы мы удаляем примерно 60% элементов - что для 21 элемента, лежащего выше главной диагонали, составляет 13 удаляемых элементов; оставляем в матрице примерно 40% элементов. Возможный (обрабатываемый нами) вариант удаления приведён в таблице 2.

Таблица 2. Неполностью заполненная матрица порядка 7

0 0 0 0 0 0 0,2В5

0 0 0,369 0 0,2399 0,209 0

0 0,369 0 0 0 0 0

0 0 0 0 0,2936 0,34В 0,2923

0 0,24 0 0,294 0 0 0,3177

0 0,209 0 0,34В 0 0 0

0,2В5 0 0 0,292 0,3177 0 0

Будем вычислять неизвестные элементы по всей матрице

В нашем примере не нашлось ни одного значения к, удовлетворяющего этому условию; аналогичная ситуация и для элемента а13. А для следующего элемента а14 нашлось единственное значение к = 7, удовлетворяющее необходимому условию. По элементам а71 = 0, 285 и а74 = 0,292 с учётом того, что получающийся треугольник должен быть остроугольным равнобедренным, получаем, что а14 = 0,292.

Далее. Для элемента а15 значение к также равно 7, и из двух чисел а71 = 0, 285 и а75 = 0,3177 получаем, что а15 = 0, 3177. По мере заполнения матрицы количество возможных значений к будет увеличиваться. Например, для элемента а16 не удалось подобрать к, однако для симметричного ему элемента а61 (при рассмотрении элементов последовательно по строкам) таких значений имеется несколько.

Результат, получающийся после первого прохода, приведён ниже в таблице 3. Отметим, что после первого прохода осталось небольшое количество элементов, равных 0.

Таблица 3. Матрица, полученная после первого прохода

0 0 0 0,292 0,3177 0,334 0,2В5

0 0 0,369 0,321 0,2399 0,209 0,3177

0 0,369 0 0,369 0,3691 0,369 0,3691

0,292 0,321 0,369 0 0,2936 0,34В 0,2923

0,31Б 0,24 0,369 0,294 0 0,319 0,3177

0,334 0,209 0,369 0,34В 0,319 0 0,3 ЗВ5

0,2В5 0,31В 0,369 0,292 0,3177 0,339 0

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

к = 4 : а14 = 0, 2924, а24 = 0, 32 09 ^ Ь1 = 0, 3209 ;

к = 5: а15 = 0, 3177, а25 = 0, 2399 ^ Ь2 = 0, 3177;

к = 6 : а16 = 0, 3336, а26 = 0, 20 89 ^ Ь3 = 0, 3336 ;

к = 7: а17 = 0, 285, а27 = 0, 3177 ^ Ь4 = 0, 3177 .

На основе всех полученных потенциальных значений а12 вычисляем среднее арифметическое и получаем присваиваемое значение а12 = 0, 3224.

Далее проделываем аналогичные действия для элемента а13, после чего получаем следующую матрицу:

Таблица 4. Восстановленная матрица порядка 7

0 0,322 0,369 0,292 0,3177 0,334 D,2B5

0,322 0 0,369 0,321 0,2399 0,209 0,3177

0,369 0,3» 0 0,369 0,3 691 0,369 0,3691

0,292 0,321 0,369 0 0,2936 0,34В 0,2923

0,31Ё 0,24 0,369 0,294 0 0,319 0,3177

0,334 0,209 0,369 0,34В 0,319 0 0,3 ЗВ5

0,2В5 0,31В 0,369 0,292 0,3177 0,339 0

Как было сказано выше, для анализа результатов восстановления матрицы мы вычисляем заданную обычным образом невязку. Для рассматриваемого примера получаемое значение невязки равно d = 0,0015, что, по-видимому, неплохо: отношение невязки к среднему значению элемента матрицы менее 0, 005 (меньше, чем полпроцента).

VI. Результаты восстановления матрицы ДНК

В этом разделе представлены результаты вычислительного эксперимента большей размерности. Как и в предыдущем разделе, мы выбираем по одному геному из 28 отрядов млекопитающих [1] (таблица 14) - но здесь мы рассматриваем представителей всех 28 отрядов.

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

Итак, в исходной матрице расстояний мы убрали примерно 63% пар элементов (оставили примерно 37% пар; как и ранее, некоторый элемент верхнего треугольника мы убираем вместе с соответствующим элементом

нижнего). Получившаяся матрица приведена в таблице 9 приложения.

Для проведения сравнительного анализа мы сначала произвели восстановление матрицы на основе использования только элементов той матрицы, которая образовалась на последнем проходе. Как отмечалось в предыдущем разделе возможно применение двух подходов. Результаты восстановления с применением первого подхода, где производилось вычисление среднего арифметического по всем оценкам, полученным по всевозможным треугольникам, построенных на этом элементе с двумя другими известными сторонами, представлены в таблице 10 - по смыслу она соответствует таблице 4 «малого» примера. А в таблице 11 приведеная матрица, полученная с применением второго подхода: из всего множества полученных оценок, если позволяло их количество, исключались наибольший и наименьший элементы, а для оставшихся вычислялось среднее арифметическое.

На основе анализа таблицы 11 - как было сказано выше, полученной путём применения второго подхода, -можно, по-видимому, сделать вывод о недостаточной эффективности этого подхода для восстановления матрицы ДНК. Причём эта недостаточная эффективность проявляется, несмотря на то, что, казалось бы, этот подход должен давать относительно лучший вариант: ведь мы исключаем «крайние ситуации». Однако в матрицах больших размерностей получается большое количество одинаковых элементов; этот факт объясняется тем, что на неизвестном элементе образуется небольшое количество треугольников с двумя другими известными сторонами, поэтому исключение наибольшей и наименьшей оценок приводит к тому, что вычисление среднего арифметического производится для очень малого количества оценок. Далее будет приведён подробный анализ полученных результатов путём вычисления невязки - и этот анализ также подтвердит неэффективность второго подхода.

Количество проходов, необходимых для восстановления всей матрицы, зависит от процента пропущенных элементов. Как показали результаты вычислительных экспериментов, если процент пропущенных элементов меньше примерно 55%, то восстановление всей матрицы происходит за 1 проход. Если же это количество превышает примерно 64%, то может оказаться, что потребуется более 2 проходов. Кроме того, в этом случае количество проходов будет зависеть от расположения пропущенных элементов. При отсутствии всех элементов некоторой строки (некоторого столбца) восстановление матрицы вообще невозможно, и поэтому с увеличением процента обнуления матрицы уменьшается вероятность её восстановления.

Для проведения сравнительного анализа различных способов восстановления матрицы мы вычислили невязку, а также - для более полной картины - выделили наибольшее отклонение. Результаты вычислений представлены ниже в таблице 5.

Применение второго подхода на первом проходе даёт меньшее значение максимального отклонения, но в целом невязка больше, причём наибольшее отклонение этой невязки от невязки, полученной для первого подхода, происходит на второй итерации - когда количество треугольников с двумя другими известными вершинами становится больше. Таким образом, при вычислении

среднего арифметического всех «предварительных значений» элемента значение невязки значительно меньше -по-видимому, практически всегда.

Таблица 5. Сравнение невязки различных подходов при восстановлении матрицы

1-й подход 2-й подход

max rfM d max dtJ if

1-й проход 0.2135 0.001939 0.2135 0.003322

2-й проход 0.2356 0.002791 0.350 0.003942

Приведённые результаты получены при восстановлении матрицы с использованием только элементов матрицы последнего прохода. Однако в этом случае чем больше номер прохода, тем менее точны элементы матрицы -поэтому «не учитывается предыстория».

Далее нами представлены результаты, полученные путём применения как статической, так и динамической функций риска. Для статической функции риска наилучший результат был получен для коэффициента р = 0,9 (обозначения, связанные с функциями риска, см. выше). А для динамической функции риска нами была подобрана убывающая функция

/

Применение функций риска позволило уменьшить значение невязки - особенно при втором и (при необходимости) дальнейших проходах.

Таблица 6. Сравнение невязки восстановления матрицы с применением статической и динамической функций риска

Восстановление матрицы с помощью статической фтаыши риска. В осстановление магрипы с помощью динамической функции риска. fixhH0.li)1 ;

max d d max d ci

1-й проход 0. IS 52. 0.001715 0.1414 0.0016S9

2-й проход 0.1S52 0.001 S51 0.1414 0001301

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

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

Таблица 7. Итоговая таблица вычислений

life 1И1ГТ ïfK ЛМ ттрсло-« Ел-ггталлы^-си Hi ii-cs пиша = плспвднЕга трзхада ЕаоспкаЕЛ^-се матрицы-: жаыао*«) г^лпэаоай QvnnptH рн-nz, BPiii ЕаоспниЕЛ^-ск матрицы-: жаыап*«) ди^ыч^гзай QvnnptH pH-32-, f^HÎ.lï)'

moid.. <£ ifluzrï., <£ ifluzrï., <£

50 1 0.1Î34 0.00ИЧ 0 133fl 0.00F3I 0.1576 0.00Ш8

62 : 0:1:5 0.00241 0 1352 0.001B51 0 ]-1- 0.00Ш1

65 3 0J202Î 0.00Ж1 0.1745 0.00202 0.1Î5Î 0.00 №5

VII. Заключение

Итак, в основе предлагаемого нами метода восстановления матрицы расстояний между последовательностями ДНК мы предлагаем использовать подход, который был ранее разработан и применён на практике для сравнительной оценки других алгоритмов - алгоритмов расчёта расстояний между такими последовательностями; упрощая, можно сказать, что мы пытаемся добиться выполнения свойства остроугольной равнобедренности для всех образующихся треугольников. При этом лучшие результаты получаются в том случае, когда оценки неизвестных элементов матрицы основываются на использовании функций риска - как статической, так и динамической. Применение описанного метода для заполнения матрицы расстояний между последовательностями ДНК позволит значительно сократить время её заполнения: например, как уже отмечалось выше, для построения матрицы порядка 50 х 50, в которую записываются расстояния, вычисляемые алгоритмом Нидлмана - Вунша, требуется около 28 часов2, а при использовании предложенного нами метода - около 2 часов.

Можно сказать, что, аналогично работам [19], [21], наша статья направлена на то, чтобы предложить советы:

• для улучшения уже имеющихся, описанных ранее алгоритмов;

• для разработки новых алгоритмов.

В обоих случаях мы имеем в виду алгоритмы вычисления расстояний между последовательностями геномов.

Далее очень кратко опишем некоторые из возможных направлений дальнейшей работы.

1) Рассмотреть другие возможные формулы для вычисления badness - причём как одного треугольника, так и всей матрицы. В последнем случае необходимо, как и в описанном выше способе, badness всей матрицы считать на основе значений badness каждого из треугольников. Например, в основе вычисления badness одного треугольника можно использовать не только разности углов, но и разности сторон, а также отдельно рассматривать отклонение от равнобедренности и отклонение от остроугольности.

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

2 Несложно посчитать, что количество пар элементов (для которых мы и считаем расстояния) в матрицах размерности 50 X 50 примерно в 3, 25 раз больше, чем в случае рассматриваемых в настоящей статье «больших» матриц размерности 28 X 28.

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

3) Разработать другие подходы для сравнительного анализа различных алгоритмов вычисления расстояний между последовательностями - и описать алгоритмы восстановления матриц на основе этих подходов. В настоящее время нами ведутся работы по сравнению двух из таких алгоритмов - причём как для применения в «обычных» задачах ДНК-анализа, так и в близких к рассматриваемым в настоящей работе задачах восстановления матриц ДНК.

4) Описать и применить на практике методы «учиты-вания предыстории» при работе алгоритмов восстановления матриц.

Конечно, этими четырьмя направлениями дальнейшая

работа ограничиваться не будет.

Список литературы

[1] Айала Ф., Кайгер Дж. Современная генетика. Пер. с англ. Т. 1. -М.: Мир. 1987. 295 с.

[2] Мельников Б. Ф., Романов Н. В. Ещё раз об эвристиках для задачи коммивояжёра. Теоретические проблемы информатики и ее приложений. Т. 4. 2001. С. 81-86.

[3] Melnikov B., Radionov A., Gumayunov V. Some special heuristics for discrete optimization problems. In: Proceedings of 8th International Conference on Enterprise Information Systems, ICEIS-2006. Paphos. 2006. P. 360-364.

[4] Мельников Б. Ф., Панин А. Г. Параллельная реализация мульти-эвристического подхода в задаче сравнения генетических последовательностей. Вектор науки Тольяттинского государственного университета. № 4 (22). 2012. С. 83-86.

[5] Мельников Б. Ф., Пивнева С. В, Трифонов М. А. Мультиэвристи-ческий подход к сравнению качества определяемых метрик на множестве последовательностей ДНК. Современные информационные технологии и ИТ образование. Т. 13. № 2. 2017. С. 89-96.

[6] Eckes B., Nischt R., Krieg T. Cell-matrix interactions in dermal repair and scarring. Fibrogenesis Tissue Repair. No. 3:4. 2010. doi:10.1186/1755-1536-3-4.

[7] Midwood K. S., Williams L. V., Schwarzbauer J. E. Tissue repair and the dynamics of the extracellular matrix. The International Journal of Biochemistry & Cell Biology. 2004. Vol. 36. Issue 6. P. 1031-1037.

[8] Мельников Б. Ф., Радионов А. Н. О выборе стратегии в недетер-мированных антагонистических играх. Программирование. № 5. 1998. С. 55-62.

[9] Мельников Б. Ф. Эвристики в программировании недетерминированных игр. Известия РАН. Программирование. № 5. 2001. С. 63-80.

[10] Гэри М., Джонсон М. Вычислительные машины и труднорешае-мые задачи. Пер. с англ. - М.: Мир. 1982. 416 с.

[11] Needleman S., Wunsch Ch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology. 1970. Vol. 48. No. 3. P. 443-453.

[12] Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы. Построение и анализ. М.: Вильямс, 2005. 1296 с.

[13] Pages H., Aboyoun P., Gentleman R., DebRaoy S. Biostrings: String Objects Representing Biological Sequences and Matching Algorithms [Электрон. ресурс]. Bioconductor - Электрон. дан. - Режим доступа: https://bioc.ism.ac.jp/packages/2.6/bioc/html/Biostrings.html, свободный

[14] Melnikov B. F., Pivneva S. V., Trifonov M. A. Comparative analysis of algorithms calculating distances ofDNA sequences and some related problems. Сборник трудов III международной конференции и молодежной школы «Информационные технологии и нанотехнологии (ИТНТ-2017)», Самарский национальный исследовательский университет имени академика С.П. Королева. 2017. С. 1640-1645.

[15] Frans B. M. Bonobo: The Forgotten Ape. University of California Press, ISBN 0-520-20535-9; trade paperback. October. 1998. P. 224.

[16] Melnikov B. Heuristics in programming of nondeterministic games. Programming and Computer Software. Vol. 27. No. 5. 2001. С. 277288.

[17] Мельников Б. Ф., Мельникова Е. А. Подход к программированию недетерминированных игр (Часть I: Описание общих эвристик). Известия высших учебных заведений. Поволжский регион. Физико-математические науки. № 4 (28). 2013. С. 29-38.

[18] Мельников Б. Ф., Пивнева С. В. Принятие решений в прикладных задачах с применением динамически подобных функций риска. Вестник транспорта Поволжья. № 3. 2010. С. 28-33.

[19] Мельников Б. Ф., Тренина М. А., Кочергин А. С. Подход к улучшению алгоритмов расчёта расстояний между цепочками ДНК

[20] Home - Nucleotide - NCBI [Электрон. ресурс]. - Режим доступа: https://www.ncbi.nlm.nih.gov/nuccore, свободный

[21] Makarkin S., Melnikov B., Panin А. On the metaheuristics approach to the problem of genetic sequence comparison and its parallel implementation. Applied Mathematics (Scientific Research Publishing). Vol. 04. No. 10. P. 35-39.

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 6, no. 6, 2018 Приложение. Матрицы 28 x 28 и дополнительная информация.

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

0 299 256 269 315 324 265 295 503 3 27 266 271 302 293 305 263 262 261 302 317 266 961 272 326 266 242 266 274

299 0 369 296 240 209 301 222 535 3 27 303 302 3 21 307 229 296 297 267 265 296 292 961 316 269 296 266 296 299

258 369 0 292 343 339 356 372 564 396 355 372 376 373 376 311 344 299 341 366 344 ??7 35S Ml 347 273 236 304

269 296 292 0 293 346 292 296 500 ЗОБ 273 279 263 276 297 271 275 253 327 309 257 961 269 314 270 260 311 264

315 240 343 293 0 217 316 236 50Б 316 316 309 314 312 249 312 302 307 269 304 297 961 335 272 311 309 316 312

324 209 339 346 217 0 341 196 ЕЮ 356 351 337 367 357 267 334 346 332 252 320 337 961 354 224 346 336 355 350

285 301 356 292 316 341 0 304 537 316 292 290 309 292 312 275 268 279 320 317 270 961 ЗЮ 333 279 260 265 276

295 ггг 372 296 236 196 304 0 535 3 23 314 297 324 316 222 301 297 294 261 301 295 ??? 319 266 304 296 331 ЗЮ

503 505 564 500 50Б 51В 507 5'Э5 0 511 502 505 50Б 5Q2 501 502 506 503 504 5Ю 501 999 504 506 500 501 504 503

327 3 27 396 ЗОБ 316 356 316 323 511 0 326 322 302 311 330 311 ЗЮ 316 364 329 304 961 343 329 320 301 354 311

26В 303 356 273 316 351 292 31Д 532 326 0 262 295 267 306 261 264 273 330 326 267 961 275 332 272 267 312 268

271 302 372 279 309 337 290 297 535 3 22 262 0 294 303 306 265 263 274 323 315 274 ??? 269 335 290 277 271 290

302 3 21 376 263 314 367 309 324 536 302 295 294 0 300 316 296 297 296 256 320 261 999 313 3 21 297 266 300 267

293 307 373 276 312 357 292 316 532 311 267 303 300 0 311 277 294 265 335 323 264 999 313 326 264 274 296 243

305 229 376 297 249 267 312 222 531 330 ЗОБ ЗОБ 316 311 0 301 305 297 264 301 301 961 313 266 300 295 302 299

253 296 311 271 312 334 275 301 532 311 261 265 296 277 301 0 265 267 321 315 255 ??? 294 3 27 256 263 312 259

262 297 344 275 302 346 266 297 536 ЗЮ 264 263 297 294 305 265 0 272 326 312 273 961 294 3 27 276 257 297 266

261 267 299 263 307 332 279 294 533 316 273 274 296 265 297 267 272 0 307 316 261 961 267 326 265 257 296 273

302 265 341 327 269 252 320 261 504 364 330 323 3 56 335 264 321 326 307 0 326 317 996 327 297 322 315 333 326

ш S3 296 366 309 304 320 317 301 5Ю 329 326 315 320 323 301 315 312 316 326 0 303 961 334 3 22 316 313 316 316

266 292 344 257 297 337 270 295 501 304 267 274 261 264 301 255 273 261 317 303 0 961 266 312 259 252 ЗОБ 240

961 961 997 961 961 961 961 99? 999 961 961 999 999 999 961 999 961 961 996 961 961 0 995 961 961 999 969 961

272 316 356 269 335 354 310 31? 504 343 275 269 313 313 313 294 294 267 327 334 266 995 0 336 267 261 296 289

326 269 «1 314 272 224 333 266 536 329 332 335 3 21 326 266 327 327 326 297 322 312 961 336 0 326 322 364 322

266 296 347 2710 311 346 279 304 500 320 272 290 297 264 300 256 276 265 322 316 259 961 267 326 0 252 306 242

242 256 273 260 309 336 260 296 501 301 267 277 266 274 295 263 257 257 315 313 252 999 261 3 22 252 0 244 250

266 296 236 311 316 355 265 331 504 354 312 271 300 296 302 312 297 296 333 316 ЗОБ 969 296 364 ЗОБ 244 0 276

274 299 3Q4 264 312 350 276 зю 533 311 266 290 267 243 299 25? 266 273 326 31S 240 961 269 3 22 242 250 276 0

Таблица 9. Подаваемая на вход алгоритма восстановления неполностью заполненная матрица

0 256 - - - - - - - - - - - - - 262 - - - - - - - - - - -

- С - - - - - 222 - - - - - - - - 297 - - - 292 - - 269 - - - -

258 - 0 - 343 339 - - - - - - - - - - - - - - - - - - - 273 - -

- - - 0 - - 292 - - - - - - - - - - - - - 257 - - - - - - -

- - 343 - 0 - - 236 - - - - - - - - - - - 304 - - - - - - - -

- - 339 - - 0 - - - - 351 - - - - - - - - - 337 - - - - - - -

- - - 292 - - 0 - - 316 - - - - - - - 279 - - - - - - - - - -

- 222 - - 236 - - 0 - - - - - - - - - - - - - - - - - 296 - -

- - - - - - - - 0 - - 505 50Б

- - - - - - 316 - - 0 - - 302 - - - - - - - - - - - - - - -

- - - - - 351 - - - - 0 - - - - - - - - 326 - - - 332 - - - 266

- - - - - - - - 505 - - 0 - - - - - - - 315 - - - - - - - -

506 302 - - 0 - - - 297 - - - - - - - - - - -

0 — 264 999

0 301 - - 264 - - - - - 300 - - -

301 0 - - 321 - - - - - 256 - - -

262 297 - - - - - - — - - - 297 - - - 0 - 326 - - - - - - - - -

- - - - - - 279 - — - - - - - - - - 0 - - - - 267 - 265 - - -

264 321 ш г., - 0

- - - - 3<М - - - - - 326 315 - - - - - - - 0 303 - - - - - - -

- 292 - 257 - 337 - - - - - - - 264 - - - - - 303 0 - - - - - - -

999 0 995

267 995 0

- 269 - - - - - - - - 332 - - - - - - - - - - - - 0 - - - -

300 256 - 265 - - - - - - 0 - - -

- 273 - - - - 296 - - - - - - - - - - - - - - - - - 0 244 -

244 0 -

268 0

Таблица 10. Восстановленная с применением первого подхода матрица

О 296 256 296 319 336 316 315 ЕМ 353 361 351 336 341 462 461 262 352 352 347 344 996 432 360 423 360 366 426

296 О 296 294 309 336 317 222 ЕМ 363 361 350 336 340 462 461 297 351 352 346 292 996 432 269 423 361 369 426

256 296 0 296 343 336 326 317 ЕМ- 35? 364 356 345 350 462 462 343 355 354 352 350 ??5 433 369 424 273 369 427

296 294 296 0 317 336 292 316 ЕМ. 360 364 279 347 339 463 462 347 355 356 345 257 ??Б 431 365 421 366 394 427

31? 3Ö9 343 317 0 340 329 236 ЕМ 363 360 356 352 352 463 463 352 35? 356 ЗМ 349 996 434 390 424 369 397 426

336 336 336 336 340 0 339 336 ЕМ 372 351 370 362 361 464 464 362 366 362 361 336 996 436 399 427 396 4M 430

316 317 326 292 329 339 0 319 ЕМ 316 372 357 354 3 56 462 462 3 57 279 362 356 357 ??5 436 399 425 431 402 431

315 222 317 316 236 336 31? 0 ЕМ 35? 363 356 346 347 463 463 346 356 356 349 346 ??Б 441 366 431 296 391 431

504. ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ 0 ЕМ ЕМ Е05 ЕОБ ЕМ 532 532 ЕМ ЕМ ЕМ ЕМ ЕМ 996 542 53 6 542 536 53 6 53?

353 363 3 5? 360 363 3 72 316 35? ЕМ 0 366 355 302 354 463 463 3 51 354 35? 355 354 996 437 397 426 396 399 429

361 361 364 364 360 3 51 372 363 ЕМ 366 0 362 361 361 464 464 361 326 35? 326 35? ??5 429 332 429 399 402 266

351 350 3 56 279 356 370 357 356 Е'Э5 355 362 0 352 350 463 462 3 52 351 356 315 346 ??Б 436 394 426 396 397 429

336 336 345 347 352 362 354 346 ЕОБ 302 361 352 0 342 462 461 297 353 351 347 345 ??Е 436 363 426 461 391 429

341 340 350 339 352 361 356 347 ЕМ 354 361 350 342 0 462 462 342 351 353 344 264 ??? 430 362 425 364 391 429

462 462 462 463 463 464 462 463 532 463 454 463 462 462 0 301 325 316 264 351 350 ??5 479 461 300 456 457 473

461 461 462 462 463 464 462 463 532 463 464 462 461 462 301 0 325 ЗМ 321 351 ЗЕО ??Б 477 460 256 455 457 473

262 297 343 347 352 362 357 346 ЕМ 351 361 352 297 342 325 325 0 349 326 347 345 ??Е 435 363 414 379 390 429

352 351 355 355 359 366 279 356 ЕМ 354 365 351 353 351 316 ЗМ 349 0 352 353 351 ??5 267 395 265 396 397 429

352 352 354 356 356 362 362 356 ЕМ 35? 361 356 351 353 264 321 326 352 0 354 353 ??5 437 392 415 390 397 429

347 346 3 52 345 304 361 356 349 ЕМ 355 326 315 347 344 351 351 347 353 354 0 303 ??Б 436 364 426 366 393 427

344 292 350 257 349 336 357 346 ЕМ 354 35? 346 345 264 350 350 345 351 353 303 0 ??Е 435 363 426 365 392 426

; ; п ; ; м 995 ??5 995 ??Е 996 ??5 ??5 996 995 99В 99? 996 ??В ??6 ??В ??6 ??£ ??В 0 ??5 ??В ??5 ??5 ??Е ??6

432 432 433 431 434 436 436 441 542 43 7 440 436 436 430 479 477 435 267 437 436 435 ??5 0 43 2 426 432 43 2 436

3£0 269 369 365 390 399 399 366 536 397 332 394 363 362 461 460 363 395 392 364 363 ??5 432 0 423 362 369 425

423 423 424 421 424 427 425 431 542 426 429 426 426 425 300 256 414 265 415 426 426 ??Б 426 423 0 423 423 432

350 361 273 366 369 396 401 296 536 396 399 396 361 364 456 455 379 396 390 366 365 ??Б 432 362 423 0 244 429

366 369 369 394 397 404 402 391 536 399 402 397 391 391 457 457 390 397 397 393 392 996 432 369 423 244 0 427

426 426 427 427 426 430 431 431 53? 429 266 429 429 429 473 473 429 429 429 427 426 ??5 436 425 432 426 427 0

Таблица 11. Восстановленная с применением второго подхода матрица

0 296 256 296 343 336 319 312 ЕМ 319 341 319 297 296 456 456 262 319 325 3 23 317 ??? 319 296 319 297 296 3 El

296 0 296 296 343 336 317 222 ЕМ 317 341 316 297 296 455 456 297 317 325 3 23 292 ??? 319 269 31? 296 31? 351

256 298 0 296 343 339 343 302 ЕМ 343 337 343 297 296 457 456 396 343 325 311 296 999 326 296 326 273 343 3 51

296 296 296 0 343 336 292 312 5 M 339 341 279 297 296 457 456 296 339 325 3 23 257 ??? 319 296 319 297 330 3 51

343 343 343 343 0 343 340 236 ЕМ 340 343 340 343 343 457 456 343 340 343 ЗМ 343 ??? 329 343 329 343 343 ЗБ1

336 336 339 336 343 0 340 336 ЕМ 340 351 340 336 336 457 456 336 340 336 336 337 ??? 339 336 339 336 336 3 51

319 317 343 292 340 340 0 317 ЕМ 316 337 317 325 317 457 456 3 25 279 334 317 317 999 ЕМ 317 5 M 319 330 3 51

312 222 302 312 235 336 317 0 5 M 317 341 316 312 312 457 456 312 317 325 3 23 317 ??? 5 M 312 5 M 296 312 351

ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ 0 ЕМ ЕМ ЕОБ ЕОБ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ЕМ ??? ЕМ ЕМ EM EM EM EM

319 317 343 339 340 340 316 317 ЕМ 0 337 317 302 317 457 456 3 25 317 334 317 317 ??? 323 317 323 319 330 3 51

341 341 337 341 343 3 51 337 341 ЕМ 337 0 337 341 341 457 456 341 337 341 326 341 999 340 332 340 341 341 266

319 316 343 279 340 340 317 316 505 317 337 0 325 317 457 456 325 317 334 314 316 ??? 319 316 319 319 330 3 51

297 297 297 297 343 336 325 312 ЕОБ 302 341 325 0 297 457 456 297 325 32Б 3 23 317 ??? 31? 297 31? 297 297 ЗБ1

296 296 296 296 343 336 317 312 ЕМ 317 341 317 297 0 457 456 296 317 325 3 23 264 ??? 31? 296 319 297 296 3 51

456 456 457 457 457 457 457 457 ЕМ 457 457 457 457 457 0 301 3 52 349 264 3 53 351 999 393 351 300 352 353 365

456 456 456 456 456 456 456 456 5 M 456 456 456 456 456 301 0 325 349 321 3 53 351 ??? 393 351 256 352 353 365

262 296 396 296 343 336 325 312 ЕМ 32Б 341 325 297 296 352 32Б 0 325 326 3 23 317 ??? 320 296 320 297 296 ЗБ1

319 317 343 339 340 340 279 317 ЕМ 317 337 317 325 317 349 349 325 0 334 317 317 ??? 267 317 265 319 330 3 51

3 25 325 325 325 343 336 334 325 ЕМ 334 341 3 34 325 325 264 321 326 334 0 325 325 999 333 325 333 325 325 351

3 23 323 311 323 ЗМ 336 317 323 5 M 317 326 314 323 323 353 353 323 317 325 0 303 ??? 323 323 323 323 323 351

317 292 296 257 343 337 317 317 ЕМ 317 341 316 317 264 351 351 317 317 32Б 303 0 ??? 31? 317 31? 317 317 ЗБ1

??? ??? ??? ??? 99? 99? ??? ??? ??? ??? ??? ??? ??? ??? ??? 99? 99? ??? ??? ??? ??? 0 ??Б 99? ??? ??? 99? 99?

31? 31? 326 31? 329 339 ЕМ ЕМ ЕМ 323 340 31? 31? 31? 393 393 320 266 333 3 23 31? 995 0 31? 31? 31? 322 351

296 269 296 296 343 336 317 312 ЕМ 317 332 316 297 296 351 351 296 317 325 3 23 317 ??? 31? 0 31? 297 296 3 51

31? 31? 326 31? 329 339 ЕМ ЕМ ЕМ 323 340 31? 31? 31? 300 256 320 265 333 3 23 31? ??? 31? 31? 0 31? 322 ЗБ1

297 296 273 297 343 336 319 296 ЕМ 319 341 319 297 297 352 352 297 319 325 3 23 317 ??? 319 297 319 0 244 3 El

296 296 343 330 343 336 330 312 ЕМ 330 341 330 297 296 353 353 296 330 325 3 23 317 ??? 322 296 322 244 0 3 51

3 51 351 351 351 351 351 351 351 ЕМ 351 266 3 51 351 351 365 365 3 51 351 351 3 51 351 ??? 351 351 351 351 351 0

Таблица 12. Восстановленная с применением статической функции риска матрица

О 296 256 262 294 296 275 256 396 294 296 297 267 266 265 266 262 271 269 262 260 996 330 294 303 293 266 307

295 0 267 266 290 309 277 222 396 295 300 296 266 266 269 292 297 274 271 267 292 995 335 269 306 297 292 311

255 267 0 263 343 339 324 291 396 320 ЗОБ 324 307 293 296 300 295 293 293 294 290 993 337 313 312 273 ЗОЕ ЗЮ

262 266 263 0 303 310 292 274 406 299 303 279 296 276 291 293 262 277 279 267 257 996 335 301 ЗОБ 299 296 309

294 290 343 303 0 307 264 236 3 95 302 ЗОБ 305 301 261 295 297 266 275 263 303 266 334 ЗОБ ЗОБ 303 301 ЗЮ

296 309 339 310 307 0 264 290 401 304 351 317 314 300 303 305 296 290 295 296 337 994 345 317 320 315 314 317

275 277 324 292 264 264 0 274 404 316 311 ЗЮ 307 266 294 297 269 279 266 292 269 994 341 313 314 309 ЗОБ 313

256 222 291 274 236 290 274 0 406 301 301 305 291 272 267 290 276 273 274 265 262 994 339 296 309 296 294 311

396 396 396 406 395 401 414 406 0 416 394 505 506 414 361 379 4Ю 406 403 400 397 993 435 417 414 412 4Ю 406

294 295 320 299 302 304 316 301 416 0 312 ЗЮ 302 292 295 297 290 264 290 293 269 994 344 314 317 ЗЮ 307 313

295 300 306 303 306 3 51 311 301 394 312 0 320 312 294 300 302 294 269 292 326 266 994 344 332 321 315 313 266

297 296 324 279 305 317 310 305 505 ЗЮ 320 0 301 295 299 302 295 290 292 315 295 993 352 320 324 317 313 322

267 266 307 296 301 314 307 291 506 302 312 301 0 263 297 300 297 293 267 296 295 994 351 ЗЮ 323 307 ЗОБ 3 21

266 266 293 276 261 300 266 272 414 292 294 295 263 0 297 300 276 272 272 265 264 99? 331 307 322 306 302 3 22

265 269 296 291 295 303 294 267 361 295 300 299 297 297 0 301 313 294 264 270 276 940 391 350 299 341 337 335

266 292 300 293 297 305 297 290 379 297 302 302 300 300 301 0 313 262 320 267 290 967 431 359 256 346 342 341

262 296 295 262 268 296 269 276 410 290 294 295 297 276 313 313 0 279 326 291 269 980 344 ЗОБ 312 302 299 315

271 274 293 277 275 290 279 273 406 264 269 290 293 272 294 262 279 0 279 267 262 69? 267 305 265 301 297 311

269 271 293 279 263 295 266 274 403 290 292 292 267 272 264 320 3 25 279 0 269 266 673 340 302 312 300 296 314

262 267 294 267 303 296 292 265 400 293 326 315 296 265 270 267 291 267 269 0 303 676 349 312 322 312 ЗЮ 319

260 292 290 257 266 337 269 262 397 269 266 295 295 264 276 290 269 262 266 303 0 991 32 12 315 306 305 314

996 995 993 996 995 994 994 994 993 994 995 993 994 99? 940 967 960 Б?? 673 676 991 0 995 664 673 664 655 647

330 335 337 335 334 345 341 339 435 344 344 3 52 351 331 391 401 344 267 340 349 342 995 0 335 326 330 325 327

294 269 313 301 ЗОБ 317 313 296 417 314 332 320 ЗЮ 307 350 359 ЗОБ 305 302 312 312 684 335 0 309 297 292 312

303 ЗОБ 312 306 ЗОБ 320 314 309 414 317 321 324 323 322 299 256 312 264 312 3 22 315 673 326 309 0 307 302 306

293 297 273 299 303 315 309 296 412 ЗЮ 315 317 307 306 341 346 302 301 300 312 306 664 330 297 307 0 244 ЗЮ

266 292 306 296 301 314 ЗОБ 294 410 307 313 313 ЗОБ 302 337 342 299 297 296 ЗЮ 305 655 325 292 302 244 0 309

307 311 310 309 ЗЮ 317 313 311 406 313 266 3 22 321 322 335 341 315 311 314 319 314 647 327 312 ЗОБ ЗЮ 309 0

Таблица 13. Восстановленная с применением динамической функции риска матрица

0 296 256 296 319 336 316 315 504 3 53 361 351 336 341 462 461 262 352 352 347 344 998 43 2 380 423 380 366 426

296 0 296 294 309 336 317 222 504 3 53 361 350 336 340 462 461 297 351 352 346 292 998 43 2 269 423 381 369 426

256 296 0 296 343 339 326 317 504 3 59 364 355 345 350 462 462 343 355 354 352 350 996 43 3 369 424 273 369 427

296 294 296 0 217 336 292 316 Е04 360 364 279 347 339 463 462 347 355 356 345 257 99Е 431 365 421 366 394 427

319 309 343 217 0 340 329 236 504 363 360 356 3 52 352 463 463 352 359 356 304 349 998 434 390 424 389 397 426

336 336 339 336 340 0 339 336 504 3 72 351 370 362 361 454 464 362 366 362 361 337 998 436 399 427 396 434 430

316 317 326 292 329 339 0 319 Е04 316 372 357 354 355 462 462 357 279 362 356 3 57 996 436 399 425 401 402 431

315 222 317 316 236 336 319 0 Е04 3 59 363 356 346 347 463 463 346 356 356 349 346 99Е 441 366 431 296 391 431

504 504 504 504 504 504 504 504 0 504 Е04 505 506 504 532 532 504 504 504 504 504 998 542 536 542 536 536 53 9

353 3 53 359 360 363 372 316 359 504 0 366 355 302 354 463 463 351 354 359 355 354 998 43 7 397 326 396 399 429

361 361 364 364 ЗбО 351 372 363 Е04 366 0 362 361 361 464 464 361 355 361 326 3 59 996 440 332 429 399 402 266

351 350 356 279 3 56 370 357 356 EOS 3 55 362 0 352 350 463 462 352 351 356 315 346 99Е 436 394 426 396 397 429

336 336 345 347 3 52 362 354 346 ЕОБ 302 361 352 0 342 462 463 297 353 351 347 345 998 436 363 426 361 391 429

341 340 350 339 3 52 361 356 347 504 354 361 350 342 0 462 462 342 351 353 344 264 999 430 362 425 384 391 429

462 462 462 463 463 464 462 463 532 463 464 463 462 462 0 301 325 316 264 351 350 996 479 461 300 456 457 473

461 461 462 462 463 464 462 463 532 463 464 462 461 462 301 0 325 304 321 351 350 99Е 477 460 256 455 457 473

262 297 343 347 3 52 362 357 346 Е04 3 51 361 352 297 342 325 325 0 349 326 347 345 99Е 435 363 414 379 390 429

352 3 51 355 355 3 59 366 279 356 504 354 365 351 3 53 351 316 304 349 0 352 353 351 998 267 3 95 265 396 397 429

352 3 52 354 356 3 56 362 362 356 504 3 59 361 356 3 51 353 264 321 325 352 0 305 3 53 998 43 7 392 415 390 397 429

347 346 352 345 303 361 356 349 Е04 3 55 326 315 347 344 351 351 347 353 305 0 303 996 436 364 426 366 393 427

344 292 350 257 349 337 357 346 Е04 354 359 346 345 264 350 350 345 351 353 303 0 99Е 435 363 426 365 392 426

998 996 998 998 996 998 996 998 998 996 998 998 996 999 996 998 998 996 998 998 996 0 995 996 998 998 998 998

43 2 432 433 431 434 436 436 441 542 437 440 436 436 430 479 477 435 266 437 436 435 995 0 432 426 432 432 436

ЗВО 269 369 365 390 399 399 366 53 Б 397 332 394 363 362 461 4ЕО 363 395 392 364 363 996 43 2 0 423 362 369 425

423 423 424 421 424 427 425 431 542 426 429 426 426 425 300 256 414 265 415 426 426 99Е 426 423 0 423 423 43 2

380 361 273 366 369 398 401 298 53 6 396 399 396 361 364 456 455 379 396 390 366 365 998 43 2 362 423 0 244 426

366 369 369 394 397 404 402 391 53 6 399 402 397 391 391 457 457 390 397 397 393 392 998 43 2 369 423 244 0 427

426 426 427 427 426 430 431 431 53 9 429 266 429 429 429 473 473 429 429 429 427 426 996 436 425 432 426 427 0

Таблица 14. Виды млекопитающих, чьи геномы были использованы для вычислений

ВИД Семейство

1 Южный малый полосатик {лат. Balaenoptera bonaerensis) Китообразные

г Эквадорский ценолест {лат. Caenolestes fu ligin os us) Ценолесты

3 Домашняя коза {лат, Сар га hircus) Парнокопытные

4 Девятипоясный броненосец

Б Виргинский опоссум

6 Co невидный опоссум {лат, Dromiciops gl i го id es) Микробиотерии

7 Малый ежовый тенрек

8 Толстоголовый бандикут

9 Дикий осёл {лагг, Eqwus asinus) Непарнокопытные {лат, Períssodactyla)

10 Европейский ёж

11 Малайский шерстокрыл

12 Co н я-полчок

13 Заяц-беляк

14 Саванчый слон

IS Горный кенгуру {лагг. Macropus robustus) Двурезцовые {лагг. Diprotodontia)

16 Короткоухий прыгунчик {лат. M ас rosee lid es probo5cideus) Прыгунчики {лагг. Macroscelidea)

17 Длиннохвостый ящер [лат. Manis tetradaetyla) Панголины

18 Гигантский муравьед {лат. Myrmecophaga tridactyla) Неполнозубые {лат. Pilosa)

19 Сумчатый крот

20 Утконос

21 Трубкозуб {лат. Qrycteropus afer) Трубкозубы е

22 Обыкновенный шимпанзе

23 Тафа {Phascogale tapoatafa) Хищные сумчаггые

24 Капский даман

25 Австралийская летучая лисица {лат. Pteropusscapulatus) Рукокрылые {лат. Chiroptera)

26 Пума [лат. Puma concolor] Хищные

27 Американский ламантин

28 Малайская тупайл

On a problem of the reconstruction of distance matrices between DNA sequences

Boris Melnikov, Marina Trenina

Abstract—In practice, quite often there is a need to calculate in a special way certain distances between sequences of different nature. Similar algorithms are used in bioinformatics to compare sequenced genetic chains. Due to the large dimension of such chains, it is necessary to use heuristic algorithms that give approximate results.

There are various heuristic algorithms for determining the distance between genomes, but the obvious disadvantage in calculating the distance between the same pair of DNA strings is to obtain several different results when using different algorithms for calculating metrics. Therefore, there is a problem of assessing the quality of the used metrics (distances), the results of which can be concluded about the applicability of the algorithm to various studies.

In addition, one of the problems considered in biocybernetics is the problem of recovering the matrix of distances between DNA sequences, when not all elements of the considered matrix are known at the input of the algorithm. In this regard, a problem of developing method for comparative evaluation of algorithms calculating distances between sequences is used for another problem, i.e., the problem of restoring the matrix of distances between DNA sequences.

In this article, we consider the possibility of using the developed and studied by us earlier method of comparative evaluation of algorithms for calculating distances between a pair of DNA strings to restore the partially filled matrix of distances. Matrix recovery occurs as a result of several computational passes. Estimation of unknown matrix elements are averaged in a special way with the use of so-called risk function, and the result of this averaging is considered as the resulting value of the unknown element.

Keywords—DNA sequences, metric, distance matrix, partially filled matrix, recovery, risk functions.