Методическая статья

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

DOI:

10.3791/66659

20 сентября 2024 г.

В этой статье

Краткое содержание

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

Аннотация

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

В этой статье мы демонстрируем подход к анализу и исследованию такого сложного мультиомного набора данных без учителя путем применения мультиомического факторного анализа (MOFA) к набору данных, созданному из образцов крови, которые отражают иммунный ответ при острых и хронических коронарных синдромах. Набор данных состоит из нескольких анализов с различным разрешением, включая данные цитокинов на уровне образца, плазмо-протеомику и прайм-секвенирование нейтрофилов, а также данные РНК-секвенирования одиночных клеток (scRNA-seq). Еще больше усложняется тем, что для каждого пациента измеряется несколько разных временных точек, а также несколько подгрупп пациентов.

Рабочий процесс анализа описывает, как интегрировать и анализировать данные в несколько этапов: (1) предварительная обработка и гармонизация данных, (2) оценка модели MOFA, (3) последующий анализ. В шаге 1 описывается, как обрабатывать признаки различных типов данных, отфильтровывать признаки низкого качества и нормализовать их для гармонизации их распределений для дальнейшего анализа. На шаге 2 показано, как применить модель MOFA и изучить основные источники дисперсии в наборе данных по всем омикам и признакам. На шаге 3 представлено несколько стратегий для последующего анализа захваченных паттернов, связывающих их с заболеваниями и потенциальными молекулярными процессами, управляющими этими состояниями.

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

Введение

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

Последние технологические достижения позволяют измерять эти процессы с более высоким разрешением (например, на уровне отдельных клеток) и в то же время на различных биологических уровнях (например, ДНК, мРНК, доступность хроматина, метилирование ДНК, протеомика). Это приводит к увеличению количества больших многомерных наборов биологических данных, которые могут быть совместно проанализированы для получения более глубокого понимания лежащих в их основе процессов. В то же время объединение и анализ различных источников данных биологически значимым образом остается сложной задачей1.

Различные технологические пределы, шумы и диапазоны изменчивости между различными омиксами представляют собой одну проблему. Например, данные секвенирования РНК отдельных клеток (scRNA-seq) очень скудны и часто подвержены влиянию больших технических или пакетных эффектов. Кроме того, пространство признаков часто бывает очень большим, варьируясь от нескольких тысяч измеренных генов или белков, в то время как размеры выборки ограничены. Это еще больше осложняется сложными конструкциями, которые могут включать в себя несколько состояний заболевания, смешанные факторы, временные точки и решения. Например, в представленном сценарии использования различные типы данных были доступны либо на уровне одной ячейки, либо на уровне выборки (объема). Кроме того, данные могут быть неполными, и не все измерения могут быть доступны для всех анализируемых субъектов.

Из-за этих проблем различные омиксы и включенные в них особенности по-прежнему часто анализируются только по отдельности2, хотя выполнение интегрированного анализа не только может дать полную картину процесса, но и биологические и технические шумы от одной омики также могут быть компенсированы другими омиксами 3,4. Для выполнения комплексного анализа мультиомиксных данных было предложено несколько различных методов, включая байесовские методы, сетевые методы 5,6, мультимодальное глубокое обучение7 и методы уменьшения размерности с помощью матричной факторизации 8,9. Что касается последнего, то результаты большого сравнительного исследования10 показали, что метод MOFA9 (мультиомический факторный анализ) является одним из наиболее подходящих инструментов, когда данные должны быть увязаны с клиническими аннотациями.

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

Этот протокол представляет собой гибкий рабочий процесс анализа, который использует модель MOFA для демонстрации того, как быстро изучить сложный мультиомный набор данных и выделить основные закономерности вариаций, характеризующие этот набор данных. Рабочий процесс состоит из трех основных этапов. На первом этапе, «Предварительная обработка и гармонизация данных», представлены различные стратегии предварительной обработки данных, основанные на различных типах входных данных (scRNA-seq, протеомика, цитокин, клинические данные). В протоколе подробно описывается, как обрабатывать признаки различных входных наборов данных, отфильтровывать признаки низкого качества и нормализовать их для гармонизации их распределений. Мы также показываем, как эти решения по предварительной обработке могут повлиять на последующие результаты. На втором этапе к данным применяется модель MOFA, и полученная дисперсионная декомпозиция может быть использована для оценки интеграции различных наборов данных. На третьем шаге показано, как связать захваченные факторы с ковариатами и раскрыть молекулярные программы, определяющие эти факторы. С помощью представленного рабочего процесса мы смогли извлечь несколько латентных факторов, связанных с клиническими ковариатами, в наборе данных пациентов, страдающих коронарными синдромами, и идентифицировать потенциальные лежащие в основе многоклеточные иммунные программы изпредыдущего проекта. Здесь мы будем использовать этот набор данных, но протокол можно легко применить к другим контекстам, включая другие омики.

Набор данных состоит из образцов пациентов со стабильными хроническими коронарными синдромами (ХКС), острыми коронарными синдромами (ОКС) и контрольной группы со здоровыми коронарными артериями (без ХКС) (рис. 1). ОКС вызывается разрывом бляшек в уже существующем ССХ, что приводит к острому нарушению притока крови к миокарду и последующему ишемическому повреждению сердца. Это повреждение вызывает воспалительную реакцию иммунной системы, за которой следует репаративная фаза, которая длится в течение нескольких дней после острого события12. Чтобы иметь возможность охарактеризовать этот иммунный ответ у пациентов с ОКС, образцы крови были взяты в четыре разных временных момента: острый (TP1); после реканализации (14 [± 8] ч) (TP2); через 60 [± 12] ч (TP3); до выписки (6,5 [±1,5] дней) (TP4) (рисунок 1A). Для ССК и пациентов со здоровыми коронарными артериями была доступна только одна временная точка - (TP0). Для всех пациентов и временных точек на основе образцов крови были измерены различные анализы: клинические маркеры воспаления (креатин-киназа (КФК), КФК-МБ, тропонин, С-реактивный белок (СРБ)), scRNA-seq мононуклеарных клеток периферической крови (PBMCs), цитокиновый анализ, плазменная протеомика и данные нейтрофилов prime-seq13 .

figure-introduction-1
Рисунок 1: Мультиомный входной набор данных по инфаркту миокарда. Входной набор данных: Анализируемые данные включают образцы крови пациентов (n = 62) с острым коронарным синдромом (ОКС), хроническими коронарными синдромами (ХКС) и пациентами со здоровыми коронарными артериями (без ОАС). У пациентов с ОКС образцы крови были включены в четыре разных временных момента (TP1-4), у пациентов с CCS и без CCS в одну временную точку (TP0). Каждый пациент и комбинация временных точек рассматривается как отдельный образец в анализе. На образцах были проведены различные омические анализы: клинические анализы крови (n = 125), scRNA-seq (n = 121), плазма-протеомика (n = 119), цитокиновый анализ (n = 127) и нейтрофильный прайм-секвен (n = 121). Впоследствии описанный протокол был применен для интеграции данных по всем омиксам и их изучения с использованием модели MOFA и дальнейшего анализа (факторный анализ, обогащение путей). Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

В качестве входных данных для рабочего процесса, представленного здесь, мы берем исходные подсчеты из данных scRNA-seq после обработки с помощью cellranger и контроля качества (QC), как, например, описано в учебном пособии по предварительной обработке scanpy14 . Для аннотирования ячеек мы использовали автоматизированный конвейер Azimuth15 . Затем подсчеты агрегируются на уровне выборки для каждого типа клеток путем вычисления среднего значения по всем ячейкам для каждой выборки и типа клеток (псевдообъемная агрегация). Плазменная протеомика включена в виде нормализованной и медиан-центрированной интенсивностей, а для нейтрофилов мы берем количество экзонов уникального молекулярного идентификатора UMI (UMI) из прайм-секвенирования. Что касается цитокинов и клинических показателей, предыдущая предварительная обработка не применялась. Более подробная информация о (экспериментальной) генерации данных изложена в соответствующей рукописи11. Поскольку представленные здесь результаты основаны на использовании автоматизированной аннотации азимута для типов клеток в данных scRNA-seq по сравнению со стратегией, основанной на маркерах, которая использовалась в упомянутой публикации, представленные здесь результаты аналогичны, но не полностью совпадают с теми, которые представлены в публикации. В рукописи можно показать, что стратегия аннотации по типам клеток не изменяет основных закономерностей и биологических интерпретаций анализа, но небольшие изменения в точных значениях, полученных в результате модели, могут варьироваться. В целом, входные данные представляли собой сложный многомерный набор данных, включающий различные временные точки и уровни измерения (одиночные клетки против объемных) более чем 10 000 различных признаков (генов, белков, клинических значений). Было показано, что строгая стратегия предварительной обработки и гармонизации данных с последующим анализом MOFA является полезным и быстрым инструментом для изучения данных и извлечения соответствующей иммунной программы. Каждая временная точка и комбинация пациентов рассматриваются как независимая выборка в анализе MOFA. Каждый тип данных и тип ячейки рассматривается как отдельное представление в анализе MOFA.

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

