====== Amanda Gonçalves Bendia ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:dsc00564_2.jpg?100 |}} \\ \\ Sou aluna de **Doutorado em Microbiologia** no **Laboratório de Ecologia Microbiana**, **Instituto Oceanográfico** da USP. Meu trabalho envolve estudar a diversidade taxonômica e funcional de comunidades de bactérias e arqueias em um vulcão ativo na Antártica. \\ \\ \\ [[http://www.lattes.cnpq.br/7450204581620194|Currículo Lattes]]\\ \\ LOL\\ \\ ---- ===== Meus Exercícios ===== [[.:exerc]]\\ \\ ---- ===== Propostas para Trabalho Final ===== ---- Amanda, suas propostas estão bem elaboradas, mas sem desafios. A C em particular me parece apenas automatizar a escolha de análises já pré-existentes. Das 3, a que me pareceu melhor é a A, mas cuidado para ela não se tornar apenas chamar pacotes externos para calculo dos índices. vrios81@gmail.com Obrigada pelas correções, Vitor! Se eu fizer a Proposta "A" calculando os índices sem chamar pacotes para isso, vc acha que tudo bem? Ou está muito simples ainda a proposta? Alguma dica a mais? :-? Amanda, acho que vc pode seguir com a A, calculando os índices na mão sim. vrios81@gmail.com Ok! Obrigada, Vitor! ==== Proposta A ==== === Contextualização === O gene que codifica a subunidade 16S do RNA ribossomal é atualmente o marcador filogenético mais confiável para estudos de ecologia de micro-organismos procariotos ([[https://en.wikipedia.org/wiki/16S_ribosomal_RNA|rRNA 16S]]). O sequenciamento deste gene a partir do DNA total das comunidades microbianas nas amostras ambientais produz milhares ou milhões de sequências que precisam ser processadas através de ferramentas de bioinformática. Durante este processamento, as sequencias são classificadas em Unidades Taxonômicas Operacionais ([[https://en.wikipedia.org/wiki/Operational_taxonomic_unit|Operacional Taxonomic Unity - OTU]]), que se referem basicamente a grupos taxonômicos correspondentes à espécie, quando considerado um valor de similaridade de 97% (é importante destacar que a discussão sobre o que é espécie em microbiologia de procariotos é extensa(([[http://www.nature.com/nrmicro/journal/v3/n9/abs/nrmicro1236.html|Re-evaluating prokaryotic species]]))). Em geral, são observadas entre 5.000-30.000 OTUs, dependendo fortemente do ambiente analisado e da cobertura do sequenciamento. Devido ao grande número de OTUs, a maior parte dos trabalhos nesta área representam somente os organismos mais abundantes e que teoricamente teriam uma maior contribuição dentro da comunidade. Contudo, trabalhos recentes(([[http://www.annualreviews.org/doi/abs/10.1146/annurev-marine-120710-100948|Rare Bacterial Biosphere]])) questionam essa abordagem e discutem que os micro-organismos menos abundantes (biosfera rara) podem exercer um papel fundamental ainda pouco conhecido. === Função abund.vs.rare() === //abund.vs.rare(data, rare, abund, richness, a.diversity, stat) // A função “abund.vs.rare()” tem o objetivo de diferenciar as OTUs raras e abundantes dentro de uma comunidade microbiana, de acordo com os passos descritos abaixo. INPUT: Um data frame com as colunas referentes às amostras e as linhas referentes às OTUs e sua classificação taxonômica. Os valores correspondem ao número de sequências observadas para cada OTU. 1- Transformação da tabela em abundância relativa 2- Manipulação do dataframe de modo que os dados serão salvos em três objetos em relação a abundância de OTUs: * OTUs.raras * OTUs.abund * OTUs.totais Cada objeto irá conter o número de sequências para cada OTU e sua classificação taxonômica por amostra. Os raros e abundantes serão determinados pelo usuário, através dos argumentos “rare=” e “abund=”, referentes à porcentagem escolhida (//Default//: >1% para abundantes e <0,1% para raros). Os valores do //default// foram escolhidos de acordo com trabalhos prévios(([[http://www.nature.com/nrmicro/journal/v13/n4/full/nrmicro3400.html|Ecology and exploration of the rare biosphere]])) que sugerem que as OTUs que apresentam abundância maior que 1% são consideradas abundantes, enquanto as com valores menores que 0,1%-0,001% de abundância são consideradas raras. 3- Para os dados de cada objeto, serão estimados os índices de riqueza e alfa diversidade por amostra. O usuário terá a opção de usar os índices ACE ou Chao1 para riqueza e Shannon ou Simpson para alfa diversidade. Neste momento, serão criados os objetos: * OTUs.raras.diversity * OTUs.abund.diversity * OTUs.totais.diversity 4- Verificar se há diferença significativa dos índices de riqueza e alfa diversidade comparando cada amostra entre os três objetos. A intenção é observar como a riqueza e diversidade de cada amostra respondem quando consideramos somente membros raros ou somente abundantes, em comparação com os totais. Serão fornecidos os argumentos: //“stat”//, com as opções de test t ou ANOVA (ou outras ainda **a definir**). OUTPUT: retornará dois data frames. O primeiro contendo os índices de riqueza e diversidade para OTUs raras, abundantes e totais, para cada amostra. O segundo com o resultado do teste estatístico escolhido. Além disso, três histogramas referentes às distribuições dos dados para as OTUs raras, abundantes e totais. **Exemplos do OUTPUT**: Dataframe 1: Índices de riqueza e alfa de diversidade para OTUs raras, abundantes e totais, por amostra. {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-19_a_s_22.45.42.png |}} Dataframe 2: Teste estatístico para verificar se há diferença significative entre a diversidade de membros raros, abundantes e totais, para uma determinada amostra. {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-19_a_s_22.45.51.png |}} Histograma: distribuição de membros raros e abundantes. Além destes, a função irá gerar a distribuição dos membros totais. \\ {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-19_a_s_22.46.10.png?150 |}} (([[http://www.pnas.org/content/106/52/22427.long|Ecology of the rare microbial biosphere of the Arctic Ocean]])) ---- ==== Proposta B ==== === Contextualização === A hipótese //“Everything is everywhere, but the environment selects”//, proposta por [[https://en.wikipedia.org/wiki/Lourens_Baas_Becking|Baas Becking]] e [[https://en.wikipedia.org/wiki/Martinus_Beijerinck|Martinus Beijerinck]], é extensamente discutida na Ecologia Microbiana desde sua publicação na década de 1930. Basicamente, a hipótese propõe que a maior parte dos micro-organismos possui distribuição ubíqua e que as condições do ambiente explicam melhor a proliferação de determinados grupos do que os fatores geográficos. Contudo, muitos autores contestam a hipótese de Becking e Beijerinck, argumentando que a distribuição de muitos grupos microbianos pode ser explicada por padrões biogeográficos (([[http://www.sciencedirect.com/science/article/pii/S136984860800040X|‘Everything is everywhere: but the environment selects’: ubiquitous distribution and ecological determinism in microbial biogeography]])). Para testar a hipótese da distribuição ubíqua dos micro-organismos, o primeiro passo seria entender quantos e quais grupos taxonômicos são compartilhados em amostras com diferentes condições ambientais e quantos e quais grupos são únicos para cada condição. === Função shared.vs.unique.otus() === //shared.vs.unique.otus(data, plottype) // A função //shared.vs.unique.otus()// tem o objetivo de contabilizar e verificar quais são as OTUs únicas e compartilhadas comparando amostras par-a-par. INPUT: Um data frame com as colunas referentes às amostras e as linhas referentes às OTUs e sua classificação taxonômica. Os valores correspondem ao número de sequências observadas para cada OTU (ver explicação de análises baseadas em OTUs na Proposta A). 1- Aplicar um código binário no dataframe de INPUT, onde 1 é equivalente a presença de uma determinada OTU e 0 é equivalente à ausência de uma determinada OTU, para cada amostra. 2- As amostras serão comparadas par-a-par por uma operação lógica. Quando ambas apresentarem valor de 1 para uma determinada OTU, esta OTU será considerada compartilhada. Quando o valor de 0 estiver presente em uma amostra e 1 para outra amostra, esta OTU será considerada única para amostra com valor de 1. Para valores 0 e 0 entre as amostras, esta OTU será desconsiderada. 3- Serão criadas duas matrizes, uma com o número de OTUs compartilhadas entre as amostras, e outra com o número de OTUs únicas. 4- Será criado um dataframe com a informação de quais OTUs são compartilhadas e quais são únicas, na comparação de amostras par-a-par. OUTPUT: retornará um bubble plot ou heatmap comparando graficamente o número de OTUs compartilhadas (argumento "plottype" com as opções "bubble" ou "heatmap") e outro com o número de OTUs únicas. Além disso, dois dataframes, um com a informação de quais OTUs são compartilhadas e outro com a informação de quais são únicas. Exemplos de OUTPUT: \\ {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-20_a_s_10.17.44.png?200 |}} {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-20_a_s_10.18.57.png?200 |}} {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-20_a_s_10.25.54.png?300 |}} ---- ==== Proposta C ==== A terceira proposta tem com objetivo realizar uma análise multiparamétrica relacionando a composição de OTUs (opções: totais, abundantes ou raras) para cada amostra com dados físico-químicos ambientais. === Função otus.vs.env() === //otus.vs.env(data, envpar, select, method) // INPUT: //data:// Um data frame com as colunas referentes às amostras e as linhas referentes às OTUs e sua classificação taxonômica. Os valores correspondem ao número de sequências observadas para cada OTU (ver explicação de análises baseadas em OTUs na Proposta A) (mesmo input que das propostas anteriores). //envpar//: parâmetros ambientais, com amostras por colunas, e parâmetros por linhas. 1- Selecionar no dataframe (argumento //"select"//) quais OTUs serão representadas nas análises multiparamétricas. Opções: "total", "abund", "rare". Como descrito na proposta A, será realizada a manipulação do datraframe, onde abundância maior que 1% serão consideradas abundantes, e as com valores menores que 0,1% serão consideradas raras. 2- O argumento //"method"// irá selecionar o tipo de análise multiparamétrica, com as opções "pca", "rda" ou "cca". 3- Triplot da análise multiparamétrica (amostras, OTUs e parâmetros ambientais). OUTPUT: retornará o gráfico triplot com a análise multiparamétrica escolhida, contendo as informações de OTUs totais, abundantes ou raras, determinadas pelo usuário. Exemplo de OUTPUT: {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-04-20_a_s_11.04.05.png?300 |}}(([[http://femsec.oxfordjournals.org/content/87/1/182|Exemplo de gráfico triplot de análise multivariada]])) \\ ---- ===== Função Final ===== No quarto item do "Plano A" havia sido proposto uma análise estatística de ANOVA ou teste t. Contudo, durante a elaboração da Função, achei mais interessante analisar a similaridade entre as amostras, comparando-as quanto às suas OTUs totais, raras e abundantes. Escolhi representar essa similaridade através de dendrogramas, construídos ao calcular-se os índices de dissimilaridade por Bray-Curtis ou Distância Euclidiana. ----//[[amandagb@usp.br|Amanda]]// ==== Help da Função ==== abund.vs.rare package:unknown R Documentation Análise de OTUs raras e abundantes em Ecologia Microbiana Description: Analisa riqueza, diversidade e similaridade de comunidades microbianas, considerando membros totais, raros e abundantes, a partir de uma tabela de OTUs. Usage: abund.vs.rare(x, rare="0.01", diversity="shannon", dist = "bray") Arguments: x: Dataframe contendo os dados. rare: Define o valor máximo de abundância relativa para uma OTU ser considerada rara. O usuário tem as opções de 0.01 (1%) ou 0.001 (0.1%). diversity: Índice de diversidade a ser calculado para OTUs totais, abundantes e raras, por amostra. O usuário tem a opção dos índices Shannon ("shannon") ou Simpson ("simpson"). dist: O método para se calcular o índice de dissimilaridade entre as amostras, quando consideradas OTUs totais, abundantes e raras. O usuário tem a opçao de Bray-curtis ("bray") ou distância Euclidiana ("euclidean"). Details: Essa função fornece análises de riqueza e diversidade em ecologia microbiana ao comparar diferentes amostras quando considerados membros raros, abundantes e totais da comunidade. Os dados introduzidos na função devem ser um dataframe contendo o número de sequencias por OTUs, sendo as OTUs distribuídas por linhas e amostras distribuídas por colunas. Value: Retorna uma matriz contendo os valores de riqueza e diversidade, para OTUs totais, raras e abundantes, por amostra; e um plot contendo seis dendrogramas construídos a partir dos índices de dissimilaridade com os valores de riqueza e diversidade de OTUs totais, raras e abundantes, para cada amostra. Author: Amanda Gonçalves Bendia amandagb@usp.br References: BAGCHI, Samik et al. Diversity and dynamics of dominant and rare bacterial taxa in replicate sequencing batch reactors operated under different solids retention time. Applied microbiology and biotechnology, v. 99, n. 5, p. 2361-2370, 2015. LYNCH, Michael DJ; NEUFELD, Josh D. Ecology and exploration of the rare biosphere. Nature Reviews Microbiology, v. 13, n. 4, p. 217-229, 2015. Examples: ## Dataframe de Input otu.t <- read.table("datateste.txt", header = TRUE, sep = "\t") otu.t Amostra1 Amostra2 Amostra3 Amostra4 Amostra5 Amostra6 Amostra7 Amostra8 Amostra9 Amostra10 OTU1 0.0 3.0 0.0 75.0 50.0 31.0 80.0 23.0 23.0 334.0 OTU2 16.0 26.0 8.0 424.0 122.0 101.0 256.0 147.0 734.0 3.0 OTU3 0.0 2.0 0.0 191.0 181.0 145.0 249.0 108.0 129.0 328.0 OTU4 0.0 0.0 0.0 4.0 0.0 3.0 7.0 0.0 0.0 1076.0 OTU5 0.0 0.0 0.0 1.0 0.0 2.0 0.0 1.0 3.0 515.0 OTU6 0.0 0.0 0.0 3.0 0.0 3.0 6.0 3.0 17.0 493.0 OTU7 718.0 726.0 872.0 687.0 460.0 522.0 1476.0 669.0 1314.0 46.0 OTU8 469.0 816.0 372.0 292.0 90.0 80.0 662.0 175.0 1951.0 27.0 OTU9 0.0 2.0 6.0 0.0 0.0 0.0 8.0 4.0 0.0 4.0 OTU10 0.0 0.0 0.0 5.0 3.0 2.0 6.0 3.0 5.0 835.0 OTU11 0.0 5.0 2.0 1.0 1.0 0.0 6.0 3.0 10.0 84.0 OTU12 0.0 1.0 1.0 6.0 4.0 3.0 0.0 0.0 2.0 508.0 OTU13 165.0 171.0 316.0 400.0 170.0 233.0 22.0 16.0 8.0 7.0 OTU14 0.0 0.0 1.0 10.0 3.0 9.0 20.0 2.0 10.0 1474.0 OTU15 11.0 29.0 17.0 342.0 152.0 138.0 488.0 181.0 353.0 5.0 OTU16 0.0 8.0 0.0 5.0 4.0 0.0 12.0 3.0 4.0 80.0 OTU17 27.0 74.0 38.0 257.0 134.0 111.0 794.0 280.0 579.0 0.0 OTU18 3.0 2.0 4.0 939.0 37.0 231.0 513.0 49.0 1260.0 0.0 OTU19 0.0 4.0 0.0 40.0 5.0 17.0 13.0 1.0 8.0 0.0 OTU20 0.0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 574.0 ## Matriz com dados de riqueza e diversidade de OTUs totais, raras, abundantes, por amostra abund.vs.rare(otu.t, rare="0.01", diversity="shannon", dist = "bray") riqueza.rare riqueza.abund riqueza.tot div.tot div.rare div.abund Amostra1 2 5 7 1.138470 0.05098383 1.087487 Amostra2 8 6 14 1.288572 0.08866381 1.199908 Amostra3 6 5 11 1.203014 0.07849486 1.124519 Amostra4 8 10 18 2.103346 0.06210771 2.041238 Amostra5 6 9 15 2.029372 0.08430975 1.945063 Amostra6 7 10 17 2.059021 0.09133335 1.967688 Amostra7 9 8 17 1.943201 0.12780042 1.815401 Amostra8 9 8 17 1.819002 0.12147570 1.697526 Amostra9 10 7 17 1.799358 0.08908378 1.710274 Amostra10 6 11 17 2.220433 0.07986509 2.140568 ==== Código da Função ==== ####################################################################################### # Função abund.vs.rare() - Análises de OTUs raras e abundantes em Ecologia Microbiana # ####################################################################################### abund.vs.rare <- function(x, rare="0.01", diversity="shannon", dist = "bray") # O arquivo contendo os dados precisa ser organizado em: amostras por colunas e espécies (OTUs) por linhas # É criado um dataframe com o arquivo de input dos dados # A Função possui três argumentos: (a) rare, (b) diversity e (c) dist # No argumento "rare" o usuário tem as opções de "0.001" ou "0.01" (0,1% e 1%) para definir quais OTUs são raras e quais são abundantes # No argumento "diversity" o usuário tem a opção de escolher "shannon" ou "simpson" para as análises de alfa diversidade # No argumento "dist" o usuário tem a opção de escolher os índices de dissimilaridade "bray-curtis" ou distância euclideana, # para comparar as amostras quando consideradas OTUs raras, abundantes e totais. # Exige Pacote Vegan { if (missing(x)) { # Caso os dados da tabela OTUs não tenham sido inseridos. stop("Tabela de OTUs não fornecida.") } library(vegan) RAROS <- c("0.001", "0.01") # usuario seleciona membros raros da comunidade, com as opções de 0,1% ou 1% rare <- match.arg(rare, RAROS) DIVERSIDADE <- c("shannon", "simpson") # usuario seleciona indice de shannon ou simpson para alfa diversidade diversity <- match.arg(diversity, DIVERSIDADE) DIST <- c("bray", "euclidean") # usuario seleciona indice de dissimilaridade bray-curtis ou distância euclideana dist <- match.arg(dist, DIST) otu.table.abund <- decostand(x, method = "total", MARGIN=2) #cria objeto com os valores de abundância relativa # a partir da tabela OTU contendo o número de espécies otu.rare <- otu.table.abund #cria objeto para selecionar OTUs raras, a partir do dataframe original otu.abund <- otu.table.abund #cria objeto para selecionar OTUs abundantes, a partir do dataframe original otu.tot <- otu.table.abund #cria objeto para selecionar as OTUs totais, a partir do dataframe original if(rare=="0.001") #escolha do usuario para OTUs raras de 0.01% (0.001) { otu.rare[otu.rare > 0.001] <- NA #selecao de OTUs raras, desconsiderando os valores maiores que 0.001 de abundancia relativa otu.abund[otu.abund < 0.001] <- NA #selecao de OTUs abundantes, desconsiderando os valores menores que 0.001 de abundancia relativa otu.rare[is.na(otu.rare)] <- 0 #substitui NAs por 0 otu.abund[is.na(otu.abund)] <- 0 #substitui NAs por 0 } if(rare=="0.01") #escolha do usuario para OTUs raras de 0.1% (0.01) { otu.rare[otu.rare > 0.01] <- NA #selecao de OTUs raras, desconsiderando os valores maiores que 0.01 de abundancia relativa otu.abund[otu.abund < 0.01] <- NA #selecao de OTUs abundantes, desconsiderando os valores menores que 0.01 de abundancia relativa otu.rare[is.na(otu.rare)] <- 0 #substitui NAs por 0 otu.abund[is.na(otu.abund)] <- 0 #substitui NAs por 0 } { # Análise de riqueza para OTUs abundantes, raras e totais riqueza.rare <- apply(otu.rare, 2, function(c)sum(c!=0)) #numero de especies (OTUs) raras riqueza.abund <- apply(otu.abund, 2, function(c)sum(c!=0)) #numero de especies (OTUs) abundantes riqueza.tot <- apply(otu.tot, 2, function(c)sum(c!=0)) #numero de especies (OTUs) totais riqueza <- cbind(riqueza.rare, riqueza.abund, riqueza.tot) #juntando valores referentes # ao numero de (OTUs) totais, raras e abundantes (riqueza) message("Riqueza calculada!") # Criando objetos para os cálculos de diversidade para OTUs abundantes, raras e totais t <- otu.tot #para calcular diversidade a partir de OTUs totais r <- otu.rare #para calcular diversidade a partir de OTUs raras a <- otu.abund #para calcular diversidade a partir de OTUs abundantes } if(diversity=="shannon") { message("Índice de diversidade Shannon calculado!") #calcula diversidade shannon a partir de OTUs totais t <- -t * log(t) div.tot <- apply(t, 2, sum, na.rm = TRUE) #calcula diversidade shannon a partir de OTUs raras r <- -r * log(r) div.rare <- apply(r, 2, sum, na.rm = TRUE) #calcula diversidade shannon a partir de OTUs abundantes a <- -a * log(a) div.abund <- apply(a, 2, sum, na.rm = TRUE) diversidade <- cbind(div.tot, div.rare, div.abund) #juntando valores dos indices de diversidade para OTUs totais, raras e abundantes riqueza.diversidade <- cbind(riqueza, diversidade) #juntando os valores de riqueza e diversidade para OTUs totais, abundantes e raras } if(diversity=="simpson") { message("Índice de diversidade Simpson calculado!") #calcula diversidade simpson a partir de OTUs totais t <- t * t simpson.t <- apply(t, 2, sum, na.rm = TRUE) div.tot <- 1 - simpson.t #calcula diversidade simpson a partir de OTUs raras r <- r * r simpson.r <- apply(r, 2, sum, na.rm = TRUE) div.rare <- 1 - simpson.r #calcula diversidade simpson a partir de OTUs abundantes a <- a * a simpson.a <- apply(a, 2, sum, na.rm = TRUE) div.abund <- 1 - simpson.a diversidade <- cbind(div.tot, div.rare, div.abund) #juntando valores dos indices de diversidade para OTUs totais, raras e abundantes riqueza.diversidade <- cbind(riqueza, diversidade) #juntando os valores de riqueza e diversidade para OTUs totais, abundantes e raras } # Transformando em dataframes para calcular índices de dissimilaride entre as amostras div.tot <- as.data.frame(div.tot) # índice de diversidade para OTUS totais div.abund <- as.data.frame(div.abund) # índice de diversidade para OTUS abundantes div.rare <- as.data.frame(div.rare) # índice de diversidade para OTUS raras riqueza.tot <- as.data.frame(riqueza.tot) # Riqueza para OTUS totais riqueza.abund <- as.data.frame(riqueza.abund) # Riqueza para OTUS abundantes riqueza.rare <- as.data.frame(riqueza.rare) # Riqueza para OTUS raras # Cálculo de índices de dissimilaridade (bray-curtis ou euclideano) entre as amostras, considerando riqueza e diversidade para OTUs totais, raras e abundantes if(dist=="bray") { message("Índice de dissimilaridade calculado: Bray-Curtis!") div.tot.clus <- hclust(vegdist(div.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para diversidade de OTUs totais div.abund.clus <- hclust(vegdist(div.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para diversidade de OTUs abundantes div.rare.clus<- hclust(vegdist(div.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para diversidade de OTUs raras riq.tot.clus <- hclust(vegdist(riqueza.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para riqueza de OTUs totais riq.abund.clus <- hclust(vegdist(riqueza.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para riqueza de OTUs abundantes riq.rare.clus <- hclust(vegdist(riqueza.tot, method="bray")) #Calcula dissimilaridade Bray-Curtis para riqueza de OTUs raras } if(dist=="euclidean") { message("Índice de dissimilaridade calculado: Distância Euclideana!") div.tot.clus <- hclust(vegdist(div.tot, method="euclidean")) #Calcula distância euclidiana para diversidade de OTUs totais div.abund.clus <- hclust(vegdist(div.tot, method="euclidean")) #Calcula distância euclidiana para diversidade de OTUs abundantes div.rare.clus<- hclust(vegdist(div.tot, method="euclidean")) #Calcula distância euclidiana para diversidade de OTUs raras riq.tot.clus <- hclust(vegdist(riqueza.tot, method="euclidean")) #Calcula distância euclidiana para riqueza de OTUs totais riq.abund.clus <- hclust(vegdist(riqueza.tot, method="euclidean")) #Calcula distância euclidiana para riqueza de OTUs abundantes riq.rare.clus <- hclust(vegdist(riqueza.tot, method="euclidean")) #Calcula distância euclidiana para riqueza de OTUs raras } # Plotando dendrogramas de dissimilaridade para diversidade e riqueza de OTUs totais, abundantes e raras par(mfrow = c(2,3)) plot(div.tot.clus, main = "Diversidade: OTUs totais", xlab="", sub="") plot(div.abund.clus, main = "Diversidade: OTUs abundantes", xlab="", sub="") plot(div.rare.clus, main = "Diversidade: OTUs raras", xlab="", sub="") plot(riq.tot.clus, main = "Riqueza: OTUs totais", xlab="", sub="") plot(riq.abund.clus, main = "Riqueza: OTUs abundantes", xlab="", sub="") plot(riq.rare.clus, main = "Riqueza: OTUs raras", xlab="", sub="") par(mfrow = c(1,1)) message("Dendrogramas plotados a partir de índice de dissimilaridade!") return(riqueza.diversidade) # retorna riqueza e índice de diversidade para OTUs totais, abundantes e raras, para cada amostra # FIM da função } **Arquivos da Função:** \\ Função: {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:abund.vs.rare.r|abund.vs.rare()}} \\ Help: {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:help.txt|Help da Função}} \\ Input: {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:datateste.txt|Data}} \\ Output: {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-05-14_a_s_16.11.34.png?linkonly|1- Plot: Dendrogramas}}, {{:bie5782:01_curso_atual:alunos:trabalho_final:amandagb:captura_de_tela_2016-05-14_a_s_16.11.45.png?linkonly|2- Matriz de dados}}