$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Download de dados
- Baixe os dados da adesão PRJNA386367 formam o banco de dados NCBI. A partir dos dados da adesão PRJNA386367, selecione os dados de rizosfera, rizoplano e microbioma da endosfera de plantas de arroz cultivadas por 14 semanas em um campo de arroz submerso em Arbuckle, Califórnia, em 2014.
NOTA: Os dados de microbioma rizosfera, rizoplane e endosfera foram apresentados pela tabela OTUs na adesão PRJNA386367.
2. Determinação ideal do valor de energia
NOTA: O pacote WGCNA contém todos os seguintes parâmetros funcionais. WGCNA é um pacote R para análise ponderada da rede de correlação. As linhas de comando chave referem-se ao Suplemento S1.
- No ambiente de idioma R, abra o software Rstudio e instale o pacote WGCNA.
- Carregue os dados e use a função goodSamplesGenes para verificar a correção dos dados. Execute as linhas de comando:
"gsg = goodSamplesGenes(datExpr0, verbose = 3)
gsg$allOK "
Clique em Executar.
- Verifique os outliers e armazene amostras que atendam aos requisitos. Quando o resultado da verificação for TRUE, continue para o próximo passo. Guarde o resultado.
- Use a função PickSoftThreshold para calcular o índice R2 livre de escala dos dois grupos dos dados em diferentes valores de energia. Execute a linha de comando:
"sft = pickSoftThreshold(datExpr0, powerVector = poderes, verbose = 5)"
Clique em Executar.
- Visualize os resultados(Figura 1). Execute a linha de comando:
"plot(sft$fitIndices[,1], sign(sft$fitIndices[,3])*sft$fitIndices[,2],
xlab="Limiar macio (potência)",ylab="Scale Free Topology Model Fit,signed R^2",type="n",
principal = pasta ("ES_Scale independência");
text(sft$fitIndices[,1], sign(sft$fitIndices[,3])*sft$fitIndices[,2],
rótulos=poderes,cex=cex1,col="vermelho");
abline (h=0,9,col="vermelho")
plot (sft$fitIndices[,1], sft$fitIndices[,5],
xlab="Limiar macio (potência)",ylab="Conectividade média", type="n",
principal = colar ("conectividade ES_Mean"))
text(sft$fitIndices[,1], sft$fitIndices[,5], labels=powers, cex=cex1,col="red")"
Clique em Executar.
NOTA: A premissa do algoritmo de rede de correlação ponderada é que a estrutura de rede de co-expressão estabelecida está de acordo com os padrões do critério de topologia livre de escala, aumentando sua robustez. Um índice livre de escala perto de 1 indica uma estrutura de rede mais próxima da rede livre de escala.
- Selecione o valor de potência quando o índice de escala R2 quadrado superior a 0,9 e proceda para a próxima etapa de análise.
NOTA: Quando o índice livre de escala está perto de 1, a estrutura da rede está mais próxima da rede livre de escala. Ao analisar duas ou mais redes, é necessário optar por tornar cada rede próxima ao valor de energia da rede livre de escala para satisfazer a comparabilidade entre as redes co-expressas.
3. Construção de uma rede de co-expressão e identificação de módulos
NOTA: Com base no valor de energia calculado acima, a rede de co-ocorrência é construída. As linhas de comando-chave referem-se ao Suplemento S2.
- Use a função de adjacência no pacote WGCNA para adicionar parâmetros assinados para a construção de uma rede simbólica de co-ocorrência. Execute a linha de comando:
"adjacency = adjacency(datExpr0, power = softPower)"
Clique em Executar.
- Aplique a função de similaridade TOM para desenvolver uma rede sobreposta topológica e calcular a rede de diferenças. Execute a linha de comando:
"TOM = TOMsimilaridade(adjacência);
dissTOM = 1-TOM"
Clique em Executar.
NOTA: O parâmetro assinado foi adicionado para definir o tipo de rede de sobreposição de topologia.
- Use a função hclust para selecionar o método de agrupamento hierárquico de ligação média para agrupamento hierárquico. Execute a linha de comando:
"geneTree = hclust (as.dist(dissTOM), método = "média");"
Clique em Executar.
- Use a função cutreeDynamic para realizar o corte dinâmico do ramo e definir o parâmetro minClusterSize para 30. Obtenha o resultado de reconhecimento do módulo. Execute a linha de comando:
"DynamicMods = cutreeDynamic(dendro = geneTree, distM = dissTOM, deepSplit = 2, pamRespectsDendro = FALSE, minClusterSize = minModuleSize);"
Clique em Executar.
NOTA: O tamanho mínimo do módulo não poderia ser inferior a 30.
- Calcule o módulo eigen de cada módulo OTUs pela função moduleEigengenes. Execute a linha de comando:
"MEList = móduloEigengenes(datExpr0, cores = cores dinâmicas)
MEs = MEList$eigengenes"
Clique em Executar.
NOTA: O módulo eigen representou o nível geral de expressão OTU no módulo. Não era uma OTU específica, mas o primeiro componente principal de cada cluster obtido pela decomposição singular do valor da rede.
- Realize a função de cluster com base no coeficiente de correlação do módulo eigen. Use a função mescladaCloseModules para mesclar os módulos com um valor inferior a 0,25. Execute a linha de comando:
"mesclagem = mesclagemCloseModules(datExpr0, dynamicColors, cutHeight = MEDissThres, verbose = 3)"
Clique em Executar.
- Por fim, use a função plotDendroAndColors para visualização para obter o diagrama de exibição de atribuição do módulo de cada rede de co-expressão(Figura 2). Use a função de tabela para extrair a atribuição do módulo correspondente de cada OTin na tabela de atribuição do módulo. Execute a linha de comando:
"plotDendroAndColors(geneTree, mescladoColors, "Dinâmica Mesclada", dendroLabels = FALSE,
hang = 0,03,addGuide = TRUE, guideHang = 0,05,
principal = "ES_Gene dendrograma e cores do módulo")"
Clique em Executar.
NOTA: No diagrama de atribuição do módulo da rede co-expressa, diferentes cores representam módulos diferentes, e o cinza representa OTUs que não podem ser classificados em qualquer módulo. Um maior número de OTUs no módulo cinza indica que a qualidade de pré-processamento em estágio inicial da matriz de expressão é ruim.
4. Comparação de módulos
NOTA: Este método pode ser usado para comparar os módulos de rede de duas comunidades microbianas ecológicas. Neste artigo, compare as diferenças dos módulos de rede microbiana entre endosfera e rizoplano, endosfera e rizosfera, rizosfera e rizoplane.
- Teste de preservação
- Carregue os parâmetros e os resultados dos dois conjuntos de dados salvos nas etapas anteriores.
- Defina o resultado de atribuição do módulo de rede de um grupo de dados microbianos como o grupo de referência, enquanto o outro grupo como o grupo de teste.
- Use a função de conservação do módulo para calcular os valores dos parâmetros estatísticos de conservadoridade Z_summary e mediana. Execute a linha de comando:
"system.time({mp=modulePreservação(multiExpr,
multiColor,referênciaNetworks=1,
nPermutação=100, randomSeed=1,quickCor=0,verbose=3)})"
Clique em Executar.
NOTA: Este resultado pode quantificar a conservadoridade entre os módulos. Z_summary>10 indica que dois módulos são altamente preservados, enquanto Z_summary<2 denota módulos não preservados. medianRank expressa a preservação relativa do módulo avaliado por classificação. Valores mais medianossamamar módulos não preservados. (As linhas de comando chave referem-se ao Suplemento S3.)
- Use a função plot para visualizar os resultados(Figura 3). Obtenha os parâmetros Z_summary e medianRank(Tabela 1).
NOTA: Os módulos de rede que satisfazem tanto o valor Z_summary inferior a 2 quanto o valor médio do Rank no topo, é o módulo mais altamente não preservado nas duas comunidades microbianas ecológicas.
- Com base nos resultados dos dois parâmetros estatísticos acima mencionados para identificar o módulo com o módulo mais altamente não preservado das duas redes.
- Análise de correlação da associação do módulo
- Os resultados de atribuição do módulo das duas redes foram definidos como referência e o grupo de teste, respectivamente.
NOTA: As configurações precisam ser as mesmas do teste de preservação.
- Use a função corPvalueStudent para extrair o valor kME (associação de módulos) de cada OTU em vários módulos candidatos.
Execute a linha de comando:
"Pvalue = as.data.frame(corPvalueStudent(as.matrix
(ModuleMembership), Samples)"
Clique em Executar.
NOTA: kME significa o grau de adesão ao módulo. Me significa módulo eigen, que representa o nível geral de expressão OTU no módulo. kME é o coeficiente de correlação entre cada OTU e o ME. Quantifique a importância da OTU na rede pelo valor kME da OTU. (As linhas de comando chave referem-se ao Suplemento S4.)
- Em seguida, utilize a função verboseScatterplot para calcular o coeficiente de correlação do valor kME das OTUs correspondentes nas duas redes e desenhar o diagrama de análise de correlação(Figura 4).
Execute a linha de comando:
"verboseScatterplot(abs(TModuleMembership
[TmoduleGenes, Tcolumn]),
abs (NModuleMembership[NmoduleGenes, Ncolumn]),
xlab = pasta ("kME in", "ES"),
ylab = pasta ("kME in", "RP"),
principal = pasta ("brilho leve"),
cex.main = 1,7, cex.lab = 1,6, cex.axis = 1,6, col = modulecolor)"
Clique em Executar.
- Selecione o módulo com o menor coeficiente de correlação do valor kME da OTU das duas redes. Considere este módulo como a maior diferença das duas redes.
5. Análise do módulo de rede diferencial microbiana
- Obtenha dados da bactéria dominante através da análise estatística do conjunto de sequência de OTU do módulo com a maior diferença.
NOTA: O conjunto de sequência OTU do módulo com a maior diferença é resumido pela taxonomia do filo. A bactéria dominante phyla representou mais de 10%.
- Em seguida, use a função exportNetworkToCytoscape para obter o arquivo contendo as informações de relacionamento de interação da OTU no maior módulo diferencial.
Execute a linha de comando:
"cyt = exportNetworkToCytoscape(modTOM,
edgeFile = pasta ("NEW-ES_CytoscapeInput-edges-", módulos , ".txt", sep="),
nodeFile = pasta ("NEW-ES_CytoscapeInput-nodes-", módulos, ".txt", sep="),
ponderado = TRUE,limiar = 0,5, nodeNames = modProbes,
altNodeNames = modGenes, nodeAttr = moduleColors[inModule])".
Clique em Executar.
- Importe o arquivo para Cytoscape. Defina o limiar para 0,5 e ajuste outros parâmetros conforme necessário.
- Construir uma rede de co-ocorrência de microrganismos diferenciais (Figura 5).
- Obteve as informações do gênero principal que tem o papel regulatório mais importante na rede.
NOTA: De acordo com o valor kME de OUT, o gênero principal pode ser definido.
- Finalmente, foram avaliadas as funções do gênero núcleo e sua influência em toda a rede de diferença.