$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Daten-Download
- Laden Sie die Daten des Beitritts PRJNA386367 aus der NCBI-Datenbank herunter. Wählen Sie aus den Daten des Beitritts PRJNA386367 die Rhizosphären-, Rhizoplan- und Endosphären-Mikrobiomdaten von Reispflanzen aus, die 2014 14 Wochen lang in einem untergetauchten Reisfeld in Arbuckle, Kalifornien, angebaut wurden.
HINWEIS: Die Rhizosphären-, Rhizoplan- und Endosphärenmikrobiomdaten wurden von der OTUs-Tabelle in Der Beitrittstabelle PRJNA386367 dargestellt.
2. Optimale Leistungswertermittlung
HINWEIS: Das WGCNA-Paket enthält alle folgenden Funktionsparameter. WGCNA ist ein R-Paket für die gewichtete Korrelationsnetzwerkanalyse. Die Tastenbefehlszeilen beziehen sich auf die Ergänzung S1.
- Öffnen Sie in der R-Sprachumgebung die Rstudio-Software und installieren Sie das WGCNA-Paket.
- Laden Sie die Daten und verwenden Sie die goodSamplesGenes-Funktion, um die Richtigkeit der Daten zu überprüfen. Führen Sie die Befehlszeilen aus:
"gsg = goodSamplesGenes(datExpr0, verbose = 3)
gsg$allOK "
Klicken Sie auf Ausführen.
- Suchen Sie nach Ausreißern und lagern Sie Proben, die den Anforderungen entsprechen. Wenn das Prüfergebnis TRUE ist, fahren Sie mit dem nächsten Schritt fort. Speichern Sie das Ergebnis.
- Verwenden Sie die Funktion PickSoftThreshold, um den skalenfreien Index R 2 derbeiden Gruppen der Daten unter unterschiedlichen Leistungswerten zu berechnen. Führen Sie die Befehlszeile aus:
"sft = pickSoftThreshold(datExpr0, powerVector = powers, verbose = 5)"
Klicken Sie auf Ausführen.
- Visualisieren Sie die Ergebnisse (Abbildung 1). Führen Sie die Befehlszeile aus:
"plot(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
xlab="Soft Threshold (power)",ylab="Scale Free Topology Model Fit,signed R^2",type="n",
main = paste("ES_Scale independence"));
text(sft$fitIndices[,1], -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
labels=powers,cex=cex1,col="red");
abline(h=0,9;col="rot")
plot(sft$fitIndices[,1], sft$fitIndices[,5],
xlab="Soft Threshold (power)",ylab="Mean Connectivity", type="n",
main = paste("ES_Mean connectivity"))
text(sft$fitIndices[,1], sft$fitIndices[,5], labels=powers, cex=cex1,col="red")"
Klicken Sie auf Ausführen.
HINWEIS: Die Prämisse des gewichteten Korrelationsnetzwerkalgorithmus ist, dass die etablierte Co-Expression-Netzwerkstruktur den Standards des kriteriums der skalenfreien Topologie entspricht, wodurch ihre Robustheit erhöht wird. Ein skalenfreier Index näher an 1 gibt eine Netzwerkstruktur an, die näher am skalenfreien Netzwerk liegt.
- Wählen Sie den Leistungswert aus, wenn der skalenfreie Index R2 größer als 0,9 ist, und fahren Sie mit dem nächsten Analyseschritt fort.
HINWEIS: Wenn der skalenfreie Index nahe bei 1 liegt, ist die Netzwerkstruktur näher am skalenfreien Netzwerk. Bei der Analyse von zwei oder mehr Netzwerken ist es notwendig, jedes Netzwerk in die Nähe des Leistungswerts des skalenfreien Netzwerks zu bringen, um die Vergleichbarkeit zwischen den co-ausgedrückten Netzwerken zu erfüllen.
3. Aufbau eines Co-Expression-Netzwerks und Modulidentifikation
HINWEIS: Basierend auf dem oben berechneten Leistungswert wird das Co-Occurrence-Netzwerk aufgebaut. Die Tastenbefehlszeilen beziehen sich auf die Ergänzung S2.
- Verwenden Sie die Adjazenzfunktion im WGCNA-Paket, um signierte Parameter für den Aufbau eines symbolischen Netzwerks für das gleichzeitige Auftreten hinzuzufügen. Führen Sie die Befehlszeile aus:
"adjacency = adjacency(datExpr0, power = softPower)"
Klicken Sie auf Ausführen.
- Wenden Sie die TOM-Ähnlichkeitsfunktion an, um ein topologisches überlappendes Netzwerk zu entwickeln und das Unähnlichkeitsnetzwerk zu berechnen. Führen Sie die Befehlszeile aus:
"TOM = TOMsimilarity(adjacency);
dissTOM = 1-TOM"
Klicken Sie auf Ausführen.
HINWEIS: Der signierte Parameter wurde hinzugefügt, um den Netzwerktyp für die Topologieüberlappung festzulegen.
- Verwenden Sie die hclust-Funktion, um die durchschnittliche hierarchische Clustering-Methode für die Verknüpfung für hierarchisches Clustering auszuwählen. Führen Sie die Befehlszeile aus:
"geneTree = hclust(as.dist(dissTOM), method = "average");"
Klicken Sie auf Ausführen.
- Verwenden Sie die cutreeDynamic-Funktion, um dynamisches Verzweigungsschneiden durchzuführen, und legen Sie den Parameter minClusterSize auf 30 fest. Rufen Sie das Ergebnis der Modulerkennung ab. Führen Sie die Befehlszeile aus:
"dynamicMods = cutreeDynamic(dendro = geneTree, distM = dissTOM, deepSplit = 2, pamRespectsDendro = FALSE, minClusterSize = minModuleSize);"
Klicken Sie auf Ausführen.
HINWEIS: Die minimale Modulgröße darf nicht kleiner als 30 sein.
- Berechnen Sie die Moduleigenie jedes OTUs-Moduls durch die ModuleEigengenes-Funktion. Führen Sie die Befehlszeile aus:
"MEList = moduleEigengenes(datExpr0, colors = dynamicColors)
MEs = MEList$eigengenes"
Klicken Sie auf Ausführen.
HINWEIS: Das Moduleigen stellte die gesamte OTU-Ausdrucksebene im Modul dar. Es war keine spezifische OTU, sondern die erste Hauptkomponente jedes Clusters, die durch singuläre Netzwerkwertzerlegung erhalten wurde.
- Führen Sie die Clusterfunktion basierend auf dem Korrelationskoeffizienten des Moduleigens aus. Verwenden Sie die funktion mergeCloseModules, um die Module mit einem Wert kleiner als 0,25 zusammenzuführen. Führen Sie die Befehlszeile aus:
"merge = mergeCloseModules(datExpr0, dynamicColors, cutHeight = MEDissThres, verbose = 3)"
Klicken Sie auf Ausführen.
- Verwenden Sie schließlich die plotDendroAndColors-Funktion zur Visualisierung, um das Modulzuweisungsanzeigediagramm jedes Co-Expression-Netzwerks abzustellen (Abbildung 2). Verwenden Sie die Tabellenfunktion, um die Modulzuordnung zu extrahieren, die jeder OTin der Modulzuordnungstabelle entspricht. Führen Sie die Befehlszeile aus:
"plotDendroAndColors(geneTree, mergedColors, "Merged dynamic",dendroLabels = FALSE,
hang = 0,03,addGuide = TRUE, guideHang = 0,05,
main = "ES_Gene Dendrogramm und Modulfarben")"
Klicken Sie auf Ausführen.
HINWEIS: Im Modulzuordnungsdiagramm des Co-Expressing-Netzwerks repräsentieren verschiedene Farben verschiedene Module und Grau OTUs, die nicht in ein Modul eingeteilt werden können. Eine größere Anzahl von OTUs im Graumodul weist darauf hin, dass die Vorverarbeitungsqualität der Ausdrucksmatrix im Frühstadium schlecht ist.
4. Modulvergleich
HINWEIS: Mit dieser Methode können die Netzwerkmodule zweier ökologischer mikrobieller Gemeinschaften verglichen werden. Vergleichen Sie in diesem Artikel die Unterschiede mikrobieller Netzwerkmodule zwischen Endosphäre und Rhizoplan, Endosphäre und Rhizosphäre, Rhizosphäre und Rhizoplane.
- Konservierungstest
- Laden Sie die Parameter und Ergebnisse der beiden Datensätze, die in den vorherigen Schritten gespeichert wurden.
- Legen Sie das Ergebnis der Netzwerkmodulzuweisung einer Gruppe mikrobieller Daten als Referenzgruppe fest, während die andere Gruppe als Testgruppe.
- Verwenden Sie die Funktion modulePreservation, um die Werte der statistischen Parameter für die Konservativität Z_summary und medianRank zu berechnen. Führen Sie die Befehlszeile aus:
"system.time({mp=modulePreservation(multiExpr,
multiColor,referenceNetworks=1,
nPermutation=100, randomSeed=1,quickCor=0,verbose=3)})"
Klicken Sie auf Ausführen.
HINWEIS: Dieses Ergebnis kann die Konservativität zwischen den Modulen quantifizieren. Z_summary>10 gibt an, dass zwei Module stark erhalten sind, während Z_summary<2 nicht erhaltene Module bezeichnet. medianRank drückt die relative Erhaltung des durch Ranking bewerteten Moduls aus. Höhere MedianRank-Werte bezeichnen nicht erhaltene Module. (Die Tastenbefehlszeilen beziehen sich auf die Ergänzung S3.)
- Verwenden Sie die Plotfunktion, um die Ergebnisse zu visualisieren (Abbildung 3). Holen Sie sich die Parameter Z_summary und medianRank (Tabelle 1).
HINWEIS: Die Netzwerkmodule, die sowohl den Z_summary wert kleiner als 2 als auch den mittleren Rangwert an der Spitze erfüllen, sind das am stärksten nicht erhaltene Modul in den beiden ökologischen mikrobiellen Gemeinschaften.
- Basierend auf den Ergebnissen der oben genannten zwei statistischen Parameter, um das Modul mit dem am stärksten nicht erhaltenen Modul der beiden Netzwerke zu identifizieren.
- Korrelationsanalyse der Modulzugehörigkeit
- Legen Sie die Modulzuordnungsergebnisse der beiden Netzwerke als Referenz bzw. Testgruppe fest.
HINWEIS: Die Einstellungen müssen mit den Einstellungen des Erhaltungstests identisch sein.
- Verwenden Sie die funktion corPvalueStudent, um den kME-Wert (Modulmitgliedschaft) jeder OTU in mehreren Kandidatenmodulen zu extrahieren.
Führen Sie die Befehlszeile aus:
"Pvalue = as.data.frame(corPvalueStudent(as.matrix
(ModulMitgliedschaft), Beispiele))"
Klicken Sie auf Ausführen.
HINWEIS: kME steht für den Grad der Modulzugehörigkeit. ME steht für Module eigen, das die Gesamtebene des OTU-Ausdrucks im Modul darstellt. kME ist der Korrelationskoeffizient zwischen jeder OTU und dem ME. Quantifizieren Sie die Bedeutung von OTU im Netzwerk durch den kME-Wert von OTU. (Die Tastenbefehlszeilen beziehen sich auf die Ergänzung S4.)
- Verwenden Sie dann die VerboseScatterplot-Funktion, um den Korrelationskoeffizienten des kME-Werts der entsprechenden OTUs in den beiden Netzwerken zu berechnen und das Korrelationsanalysediagramm zu zeichnen (Abbildung 4).
Führen Sie die Befehlszeile aus:
"verboseScatterplot(abs(TModuleMembership)
[TmoduleGenes, Tcolumn]),
abs(NModuleMembership[NmoduleGenes, Ncolumn]),
xlab = paste("kME in", "ES"),
ylab = paste("kME in", "RP"),
main = Paste("hellgelb"),
cex.main = 1,7, cex.lab = 1,6, cex.axis = 1,6, col = modulecolor)"
Klicken Sie auf Ausführen.
- Wählen Sie das Modul mit dem kleinsten Korrelationskoeffizienten des kME-Wertes der OTU der beiden Netzwerke. Betrachten Sie dieses Modul als den größten Unterschied der beiden Netzwerke.
5. Analyse des mikrobiellen Differentialnetzwerkmoduls
- Erhalten Sie Daten der dominanten Bakterienphyla durch statistische Analyse des OTU-Sequenzsatzes des Moduls mit dem größten Unterschied.
HINWEIS: Der OTU-Sequenzsatz des Moduls mit der größten Differenz wird durch die Taxonomie von Phyla summiert. Die dominante Bakterienphyla machte mehr als 10% aus.
- Verwenden Sie dann die ExportNetworkToCytoscape-Funktion, um die Datei abzustellen, die die Interaktionsbeziehungsinformationen der OTU im größten Differenzmodul enthält.
Führen Sie die Befehlszeile aus:
"cyt = exportNetworkToCytoscape(modTOM,
edgeFile = paste("NEW-ES_CytoscapeInput-edges-", modules , ".txt", sep=""),
nodeFile = paste("NEW-ES_CytoscapeInput-nodes-", modules, ".txt", sep=""),
weighted = TRUE,threshold = 0,5, nodeNames = modProbes,
altNodeNames = modGenes, nodeAttr = moduleColors[inModule])"
Klicken Sie auf Ausführen.
- Importieren Sie die Datei in Cytoscape. Stellen Sie den Schwellenwert auf 0,5 ein und passen Sie andere Parameter nach Bedarf an.
- Konstruieren Sie ein Co-Occurrence-Netzwerk differentieller Mikroorganismen (Abbildung 5).
- Erhalten Sie die Informationen der Kerngattung, die die wichtigste regulatorische Rolle im Netzwerk hat.
HINWEIS: Entsprechend dem kME-Wert von OUT kann die Kerngattung definiert werden.
- Abschließend wurden die Funktionen der Kerngattung bewertet und ihr Einfluss auf das gesamte Differenzennetzwerk analysiert.