figure-introduction-2
Рисунок 2: Обзор технического рабочего процесса. Схема рабочего процесса для анализа набора мультиомических данных. Разные элементы выделены разными цветами и символами. Записные книжки Jupyter, относящиеся к этапу Предварительная обработка и гармонизация данных (1), окрашены в синий цвет. Блокноты Jupyter, относящиеся к шагу «MOFA Model» (2), окрашены в оранжевый цвет. Записные книжки Jupyter, относящиеся к шагу «Анализ на последующих этапах» (3), окрашены в зеленый цвет. Один из блокнотов Jupyter, который будет использоваться для сравнения результатов, окрашен в желтый цвет. Файлы конфигурации, в которых можно изменить параметры для выполнения расчетной схемы, выделены фиолетовым цветом. Входные наборы данных, необходимые для запуска рабочего процесса, обозначены символом набора данных и выделены серым цветом. Все выходные данные рисунка, которые генерируются во время выполнения рабочего процесса, обозначаются символом лупы. Наборы данных, созданные во время выполнения расчетной схемы, обозначаются как таблицы. В общем случае рабочий процесс выполняется последовательно: (1) Предварительная обработка и гармонизация данных состоит из двух этапов: сначала генерируется псевдообъемная таблица на основе входных данных scRNA-seq (01_Prepare_Pseudobulk) и последующая интеграция и нормализация этих данных вместе со всеми остальными входными данными уровня выборки (объемными) (02_Integrate_and_Normalize_Data). На этом шаге с помощью конфигурационных файлов можно настроить для каждого набора данных отдельно, какой из указанных шагов предварительной обработки и нормализации (например, фильтр выборки) должен быть применен. (2) «MOFA Model»: запускает модель MOFA на сгенерированных входных данных первого шага с конфигурациями, указанными в файле конфигурации (03_MOFA_configs.csv) (3) «Downstream Analysis»: состоит из трех различных блокнотов, которые могут быть запущены независимо друг от друга для получения аналитических сведений о сгенерированных результатах MOFA и связывания их с образцами метаданных (ковариатами), предоставленными в качестве входных данных через файл «Sample Meta Data.csv». (4) «Сравнение моделей»: это небольшой отдельный шаг, который может быть использован для сравнения различных моделей, созданных на шаге 2. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

