Открыть сервис

BLAST

BLAST (от англ. Basic Local Alignment Search Tool — инструмент поиска базового локального выравнивания) — это семейство алгоритмов и программных средств, предназначенных для поиска гомологичных последовательностей нуклеотидов или аминокислот в биологических базах данных. BLAST является одним из наиболее распространённых и широко используемых инструментов в биоинформатике, позволяя исследователям сравнивать неизвестную последовательность с известными последовательностями, хранящимися в базах данных, таких как GenBank, UniProt, RefSeq и других. Основной принцип работы BLAST основан на поиске локальных выравниваний, что отличает его от глобальных методов выравнивания, таких как алгоритм Нидлмана — Вунша.

История

Разработка BLAST началась в конце 1980-х годов в Национальном центре биотехнологической информации (NCBI, США) под руководством Стивена Альтшула, Уоррена Гриша, Дэвида Липмана и других исследователей. Первая версия алгоритма была опубликована в 1990 году в статье «Basic Local Alignment Search Tool» в журнале Journal of Molecular Biology. Основной целью создания BLAST было обеспечение быстрого и чувствительного поиска гомологичных последовательностей, который мог бы работать с растущими объёмами данных, характерными для проектов по секвенированию геномов.

До появления BLAST для поиска гомологий использовались методы, основанные на динамическом программировании, такие как алгоритм Смита — Уотермана, которые обеспечивали высокую точность, но были слишком медленными для больших баз данных. BLAST предложил компромисс между скоростью и чувствительностью, используя эвристические подходы для ускорения поиска. В последующие годы алгоритм постоянно совершенствовался: были добавлены варианты для различных типов последовательностей (нуклеотидных, белковых, трансляций), а также улучшены методы обработки статистической значимости результатов.

Алгоритм работы

Основная идея BLAST заключается в разбиении запроса на короткие фрагменты (слова) фиксированной длины, которые затем сравниваются с аналогичными фрагментами из базы данных. Алгоритм состоит из нескольких этапов:

  1. Формирование списка слов. Последовательность-запрос разбивается на перекрывающиеся слова длиной w (обычно 3 для белков и 11 для нуклеотидов). Для каждого слова генерируется список всех возможных вариантов, которые имеют оценку подобия выше определённого порога (на основе матрицы замен, например BLOSUM62 для белков).
  1. Поиск совпадений. Список слов сравнивается с предварительно построенным индексом базы данных. Находятся позиции в базе данных, где встречаются совпадающие слова.
  1. Расширение выравниваний. Каждое найденное совпадение служит начальной точкой для расширения выравнивания в обе стороны без разрывов (гапов). Расширение продолжается до тех пор, пока оценка выравнивания не упадёт ниже определённого порога.
  1. Оценка статистической значимости. Для каждого найденного выравнивания рассчитывается статистическая значимость (E-value, ожидаемое значение), которая показывает, сколько раз такое выравнивание могло бы встретиться случайно в базе данных данного размера. Чем ниже E-value, тем более значимым считается совпадение.
  1. Вывод результатов. Результаты сортируются по E-value, и пользователю предоставляется список наиболее значимых выравниваний с указанием идентичности, длины совпадения, координат и других параметров.

Основные варианты BLAST

Семейство BLAST включает несколько специализированных программ, адаптированных для различных типов запросов и баз данных:

  • BLASTn — поиск нуклеотидной последовательности по нуклеотидной базе данных. Используется для сравнения ДНК или РНК.
  • BLASTp — поиск белковой последовательности по белковой базе данных. Наиболее чувствительный вариант, использующий матрицы замен.
  • BLASTx — поиск нуклеотидной последовательности, транслированной в белковую, по белковой базе данных. Позволяет обнаружить гомологии на уровне белков, даже если нуклеотидные последовательности сильно различаются.
  • tBLASTn — поиск белковой последовательности по нуклеотидной базе данных, транслированной в белковую. Используется для поиска генов, кодирующих белки, в неизученных геномах.
  • tBLASTx — поиск нуклеотидной последовательности, транслированной в белковую, по нуклеотидной базе данных, также транслированной. Наиболее ресурсоёмкий вариант, применяемый для поиска отдалённых гомологий.

Кроме того, существуют модифицированные версии, такие как PSI-BLAST (Position-Specific Iterated BLAST), который позволяет выполнять итеративный поиск для выявления слабых гомологий, и MegaBLAST, оптимизированный для поиска очень похожих последовательностей.

Применение

BLAST является универсальным инструментом, используемым в самых разных областях биологии и медицины:

  • Идентификация неизвестных последовательностей. Если исследователь получает последовательность нового гена или белка, BLAST позволяет быстро определить, к какому известному семейству или виду она относится.
  • Сравнительная геномика. BLAST используется для выявления ортологов и паралогов, а также для анализа эволюционных отношений между видами.
  • Поиск функциональных доменов. С помощью BLAST можно найти консервативные участки, отвечающие за определённые функции, такие как связывание ДНК или каталитическая активность.
  • Аннотация геномов. При сборке новых геномов BLAST помогает предсказать функции генов на основе их сходства с известными последовательностями.
  • Медицинская диагностика. BLAST применяется для идентификации патогенов по их генетическому материалу, например, при анализе образцов от пациентов с инфекционными заболеваниями.
  • Филогенетика. На основе результатов BLAST строятся филогенетические деревья, отражающие эволюционные связи между организмами.

Критика и ограничения

Несмотря на широкую популярность, BLAST имеет ряд ограничений. Основным недостатком является то, что алгоритм не гарантирует нахождение оптимального выравнивания, так как использует эвристические методы. Это может приводить к пропуску отдалённых гомологий, особенно если последовательности сильно различаются. Кроме того, BLAST чувствителен к длине запроса: короткие последовательности (менее 20–30 аминокислот или нуклеотидов) часто дают большое количество ложноположительных результатов.

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

Интересные факты

  • Название BLAST изначально было шуточным: авторы хотели подчеркнуть, что их алгоритм «взрывает» (англ. blast) старые методы по скорости.
  • Сервер BLAST на сайте NCBI обрабатывает миллионы запросов в день, что делает его одним из самых востребованных биоинформатических ресурсов в мире.
  • В 2019 году была выпущена версия BLAST+, которая значительно улучшила производительность и функциональность по сравнению с оригинальным BLAST.
  • Алгоритм BLAST лёг в основу многих других инструментов, таких как BLAST2GO (для функциональной аннотации) и BLASTclust (для кластеризации последовательностей).

Источники

  • Altschul S.F., Gish W., Miller W., Myers E.W., Lipman D.J. (1990). Basic Local Alignment Search Tool. Journal of Molecular Biology, 215(3), 403–410.
  • Madden T. (2013). The BLAST Sequence Analysis Tool. In: The NCBI Handbook, 2nd edition. National Center for Biotechnology Information.
  • Camacho C., Coulouris G., Avagyan V., Ma N., Papadopoulos J., Bealer K., Madden T.L. (2009). BLAST+: architecture and applications. BMC Bioinformatics, 10, 421.
  • Wheeler D., Bhagwat M. (2007). BLAST QuickStart: Example-Driven Web-Based BLAST Tutorial. In: Comparative Genomics, Volumes 1 and 2. Humana Press.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →