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

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

Лаборатория Genotek

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

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

Лаборатория Genotek

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

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

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

В 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-подхода позволило биоинформатикам сосредоточиться только на написании или интеграции кода для решения главных задач сервиса, что позволило им выпустить новый продукт без специфических навыков. К тому же, теперь они могут совершенствовать сервис, просто добавляя новые функции.

Что дальше

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

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

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

0
6 комментариев
Написать комментарий...
Anna Petrova

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

Ответить
Развернуть ветку
Eugen Levashov

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

Ответить
Развернуть ветку
Anna Petrova

Точно ))))

Ответить
Развернуть ветку
Evgeny Fishgalov

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

Ответить
Развернуть ветку
Дмитрий Полищук

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

Ответить
Развернуть ветку
Konstantin Maltsev

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

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

Ответить
Развернуть ветку
3 комментария
Раскрывать всегда