Рабочий процесс состоит из нескольких записных книжек Jupyter, написанных на R и Python (знание языков R и Python не требуется для запуска рабочего процесса, но может быть полезно в случае появления ошибок). На различных этапах протокола изменение параметров осуществляется с помощью конфигурационных файлов (файлы '.csv, содержащие в имени постфикс '_Configs'). В протоколе мы только выделяем параметры, которые необходимо изменить, начиная с конфигурации по умолчанию.

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

Протокол

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Подготовка: Техническая настройка и монтаж

ПРИМЕЧАНИЕ: Чтобы запустить эту программу, на устройстве должны быть предустановлены wget, git и Apptainer. Инструкция по установке Apptainer на разные системы (Linux, Windows, Mac) приведена здесь: https://apptainer.org/docs/admin/main/installation.html. Информацию об установке git можно найти здесь: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git. В зависимости от размера различных входных наборов данных рекомендуется запускать рабочий процесс на подходящем компьютере (16 ЦП, 64 ГБ памяти). Дымовой тест с предоставленными примерами данных может быть выполнен на локальном компьютере. Инструкции и ожидаемые результаты выполнения протокола на данных примера приведены в дополнительном файле 1. В дополнительном видеофайле 1 приведены важные шаги протокола, которые выполняются на описанном выше наборе данных.

  1. Откройте консоль и выберите или создайте папку, в которой будет храниться весь код анализа и выходные данные. Перейдите в папку, набрав в терминале команду: cd path_to_folder.
  2. Скачайте или клонируйте репозиторий кода с Github (https://github.com/heiniglab/mofa_workflow) или набрав git clone https://github.com/heiniglab/mofa_workflow.git в окне терминала.
  3. Загрузите образ, содержащий все необходимые установки от Zenodo, набрав wget https://zenodo.org/records/11192947/files/mofa_image.sif в окне терминала.
  4. Сгенерируйте папку, в которой будут храниться все данные о результатах, набрав mkdir results в окне терминала.
  5. Сгенерируйте папку, в которую будут добавлены все входные данные, которые будут использоваться в анализе, набрав в окне терминала команду mkdir input_data .
  6. Запустите контейнер, который запустит сессию JupyterLab, введя в терминале следующую команду: apptainer run mofa_image.sif. Скопируйте URL-адрес, возвращенный командой, в браузер, который откроет сеанс Jupyter-lab (более подробную информацию о Jupyter-lab можно найти в документации по программному обеспечению16).
    ПРИМЕЧАНИЕ: Когда рабочий процесс выполняется локально на ноутбуке, рекомендуется использовать команду apptainer exec mofa_image.sif jupyter-lab , которая напрямую вернет адрес локального хоста. В случае, если контейнер выполняется в кластерной вычислительной среде, может потребоваться настроить переадресацию портов, что можно сделать через ssh.

2. Инициализация и подготовка данных

  1. В сеансе Jupyter-Lab используйте меню навигации слева. Перейдите в папку input_data , дважды кликнув по input_data.
  2. Скопируйте все наборы данных, которые будут использоваться в качестве входных данных для анализа, в директорию input_data с помощью Drag&Drop. Перетащите файл из папки, в которой он находится в данный момент, и поместите его в сеанс Jupyter-lab в область под папкой input_data.
    ПРИМЕЧАНИЕ: Все наборы данных должны быть либо в формате .csv , либо в формате .h5ad (в случае данных с одной ячейкой). Все .csv файлы должны содержать соответствующий столбец sample_id (во всех наборах данных должны использоваться идентичные идентификаторы). Все остальные столбцы будут использоваться в качестве характеристик. В файле h5ad аннотация ячейки должна содержать два идентификатора, указывающих sample_id и cluster_id. Они будут использоваться для агрегирования и сопоставления. Наборы данных Omic в других форматах необходимо преобразовать в указанный формат .csv перед использованием (рис. 3). Наборы данных scRNA-seq, предоставленные в формате .h5seurat , могут быть преобразованы в .h5ad , выполняя Jupyter-notebook: 00_Data_Conversion.ipynb.
  3. Перейдите в папку конфигураций , щелкнув символ папки , а затем дважды щелкнув папки mofa_workflow, скрипты и конфигурации. В папке откройте файл Data_configs.csv , дважды кликнув по нему.
  4. В столбце value добавьте пути к папкам папок input_data (data_path) и results (result_path). Добавьте имя, которое будет добавлено в качестве расширения ко всем сохраненным файлам, в столбце значений для configuration_name (этот протокол использовался MI_v1 [Myocardial Infarction version1]) (рис. 4).
  5. Сохраните изменения, нажав на «Файл» > «Сохранить файл CSV » в меню вверху.
  6. Используйте меню навигации слева для перехода в папку скриптов, нажав на скрипты. Откройте записную книжку инициализации, дважды щелкнув по 00_Configuration_Update.ipynb. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки» вверху и нажав «Перезапустить» во всплывающем окне (рисунок 5).

figure-protocol-1
Рисунок 3: Ввод и настройка данных. Для выполнения рабочего процесса все данные должны храниться в указанной папке input_data. Для каждого входного набора данных должен быть предоставлен отдельный файл. Данные по отдельным ячейкам должны быть представлены в виде .h5ad, содержащего аннотацию к ячейке на cluster_id (полученную, например, в результате предыдущих шагов аннотации типа ячейки) и столбец sample_id (однозначно идентифицирующий каждую отдельную выборку, которая должна быть проанализирована). Все остальные входные наборы данных должны быть предоставлены в формате '.csv', включая один столбец, указывающий sample_id (соответствие соответствующему столбцу данных одной ячейки) и признаки, которые будут использоваться при анализе MOFA во всех остальных столбцах. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

figure-protocol-2
Рисунок 4: Конфигурационные файлы Jupyter-lab. Во время выполнения расчетной схемы изменения параметров (например, настройка параметров фильтрации и т. д.) указываются через файлы конфигурации «.csv». В клонированный репозиторий включаются файлы конфигурации по умолчанию для каждого шага. Они могут быть отредактированы непосредственно в консоли jupyter-lab, аналогично электронной таблице. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

figure-protocol-3
Рисунок 5: Скрипты Jupyter-notebooks. Полный рабочий процесс состоит из серии записных книжек Jupyter, которые будут выполняться последовательно после изменения соответствующих файлов конфигурации. При двойном щелчке мыши по записной книжке Jupyter с левой стороны соответствующий файл будет открыт с правой стороны. Полное выполнение файла можно запустить с помощью кнопки, выделенной вверху. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

3. Предварительная обработка и гармонизация данных

  1. Предварительная обработка - Преобразование данных sc в pseudobulk.
    ПРИМЕЧАНИЕ: Этот шаг необходимо выполнять только в том случае, если в анализе используются данные одной ячейки.
    1. Используйте меню навигации слева для перехода в папку с конфигурациями, дважды щелкнув по конфигурации. Откройте файл 01_Preprocessing_SC_Data.csv двойным щелчком мыши. Проверьте автоматически заполненные значения в файле и, при необходимости, настройте значения в столбце data_name в соответствии с именами файлов наборов данных с одной ячейкой в папке input_data , которая будет использоваться для анализа.
      ПРИМЕЧАНИЕ: По умолчанию все имена файлов .h5ad в папке входных данных будут добавлены в файл конфигурации в скрипте инициализации. Если некоторые наборы данных не должны использоваться для анализа, их можно удалить здесь.
    2. Сохраните внесенные изменения, нажав на «Файл» > «Сохранить файл CSV » в меню вверху.
    3. Используйте меню навигации слева для перехода в папку скриптов , нажав на скрипты. Откройте записную книжку 01_Prepare_Pseudobulk.ipynb , дважды кликнув по ней. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » вверху и нажав «Перезапустить » во всплывающем окне.
    4. Используйте меню навигации слева для перехода в папку с рисунками, дважды щелкнув сначала по рисункам , а затем по 01_figures. Откройте только что сгенерированный FIG01_Amount_of_Cells_overview графика, дважды кликнув по нему.
      ПРИМЕЧАНИЕ: Выполнение записной книжки может занять несколько минут.  Когда блокнот будет выполнен успешно, появится всплывающее окно, и файл FIG01_Amount_of_Cells_Overview будет либо обновлен блокнотом, либо сгенерирован заново. В столбце «Последнее изменение » можно указать, когда был создан файл, чтобы оценить, является ли он новым или старым.
    5. Исследуйте график для выявления кластеров клеточного типа с очень низким числом клеток в образце. Запишите имена этих cluster_ids чтобы исключить их на последующих шагах (рисунок 6).
    6. Используйте меню навигации слева, чтобы вернуться в папку с настройками, нажав на ... А затем двойной клик по настройкам. Откройте файл 02_Preprocessing_Configs_SC.csv , дважды кликнув по нему.
    7. Проверьте значения в столбцах configuration_name и data_name и при необходимости скорректируйте их.
      ПРИМЕЧАНИЕ: В сценарии инициализации эти значения предварительно заполняются всеми именами файлов .h5ad в папке входных данных и значением configuration_name , установленным ранее в файле Data_Configs.csv . В случае, если файлы должны быть исключены из анализа или должно быть использовано другое расширение для имен файлов, это можно настроить здесь.
    8. Измените значение в столбце cell_type_exclusion и добавьте все cluster_id, которые были определены для исключения на предыдущем шаге, разделив их знаком ",".
    9. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV » на панели навигации вверху.
  2. Предварительная обработка - Гармонизация и интеграция других источников омиксных данных.
    1. Откройте файл 02_Preprocessing_Configs.csv , дважды кликнув по нему, и настройте конфигурацию предварительной обработки для каждого из наборов данных, которые будут включены и хранятся в папке data_input (по одной строке на набор данных).
    2. Проверьте значения в столбцах configuration_name и data_name и при необходимости скорректируйте их.
    3. Настройте остальные параметры в столбцах соответствующим образом, в зависимости от того, какие шаги предварительной обработки должны быть применены.
      ПРИМЕЧАНИЕ: Значения по умолчанию добавляются для каждого набора данных, найденного в папке input_dataset, но не специфичны для отдельных типов данных. Поэтому будут необходимы корректировки. Подробная документация параметров приведена в файле Documentation_Config_Parameter.doc .
    4. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
    5. Используйте меню навигации слева для перехода в папку скриптов , нажав на скрипты. Откройте записную книжку 02_Integrate_and_Normalized_Data_Sources.ipynb , дважды кликнув по ней. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » вверху и нажав «Перезапустить » во всплывающем окне.
    6. Используйте меню навигации слева для перехода к созданной папке 02_results , нажав на символ папки , а затем дважды щелкнув по результатам и 02_results. Проверьте, есть ли в нем файл 02_Combined_data_'configuration_name'_Integrated.csv , содержащий объединенный входной файл предварительно обработанных данных.

figure-protocol-4
Рисунок 6: Предварительная обработка и гармонизация данных. Одним из выходных данных шага '01_Prepare_Pseudobulk' является график 'Fig01_Amount_of_Cells_Overview'. Здесь для каждого cluster_id (ось Y, указывающая на тип ячейки из предыдущих шагов аннотации типа ячейки) указывается количество ячеек на выборку («sample_id»). В рамках представленных результатов типы клеток с малым количеством клеток в образце исключаются из последующего анализа (обозначаются зачеркиванием). Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

4. Запуск MOFA

  1. В Jupyter-Lab используйте меню навигации слева для перехода к папке конфигураций, щелкнув по символу папки, а затем дважды кликнув по mofa_workflow, а затем дважды кликнув по скриптам и конфигурациям. Откройте файл 03_MOFA_Configs.csv, дважды кликнув по нему.
  2. Проверьте записи на наличие столбцов configuration_name и mofa_result_name и скорректируйте записи, если следует использовать альтернативные имена.
    ПРИМЕЧАНИЕ: mofa_result_name будет добавлен в качестве расширения ко всем файлам результатов, созданным на основе MOFA. Это значение может отличаться от значения configuration_name , так как разные настройки MOFA могут выполняться с одними и теми же входными данными (этот протокол использует MI_v1_MOFA).
  3. Введите количество факторов, которые должны быть оценены в модели MOFA (amount_of_factors столбец), и определите, следует ли применять взвешивание и масштабирование (столбцы weighting_of_views и scale_views ), скорректировав значения в файле.
  4. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
  5. Используйте меню навигации слева, чтобы перейти в папку скриптов , нажав на «скрипты». Откройте блокнот 03_Run_MOFA.ipynb , дважды кликнув по файлу. Запустите скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » вверху и нажав «Перезапустить » во всплывающем окне.
  6. Перейдите в папку 03_figures , дважды кликнув по цифрам , а затем 03_figures. Откройте сгенерированный график FIG03_Overview_Variance_Decomposition_ mofa_result_name и изучите результат модели (рис. 7A).
  7. Используйте меню навигации слева для перехода к созданной папке 03_results , нажав на символ папки , а затем дважды щелкнув по результатам и 03_results. Проверьте, включает ли он файл значений коэффициента выборки 03_Factor_Data_'mofa_result_name'.csv и файл веса фактора признака 03_Weight_Data_'mofa_result_name'.csv.

5. Анализ на последующих этапах

  1. Факторная интерпретация.
    1. Используйте меню навигации с левой стороны, чтобы перейти к папке input_data , нажав на символ папки , а затем дважды кликнув по input_data.
    2. Подготовьте файл .csv (Prepared_Sample_Meta_Data.csv), содержащий все метаданные (ковариаты) образцов, которые будут анализироваться в связи с сгенерированными факторами. Скопируйте файл в папку input_data с помощью Drag&Drop , перетащив файл в обзор папки input_data .
      ПРИМЕЧАНИЕ: Он должен содержать столбец sample_id для сопоставления его с ранее использованными данными, а также дополнительные столбцы для каждого объекта, который следует анализировать.
    3. В Jupyter-Lab используйте меню навигации слева, чтобы вернуться к папке конфигураций, щелкнув символ папки , а затем дважды щелкнув mofa_workflow, а затем перейдя к скриптам и конфигурации. Откройте файл 04_Factor_Analysis.csv , дважды кликнув по нему.
    4. Убедитесь, что записи для configuration_name и mofa_result_name содержат названия конфигурации и результаты MOFA, которые будут анализироваться в скрипте, и при необходимости скорректируйте их.
    5. В столбец numeric_covariates добавьте имена всех числовых столбцов в файле Prepared_Sample_Meta_Data.csv, которые будут исследоваться в отношении факторов MOFA, разделенных запятой (этот протокол использует CRP,CK).
    6. В столбец categorical_covariates добавьте названия всех категориальных столбцов в файле Prepared_Sample_Meta_Data.csv , которые будут исследоваться по отношению к факторам MOFA через запятую (в этом протоколе используется измерение).
    7. Сохраните изменения, нажав на «Файл» > «Сохранить файл CSV».
    8. Используйте меню навигации слева для перехода в папку «скрипты», нажав на «скрипты». Откройте блокнот 04_Downstream_Factor_Analysis.ipynb , дважды кликнув по нему. Запустите скрипт, нажав на кнопку «Перезапустить ядро и запустить все ячейки » вверху и нажав «Перезапустить» во всплывающем окне.
    9. Используйте меню навигации слева для перехода к папке 04_figures , дважды щелкнув по цифрам , а затем 04_figures. Откройте сгенерированные графики, дважды кликнув по ним, и исследуйте факторы на предмет интересных закономерностей и ассоциаций: FIG04_Factor_Association_with_numeric_features_
      'mofa_result_name.pdf (Рисунок 7B). FIG04_Factor_Association_
      with_categorical_features_'mofa_result_name.pdf (Рисунок 7C). FIG04_Top_Feature_Overview_per_Factor _'mofa_result_name.pdf (рис. 8A).
  2. Анализ признаков
    1. Используйте меню навигации слева, чтобы вернуться в папку с настройками, нажав на ... А затем двойной клик по настройкам. Откройте файл 05_Feature_Analysis_Configs.csv , дважды кликнув по нему.
    2. Убедитесь, что записи для столбцов configuration_name и mofa_result_name соответствуют названиям конфигурации и сгенерированному результату MOFA, которые будут использоваться для последующего анализа, и при необходимости скорректируйте их.
    3. В столбце коэффициента добавьте коэффициент, для которого будут построены верхние объекты в следующем скрипте.
    4. В столбце faceting_variable добавьте имя столбца категориального столбца в Prepared_Sample_Meta_Data.csv который будет использоваться для группировки выборок на графике (Этот протокол использует измерение)
    5. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
    6. Используйте меню навигации слева для перехода в папку скриптов , нажав на скрипты. Откройте записную книжку 05_Downstream_Investigate_Features_Heatmap.ipynb , дважды кликнув по ней. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » вверху и нажав «Перезапустить » во всплывающем окне.
    7. Используйте меню навигации слева для перехода к папке 05_figures , дважды кликнув сначала по цифрам , а затем по 05_figures. Откройте и исследуйте сгенерированный сюжет FIG05_Heatmap_Feature_Overview__ 'mofa_result_name'.pdf , дважды щелкнув по файлу (Рисунок 8B).
      ПРИМЕЧАНИЕ: В зависимости от количества функций, которые будут отображаться на графике, может потребоваться настроить параметры plot_width и plot_height в 05_Feature_Analysis_Configs.csv и повторно запустить скрипт, чтобы убедиться, что все помещается на графике.
  3. Анализ путей прохождения
    1. Используйте меню навигации с левой стороны, чтобы перейти к папке input_data , нажав на символ папки , а затем дважды кликнув по input_data.
    2. Подготовьте файл .csv (Prepared_Pathway_Data.csv), содержащий список путей, которые будут проверены на обогащение. Скопируйте файл в папку input_data с помощью Drag&Drop, перетащив файл в обзор папки input_data .
      ПРИМЕЧАНИЕ: Он должен содержать три столбца: ID (уникальный идентификатор пути), gene (гены, обозначенные их именем гена (SYMBOL), принадлежащим пути, по одной строке на ген), pathway_name (название/текстовое описание путей).
    3. В сеансе Jupyter-Lab используйте меню навигации слева для перехода к папке конфигураций, нажав на ... А затем двойной клик по настройкам. Откройте файл 06_Pathway_Configs.csv , дважды кликнув по нему.
    4. Проверьте запись в столбце mofa_result_name и убедитесь, что она соответствует имени сгенерированного результата MOFA, который будет использоваться для расчета обогащения пути.
    5. Проверьте запись в столбце types и удалите записи в столбце types , которые не содержат признаков, соответствующих столбцу gene в файле Prepared_Pathway_Data.csv .
      ПРИМЕЧАНИЕ: По умолчанию все различные виды, которые использовались в модели MOFA, добавляются в этот файл во время выполнения рабочего процесса. В случае, если есть виды, которые не содержат объектов, соответствующих хотя бы одному пути, их необходимо удалить; В противном случае выполнение завершится ошибкой. Например, файл пути содержит только аннотации для генов, но есть представление, содержащее названия белков.
    6. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
    7. Используйте меню навигации для перехода в папку скриптов , нажав на скрипты. Откройте блокнот 06_Downstream_Pathways.ipynb , дважды кликнув по нему. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » вверху и нажав «Перезапустить » во всплывающем окне.
    8. Используйте меню навигации слева для перехода к папке 06_figures, сначала дважды кликнув по цифрам, а затем 06_figures. Откройте сгенерированный график FIG06_Pathways_and_Genes_ mofa_result_name, дважды щелкнув по нему, и изучите визуализированные пути (рисунок 8C).
      ПРИМЕЧАНИЕ: Способ выбора визуализированных путей может быть сконфигурирован с помощью файла конфигурации. Для получения более подробной информации обратитесь к документации по параметрам.
    9. Используйте меню навигации с левой стороны для перехода к сгенерированной папке 06_results , нажав на символ папки , а затем дважды щелкнув по результатам и 06_results. Проверьте, содержит ли он файл, включающий обогащенные пути 06_Pathway_enrichment__'mofa_result_name'.

6. Сравнение различных конфигураций и версий (Дополнительный рисунок 1, Дополнительный рисунок 2, Дополнительный рисунок 3, Дополнительный рисунок 4)

  1. Чтобы сравнить эффект от использования различных параметров/конфигураций на протяжении всего рабочего процесса, повторите разделы 3-5, изменив параметры в файлах конфигурации и используя другие идентификаторы configuration_name и mofa_result_name .
    ПРИМЕЧАНИЕ: Новые результаты будут сохранены с этими именами, чтобы использовать их для сравнения различных прогонов.
  2. В Jupyter-Lab используйте меню навигации слева для перехода в папку с настройками . Откройте файл 07_Comparison_Configs.csv , дважды кликнув по нему.
  3. В столбце mofa_result_name добавьте названия всех предыдущих запусков MOFA, которые будут сравниваться (по одной строке на имя/конфигурацию, например, MI_v1_MOFA, MI_v2_MOFA).
  4. В столбце compare_factors добавьте факторы, которые будут сравниваться между моделями. По умолчанию это Factor1,Factor2,Factor3. (Дополнительный рисунок 2А).
    ПРИМЕЧАНИЕ: В этом скрипте значения признаков и факторов различных моделей будут сравниваться путем их корреляции. Это работает только для моделей, основанных на одних и тех же образцах (обозначенных sample_id) и одном и том же наборе функций. В случае, если образцы или функции не совпадают между сравниваемыми версиями, они будут исключены из сравнения.
  5. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
  6. Используйте меню слева для перехода в папку со скриптами , нажав на скрипты. Откройте записную книжку 07_Compare_Models.ipynb , дважды кликнув по ней. Выполните скрипт, нажав на кнопку «Перезагрузить ядро и запустить все ячейки » и нажав «Перезапустить » во всплывающем окне.
  7. Используйте меню слева для перехода к папке 06_figures , дважды кликнув сначала по цифрам , а затем по 06_figures. Откройте сгенерированные графики, дважды кликнув по файлам, чтобы проанализировать сходство разных версий:
    FIG07_Variance_Model_Comparison.pdf (Дополнительный рисунок 2B)
    FIG07_Factor_Correlations.pdf
    (Дополнительный рисунок 2C)
    FIG07_Feature_Correlations.pdf
    (Дополнительный рисунок 3C)

7. Расширение рабочего процесса: добавление других параметров и конфигураций

ПРИМЕЧАНИЕ: Помимо параметров, которые в настоящее время можно настроить в файлах конфигурации, могут быть включены и другие изменения в коде или другие параметры. Например, сама модель MOFA предлагает несколько других обучающих параметров17 , которые могут быть либо изменены непосредственно в коде, либо настроены с помощью конфигурационных файлов. В следующем разделе протокола будет приведен пример того, как это сделать для дополнительных параметров обучения модели MOFA. Для этой части требуются знания программирования на R.

  1. В Jupyter-Lab используйте меню навигации слева для перехода в папку scripts . Откройте записную книжку 03_Run_MOFA.ipynb , дважды кликнув по ней.
  2. Нажмите на вкладку «Оглавление » слева, а затем перейдите к подразделу 4.3 «Установить параметры обучения MOFA» и запустите обучение модели , щелкнув по нему. Прокрутите вниз, чтобы увидеть печатный вывод модели MOFA с настраиваемыми параметрами в блокноте.
  3. В цикле R for в коде под заголовком задаются все данные MOFA, модель и параметры обучения. Ниже строки model_opts$num_factors = mofa_configs$amount_of_factors[i] добавьте еще одну строку с кодом ниже
    model_opts$problihoods['data_type'] = 'пуассон'.
    ПРИМЕЧАНИЕ: Это изменит распределение, которое модель принимает в качестве входных данных для представления, указанного именем data_type для всех прогонов MOFA. При указании пуассона для типа данных модель будет выполняться только в том случае, если признаки для этого типа данных являются целыми числами (например, счетчики прочтений из RNA-seq). Чтобы получить дополнительную информацию о данных MOFA, обучении и вариантах модели, можно также обратиться к учебным пособиям и документации MOFA17.
  4. Сохраните изменения в блокноте, нажав на кнопку «Сохранить » вверху.
  5. Чтобы передать новые параметры через файлы конфигурации .csv , используйте навигацию слева, чтобы перейти в папку конфигураций , дважды кликнув по конфигурации, и откройте файл 03_MOFA_Configs.csv двойным щелчком мыши.
    1. Добавьте новую колонку с указанием имени параметра, например, number_iterations и введите значение, например, 1000. Сохраните изменения, нажав « Файл» > «Сохранить файл CSV».
    2. Используйте меню навигации для навигации по папке скриптов, нажав на скрипты. Откройте записную книжку 03_Run_Mofa.ipynb , дважды кликнув по ней. Нажмите на вкладку «Оглавление » слева, а затем перейдите к подразделу 4.3 «Установить параметры обучения MOFA» и запустите обучение модели , щелкнув по нему.
    3. Замените строку train_opts$maxiter = 50000 на train_opts$maxiter = mofa_configs$column_name[i] (когда имя добавленного столбца number_of_iterations это train_opts$maxiter = mofa_configs$number_of_iterations[i])).
      ПРИМЕЧАНИЕ: Файл конфигурации, 03_MOFA_Configs.csv в этой записной книжке, считывается в начале записной книжки (подраздел: Предварительные требования, конфигурации и параметры) как mofa_config data.frame в сеансе, и поэтому в этой строке кода содержится ссылка на этот объект и соответствующий вновь сгенерированный столбец. Поскольку несколько конфигураций могут быть запущены одновременно, i идентифицирует строку data.frame, поскольку оценка модели выполняется в цикле for для всех различных строк в файле .csv . Принцип чтения в файле конфигурации в начале записной книжки в разделе «Предварительные требования, конфигурации и параметры» одинаков для всех записных книжек, и дальнейшие модификации могут производиться таким образом.
    4. Сохраните изменения в блокноте, нажав на кнопку Сохранить .

Результаты

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

После успешного выполнения рабочего процесса создается несколько таблиц и рисунков, как показано на рисунке 2. Рисунки помещаются в папку /figures (Рисунок 6, Рисунок 7, Рисунок 8, Дополнительный рисунок 1, Дополнительный рисунок 2, Дополнительный рисунок 3, Дополнительный рисунок 4), а таблицы будут помещены в указанную папку /results .

Если расчетная схема не выполнена успешно, это может быть вызвано в основном техническими ошибками, вызванными, например, недостаточным объемом памяти (особенно на первом этапе, когда загружается большой набор данных с одной ячейкой), неправильно отформатированными данными (например, несоответствие столбцов sample_id между наборами данных) или неправильными спецификациями в файлах конфигурации (например, исключение многих функций). В этом случае, как правило, во время выполнения появляется сообщение об ошибке в скрипте Jupyter-notebook, и графики и данные не генерируются. Рекомендуется использовать конфигурационные файлы по умолчанию, созданные во время выполнения скрипта, и изменять только определенные параметры, как описано в протоколе.

Об успешном выполнении свидетельствует генерация полученных графиков и таблиц, и каждый шаг будет раскрывать дополнительную информацию о данных и основных закономерностях дисперсии, присущих им. Тем не менее, не обязательно каждое выполнение приведет к биологически полезным и интерпретируемым результатам. Часто данные характеризуются большими техническими эффектами и различными распределениями, которые необходимо учитывать на этапе «Предварительная обработка и гармонизация данных» или в «Модели MOFA9 » (которая также позволяет задавать различные распределения для типов входных данных), чтобы иметь возможность извлечь вариацию данных, отражающую лежащие в основе биологические процессы.

В рамках представленного рабочего процесса в качестве входных данных могут использоваться различные мультиомические наборы данных. В настоящее время рабочий процесс принимает популярный формат файла .h5ad для данных с одной ячейкой и очень общий формат файла .csv для всех остальных наборов данных в качестве входных данных (рисунок 3). Обычно разные омические наборы данных имеют очень разные форматы файлов. Чтобы не ограничивать выполнение рабочего процесса определенными форматами файлов, .csv используется в качестве очень общего формата. Таким образом, все виды различных наборов омиксных наборов данных могут быть использованы в качестве входных данных для рабочего процесса, но перед использованием в этом рабочем процессе их необходимо преобразовать в соответствующий формат .csv , как показано на рисунке 3 . Это может быть подготовлено с помощью электронной таблицы или специализированного программного обеспечения. Для предварительной обработки различных наборов омиксных данных в рабочем процессе доступно несколько опций для применения различных этапов предварительной обработки и нормализации (например, корректировка размера библиотеки, преобразование журнала, нормализация выборки квантиля) к различным входным наборам данных путем настройки файла 02_Pre_Processing_Configs.csv и 02_Pre_Processing_Configs_SC.csv (рис. 2)). Тем не менее, доступные здесь варианты в основном основаны на конкретных исходных данных, доступных в представленном здесь наборе данных (scRNA-seq, цитокиновый анализ, протеомика, prime-seq). В случае использования других омиксов/типов данных может потребоваться применение дополнительных шагов нормализации, специфичных для омиков, в соответствии с существующими передовыми практиками. В этом случае данные могут быть переданы в рабочий процесс в уже предварительно обработанной форме и будут интегрированы вместе с другими наборами данных без применения дополнительных этапов предварительной обработки. Во многих случаях применение шага Feature Wise Quantile Normalization полезно для выравнивания распределения всех типов данных в соответствии с нормальным распределением и для того, чтобы сделать последующий анализ между различными входными признаками более сопоставимым и совместимым со спецификацией модели гауссова шума.

