Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:amandagb:start

Amanda Gonçalves Bendia

dsc00564_2.jpg

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.


Currículo Lattes
amandagb@usp.br
LOL


Meus Exercícios

Propostas para Trabalho Final


Comentários Vitor Rios

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

Resposta Amanda

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? :-?

Comentários Vitor Rios

Amanda, acho que vc pode seguir com a A, calculando os índices na mão sim.

vrios81@gmail.com

Resposta Amanda

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 (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 (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 é extensa1)). 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 recentes2) 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évios3) 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. 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. 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.
captura_de_tela_2016-04-19_a_s_22.46.10.png

4)


Proposta B

Contextualização

A hipótese “Everything is everywhere, but the environment selects”, proposta por Baas Becking e 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 5). 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:

captura_de_tela_2016-04-20_a_s_10.17.44.png captura_de_tela_2016-04-20_a_s_10.18.57.png

captura_de_tela_2016-04-20_a_s_10.25.54.png


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:

captura_de_tela_2016-04-20_a_s_11.04.05.png6)



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. —-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: abund.vs.rare()
Help: Help da Função
Input: Data
Output: 1- Plot: Dendrogramas, 2- Matriz de dados

05_curso_antigo/r2016/alunos/trabalho_final/amandagb/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)