Как выяснить, когда на земле появились современные тигры? Когда разделились две популяции слонов? Есть ли разница между сахарской газелью и марокканской? Когда разделились между собой Homo Sapiens африканской популяции и евразийской? На все эти вопросы может ответить демографическая история популяции, то есть сценарий, который показывает, какие этапы на своем веку переживала популяция — были ли в ее истории массовые вымирания, миграции или резкие взлеты численности.
«До того, как люди научились расшифровывать геномы, единственным способом узнать, что происходило с популяциями человека, кошек, собак, слонов, кого угодно была палеонтология, — рассказывает доцент факультета информационных технологий и программирования, руководитель международного научного центра компьютерных технологий Университета ИТМО Владимир Ульянцев. — Мы могли смотреть, сколько останков интересующих нас видов находится в каждом слое почвы. Однако эта возможность ограничена, находки ограничены, предположения на их основе не всегда точны. Затем люди придумали методы секвенирования генома и получили, кроме прямой информации, генетическую. Так, в геноме любого организма оставлены следы событий, которые происходили с его предками в популяции: миграция, сокращение численности, наоборот, увеличение численности популяции — это все оставляет некий след в ДНК. Используя много разной статистики и других методов, по изменению частот встречаемости некоторых аллелей мы можем реконструировать то, какие процессы привели к тому геному, который мы можем видеть сейчас».
Эти данные могут нам помочь узнать, когда, к примеру, разделились группы наших предков, которые потом стали коренными обитателями, например, Псковской и Рязанской областей. Или когда вторично одичали мустанги. Впрочем, помимо фундаментальных вопросов популяционной генетики, такие данные могут помочь нам и в совершенно прикладных исследованиях по экологии и защите окружающей среды. Так, если в каком-то районе осталось всего восемьсот моржей, ученым необходимо понять — это критическое снижение или же это естественная численность, которая оставалась такой уже несколько тысяч лет, и ответить на вопрос, нужно ли тратить ценные ресурсы на охрану и спасение от вымирания именно этого вида. Для этого необходимо построить демографическую историю популяции.
Генетика и информатика
Создание демографической истории популяции на основе генетической информации — достаточно сложная задача, требующая от популяционного генетика знаний не только в области биологии, но и навыков программирования. Ученый должен собрать данные и написать код для расчета возможных моделей эволюции популяции, которые могли привести к тому многообразию генетических данных, которое мы наблюдаем у представителей сегодняшней популяции.
«Как делали демографический анализ до недавнего времени? Ученые использовали различные программные решения, которые позволяют дать оценку, насколько демографическая история и ее параметры могли привести к наблюдаемым генетическим данным. Таким образом ученые искали модель, демографическую историю, которая будет наиболее соответствовать реальным данным. Внутри используемых программных решений были алгоритмы оптимизации для поиска параметров заданной демографической модели, но они были локальные, то есть им надо было давать какое-то начальные значения параметров, а любой из этих алгоритмов очень сильно зависим от начального решения и улучшает именно его в какой-то небольшой окрестности. Также накладываются ограничения при выборе модели самим исследователем», — рассказывает сотрудница Международного научного центра Компьютерных технологий Университета ИТМО Екатерина Носкова.
Таким образом, создание демографической истории было процессом долгим и требующим очень специальных знаний как в программировании, так и в генетике. Но самое главное, конечный результат очень сильно зависел от изначальной гипотезы ученого.
«Работа ученого заключалась в том, что он придумывал возможные сценарии, делал их список, выбирал наиболее правдоподобные и запускал методы оптимизации, а дальше программа показывала, какой из этих сценариев наиболее вероятный. И существующие алгоритмы оптимизации не могли найти никаких сценариев за пределами тех, что мы ему предложили», — говорит сотрудник Международного научного центра компьютерных технологий Павел Добрынин.
Оптимизация решений
Эту ситуацию призвано было решить программное обеспечение, которое разработала группа ученых Университета ИТМО в рамках работы грантовых программ проекта «5-100» и при поддержке JetBrains Research. Исследователи предложили программный продукт, который сам, автоматически, на основе данных геномных исследований предсказывает наиболее вероятную модель демографической истории той или иной популяции. При этом он в существенной степени менее зависим от изначального предположения исследователя, не требует от генетика серьезных навыков написания кода и работает значительно точнее. При этом программа достаточно гибкая, если полученный результат в чем-то разойдется с археологическими данными или историческими источниками, то можно легко ввести дополнительные ограничения в алгоритм, и он уточнит свою гипотезу.
«Наша программа автоматически выводит на основе генетических данных ту модель, которую считает оптимальной, — отмечает Владимир Ульянцев. — Она смотрит весь объем сценариев. Как ученый я буду смотреть наиболее правдоподобные с моей точки зрения гипотезы, их может быть три, пять, может быть десять. А программа будет тестировать все модели, которые покажутся ей вероятными, это значительно больший объем. Поэтому программа находит решения лучше тех, что были найдены людьми изначальными методами. Самое интересное здесь — использованный метод (генетический алгоритм) инспирированный тем, как происходит эволюция: особи размножаются, мутируют, а самые неприспособленные вымирают. У нас вместо особей демографические модели и их параметры, а приспособленность определяется схожестью с рассматриваемыми данными».
После получения этих данных ученые могут наложить полученные данные на карту, сопоставить информацию о том, что в такой-то период наблюдалась миграция популяции, с археологическими находками и другими свидетельствами.
С помощью этих алгоритмов уже проверены многие исследования и гипотезы эволюционных генетиков. Во многих случаях результат получился точнее, нежели в изначальных работах.
«Когда мы подбирали демографические истории для разных популяций, наш алгоритм работал лучше, чем изначальные исследования, — говорит Екатерина Носкова. — Он смог предсказать модель, которая лучше объясняет те же самые данные. В частности, мы проанализировали одну статью — там 83% моделей оказались недооптимизированными. Затем мы посмотрели данные по разделению африканской и евразийской популяции людей. В результате мы получили модель с большей схожестью к данным, чем была до этого. Наш результат показал, что люди вышли из Африки около 150 тысяч лет назад, и после этого численность населения Евразии была не стабильной, как думалось раньше, а имел место экспоненциальный рост».
Алгоритм, предложенный учеными, уже был экспериментально опробован в ряде исследований, в том числе в тех, что проходили в рамках проекта «Российские геномы». В частности, при его помощи ученые установили общее происхождение жителей Пскова, Новгорода и Якутии.
Статья: Noskova E, Ulyantsev V., Koepfli K-P., O’Brien S.J., Dobrynin P. «Genetic Algorithm for Automatic Inferring the Joint Demographic History of Multiple Populations from Allele Frequency Spectrum». GigaScience, 2020 / 10.1093/gigascience/giaa005