Во время выполнения рабочего процесса генерируется несколько графиков и выходных данных, которые поддерживают процесс интеграции данных и последующей биологической интерпретации. Для данных scRNA-seq график в FIG01_Amount_of_Cells_Overview (рис. 6) показывает, какие типы клеток могут включать слишком мало клеток на образец и тип клеток для надежного измерения сигнала экспрессии гена, поскольку для последующих анализов среднее значение по всем клеткам типа клеток на образец используется в качестве оценки экспрессии (psedobulk-подход). В этом случае мы исключаем типы клеток, которые имеют менее трех ячеек в большинстве образцов.

График дисперсионной декомпозиции FIG03_Overview_Variance_Decomposition (рис. 7, дополнительный рис. 1) может показать, насколько хорошо интегрируются различные источники данных и какая дисперсия в различных источниках данных является общей и уникальной для каждого источника данных. Например, тестирование различных стратегий предварительной обработки на используемом здесь наборе данных показывает, например, что удаление шага нормализации Feature Wise Quantile из предварительной обработки приводит к появлению скрытых факторов, которые больше сосредоточены на конкретных представлениях данных, и снижает интеграцию протеомных данных с другими источниками данных. Это можно увидеть в уменьшенной величине объясняемой дисперсии (дополнительный рисунок 1B). Запуск модели MOFA без какой-либо фильтрации признаков или без нормализации приводит к меньшей общей дисперсии между различными представлениями, захваченными латентными факторами (дополнительный рисунок 1C). Это указывает на то, что латентные факторы преимущественно отражают технические эффекты, специфичные для типа данных. Кроме того, сама модель MOFA9 также может возвращать предупреждения в случае плохо обработанных данных. Пример такого предупреждения показан на дополнительном рисунке 1 для альтернативных конфигураций предварительной обработки MI_v2 и MI_v3 (конкретные примеры конфигурационных файлов хранятся в клонированном репозитории GitHub в папке config_examples ).

