metafeatures

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

Описание

пример

M = metafeatures(X) возвращает взвешенные суммы функций M в X использование алгоритма метагена аттрактора, описанного в [1].

M является r -by - n матрицей. r - количество метафункции, идентифицированных во время каждого повторения алгоритма. Количество повторений по умолчанию 1. По умолчанию в M. Если несколько повторений приводят к одной и той же метафеатуре, то возвращается всего одна копия M. n - количество выборок (пациентов или временных точек).

X является p -by n числовой матрицей. p - это количество переменных, функций или генов. Другими словами, строки X соответствуют переменным, таким как измерения экспрессии генов для различных генов. Столбцы соответствуют различным выборкам, таким как пациенты или временные точки.

[M,W] = metafeatures(X) возвращает p -by r матрицу W содержит веса метафункции. M = W'*X. p - количество переменных. r - это количество уникальных метафункции или количество повторений алгоритма (по умолчанию это 1).

[M,W,GSorted] = metafeatures(X,G) использует p -by-1 массив ячеек из векторов символов или строкового вектора G содержит имена переменных и возвращает p -by r массив ячеек с именами переменных GSorted сортировка по уменьшающемуся весу.

i-й столбец GSorted перечисляет имена функций (переменных) в порядке их вклада в i-ю метафункции.

[M,W,GSorted,GSortedInd] = metafeatures(___) возвращает индексы GSortedInd таким образом GSorted = G(GSortedInd).

[___] = metafeatures(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

[___] = metafeatures(T) использует p -by n таблицу T. Имена генов являются именами строк таблицы. M = W'*T{:,:}.

[___] = metafeatures(T,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

Примечание

Возможно, количество возвращенных метафеатур (r) в M может быть меньше, чем количество повторений (повторов). Даже при том, что вы, возможно, установили количество повторений на положительное целое число, больше 1, если каждое повторение возвращает ту же метафункцию, то r равняется 1, и M 1-by- n. Это потому, что по умолчанию функция возвращает только уникальные метафункции. Если вы предпочитаете получать все метафункции, задайте 'ReturnUnique' на false. Метафункция рассматривается уникальной, если корреляция Пирсона между ней и всеми ранее найденными метафункциями меньше, чем 'UniqueTolerance' значение (значение по умолчанию 0.98).

Примеры

свернуть все

Загрузите данные экспрессии гена рака молочной железы. Данные были получены из атласа генома рака (TCGA) 20 мая 2014 года и содержат данные экспрессии генов 17814 генов для 590 различных пациентов. Данные выражения хранятся в переменной geneExpression. Имена генов хранятся в переменной geneNames.

load TCGA_Breast_Gene_Expression

Данные имеют несколько значений NaN.

sum(sum(isnan(geneExpression)))
ans =

        1695

Используйте метод k-ближайшего соседа для замены недостающих данных соответствующим значением из среднего значения ближайших столбцов k.

geneExpression = knnimpute(geneExpression,3);

Существуют три распространённых драйверов рака молочной железы: ERBB2, эстроген и прогестрон. metafeatures позволяет посеять стартовые веса, чтобы сосредоточиться на интересующих генах. В этом случае установите вес для каждого из этих генов равным 1 в трёх разных строках startValues. Каждая строка соответствует начальным значениям для другой репликации (повторения).

erbb         = find(strcmp('ERBB2',geneNames));
estrogen     = find(strcmp('ESR1',geneNames));
progestrone  = find(strcmp('PGR',geneNames));

startValues = zeros(size(geneExpression,1),3);
startValues(erbb,1)        = 1;
startValues(estrogen,2)    = 1;
startValues(progestrone,3) = 1;

Примените алгоритм метагена аттрактора к вмененным данным.

[meta, weights, genes_sorted] = metafeatures(geneExpression,geneNames,'start',startValues);

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

plot3(meta(1,:),meta(2,:),meta(3,:),'o')
xlabel('ERBB2 metagene')
ylabel('Estrogen metagene')
zlabel('Progestrone metagene')

Исходя из графика, наблюдайте следующее.

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

  • Существует группа точек, которые имеют высокую экспрессию метагена рецептора эстрогена и охватывают как высокую, так и низкую экспрессию метагена прогестрона. Нет точек с высокой экспрессией метагена прогестрона и низкой экспрессией метагена эстрогена. Это согласуется с наблюдением, что рак молочной железы ER-/PR + встречается крайне редко [3].

  • Остальные точки - это ERBB2 положительные виды рака. Они имеют меньшее представление в этом наборе данных, чем гормональный и тройной отрицательный рак.

Входные параметры

свернуть все

Данные, заданные как числовая матрица. Строки X соответствуют переменным, таким как измерения экспрессии генов. Столбцы соответствуют различным выборкам, таким как пациенты или временные точки.

Имена переменных, заданные как массив ячеек из векторов символов или строкового вектора.

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Replicates',5 задает, чтобы повторить алгоритм пять раз.

Параметр настройки количества метафункции, заданный как разделенная разделенными запятой парами, состоящая из 'Alpha' и положительное число. Этот параметр управляет нелинейностью функции, которая вычисляет веса, как описано в Алгоритме Метагена Аттрактора. Когда альфа увеличивается, количество метафункции, как правило, увеличивается. Этот параметр часто является наиболее важным параметром, который можно настроить при анализе набора данных.

Пример: 'Alpha',3

Опция для выбора начальных весов, заданная как разделенная разделенными запятой парами, состоящая из 'Start' и вектор символов, строка или матрица. В этой таблице представлены доступные опции.

ОпцияОписание
'random'Инициализируйте веса к вектору положительных весов, выбранному равномерно случайным образом и масштабированному таким образом, чтобы они суммировались до 1. Выберите другой вектор начального веса для каждого репликата. Эта опция является опцией по умолчанию.
'robust'Если X или T имеет n столбцов, запускает алгоритм n раз. На i-й оценке алгоритма веса инициализируются во все нули за исключением i-го веса, который установлен на 1. Эта опция используется при попытке найти все метафункции набора данных.
матрицаn -by - r матрица начальных весов. Алгоритм запускается r раз. Веса в i-м запуске алгоритма инициализируются в i-й столбец матрицы.

Пример: 'Start','robust'

Количество раз, чтобы повторить алгоритм, заданное как разделенная разделенными запятой парами, состоящая из 'Replicates' и положительное целое число. Эта опция действительна только для 'random' опция start. Значение по умолчанию является 1.

Пример: 'Replicates',2

Уникальный флаг метафункции, заданный как разделенная разделенными запятой парами, состоящая из 'ReturnUnique' и true или false. Если true, то возвращаются только уникальные метафункции. Значение по умолчанию является true.

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

Метафункция рассматривается уникальной, если корреляция Пирсона между ней и всеми ранее найденными метафункциями меньше, чем 'UniqueTolerance' значение (значение по умолчанию 0.98).

Чтобы запустить алгоритм несколько раз, установите 'Replicates' аргумент пары "имя-значение" или 'Start' опция для 'robust' или матрица с более чем 1 строкой.

Пример: 'ReturnUnique',false

Допуск на уникальность метафункции, заданный как разделенная разделенными запятой парами, состоящая из 'UniqueTolerance' и действительное число от 0 до 1.

Метафункция рассматривается уникальной, если корреляция Пирсона между ней и всеми ранее найденными метафункциями меньше, чем 'UniqueTolerance' значение.

Пример: 'UniqueTolerance',0.90

Опции для управления алгоритмом, заданные как разделенная разделенными запятой парами, состоящая из 'Options' и структуру. В этой таблице представлены эти опции.

ОпцияОписание
DisplayУровень выхода отображения. Варианты 'off' или 'iter'. Значение по умолчанию является 'off'.
MaxIterМаксимально допустимое количество итераций. Значение по умолчанию является 100.
ToleranceЕсли M изменяется на меньше, чем допуск в итерации, тогда алгоритм останавливается. Значение по умолчанию является 1e-6.
StreamsA RandStream объект. Если вы не задаете никаких потоков, метафункции использует случайный поток по умолчанию.
UseParallelЛогическое значение, указывающее, выполнять ли вычисления параллельно, если доступны параллельный пул и Parallel Computing Toolbox™. Для проблем с большими наборами данных относительно доступной системной памяти параллельная работа может снизить эффективность. Значение по умолчанию является false.

Пример: 'Options',struct('Display','iter')

Выходные аргументы

свернуть все

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

Примечание

Возможно, количество возвращенных метафеатур (r) в M может быть меньше, чем количество повторений (повторов). Даже при том, что вы, возможно, установили количество повторений на положительное целое число, больше 1, если каждое повторение возвращает ту же метафункцию, то r равняется 1, и M 1-by- n. Это потому, что по умолчанию функция возвращает только уникальные метафункции. Если вы предпочитаете получать все метафункции, задайте 'ReturnUnique' на false. Метафункция рассматривается уникальной, если корреляция Пирсона между ней и всеми ранее найденными метафункциями меньше, чем 'UniqueTolerance' значение (значение по умолчанию 0.98).

Метафункций, возвращенные как числовая матрица. Это матрица p -by r. p - количество переменных. r - количество повторений, выполненных алгоритмом.

Отсортированные имена переменных, возвращенные как массив ячеек из векторов символов. Это p -by - r массив ячеек. Имена сортируются путем уменьшения веса. i-й столбец GSorted приводит имена переменных в порядке их вклада в i-ю метафункции.

Если GSorted запрошен без G или если T.Properties.RowNames пуст, затем алгоритм называет каждую переменную (функцию) следующим Vari, которая соответствует i-й строке X.

Индексируйте к GSorted, возвращенный как матрица индексов. Это матрица p -by r. Индексы удовлетворяют GSorted = G(GSortedInd) или GSorted = T.Properties.RowNames(GSortedInd).

Подробнее о

свернуть все

Алгоритм Метагена Аттрактора

Алгоритм метагена аттрактора [1] является итеративным алгоритмом, который сходится к метагенам с важными функциями. Метаген определяется как любая взвешенная сумма экспрессии генов с использованием нелинейной метрики расстояния. Метрика расстояния является нелинейным вариантом взаимной информации с использованием раскладывания и сплайнов, как описано в [2]. Фактически, использование взаимной информации в качестве метрики расстояния является одним из основных преимуществ этого алгоритма, поскольку взаимная информация является устойчивым теоретическим подходом к информации для определения статистической зависимости между переменными. Поэтому он полезен для анализа отношений между экспрессией генов. Другое преимущество заключается в том, что результаты алгоритма, как правило, более четко связаны с фенотипом, заданным экспрессией генов.

Алгоритм инициализируется случайными или заданными пользователем весами и продолжается в этих шагах.

  1. Оценка метагена во время i-й итерации алгоритма являетсяMi=Wi*G, где Wi является вектором весов 1-by- p (количество генов), а G - матрица экспрессии генов размера p -by- n (количество выборок).

  2. Обновляйте веса по Wj,i+1=J(Mi,Gj), где Wj,i+1 - j-й элемент Wi+1, Gj - j-я строка G, а J - метрика подобия, которая определяется следующим образом.

    • Если корреляция Пирсона между Mi и Gj больше 0, то J(Mi,Gj)=I(Mi,Gj)α, где I(Mi,Gj) - мера взаимной информации между двумя генами с минимальным значением 0 и максимальным значением 1, а α - любое неотрицательное число.

    • Если корреляция меньше или равна 0, то J(Mi,Gj)=0.

Алгоритм итерация до тех пор, пока изменение Wi между итерациями не будет меньше заданного допуска, то есть, WiWi1<tolerance или достигнуто максимальное количество итераций.

Роль α

В метрике подобия алгоритма параметр α управляет степенью нелинейности. Когда α увеличивается, количество метагенов, как правило, увеличивается. Если α достаточно велика, то каждый ген примерно становится метагеном-аттрактором. Если α меньше нуля, то все веса остаются равными друг другу. Поэтому существует только один аттракторный метаген, представляющий среднее значение всех генов.

Поэтому корректировка α для рассматриваемого набора данных является ключевым шагом в тонкой настройке алгоритма. В случае [1], используя данные TCGA из нескольких типов рака для идентификации метагенов-аттракторов, значение α 5 приводило к обнаружению метагенов-аттракторов от 50 до 150.

Ссылки

[1] Cheng, W-Y., Ou Yang, T-H., and Anastassiou, D. (2013). Биомолекулярные события при раке выявлены метагенами-аттракторами. Вычислительная биология PLoS 9 (2): e1002920.

[2] Daub, C., Steuer, R., Selbig, J., and Kloska, S. (2004). Оценка взаимной информации с использованием B-сплайн функций - улучшенная мера подобия для анализа данных экспрессии генов. BMC Биоинформатика 5, 118.

[3] Hefti, M.M., Hu, R., Knoblauch, N.W., Collins, L.C., Haibe-Kains, B., Tamimi, R.M., and Beck, A.H. (2013). Отрицательный рецептор эстрогена/рецептор прогестерона положительный рак молочной железы не является воспроизводимым подтипом. Исследование рака молочной железы. 15:R68.

Расширенные возможности

Введенный в R2014b