1.2 Основные принципы организации и работы базы данных GeneBank
Типичная форма данных, пригодная для помещения в GeneBank, представляет собой непрерывный отрезок последовательности ДНК или РНК, который на первый взгляд выглядит как бессмысленное и беспорядочное чередование четырех букв – А, Т, Г, Ц (например «..atggcagat..») – каждая из которых на самом деле соответствует конкретному азотистому основанию в цепочке нуклеиновой кислоты и, распределяясь по ней в определенном порядке, формирует уникальную и неповторимую для данного отрезка строку генетического кода. Такой участок нуклеиновой кислоты, как правило, содержит аннотацию, в которой поясняется биологический смысл последовательности. Для облегчения работы исследователей при передаче новых расшифрованных последовательностей в GeneBank существуют два программных инструмента – BankIt и Sequin (на самом деле существует несколько путей поступления информации в GeneBank, например, из крупных сиквенирующих центров поток данных может идти в автоматическом режиме, в данном случае речь идет о непосредственной передаче имеющихся в распоряжении исследователя данных, как более простом, часто используемом и доступном каждому ученому варианте).
BankIt является web-инструментом и представляет собой, по сути, электронную анкету с развернутыми пояснениями – каким образом и какие поля заполнять. BankIt используется в случаях, когда количество предоставляемых в банк последовательностей мало, а структура их проста (или информации о них мало) – это наиболее простой способ помещения новой последовательности в GeneBank. После внесения всей доступной исследователю информации о регистрируемой последовательности в анкету, производится ее первичный автоматический анализ – поиск внутренних ошибок и противоречий при сопоставлении, например, введенной исследователем цепочки нуклеотидов и ее аминокислотного «перевода» (если речь идет о кодирующем сегменте), проверяется наличие не относящихся к последовательности и не являющихся уникальными фрагментов клонирующих векторов и др. При обнаружении каких-либо недочетов или ошибок в заполненной анкете, пользователя просят их исправить на месте. Введенные данные сохраняются в виде неструктурированного файла, который передается на сервер для более глубокого анализа. Если процедура всесторонней проверки данных прошла успешно, пользователю приходит электронное письмо с подтверждением внесения предлагаемой им последовательности в базу данных GeneBank [6, 9].
Инструмент Sequin предназначен для более сложных случаев и представляет собой загружаемое под определенную операционную систему приложение (хотя относительно недавно появилась его web-разновидность). Данный инструмент, в сравнении с BankIt, обладает более широким набором возможностей для редактирования и описания последовательностей нуклеиновых кислот, помещаемых в Genebank, соответственно, он используется при работе со сложно организованными и хорошо изученными сегментами ДНК (РНК), содержащими большое количество подлежащих аннотации геномных элементов [6, 9, 10].
Все последовательности, направленные в GeneBank посредством инструментов BankIt или Sequin, анализируются штатом квалифицированных сотрудников базы данных, специализирующихся в области аннотации геномов. Обработка входящих запросов производится в два этапа, первый этап называется «Сортировка» и сводится он, по сути, к оценке качества предоставленной последовательности генома. В течение 48 часов с момента поступления последовательности специалисты проверяют ее на соответствие минимальным критериям, необходимым для помещения в GeneBank - полнота последовательности (отсутствие нерасшифрованных участков), ее происхождение (принимаются только естественные последовательности реально существующих организмов), размеры (минимальные – 0,05 тпн ) и др. Итогом этапа сортировки становится присвоение последовательности т.н. инвентарного номера, состоящего из 2-х букв и 6 цифр (для примера, полная последовательность генома одного из штаммов вируса PCV2 имеет инвентарный номер FJ935780)[6, 11].
Следующий за сортировкой этап представляет собой углубленный анализ присланной последовательности и называется фазой индексирования. Он заключается во всесторонней проверке таких пунктов, как:
1. Отсутствие биологических ошибок. Например, это может быть соответствие нуклеотидной последовательности гена и аминокислотной последовательности кодируемого этим геном белка, указанные исследователем в запросе.
2. Отсутствие случайных фрагментов векторов, использовавшихся при работе с последовательностью и не относящихся непосредственно к ней.
3. Поиск и создание внутренних связей и ссылок между помещенной в GeneBank последовательностью и относящимися к ней публикациями и комментариями, если таковые имеются.
4. Поиск и исправление неточностей в формате данных и аннотации.
Как можно заметить, некоторые элементы первичного и углубленного анализа пересекаются или дублируются, гарантируя, в конечном итоге, более высокий уровень качества обработки поступающих в огромных объемах данных (на сегодняшний день это около 20`000 последовательностей в месяц). Завершенные работы высылаются отправителям для проверки – на внесение корректировок, если они необходимы, отводится 5 дней. При желании исследователи могут попросить сместить сроки размещения последовательности в открытом доступе в GeneBank до выхода их статьи – это позволяет застраховаться, к примеру, от возможных споров за место первооткрывателя. По завершении всех проверок отредактированные последовательности сохраняются в виде фалов с расширением ASN.1. ASN.1 представляет собой дескрипторный язык, который позволяет подробно описывать хранимые последовательности и всю относящуюся к ним информацию [11].
В своей работе сотрудники GeneBank используют большое количество программных инструментов, позволяющих упросить процесс обработки данных и повысить его эффективность. Эти инструменты весьма удобны и универсальны, а потому любезно открыты для доступа широкому кругу пользователей GeneBank. Наиболее важным из них для данного исследования является BLAST (от англ. Basic Local Alignment Search Tool).
1.3 Для чего людям нужен BLAST
Программа BLAST была разработана в 1990 году под руководством Altschul S. как средство поиска и сопоставления нуклеотидных и белковых последовательностей. В ее основе лежат надежные алгоритмы выявления близкородственных участков разных последовательностей (ускоренный почти в 50 раз аналог алгоритма Смита-Ватермана) и функции статистической обработки результатов, которые обусловили ее повсеместное использование в научной практике. Программа доступна в автономной форме и в качестве web-приложения и имеет целый ряд разновидностей, каждая из которых оптимизирована для работы с определенными типами данных, охватывая лишь конкретное поле научных изысканий. К примеру, разновидность blastn предназначена для сравнения и поиска сходных участков в нуклеотидных последовательностях, а разновидность blastx переводит введенную нуклеотидную последовательность в белковую и сравнивает с базами данных по белкам и т.п. [6, 12].
Попав на web-страницу BLAST, исследователь вводит желаемую последовательность и задает параметры сопоставления – база данных для сравнения, размер слова, ожидаемое значение и т.п., с учетом всей входящей информации сервер BLAST приступает к реализации заложенных алгоритмов.
При сопоставлении двух или нескольких последовательностей между собой, BLAST осуществляет то, что по-научному называется «локальное выравнивание». Локальное выравнивание заключается в том, что программа делит всю введенную исследователем последовательность на ряд небольших отрезков равной длины, которые организуются в форме таблицы, эти отрезки называются «словами», а длина отрезка называется «размером слова». Для наглядности представим маленькую цепочку ДНК из 8 звеньев в виде текста «крокодил» и введем эту последовательность в BLAST, задав размер слова равный 6. Руководствуясь установленными нами параметрами для сравнения (размер слова 6), программа BLAST разбивает введенную цепочку на ряд отрезков, из которых формируется рабочая таблица, в данном случае с учетом длин последовательности и размера слова таких отрезков будет три – крокод (крокодил), рокоди (крокодил) и окодил (крокодил). Далее для каждого слова таблицы производится его сопоставление с последовательностями всех подразделений базы данных, выбранных пользователем для сравнения, с целью отыскать наиболее похожие участки. Эти участки становятся центрами поиска для следующего этапа работы. К примеру, BLAST нашел полное совпадение слова рокоди с участком одной из последовательностей базы данных, далее он начинает это слово продлевать в обе стороны, достраивая его по бокам до полного слова крокодил и сравнивая после очередного добавления буквы с найденной последовательностью, чтобы определить, насколько обширна область сходства. При каждом таком совпадении производится оценка степени близости фрагментов друг другу – в зависимости от количества совпадающих букв в расширенном слове и от расположения совпавших букв относительно несовпавших (т.е. при анализе буквы не обязательно должны составлять непрерывный ряд совпадений) начисляются (либо снимаются) очки, чем больше набрано очков, тем выше степень родства двух фрагментов, причем программа при работе учитывает только те случаи совпадения, которые набрали количество очков выше определенного значения, называемого пороговой величиной Т (устанавливается пользователем в параметрах программы перед запуском). BLAST осуществляет поиск не непосредственно в подразделениях базы данных GeneBank, а в сформированных на ее основе собственных базах данных, которые организованы так, чтобы максимально сократить время поиска и увеличить его эффективность.