Кроме того, после запуска модели MOFA результаты могут быть оценены в нескольких последующих анализах путем связывания фактора с известной биологической метаинформацией о образцах, а также с техническими и другими искажающими ковариатами (04_Downstream_Factor_Analysis) для определения вероятной причины вариации, захваченной факторами. Например, если один из факторов моделей MOFA тесно связан с одной из технических ковариат (например, информация о партии), это может указывать на то, что этот фактор скорее отражает технические вариации в данных, а не биологические вариации.

Чтобы сузить биологическую интерпретацию в части анализа, ниже приведена пара выводов, основанных на входном наборе данных (более точную интерпретацию можно найти в оригинальной публикации11). На первом этапе мы можем наблюдать, что с помощью применяемой стратегии предварительной обработки мы находим несколько факторов, которые фиксируют дисперсию между несколькими типами клеток, а также другими типами омиксных данных (рис. 7A). Например, фактор 2 фиксирует дисперсию в клинических входных признаках и в нескольких типах клеток набора данных scRNA-seq. Связывая первые три фактора с соответствующими клиническими ковариатами, такими как «СРБ» и «КФК» (рисунок 7B), и исследуя различия в значениях факторов для различных подгрупп пациентов: «Контроль (включая CCS и без CCS) и «ACS», измеренный в разные моменты времени (TP1-TP4) (рисунок 7C), мы также обнаружили, что фактор 2 в значительной степени связан со значением «CK», а фактор 3 — со значением «CRP». В то же время образцы ACS в TP1 и TP2 (которые отражают острую фазу иммунного ответа на инфаркт миокарда (ИМ)) показывают увеличение значений факторов по сравнению с контрольными и более поздними образцами временных точек (TP3/TP4). КФК является известным маркером повреждения миокарда и обычно характеризуется повышенными значениями на уровне TP1/TP2, аналогично паттерну, регистрируемому Factor2.

