Роза кишечных бактерий

    Научные задачи, связанные с обработкой и визуализацией сложных данных, — одни из самых нетривиальных и интересных. В научных экспериментах накапливаются огромные объёмы данных с разнообразными измерения и параметрами, характерными для конкретной области знаний, зачастую взаимосвязанными. При этом удобный и наглядный способ интерпретации этих данных быстро приводит к результату и наглядно демострирует его заинтересованным лицам — а там и до важного открытия рукой подать. Вспомните таблицу Менделеева, диаграммы Фейнмана, спектральные серии веществ, геномные схемы ДНК, карты реликтового излучения.

    Я расскажу о научной задаче, с которой нам в Лаборатории данных посчастливилось работать. Мы придумали и реализовали инструмент для сравнения филогенетического расстояния образцов микробиоты и назвали его розой кишечных бактерий:





    Задача


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

    Микробиота состоит из бактерий разных видов и численности — всего порядка 100 поголовий. Экспериментальные данные содержат расшифровку генома всех поголовий бактерий участников исследования (383 человека). Считается, что геномы отдельных бактерий поголовья у конкретного пациента идентичны между собой. Чтобы вычислить близость поголовий двух разных пациентов вводится метрика — филогенетическое расстояние, которое учитывает совпадения и различия конкретных генов в этих поголовьях. Это расстояние вычисляется для всех пар пациентов по всем поголовьям (типам бактерий). Именно эту информацию и предстояло визуализировать.

    Существующие методы и их недостатки


    Вместе с данными ребята показали нам существующие визуализации: хитмэп и MDS-проекцию.



    Хитмэп попарно визуализирует расстояния между образцами: синим цветом показаны близкие пары, красным — далёкие. Синяя полоска по диагонали показывает нулевое расстояние в парах совпадающих образцов. Беда хитмапа в том, что линейная по сути характеристика (близость) отображается цветом. Поэтому при чтении постоянно приходится переводить одно в другое — расшифровывать диаграмму. Кроме того, интерпретация «близости» цветов не всегда однозначна и зависит от индивидуальных особенностей цветового восприятия человека. Казалось бы, вся информация на виду, а выводы делать сложно. Сам по себе полный квадрат избыточен, симметричен относительно диагонали (близость А и Б такая же, как Б и А).



    MDS-проекция уменьшает размерность задачи, проецируя на плоскость N×N-мерную картину распределения образцов. Этот метод наиболее популярен при работе с геномными данными, так как он не требует точных координат объектов, необходимо знать лишь расстояния между ними.

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

    Роза бактерий


    Мы решили показать близость образцов буквально — длиной. Для начала представили, что в центре находится один из образцов и расположили остальные вокруг него, отложив по радиусам значения филогенетического расстояния. Цветом закодировали географическую принадлежность образца (США, Китай, Европа или Россия). Результат чем-то напоминает розу ветров, отсюда и название — роза бактерий:



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

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



    Можно построить картину для образцов из конкретного региона:



    Такая визуализация для конкретного поголовья показывает:
    1) в микробиоме каких пациентов встречается данная бактерия (заполненные радиусы), а у каких её нет (пустые),
    2) каковы расстояния от конкретного образца до остальных: минимум, максимум и распределение (картина линий на радиусе),
    3) как зависит расстояние до конкретного образца от географической принадлежности остальных образцов (цвета линий на радиусе),
    4) каков общий паттерн распределения для пар образцов по данной бактерии (вид розы в целом),
    5) какие географические закономерности для пар образцов по данной бактерии (региональные розы).

    Розовый сад


    Такие розы мы строим для каждого поголовья бактерий. Чтобы увидеть картину по всему микробиому целиком, мы собрали миниатюры роз на одном экране:



    Получился целый «розовый сад»: видно, по каким бактериям сколько собрано данных и какие закономерности наблюдаются в распределениях. В любую розу можно кликнуть и перейти к более подробному анализу.

    Конкретные выводы от Димы и Бори


    Мы попросили наших коллег-учёных рассказать, как такое представление помогает им в работе. Вот что они используют.

    Кластеризация по странам. Поголовья бактерий, которые хорошо кластеризуются по своим странам, выглядят на картинке одноцветными лепестками для каждой страны. На каждом лепестке мы можем увидеть полосы в том порядке, в котором эта страна ближе к другой:



    В примере с бактерией Eubacterium Eligens хорошо видно, что китайцы ближе к китайцам, а русские к русским. При этом американцы смешаны с европейцами.

    Бактерии-путешественники. Такие бактерии встречаются в китайских микробиомах: если навести курсор на ближайший к ней китайский образец, видим, что в круг попадает множество более близких «европеек» и «американок». Значит, бактерия в этом образеце могла приехать в Китай из Европы или Америки. Тем интересней, что Dialister Invisius обычно находится в ротовой полости. Ох уж эти международные поцелуи :-)



    Две разные бактерии вместо одной. Бактерия Barnesiella Intestinihominis обнаруженна недавно (в 2008), мы еще не так много знаем про ее разновидности. Но, судя по картинке, можно выделить две чётких разновидности. Образцы делятся на две группы, внутри которых близость гораздо больше, чем между группами, даже в разных странах.



    Контроль качества и артефактов. Образец SRS014979 имеет необычно много рисок на радиусе вверху, значит, он сильно удалён ото всех остальных образцов. Будем честны, вряд ли одна американская бактерия имеет в 2 раза больше мутаций, чем другие, гораздо вероятнее ошибка в данных или в расчётах. Это хороший сигнал проанализировать ситуацию более подробно.



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

    Живой прототип: rosegarden.datalaboratory.ru


    Визуализация сделана на D3.js, информационный дизайнер — Таня Мисютина, разработчик — Дамир Мельников. Спасибо Диме Алексееву и Боре Коварскому за интересную задачу и активное участие в её решении.
    Лаборатория данных
    42,81
    Создаём интерактивные визуализации на D3.js
    Поделиться публикацией

    Похожие публикации

    Комментарии 17

      0
      Очень наглядно! Вот бы их еще внутри своей страны сортировать по возрастанию или убыванию, или как еще.
        0
        Внутри страны образцы отсортированы по городу, там где такие данные есть (Россия). Чтобы сравнивать розы между собой, радиусы должны однозначно соответствовать образцам. Поэтому идея с сортировкой не сработает: сортировка будет постоянно перемешивать радиусы внутри стран для разных образцов и бактерий.
          0
          Ну в рамках одного графика при желании пользователя можно наверное сортирнуть, сохранив подписи к городам…
        +10
        [offtopic]
        — Доктор, посмотрите, у меня что-то в попе колет…
        — Да у вас там роза?!
        — Доктор, это — вам.
        [/offtopic]
        Извините, не удержался.
          0
          Здорово, а почему возможность увеличения не добавили? Тут всё так компактно, что сразу возникает непреодолимое желание приблизить. По этой же причине, как мне видится, сетка не выполняет своей функции.

          Ещё вопрос, что вы кодируете прозрачностью?
          И небольшой совет: цвет, выбранный для образцов из нашей страны существенно отличается по яркости (которая luminance) от остальных, что при прочих равных (прозрачности) выделяет эти образцы на фоне других.
            0
            Увеличение есть, ползунок под розой в живом прототипе. Прозрачность используется, чтобы риски читались даже при наложении друг на друга.

            Про зелёный соглашусь, сделаем его чуть темнее.
              0
              А, теперь понятно, а то я смотрю какие-то странные значения прозрачности.
            +1
            Возможно, стоит добавить небольшой отступ от самого центра круга, чтобы отметки не накладывались.
              0
              Спасибо, думали над этим. Теперь точно попробуем :-)
              0
              Что то мне подсказывает, это можно использовать в ранней диагностике рака желудка и кишечника. Кстати, крайне плохо диагностируемый вид рака. Патологический процесс сопровождается предвестниками и появлению мутаций и онкомаркеров. Вся эта микрофлора может быть очень чувствительна к этому и проявить некую групповую самоорганизацию, хорошо визуально видную. Прошу простить за возможный дилетанский отзыв не специалиста и не минусовать сильно.
                0
                Хотел спросить, почему полярные координаты, а не декартовы? Только потому, что wow-эффект больше?
                Но потом подумал: угол проще воспринимается, чем расстояние от начала отсчёта — имеет смысл (надо запомнить). Но на развёртку в декартовых координатах все равно бы посмотрел.

                И ещё одна мысль: что если откладывать расстояние по радиусам в логарифмическом масштабе? Имеет ли это смысл для филогенетического расстояния? Судя по heatmap — скорее нет. Отступ от центра круга лучше подойдёт для близких значений.
                  0
                  Я — большой противник «закручивания по кругу» ради вау-эффекта. Тут же по смыслу есть понятие центра, особенно с случаях с одним образцом.

                  Впрочем, вы правы, строить развёртки в декарте никто не мешает тоже.
                  0
                  Про розу кишечных ветров уже пошутили? :)
                    0
                    А почему остановились именно на D3 для реализации?
                      0
                      Во-первых, в D3 есть встроенные функции для работы с данными (в нашем случае, .csv файлами) и возможность отобразить эти данные без лишних хлопот.

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

                      В-третьих, достаточно просто добавить интерактивность и оживить статичные диаграммы.

                      В-четвёртых, результат можно просматривать локально или выложить в интернет, для удобного доступа всех участников процесса и заинтересованных лиц.
                      0
                      Я не до конца понял принцип построения рисунка. Расстояние от центра — это, вроде, понятно (хотя интересно, каким образом вычисляется это самое филогенетическое расстояние. Корнем квадратным из суммы квадратов?). Цвет — принадлежность к группе. А как определяется угол/направление?
                      Если не сложно, распишите, пожалуйста, подробнее эти принципы. А то я таки прямо заинтересовался идеей реализовать что-то похожее самостоятельно)
                        0
                        Насколько я понимаю, филогенетическое расстояние — это мера близости геномов, вычисленная на основе совокупности генов. Чем больше отдельных генов в геноме совпадают, тем ближе образцы, тем меньше расстояние. Конкретную формулу лучше уточнить у коллег-учёных, мы использовали готовое предрассчитанное значение.

                        В эксперименте собранны данные от 383 человек — столько же у нас радиусов. Распределение для каждого образца строится на своём радиусе. Фактически, угол определяется номером образца.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое