$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Загрузка данных
- Скачать данные о присоединении PRJNA386367 из базы данных NCBI. Из данных присоединения PRJNA386367 выберите данные о ризосфере, ризоплане и эндосфере микробиома риса, выращенных в течение 14 недель на затопленном рисовом поле в Арбакле, штат Калифорния, в 2014 году.
ПРИМЕЧАНИЕ: Данные о микробиоме ризосферы, ризоплана и эндосферы были представлены таблицей OTUs в присоединении PRJNA386367.
2. Определение оптимального значения мощности
ПРИМЕЧАНИЕ: Пакет WGCNA содержит все следующие функциональные параметры. WGCNA представляет собой R-пакет для взвешенного корреляционного сетевого анализа. Ключевые командные строки ссылаются на Дополнение S1.
- В языковой среде R откройте программное обеспечение Rstudio и установите пакет WGCNA.
- Загрузите данные и используйте функцию goodSamplesGenes для проверки правильности данных. Выполните командные строки:
"gsg = goodSamplesGenes(datExpr0, verbose = 3)
gsg$allOK "
Нажмите кнопку Выполнить.
- Проверьте наличие выбросов и сохраните образцы, соответствующие требованиям. Когда результат проверки будет верен, перейдите к следующему шагу. Сохраните результат.
- Используйте функцию PickSoftThreshold для вычисления бесмасштабного индекса R2 двух групп данных при разных значениях мощности. Выполните командную строку:
"sft = pickSoftThreshold(datExpr0, powerVector = powers, verbose = 5)"
Нажмите кнопку Выполнить.
- Визуализация результатов(рисунок 1). Выполните командную строку:
"plot(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
xlab="Мягкий порог (мощность)",ylab="Масштабная топология Модель соответствия,знак R^2",type="n",
main = paste("независимость ES_Scale"));
text(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
метки=полномочия,cex=cex1,col="красный");
abline(h=0.9;col="red")
plot(sft$fitIndices[,1], sft$fitIndices[,5],
xlab="Мягкий порог (мощность)",ylab="Средняя связность", type="n",
main = вставить("подключение ES_Mean"))
text(sft$fitIndices[,1], sft$fitIndices[,5], labels=powers, cex=cex1,col="red")"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: Предпосылка алгоритма взвешенной корреляционной сети заключается в том, что установленная структура сети совыражений соответствует стандартам критерия топологии без масштаба, повышая ее надежность. Индекс без масштабирования, близкий к 1, указывает на сетевую структуру, которая ближе к сети без масштабирования.
- Выберите значение мощности, когда безмасштабный индекс R2 в квадрате больше 0,9 и переходите к следующему шагу анализа.
ПРИМЕЧАНИЕ: Когда индекс без масштабирования близок к 1, структура сети ближе к сети без масштабирования. При анализе двух или более сетей необходимо сделать так, чтобы каждая сеть была близка к значению мощности сети без масштабирования, чтобы удовлетворить сопоставимость между совместно выраженными сетями.
3. Построение сети коэкспрессии и идентификация модулей
ПРИМЕЧАНИЕ: На основе приведенного выше расчетного значения мощности строится сеть совместного захождения. Ключевые командные строки относятся к дополнению S2.
- Используйте функцию смежности в пакете WGCNA для добавления подписанных параметров для построения символьной сети совместного возникновения. Выполните командную строку:
"смежность = смежность(datExpr0, мощность = мягкая сила)"
Нажмите кнопку Выполнить.
- Примените функцию TOM-similarity для разработки топологической перекрывающейся сети и вычисления сети несходства. Выполните командную строку:
"TOM = TOMsimilarity(смежность);
dissTOM = 1-TOM"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: Параметр signed был добавлен для установки типа сети перекрытия топологии.
- Используйте функцию hclust для выбора метода иерархической кластеризации средней связи для иерархической кластеризации. Выполните командную строку:
"geneTree = hclust(as.dist(dissTOM), method = "average");"
Нажмите кнопку Выполнить.
- Используйте функцию cutreeDynamic для выполнения динамической резки ветвей и установите для параметра minClusterSize значение 30. Получение результата распознавания модуля. Выполните командную строку:
"dynamicMods = cutreeDynamic(dendro = geneTree, distM = dissTOM, deepSplit = 2, pamRespectsDendro = FALSE, minClusterSize = minModuleSize);"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: Минимальный размер модуля не может быть ниже 30.
- Вычислите собственный модуль каждого модуля OTUs с помощью функции moduleEigenes. Выполните командную строку:
"MEList = moduleEigenes(datExpr0, colors = dynamicColors)
MEs = MEList$eigenes"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: Собственный модуль представлял общий уровень выражения OTU в модуле. Это был не конкретный OTU, а первый основной компонент каждого кластера, полученный путем декомпозиции сингулярного сетевого значения.
- Выполнять кластерную функцию на основе коэффициента корреляции собственного модуля. Используйте функцию mergeCloseModules для объединения модулей со значением ниже 0,25. Выполните командную строку:
"merge = mergeCloseModules(datExpr0, dynamicColors, cutHeight = MEDissThres, verbose = 3)"
Нажмите кнопку Выполнить.
- Наконец, используйте функцию plotDendroAndColors для визуализации, чтобы получить схему отображения назначения модулей каждой сети совмещений(рисунок 2). Используйте функцию таблицы для извлечения атрибуции модуля, соответствующей каждому OTin таблицы назначения модуля. Выполните командную строку:
"plotDendroAndColors(geneTree, mergedColors, "Merged dynamic",dendroLabels = FALSE,
hang = 0.03,addGuide = TRUE, guideHang = 0.05,
main = "ES_Gene дендрограммы и цвета модуля")"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: На схеме назначения модулей совместной экспрессивной сети различные цвета представляют разные модули, а серый представляет OTUs, которые не могут быть классифицированы ни в одном модуле. Большее количество ОТУ в модуле серого цвета указывает на то, что качество предварительной обработки матрицы выражений на ранней стадии является низким.
4. Сравнение модулей
ПРИМЕЧАНИЕ: Этот метод может быть использован для сравнения сетевых модулей двух экологических микробных сообществ. В этой статье сравниваются различия модулей микробной сети между эндосферой и ризопланом, эндосферой и ризосферой, ризосферой и ризопланом.
- Тест на сохранность
- Загрузите параметры и результаты двух наборов данных, сохраненных на предыдущих шагах.
- Установите результат назначения сетевого модуля группы микробных данных в качестве референтной группы, тогда как другую группу в качестве тестовой группы.
- Используйте функцию modulePreservation для вычисления значений консервативности статистических параметров Z_summary и medianRank. Выполните командную строку:
"system.time({mp=modulePreservation(multiExpr,
multiColor,referenceNetworks=1,
nПеремещение=100, randomSeed=1,quickCor=0,verbose=3)})"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: Этот результат может количественно определить консервативность между модулями. Z_summary>10 указывает на то, что два модуля хорошо сохранились, тогда как Z_summary<2 обозначает несохраненные модули. medianRank выражает относительную сохранность модуля, оцениваемого по ранжированию. Более высокие значения medianRank обозначают несохраненные модули. (Ключевые командные строки относятся к дополнению S3.)
- Используйте функцию графика для визуализации результатов(рисунок 3). Получить параметры Z_summary и medianRank(таблица 1).
ПРИМЕЧАНИЕ: Сетевые модули, которые удовлетворяют как Z_summary значению менее 2, так и медианному значению Rank в верхней части, являются наиболее сильно несохраняемыми модулями в двух экологических микробных сообществах.
- На основании результатов вышеуказанных двух статистических параметров можно выделить модуль с наиболее сильно несохраняемым модулем двух сетей.
- Корреляционный анализ членства в модуле
- Заданные модульные результаты присвоения двух сетей были установлены в качестве эталонной и тестовой группы соответственно.
ПРИМЕЧАНИЕ: Настройки должны совпадать с настройками теста сохранения.
- Используйте функцию corPvalueStudent для извлечения значения kME (членство в модуле) каждого OTU в нескольких модулях-кандидатах.
Выполните командную строку:
"Pvalue = as.data.frame(corPvalueStudent(as.matrix
(МодульЧленство), Образцы))"
Нажмите кнопку Выполнить.
ПРИМЕЧАНИЕ: kME означает степень членства в модуле. ME расшифровывается как module eigen, который представляет собой общий уровень выражения OTU в модуле. kME - коэффициент корреляции между каждым OTU и ME. Количественно оцените важность OTU в сети по значению kME OTU. (Ключевые командные строки относятся к дополнению S4.)
- Затем используйте многословную функциюScatterplot для вычисления коэффициента корреляции значения kME соответствующих ОТУ в двух сетях и нарисуйте диаграмму корреляционного анализа(рисунок 4).
Выполните командную строку:
"многословныйScatterplot(abs(TModuleMembership
[ТмодульГены, Тколонн]),
abs(NModuleMembership[NmoduleGenes, Ncolumn]),
xlab = paste("kME in", "ES"),
ylab = paste("kME in", "RP"),
main = паста("lightyellow"),
cex.main = 1.7, cex.lab = 1.6, cex.axis = 1.6, col = цвет модуля)"
Нажмите кнопку Выполнить.
- Выберите модуль с наименьшим коэффициентом корреляции значения kME OTU двух сетей. Считайте, что этот модуль имеет наибольшую разницу из двух сетей.
5. Анализ модуля микробной дифференциальной сети
- Получение данных о типе доминантных бактерий путем статистического анализа набора последовательностей OTU модуля с наибольшей разницей.
ПРИМЕЧАНИЕ: Набор последовательностей OTU модуля с наибольшей разностью суммируется таксономией типа. На доминирующий тип бактерий приходилось более 10%.
- Затем используйте функцию exportNetworkToCytoscape для получения файла, содержащего информацию о связи взаимодействия OTU в самом большом дифференциальном модуле.
Выполните командную строку:
"cyt = exportNetworkToCytoscape(modTOM,
edgeFile = paste("NEW-ES_CytoscapeInput-edges-", модули , ".txt", sep=""),
nodeFile = paste("NEW-ES_CytoscapeInput-nodes-", modules, ".txt", sep=""),
взвешенный = ИСТИНА,порог = 0.5, nodeNames = modProbes,
altNodeNames = modGenes, nodeAttr = moduleColors[inModule])"
Нажмите кнопку Выполнить.
- Импортируйте файл в Cytoscape. Установите пороговое значение 0,5 и при необходимости настройте другие параметры.
- Построение сети совместного возникновения дифференциальных микроорганизмов(рисунок 5).
- Получена информация о основном роде, который играет важнейшая регулирующей роль в сети.
ПРИМЕЧАНИЕ: В соответствии со значением kME OUT, основной род может быть определен.
- Наконец, были оценены функции основного рода и проанализировано его влияние на всю сеть различий.