Чтобы получить представление о биологических процессах, формирующих фактор 2, мы оцениваем наиболее ранжированные характеристики фактора, глядя на таблицу весов признаков, созданную моделью (03_Weight_Data.csv). Анализируя 1% лучших признаков с наибольшими абсолютными весами фактора, мы находим в основном CD4. ТКМ и CD14. Монопроизводные признаки преувеличены по сравнению с их общим числом входных признаков (рис. 8A), что указывает на то, что эти типы клеток имеют высокую значимость в воспалительном процессе после ИМ (ПРИМЕЧАНИЕ: в случае, если при предварительной обработке не применялась нормализация по признакам, различные распределения признаков также могут повлиять на этот результат, и оценка должна быть выполнена отдельно по типу данных). Анализируем топовые характеристики CD4. На этом факторе мы находим несколько интересных генов, таких как EIF3E18 , необходимых для устойчивой активации Т-клеток, и HMGB119, который способствует экспансии и активации Т-клеток (рис. 8B). Затем мы проводим анализ обогащения путей с использованием иммунных путей из базы данных REACTOME20 в виде набора путей (Prepared_Pathway_Data.csv). Мы обнаружили обогащение нескольких путей «Интерлейкина», включая передачу сигналов «Интерлейкин-6». Этому способствовали уровни экспрессии нескольких генов в различных типах клеток данных scRNA-seq и значения цитокинов IL6, измеренные с помощью анализа цитокинов (рис. 8C). Выявление этих общих закономерностей в разных типах данных подчеркивает дополнительные преимущества интегрированного анализа. В целом, этот подход может также выявить несколько других факторов, которые отражают состояние заболевания или связывают с ним исход лечения и лежащие в основе многоклеточные иммунные программы, как более подробно описано в соответствующей публикации11.

Чтобы еще больше подчеркнуть преимущество интегрированного анализа по нескольким омиксам, тот же рабочий процесс также был запущен только с использованием входных данных протеомики (дополнительный рисунок 4). Анализируя результирующие факторы, мы находим, как и в интегральном анализе, коэффициент (Factor1), который сильно коррелирует со значением CRP. Этот шаблон описывает основной источник вариаций в данных протеомики, а также согласуется с некоторыми вариациями в других наборах данных, зафиксированными «Фактором3» в интегрированном анализе (рисунок 7C). Тем не менее, аналогичная картина, на которую указывает Factor2, которая фиксирует временной ход воспаления в интегрированном анализе, не может быть идентифицирована исключительно на основе данных протеомики.

Представленный рабочий процесс и сама модель MOFA9 обладают широкими возможностями настройки и множеством настраиваемых параметров. Поэтому важно визуализировать и систематически сравнивать результаты, полученные при использовании различных конфигураций. Чтобы облегчить выполнение этой задачи, конечным результатом, который может быть сгенерирован рабочим процессом, является сравнение различных именованных запусков конвейера с различными параметрами в предварительной обработке и оценке модели. Например, модель MOFA может быть оценена с различным числом латентных факторов (дополнительный рисунок 2A) или представления с меньшим числом признаков могут быть взвешены (дополнительный рисунок 3A). При настройке и запуске последнего скрипта рабочего процесса «07_Compare_Models» создается несколько графиков для оценки сходства между различными прогонами конвейера. FIG07_Variance_Model_Comparison (Дополнительный рисунок 2B, Дополнительный рисунок 3B) показывает сравнение общей объясненной дисперсии для каждого вида для разных прогонов. Корреляция значений факторов и весов коэффициентов признаков между различными прогонами может показать, насколько изменяются результаты при изменении определенного параметра (дополнительный рисунок 2C, дополнительный рисунок 3C). В данном случае изменение числа факторов приводит лишь к незначительным изменениям в оценочных значениях факторов и весах признаков (дополнительный рисунок 2C). Изменение веса представления данных приводит к гораздо более высокой объяснимой дисперсии в представлениях с меньшим числом признаков, например, в «клиническом» представлении (дополнительный рисунок 3B). Тем не менее, соответствующие особенности в рамках первых трех факторов по-прежнему сильно коррелируют с теми, которые выводятся из невзвешенной версии (дополнительный рисунок 3C).

С помощью созданных выходных данных модели .csv файлов в папке результатов (например, оценочных коэффициентов и весов признаков) можно проводить дальнейший анализ отдельных компонентов. Весь код и необходимые конфигурационные файлы (включая документацию) доступны на GitHub по адресу https://github.com/heiniglab/mofa_workflow. Изображение сингулярности, созданное для простой установки необходимых пакетов conda для анализа, можно скачать с сайта https://doi.org/10.5281/zenodo.10815146. Небольшой пример набора данных, который можно использовать для выполнения первоначального тестирования конвейера, также можно скачать из той же записи zenodo.

