Как биоинформатики Genotek разработали сервис генеалогических деревьев

История о том, как биоинформатики российского стартапа в области исследований ДНК Genotek с помощью технологий serverless помогают клиентам строить генеалогические деревья.

<i>Лаборатория Genotek</i>
Лаборатория Genotek

От анализа генома к генеалогическим деревьям

Геном человека состоит из трёх миллиардов нуклеотидов. Сейчас каждый человек может расшифровать свой геном и сравнить его с геномами людей, у которых все предки принадлежат к одному этносу, чтобы узнать о своём происхождении. И, конечно, анализ генома позволяет находить родственников. Если есть два человека, у которых геномы на 50% идентичны, то можно с высокой уверенностью говорить, что это родитель и ребенок или это родные братья/сёстры. Если совпадений меньше, это более дальние родственники. Так, например, сравнивая ДНК, можно найти своих четвероюродных братьев или сестёр.

<i>Лаборатория Genotek</i>
Лаборатория Genotek

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

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

Как биоинформатики Genotek разработали сервис генеалогических деревьев

Как разрабатывались генеалогические деревья

В Genotek работают front-end и back-end разработчики, веб-программисты и DevOps-инженеры, а также биоинформатики, которые и занимаются анализом ДНК. Однако, так как генеалогические деревья тесно связаны с поиском родственников по генетическим данным, за разработку сервиса взялась именно команда биоинформатиков. И несмотря на то, что у них не было большого опыта в разработке приложений, им удалось относительно легко и быстро создать новый сервис, опираясь на serverless-технологии и управляемые решения Yandex.Cloud.

Что такое Serverless

Serverless-технологии реализуют подход «функция как услуга», при котором для выполнения каждого запроса (вызова функции) автоматически создается отдельный контейнер или виртуальная машина с нужными характеристиками, уничтожающиеся после выполнения.

Преимущества Serverless-подхода:

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

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

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

Фронтенд работает с Yandex Cloud Functions как с API — по запросу функция забирает нужные данные из базы и строит деревья для каждого конкретного пользователя под каждый его запрос. Функция может редактировать и изменять эти данные, а все действия логируются.

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

  • Yandex Managed Service for MongoDB — для хранения данных.
  • Yandex Managed Service for ClickHouse — для хранения истории изменений.
  • Yandex Managed Service for Elasticsearch — для логов.

При этом сотрудникам Genotek не пришлось задумываться о производительности, обслуживании и масштабировании баз данных.

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

Как биоинформатики Genotek разработали сервис генеалогических деревьев

Что дальше

Сейчас в сервис генеалогических деревьев добавлено около 100 000 человек. В будущем с помощью Yandex Cloud Functions пользователям будут рассказывать о новых родственниках на основании данных из ДНК-тестов, появится возможность загружать фотографии и другие файлы, а также импортировать и экспортировать генеалогические деревья в формате GEDCOM.

Подписывайтесь на блог Yandex.Cloud, чтобы узнавать еще больше новостей и историй об IT и бизнесе.

Другие истории, которые активно читают наши подписчики:

88
6 комментариев

Реклама яндекс облака.

1

Размещённая от Яндекс.Облака. Внезапно...

8

Так когда уже GEDCOM-импорт?

1

Все конечно круто , но как именно можно найти родственников человека, до 20 поколения . Я не понял🤷🏻‍♂️

1 - генеалогическое древо можно бесплатно составлять вручную занося данные тех родственников, которых ты помнишь, выстраивая граф связей между ними в удобном интерфейсе Genotek (предварительно зарегистрировавшись). Потом можно самостоятельно пригласить родственника в своё древо, и объединить ваши деревья, если он тоже заполнял ранее - либо просто далее заполнять его совместно.
2 - если купить у Genotek услугу "происхождение" или 'генетический паспорт': приедет курьер, привезет набор для сдачи слюны, сдаешь слюну, вызываешь нового курьера, ждешь 3-6 недель и тебе говорят кто ты и откуда предки, исходя из твоей генетической информации (очень условно на самом деле), а если будут совпадения по генам среди всех людей, кто сдавал ранее в genotek анализы , то скажут сколько родственников и в каком колене обнаружено. далее с этими родственниками можно связаться (если у них стоит на это разрешение) и объединить ваши деревья.

По опыту: делал генитеческий паспорт для ребенка, было найдено 7 родственников в 4-6 колене

2