Как обрабатывать тысячи результатов анализов в облаке ежедневно: опыт «ТестГен»
Компания «ТестГен» выпустила 10 млн тестов для лабораторной диагностики, из них 300 тысяч — для онкологических заболеваний. Советник по науке «ТестГен» Алексей Никитин рассказывает, как компания перенесла свою платформу в Yandex Cloud и обрабатывает тысячи результатов анализов в день.
«ТестГен» занимается молекулярной диагностикой, биотехнологиями и биоинформатикой. Разрабатывает продукты для диагностики онкологических заболеваний, инфекций, пренатальной диагностики, а также для выявления мутаций генов.
Как связаны тесты на онкологию и большие данные
Наши наборы для диагностики используют около 80% онкологических диспансеров России. Тесты помогают подобрать оптимальную схему лечения и выявить наследственную предрасположенность к онкозаболеваниям.
К развитию опухолей приводят генетические мутации. Для их определения в медицине всё чаще применяют метод массового параллельного анализа ДНК, или по-научному — секвенирование нового поколения. Он позволяет одновременно проанализировать сотни миллионов молекул ДНК и определить все мутации в генах.
Данные, полученные в результате секвенирования, — это терабайты информации. Для их хранения и обработки нужны специальные биоинформационные платформы. Объёмы на них огромные: например, институт Броуда — он занимается биомедицинскими и геномными исследованиями в составе Массачусетского технологического института, США — генерирует 20 ТБ данных в день. По прогнозу, к 2024 году объём геномных данных в мире превысит объёмы данных Twitter, YouTube и других крупных соцсетей вместе взятых.
Один из флагманских продуктов «ТестГена» — набор для секвенирования NGS. Результаты анализов интерпретируются на платформе XplainBio, тоже разработанной компанией.
Почему в медицине не обойтись без облаков
Основная проблема в работе XplainBio — высокие требования к вычислительным ресурсам. При небольшом количестве анализов обрабатывать результаты можно и на локальном сервере. Но когда их число превышает десятки и сотни, то время ожидания затягивается. В медицине это недопустимо — нужно ускорять процесс.
Есть два варианта решения проблемы: более быстрые, но менее точные алгоритмы или аренда необходимого количества серверов у облачного провайдера. Большинство медицинских учреждений не могут позволить себе собственный дата-центр. Плюс у нас довольно специфичные нагрузки: 100% мощности требуется один-два раза в неделю на несколько часов.
В 2017 году на отечественном рынке ещё не было нужного нам уровня технологий, поэтому тогда мы выбрали Google Cloud. Но во время разработки и тестовой эксплуатации системы продолжали следить за развитием российских облачных систем. Необходимость переезда диктовалась ещё и изменениями законодательства в области обработки персональных данных.
На что мы обращали внимание при выборе облака:
- Масштабируемость. Когда ресурсов для обработки много — стоимость работы с данными снижается.
- Мощность виртуальных машин. Большое количество серверов дают нам нужную скорость обработки сырых данных и интерпретации результатов.
- Надёжность и отказоустойчивость. Для быстрой обработки данных важно не зависеть от неполадок конкретного сервера или оборудования.
- Соблюдение 152-ФЗ. Любые результаты генетических исследований, даже обезличенные, — это персональные данные. По закону передавать такую информацию в другие страны без специального разрешения нельзя.
- Поддержка разных источников данных. XplainBio использует международные базы данных генетических вариантов — более 80 различных источников, которые позволяют максимально полно описывать гены и мутации.
В 2020 году, оценив предложения на российском рынке, мы выбрали Yandex Cloud.
Как разворачивали собственную платформу XplainBio
Этапы обработки геномных данных предъявляют разные требования к вычислительной платформе. На начальных шагах нам важны центральные процессоры (CPU), от количества которых зависит скорость вычислений. На этапах сортировки — оперативная память (RAM), а при сборке финальной структуры данных — высокопроизводительная аналитическая база данных. Она должна быстро агрегировать более 80 источников общим размером 10 ТБ в итоговую таблицу — а это около 15 млн строк и 900 столбцов с различными типами данных.
Yandex Cloud предоставляет мощные виртуальные машины: до 96 vCPU и до 576 ГБ RAM. Это позволяет хранить огромные массивы данных и быстро их обрабатывать.
В Yandex Compute Cloud можно использовать столько же CPU, что и у Google Cloud, — 3600 процессорных ядер. Благодаря этому к 2022 году мы перенесли практически все вычисления на новую облачную платформу.
Но переезд самого ответственного этапа — сборки финальной структуры данных — затягивался. Мы боялись несовместимости диалектов SQL или несовпадения результатов на двух платформах. Однако эта проблема решилась за два дня. В 600 строках SQL-запроса пришлось поменять только названия нескольких функций — вся остальная структура и логика остались без изменений.
Yandex Managed Service for ClickHouse выполнял запрос абсолютно идентично продуктам Google Storage, а в некоторых случаях и быстрее. После окончательной миграции XplainBio стала платформой, где все этапы хранения и обработки данных происходят исключительно внутри российских дата-центров. При этом не пришлось жертвовать скоростью или точностью анализа.
Как облака помогли в пандемию
Результаты анализа мутаций на платформе XplainBio
В моменты пиковой нагрузки система XplainBio использует до 200 виртуальных машин Yandex Cloud и до 3600 процессоров одновременно. Влияние человеческого фактора на обработку тестов при этом максимально снижено. Платформа автоматически распознаёт мутации, которые были обнаружены ранее, и определяет, какие из них являются патогенными.
По объёму используемых ресурсов «ТестГен» входит в топ-50 из более чем 30 тысяч клиентов Yandex Cloud. С помощью облачных мощностей уже обработано более 50 тысяч образцов тестов. Надёжность системы была проверена даже пандемией: компания должна была анализировать тысячи геномов SARS-CoV-2 в рамках эпидемиологического мониторинга новых штаммов. Платформа легко справилась с анализом 1536 образцов в сутки и подтвердила правильность заложенных архитектурных решений.
Выход за пределы компании
Облачная платформа XplainBio, созданная на основе Yandex Cloud, адаптирована не только под продукты «ТестГена». Xplain Bio активно используется уже в нескольких медицинских учреждениях Москвы и позволяет экономить ресурсы: не нужно покупать специальное оборудование, привлекать биоинформатиков и нанимать специалистов для обслуживания системы.
Подписывайтесь на блог Yandex Cloud, чтобы узнавать еще больше новостей и историй об IT и бизнесе.
Другие истории наших партнеров и клиентов, которые активно читают наши подписчики:
Гид-доступ — это функция универсального доступа в iOS, которая позволяет временно ограничивать использование устройства одной конкретной программой. Это полезно для родителей, преподавателей, владельцев бизнеса и всех, кто хочет контролировать использование iPhone или iPad.
Собираем новости, события и мнения о рынках, банках и реакциях компаний.
До этого Трамп пригрозил ввести 10%-е пошлины на импорт из Китая, где компания производит большинство своих продуктов.
У меня было 4 машины, двухкомнатная квартира и дом в центре города. Я был не последним человеком на заводе и привык не смотреть на цены в магазинах.
«Загрузил товар, запустил рекламу и жди продаж» — так многие новички представляют работу с маркетплейсами. Но через месяц вместо прибыли — убытки: расходы на продвижение съели весь доход. Разбираемся, как реклама может привести к минусам на счету и как этого избежать.
Причины Apple не назвала.