figure-results-1
Рисунок 7: Анализ выходных данных MOFA. После запуска модели MOFA (03_Run_MOFA.ipynb) и последующего анализа значений факторов (04_Downstream_Factor_Analysis.ipynb) генерируется несколько графиков: (A) FIG03_Overview_Variance_Decomposition: возвращает визуализацию объясненной дисперсии оцененных факторов MOFA в различных представлениях. Тепловая карта (слева): показывает процент общей дисперсии вида, захваченного коэффициентом для каждого вида. Столбчатый столб (справа): показывает общий процент дисперсии, который захватывается всеми факторами для каждого представления. (B) FIG04_Factor_Association_Numerical_Features: показывает корреляцию Пирсона значений факторов с выбранными ковариатами числовой выборки, здесь: клинические переменные (СРБ, КФК). (C) FIG04_Factor_Association_Categorical_Features: показывает разницу в значениях факторов для категориальных выборочных ковариат в виде ящичковой диаграммы. Здесь сравниваются значения факторов 1-3 для каждой временной точки пациентов с ОКС и контрольной группы. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

figure-results-2
Рисунок 8: Анализ признаков MOFA. После выполнения последующих анализов (04_Downstream_Factor_Analysis.ipynb, 05_Downstream_Investigate_Features.ipynb) генерируется несколько графиков. Все графики здесь визуализируют фактор MOFA 2: (A) FIG04_Top_Feature_Overview_per_Factor: Тепловая карта (слева) показывает для каждого вида процент дисперсии, который захватывает выбранный фактор. Столбчатые диаграммы (справа) указывают на релевантность особенностей различных представлений для фактора. Слева указано общее количество признаков конкретного представления в пределах 1% наиболее ранжированных объектов по всем представлениям о факторе. Справа указан процент от деления общего числа среди 1% самых богатых на общее количество объектов этого представления. (B) FIG05_Heatmap_Feature_Overview: Тепловая карта (слева) показывает 1% функций CD4 с наивысшим рейтингом. Тип клеток ТКМ: нормализованные значения экспрессии в каждой выборке, сравнивающие пациентов контрольной группы (CCS и без CCS) с различными временными точками для пациентов с ACS. Столбчатая диаграмма (справа) показывает вес признаков. Направление знака веса указано слева перед названиями типов ячеек: «+» вес положительного фактора; '-' отрицательный фактор вес. (C) FIG06_Pathway_and_Genes: показывает вес 25% наиболее ранжированных генов для фактора, которые принадлежат к обогащенным интерлейкиновым путям. На тепловой карте вверху они усредняются по видам, а на тепловой карте внизу отображается по каждому виду. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этой цифры.

Дополнительный рисунок 1: Эффекты гармонизации данных. На рисунке показаны FIG03_Overview_Variance_Decomposition для нескольких различных конфигураций предварительной обработки данных: визуализация объясненной дисперсии оцененных коэффициентов MOFA в различных представлениях. Тепловая карта (слева): показывает для каждого вида процент общей дисперсии вида, который учитывается коэффициентом. Столбчатый график (справа): показывает для каждого представления общий процент дисперсии, который учитывается всеми факторами. (A) Конфигурация («MI_v1»), на основе которой были проанализированы биологические результаты на предыдущих рисунках (параметры, установленные как в файлах конфигурации по умолчанию в клонированном репозитории). (B) Та же конфигурация предварительной обработки, что и в 'MI_v1' с той модификацией, что не применяется нормализация квантилей по функциям (параметры задаются как в примерах конфигурационных файлов в папке 'config_examples' репозитория). Скриншот предупреждения модели MOFA для этой конфигурации добавлен на график ниже. (C) Результирующая дисперсионная декомпозиция , когда не применяются шаги предварительной обработки, а все данные используются в качестве входных данных без какой-либо предварительной обработки или фильтрации признаков (параметры задаются как в примере конфигурационного файла в папке 'config_examples' репозитория). Скриншот предупреждения модели MOFA для этой конфигурации добавлен на график ниже. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Дополнительный рисунок 2: Конфигурация MOFA - Факторный эффект величины. Полученные цифры сгенерированы скриптом '07_Compare_Models.ipynb' с использованием нескольких различных конфигураций для запуска модели MOFA. (A) '03_MOFA_configs.csv': Пример различных конфигураций, используемых для запуска скрипта '03_Run_MOFA.ipynb' с указанием нескольких различных факторов (10,15,20,25). '07_Comparison_configs.csv': Пример указания входного файла конфигурации для выполнения скрипта '07_Compare_Models.ipynb'. (B) «FIG07_Variance_Model_Comparison», показывающая общую объясненную дисперсию для каждого вида (ось y) для различных моделей по всем факторам, указанным в модели. (C) «FIG07_Factor_Correlations», показывающая корреляцию значений факторной выборки между различными конфигурациями. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Дополнительный рисунок 3: Конфигурация MOFA - Эффект взвешивания представлений. Полученные цифры сгенерированы скриптом '07_Compare_Models.ipynb' с использованием нескольких различных конфигураций для запуска модели MOFA. (A) '03_MOFA_configs.csv': Пример различных конфигураций, используемых для запуска скрипта '03_Run_MOFA.ipynb', в котором параметр 'weighting_of_views' имеет значение 'TRUE' (MI_v1_MOFA_weighted) или 'FALSE' (MI_v1_MOFA). '07_Comparison_configs.csv': Пример указания входного файла конфигурации для выполнения скрипта '07_Compare_Models.ipynb'. (B) «FIG07_Variance_Model_Comparison», показывающая общую объясненную дисперсию для каждого вида (ось y) для различных моделей по всем факторам, указанным в модели. (C) «FIG07_Feature_Correlations», показывающий корреляцию весов коэффициентов признаков между различными конфигурациями. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Дополнительный рисунок 4: Мультиомный эффект интегрирования - использование только протеомных данных. Результирующие закономерности фиксируются латентными факторами при использовании только протеомных данных в качестве входных данных. (A) FIG04_Factor_Association_Numerical_Features: корреляция Пирсона между значениями факторов и клиническими переменными (СРБ, КФК). (B) FIG04_Factor_Association_Categorical_Features: Блочная диаграмма сравнения значений факторов для каждой временной точки пациентов с ОКС и контрольной группы. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Дополнительный файл 1: Supplementary_File_
Running_Pipeline_with_Exemplary_Data.
Описание того, как запустить конвейер на данных примера и ожидаемых выходных данных, приведено в дополнительном файле. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Дополнительный видеофайл 1: Видео захвата экрана протокола. Пожалуйста, нажмите здесь, чтобы загрузить этот файл.

Обсуждение

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

С помощью описанного протокола представлен модульный и расширяемый рабочий процесс на основе Jupyter-notebook, который можно использовать для быстрого изучения сложного мультиомного набора данных. Основные части рабочего процесса состоят из предварительной обработки и гармонизации данных (предлагая различные стандартные шаги для фильтрации и нормализации данных), оценки модели MOFA9 и некоторых примеров последующего анализа. Одним из основных критически важных шагов является предварительная обработка, интеграция и гармонизация различных наборов данных по омиксам. Здесь мы представляем стратегию для набора данных, который включает данные scRNA-seq, объемную РНК prime-seq, анализ цитокинов, протеомику плазмы и клинические значения, что привело к интегрированному и гармонизированному набору данных, который может быть использован для идентификации соответствующих биологических процессов при MI11. В случае, если другие омические наборы данных требуют дополнительных стратегий предварительной обработки данных, они должны быть выполнены до анализа MOFA. Предварительно обработанные данные затем могут быть использованы в качестве входных данных для текущего рабочего процесса. Выходные данные модели могут быть использованы для оценки качества интеграции различных наборов данных и эффектов предварительной обработки для выявления потенциальных технических эффектов. Например, можно начать с применения лишь минимума шагов предварительной обработки и нормализации, а затем оценить эффект дальнейшей нормализации. В этой заявке было замечено, что добавление «нормализации квантилей по признакам» приводит к лучшей интеграции протеомики с остальными анализами.

Еще одной важной частью рабочего процесса является оценка модели MOFA9 на основе данных, агрегированных на уровне выборки. Существуют и другие расширения модели MOFA, такие как
MOFA+21 (специально для данных по отдельным ячейкам), MEFISTO22 (специально для данных, включающих временную составляющую) и MuVI23 (интеграция знаний предметной области в подход факторного анализа). Это очень полезные расширения метода для конкретных типов наборов данных или настроек, но их применение сопряжено с определенными требованиями. Например, использование MOFA+21 специально для данных с одной ячейкой в нашем случае означало бы, что невозможно легко использовать на уровне выборки другие доступные омиксные данные. Использование метода MEFISTO22 позволяет целенаправленно моделировать ход времени, но неприменимо в условиях, когда несколько временных точек недоступны, или, в нашем случае, для объединения контрольных образцов, которые имеют измерения только в одной временной точке, с данными с временным разрешением выборок ACS. Поэтому в этом очень общем рабочем процессе мы предпочитаем использовать метод MOFA9, поскольку это наиболее гибкий метод для быстрого изучения всех видов наборов данных без слишком больших требований. Следует отметить, что предварительно обработанные данные, сгенерированные в рабочем процессе, также могут быть проанализированы с помощью этих методов или текущие скрипты могут быть расширены для интеграции этих методов, если набор данных совместим с требованиями методов. Дополнительные примеры использования, учебные пособия и документацию см. в репозитории GitHub для разработчиков MOFA24.

По сравнению с еще более общими методами уменьшения размерности, такими как анализ главных компонент (PCA), модель MOFA9 имеет ряд преимуществ, особенно в условиях мультиомикса. Например, дисперсионное разложение может быть легко проанализировано для каждого входного представления, а весовые коэффициенты могут быть назначены различным представлениям, чтобы учесть разное количество признаков. Модель поощряет разреженность, что повышает интерпретируемость результатов. Кроме того, выборки с отсутствующими данными в одной из омиксов не нужно исключать, и модель реализует некоторые функции, чтобы сосредоточиться на изучении весов разреженных коэффициентов признаков. Кроме того, модель MOFA предлагает несколько настроек для интеграции данных, характеризующихся различными распределениями (моделирование вероятностей «Гаусса», «Бернулли» или «Пуассона»). В этом рабочем процессе мы интегрируем только непрерывные данные, которые мы нормализуем в соответствии с «гауссовым» распределением, но существующий код также может быть расширен для интеграции других типов данных, если это необходимо. Существуют и другие методы, основанные на декомпозиции, такие как scITD25, особенно для данных scRNA-seq, но они имеют ограничение, заключающееся в том, что они не предназначены для работы с другими омиксами.

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

Раскрытие информации

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Авторы заявляют об отсутствии конфликта интересов.

Благодарности

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

C.L. поддерживается Ассоциацией имени Гельмгольца в рамках совместной исследовательской школы "Munich School for Data Science - MUDS".

Материалы

Список материалов, использованных в этой статье
ИмяКомпанияКаталожный номерКомментарии
ApptainerNANAhttps://apptainer.org/docs/admin/main/installation.html
Вычислительный сервер, рабочая станция или облако  (Среда Linux, Mac или Windows).
В зависимости от размера различных входных наборов данных мы рекомендуем запускать рабочий процесс на подходящей машине (в наших настройках мы используем: 16 CPU, 64 ГБ памяти)
Любой производитель16 CPU, 64 ГБ памятиБольшая память требуется только для обработки необработанных данных одной ячейки. После предварительной обработки последующие шаги анализа также могут быть выполнены на обычных настольных или портативных компьютерах
gitNAhttps://git-scm.com/book/en/v2/Getting-Started-Installing-Git
GitHubGitHubNAhttps://github.com/heiniglab/mofa_workflow

Ссылки

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Lähnemann, D., et al. Eleven grand challenges in single-cell data science. Genome Biol. 21 (1), 31(2020).
  2. Colomé-Tatché, M., Theis, F. J. Statistical single cell multi-omics integration. Curr Opin Syst Biol. 7, 54-59 (2018).
  3. Hawe, J., Theis, F., Heinig, M. Inferring interaction networks from multi-omics data. Front Genet. 10, 535(2019).
  4. Hawe, J. S., et al. Network reconstruction for trans acting genetic loci using multi-omics data and prior information. Genome Med. 14 (1), 125(2022).
  5. Koh, H. W. L., Fermin, D., Vogel, C., Choi, K. P., Ewing, R. M., Choi, H. iOmicsPASS: network-based integration of multiomics data for predictive subnetwork discovery. NPJ Syst Biol Appl. 5, 22(2019).
  6. Ogris, C., Hu, Y., Arloth, J., Müller, N. S. Versatile knowledge guided network inference method for prioritizing key regulatory factors in multi-omics data. Sci Rep. 11, 6806(2021).
  7. Lee, C., vander Schaar, M. A variational information bottleneck approach to multi-omics data integration. Proceedings of The 24th International Conference on Artificial Intelligence and Statistics. 130, 1513-1521 (2021).
  8. Singh, A., et al. DIABLO: an integrative approach for identifying key molecular drivers from multi-omics assays. Bioinformatics. 35 (17), 3055-3062 (2019).
  9. Argelaguet, R., et al. Multi-omics factor analysis-a framework for unsupervised integration of multi-omics data sets. Mol Syst Biol. 14 (6), e8124(2018).
  10. Cantini, L., et al. Benchmarking joint multi-omics dimensionality reduction approaches for the study of cancer. Nature Commun. 12 (1), 124(2021).
  11. Pekayvaz, K., et al. Multiomic analyses uncover immunological signatures in acute and chronic coronary syndromes. Nature Medicine. 30 (6), 1696-1710 (2024).
  12. Swirski, F. K., Nahrendorf, M. Cardioimmunology: the immune system in cardiac homeostasis and disease. Nat Rev Immunol. 18 (12), 733-744 (2018).
  13. Janjic, A., et al. Prime-seq, efficient and powerful bulk RNA sequencing. Genome Biol. 23 (1), 88(2022).
  14. Wolf, F. A., Angerer, P., Theis, F. J. SCANPY: large-scale single-cell gene expression data analysis. Genome Biol. 19 (1), 15(2018).
  15. Cao, Y., et al. Integrated analysis of multimodal single-cell data with structural similarity. Nucleic Acids Res. 50 (21), e121(2022).
  16. Get Started - JupyterLab 4.1.0a4 documentation. , Available from: https://jupyterlab.readthedocs.io/en/latest/getting_started/overview.html (2024).
  17. MOFA2: training a model in R. , Available from: https://raw.githack.com/bioFAM/MOFA2_tutorials/master/R_tutorials/getting_started_R.html (2020).
  18. De Silva, D., et al. Robust T cell activation requires an eIF3-driven burst in T cell receptor translation. eLife. 10, e74272(2021).
  19. Li, G., Liang, X., Lotze, M. HMGB1: The central cytokine for all lymphoid cells. Front Immunol. 4, 68(2013).
  20. Jassal, B., et al. The reactome pathway knowledgebase. Nucleic Acids Res. 48 (D1), D498-D503 (2020).
  21. Argelaguet, R., et al. MOFA+: a statistical framework for comprehensive integration of multimodal single-cell data. Genome Biol. 21 (1), 111(2020).
  22. Velten, B., et al. Identifying temporal and spatial patterns of variation from multimodal data using MEFISTO. Nat Methods. 19 (2), 179-186 (2022).
  23. Qoku, A., Buettner, F. Encoding domain knowledge in multi-view latent variable models: A Bayesian approach with structured sparsity. Proceedings of The 26th International Conference on Artificial Intelligence and Statistics. 206, 11545-11562 (2022).
  24. Multi-Omics Factor Analysis. MOFA. , Available from: https://biofam.github.io/MOFA2/ (2024).
  25. Mitchel, J., et al. Tensor decomposition reveals coordinated multicellular patterns of transcriptional variation that distinguish and stratify disease individuals. bioRxiv. , (2023).

Перепечатки и разрешения

Запросить разрешение на повторное использование текста или иллюстраций этой статьи JoVE

Запросить разрешение

Теги

Unsupervised Data IntegrationSingle Cell RNA SeqMulti Omics WorkflowImmune Response ProfilingMolecular Process DiscoveryPlasma ProteomicsCytokine Data AnalysisDownstream Factor Analysis

Похожие статьи