Ferramentas do usuário

Ferramentas do site


cursos:ecor:05_curso_antigo:alunos:trabalho_final:paulan

Paula Yuri Nishimura

dsc00067.jpg

Doutoranda em Ecologia de Ecossistemas Aquáticos, Laboratório de Limnologia, IB-USP

Proposta

Principal

O cálculo do biovolume dos organismos fitoplanctônicos é feito através de modelos geométricos similares (esfera, cilindro, elipse, cilindro+2cones…), multiplicando a densidade de cada espécie pelo volume médio das células em consideração, através da dimensão média de pelo menos 30 indivíduos de cada espécie observados na amostra (Sun & Liu, 2003; Hillebrand, 1999). [Obs: Para o cálculo do biovolume no meu mestrado, tive que fazer uma mega planilha do Excel com as medidas e as fórmulas para cada espécie (assim como a maioria dos fitoplanctólogos que conheço fazem…)]. Portanto, minha proposta é criar funções das fórmulas para o cálculo do biovolume dos organismos fitoplanctônicos. Inicialmente, faria um “banco de dados” dos principais gêneros, sua forma geométrica e as medidas necessárias, cuja função retornasse estes dados para o gênero “pesquisado”. Assim, não será preciso ficar consultando uma lista durante a tomada de medidas no microscópio. Em seguida, faria as funções com as fórmulas dos modelos geométricos.

Referências Bibliográficas

Sun, J. & Liu, D. Geometric models for calculating cell biovolume and surface area for phytoplankton. Journal of Plankton Research. 25(11):1331-1346. 2003.

Hillebrand, H., Dürselen, C., Kirschtel, D., Pollingher, U. & Zohary, T. Biovolume calculation for pelagic and benthic microalgae. Journal of Phycology. 35:403–424. 1999.

Comentários
Paulo

MUITO legal! Algumas sugestões (aproveite o que achar útil):

  1. Sua função terá um argumento para especificar os gêneros ou a forma geométrica básica (pode ter os dois inclusive, para comportar gêneros que vc não previu). Será uma função com muitos argumentos possíveis, o que vai te obrigar a fazer uma sequência de if's, finalizada com uma última condição que retorna uma mensagem de erro se o usuário não especificou nenhum dos argumentos previstos.
  2. Se todas as fórmulas são combinações de volumes de sólidos geométricos, vc pode incluir uma opção que é deixar para o usuário combiná-las, ao invés de escolher uma pré-definida.
  3. Se em algum caso há desacordo quanto à fórmula, a função pode dar a possibilidade de retornar o valor de mais de uma fórmula, e já fazer alguma comparação entre os resultados.
  4. De todo jeito, é importante deixar claro na saída o modelo usado.

Plano B

Uma função que dê uma saída gráfica para melhor visualização dos dados de densidade. Gráfico 1: densidade por classe + riqueza; Gráfico 2: densidade relativa por classe + Índice de Shannon; Gráfico 3: densidade das espécies mais abundantes (> 25% da amostra).

Página de Ajuda

  
biovol                      package:nenhum                   R Documentation



Cálculo do biovolume dos organismos fitoplanctônicos.


Description:

Calcula o biovolume dos organismos fitoplanctônicos através dos valores médio 
da(s)medida(s) necessária(s) para cada modelo geométrico aproximado. 


Usage:

 biovol(diameter, length, width, height, cells=1, genus, shape)


Arguments:

 diameter: Vetor numérico. Valores do diâmetro da celula, cenóbio, colônia ou 
           filamento, quando necessário. 

 length: Vetor numérico. Valores do comprimento da célula, cenóbio, colônia ou
         filamento, quando necessário. 
 
 width: Vetor numérico. Valores da largura célula, cenóbio, colônia ou 
        filamento, quando necessário. 

 height: Vetor numérico. Valores da altura célula, cenóbio, colônia ou 
         filamento, quando necessário. 
 
 cells: Vetor numérico. Valores do número de células de cada cenóbio, colônia 
        ou filamento cujos indivíduos foram medidos, quando necessário. 
        Padrão é "1".

 genus: O gênero ao qual a espécie cujo biovolume será calculado. Alguns 
        gêneros comuns corpos d'água brasileiros estão especificados.

 shape: A forma geométrica a ser utilizada para o cálculo do biovolume. As 
        formas contempladas nesta função são

        "sphere"
        "prolate spheroid"
        "ellipsoid"
        "elliptic prism"
        "cylinder"
        "rectangular box"
        "cone"
        "double cone"
        "half sphere"
        "cone + half sphere"
        "sickle-shaped cylinder"
        "sickle-shaped prism"
        "cylinder + 2 half spheres"
        "cylinder + 2 half cones"
        "prism on parallelogram-base"


Details:

Os valores das medidas necessárias para o cálculo do volume são aplicados 
à fórmula matemática conforme a forma geométrica ou gênero especificado. 
É possível calcular o biovolume especificando a forma geométrica ou o gênero. 
Para cada forma ou gênero são necessárias medidas específicas, indicadas na 
saída da função.


Value:

Uma lista é gerada. Se o argumento utilizado for a forma geométrica, a lista 
gerada indicará (1) alguns gêneros fitoplanctônicos que apresentam esta forma, 
(2) as medidas necessárias para o cálculo do volume e (3) o biovolume, caso os 
vetores numéricos necessários tenham sido indicados. Se o argumento utilizado for 
o gênero, a lista gerada indicará a (1) classe deste gênero, a forma de vida e a 
forma geométrica, (2) as medidas necessárias para o cálculo do volume e (3) o 
biovolume, caso os vetores numéricos necessários tenham sido indicados.


Warning:

A função calcula o biovolume médio para um indivíduo de uma determinada espécie 
da amostra. Para o cálculo do biovolume total da amostra, é necessário multiplicar 
o biovolume obtido nesta função pela densidade dos organismos encontrada na amostra.


Author:

Paula Yuri Nishimura

nishimurapy@usp.br


References:
 
Sun, J. & Liu, D. Geometric models for calculating cell biovolume and surface area 
for phytoplankton. Journal of Plankton Research. 25(11):1331-1346. 2003.

Hillebrand, H., Dürselen, C., Kirschtel, D., Pollingher, U. & Zohary, T. Biovolume 
calculation for pelagic and benthic microalgae. Journal of Phycology. 35:403–424. 
1999.


See Also:

'mean' do pacote base, para o cálculo das médias.


Examples:

# Gerando dados:
d <- round(rnorm(30,10,2))
h <- round(rnorm(30,5,2))     
c <- round(rnorm(30,35,10))
l <- round(rnorm(30,26,3))
w <- round(rnorm(30,14,2))

#Cálculo do biovolume do gênero Synura:
biovol(diameter=d,height=h,cells=c,genus="Synura") 

#Cálculo do biovolume para cylindro em forma de estrela:
biovol(diameter=d, height=h,cells=c,shape="sickle-shaped cylinder") 

#Caso só o argumento de gênero ou forma geométrica seja fornecido, informações 
sobre este gênero ou forma são fornecidos:
biovol(genus="Cylindrospermopsis") 
biovol(shape="cone + half sphere") 

#Forma geométrica ou gênero inexistente. Mensagem de erro e dicas para o usuário.
biovol(diameter=d,cells=c,shape="ball") 
biovol(length=l, width=w, height=h,cells=c,genus="Planktothix") 

    

Código da Função

##Paula Yuri Nishimura
##Trabalho final da disciplina BIE5782

biovol <- function(diameter="", length="", width="", height="", cells=1, genus="", shape="")

#Função para o cálculo do biovolume de organismos fitoplanctônicos
#Feito por Paula Yuri Nishimura em 01/04/2009 como trabalho final da disciplina BIE5782 (IB-USP)
	{	
#Genus
##Prolate Spheroid
###Actinastrum
###Desmodesmus
###Scenedesmus
###Nephroclamys
###Cryptomonas
###Aphanothece
###Mallomonas
###Dinobryon
###Synura
	if(genus=="Synura"|genus=="synura")	
		{
  		general <- c("Bacillariophyceae","Unicellular","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		 }
	if(genus=="Dinobryon"|genus=="dinobryon")	
		{
  		general <- c("Chrysophyceae","Colonial","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height","number of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		 }
	if(genus=="Mallomonas"|genus=="mallomonas")	
		{
  		general <- c("Chrysophyceae","Flagellate unicellular","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		 }
	if(genus=="Aphanothece"|genus=="aphanothece")	
		{
  		general <- c("Cyanophyceae","Colonial","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height","number of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		 }
 	if(genus=="Actinastrum"|genus=="actinastrum"|genus=="Nephroclamys"|genus=="nephroclamys")	
		{
  		general <- c("Chlorophyceae","Colonial","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height","number of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		 }	
	if(genus=="Desmodesmus"|genus=="desmosdemus"|genus=="Scenedesmus"|genus=="scenedesmus")
      	{
  		general <- c("Chlorophyceae","Cenobium","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height","number of cells/cenobium")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		}
	if(genus=="Cryptomonas"|genus=="cryptomonas")
      	{
  		general <- c("Cryptophyceae","Flagellate unicellular","Prolate Spheroid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height")
	   	volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
	   	}
     
##Sphere
###Coelastrum
###Dictiosphaerium
###Micratinium
###Golenkinia
###Anabaena
###Aphanocapsa
###Synechocystis
###Chroococcus
###Microcystis
###Synechococcus
###Carteria
###Chlamydomonas
	if(genus=="Carteria"|genus=="carteria"|genus=="Chlamydomonas"|genus=="chlamydomonas")
      	{
  		general <- c("Chlorophyceae","Unicellular","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}
	if(genus=="Coelastrum"|genus=="coelastrum")
      	{
  		general <- c("Chlorophyceae","Cenobium","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cenobium diameter")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}	  
	if(genus=="Dictiosphaerium"|genus=="dictiosphaerium"|genus=="Micratinium"|genus=="micratinium")
      	{
  		general <- c("Chlorophyceae","Colonial","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter","numer of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}	    
	if(genus=="Golenkinia"|genus=="golenkinia")
      	{
  		general <- c("Chlorophyceae","Unicellular or Colonial","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter","numer of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}	
	if(genus=="Anabaena"|genus=="anabaena")
      	{
  		general <- c("Cyanophyceae","Filamentous","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter","numer of cells/filament")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}	
	if(genus=="Aphanocapsa"|genus=="aphanocapsa"|genus=="Chroococcus"|genus=="chroococcus"|genus=="Microcystis"|genus=="microcystis")
      	{
  		general <- c("Cyanophyceae","Colonial","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter","numer of cells/colony")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}	
	if(genus=="Synechocystis"|genus=="synechocystis"|genus=="Synechococcus"|genus=="synechococcus")
      	{
  		general <- c("Cyanophyceae","Unicellular","Sphere")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter")
	   	volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
	   	}

##Rectangular box
###Crucigenia
###Tetraedron
###Merismopedia
###Asterionella
###Synedra
###Tabularia
	if(genus=="Asterionella"|genus=="asterionella"|genus=="Synedra"|genus=="synedra"|genus=="Tabularia"|genus=="tabularia")
      	{
  		general <- c("Bacillariophyceae","Unicellular ou colonial","Rectangular box")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height","number of cells/cenobium")
	   	volume <- (mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
	if(genus=="Crucigenia"|genus=="crucigenia")
      	{
  		general <- c("Chlorophyceae","Cenobium","Rectangular box")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height","number of cells/cenobium")
	   	volume <- (mean(length)*mean(width)*mean(height))*mean(cells)
	   	}	
	if(genus=="Tetraedron"|genus=="tetraedron")
      	{
  		general <- c("Chlorophyceae","Unicellular","Rectangular box")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height")
	   	volume <- (mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
	if(genus=="Merismopedia"|genus=="merismopedia")
      	{
  		general <- c("Cyanophyceae","Colonial","Rectangular box")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height","number of cells/colony")
	   	volume <- (mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
##Cylinder
###Aulacoseira
###Cyclotella
###Mougeotia
###Cylindrospermopsis
###Pseudoanabaena
###Planktolyngbya
###Spirulina
	if(genus=="Aulacoseira"|genus=="aulacoseira")
      	{
  		general <- c("Bacillariophyceae","Filamentous","Cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and length","number of cells/filament")
	   	volume <- (pi/4*mean(diameter)^2*mean(length))*mean(cells)
	   	}
       if(genus=="Cyclotella"|genus=="cyclotella")
      	{
  		general <- c("Bacillariophyceae","Unicellular","Cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and length")
	   	volume <- (pi/4*mean(diameter)^2*mean(length))*mean(cells)
	   	}
       if(genus=="Mougeotia"|genus=="mougeotia")
      	{
  		general <- c("Zygnemaphyceae","Filamentous","Cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and length","number of cells/filament")
	   	volume <- (pi/4*mean(diameter)^2*mean(length))*mean(cells)
	   	}
       if(genus=="Cylindrospermopsis"|genus=="cylindrospermopsis"|genus=="Pseudoanabaena"|genus=="pseudoanabaena"|genus=="Planktolyngbya"|genus=="planktolyngbya"|genus=="Spirulina"|genus=="spirulina")
      	{
  		general <- c("Cyanophyceae","Filamentous","Cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and length","number of cells/filament")
	   	volume <- (pi/4*mean(diameter)^2*mean(length))*mean(cells)
	   	}

##Sickle-shaped cylinder
###Monorraphidium
###Closteriopsis
###Kirchineriella
###Ankistrodesmus
       if(genus=="Closteriopsis"|genus=="closteriopsis"|genus=="Monoraphidium"|genus=="monoraphidium")
      	{
  		general <- c("Chlorophyceae","Unicellular","Sickle-shaped cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height")
	   	volume <- (pi/6*mean(height)*mean(diameter)^2)*mean(cells)
	   	}
       if(genus=="Kirchineriella"|genus=="kirchineriella"|genus=="Ankistrodesmus"|genus=="ankistrodesmus")
      	{
  		general <- c("Chlorophyceae","Colonial","Sickle-shaped cylinder")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell diameter and height", "number of cells/colony")
	   	volume <- (pi/6*mean(height)*mean(diameter)^2)*mean(cells)
	   	}

##Ellipsoid
###Peridinium
###Amphidinium
###Trachelomonas
       if(genus=="Peridinium"|genus=="peridinium"|genus=="Amphidinium"|genus=="amphidinium"|genus=="Alexandrium"|genus=="alexandrium"|genus=="dinophysis"|genus=="Dinophysis"|genus=="Diplopelta"|genus=="diplopelta"|genus=="Gymnodinium"|genus=="gymnodinium"|genus=="Gyrodinium"|genus=="gyrodinium"|genus=="Heteraulacus"|genus=="heteraulacus"|genus=="Peridiniopsis"|genus=="peridiniopsis"|genus=="Pyrophacus"|genus=="pyrophacus")
      	{
  		general <- c("Dinophyceae","Flagellate unicellular","Ellipsoid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height")
	   	volume <- (pi/6*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
       if(genus=="Trachelomonas"|genus=="trachelomonas")
      	{
  		general <- c("Euglenophyceae","Flagellate unicellular","Ellipsoid")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height")
	   	volume <- (pi/6*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}

##Elliptic prism 
###Phacus
###Achnanthidium
###Navicula
###Surirella
###Pediastrum
       if(genus=="Phacus"|genus=="phacus"|genus=="Achnanthidium"|genus=="achnanthidium"|genus=="Navicula"|genus=="navicula"|genus=="Surirella"|genus=="surirella")
      	{
  		general <- c("Bacillariophyceae","Unicellular","Elliptic prism")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height")
	   	volume <- (pi/4*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
	if(genus=="Pediastrum"|genus=="pediastrum")
      	{
  		general <- c("Chlorophyceae","Cenobium","Elliptic prism")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height","number of cells/cenobium")
	   	volume <- (pi/4*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}

       if(genus=="Phacus"|genus=="phacus")
      	{
  		general <- c("Euglenophyceae","Flagellate unicellular","Elliptic prism")
   		names(general)<-c("Class","Life form","Shape")
  		information <- c("Cell length, width, height")
	   	volume <- (pi/4*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
#Shapes                 
	if(shape=="prolate spheroid")
		{
		general <- c("Actinastrum, Desmodesmus, Nephroclamys, Scenedesmus, Cryptomonas, Aphanothece, Mallonmonas, Dinobryon, Synura")
		names(general) <- c("Some genus with prolate spheroid shape:")
		information <- c("Cell/cenobium diameter ou height","numer of cells/colony,cenobium,filament")
		volume <- ((pi/6)*mean(diameter)^2*mean(height))*mean(cells)
		}
	if(shape=="sphere")
		{
		general <- c("Coelastrum, Dictiosphaerium, Golenknia, Micratinium, Anabaena, Aphanocapsa, Synechocystis, Chroococcus, Microcystis, Synechococcus, Chlamydomonas, Carteria")
		names(general) <- c("Some genus with sphere shape:")
		information <- c("Cell diameter","number of cells/colony,filament,cenobium")
		volume <- ((pi/6)*mean(diameter)^3)*mean(cells)
		}	
	if(shape=="rectangular box")
		{
		general <- c("Crucigenia, Tetraedron, Merismopedia, Asterionella, Synedra, Tabularia")
		names(general) <- c("Some genus with rectangular box shape:")
	  	information <- c("Cell length, width and height","number of cells/colony,filament,cenobium")
	   	volume <- (mean(length)*mean(width)*mean(height))*mean(cells)
		}
	if(shape=="cylinder")
		{
		general <- c("Aulacoseira, Cyclotella, Mougeotia, Pseudoanabaena, Planktolyngbya, Spirulina")
		names(general) <- c("Some genus with cylinder shape:")
  		information <- c("Cell diameter and length","number of cells/colony,cenobium,filament")
	   	volume <- (pi/4*mean(diameter)^2*mean(length))*mean(cells)
	   	}
	if(shape=="sickle-shaped cylinder")
		{
		general <- c("Monorraphidium, Closteriopsis, Kirchineriella, Ankistrodesmus")
		names(general) <- c("Some genus with sickle-shaped cylinder shape:")
  		information <- c("Cell diameter and height", "number of cells/colony")
	   	volume <- (pi/6*mean(height)*mean(diameter)^2)*mean(cells)
	   	}
       if(shape=="ellipsoid")
      	{
  		general <- c("Peridinium, Trachelomonas, Amphidinium, Dinophysis, Diplopelta, Gymnodinium, Gyrodinium, Heteraulacus, Peridiniopsis, Pyrophacus")
		names(general) <- c("Some genus with ellipsoid shape:")
  		information <- c("Cell length, width and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/6*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
       if(shape=="elliptic prism")
      	{
  		general <- c("Phacus, Achnanthidium, Navicula, Surirella, Pediastrum")
		names(general) <- c("Some genus with elliptic prism shape:")
 		information <- c("Cell length, width and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/4*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
       if(shape=="cylinder + 2 half spheres")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with cylinder + 2 half spheres shape:")
 		information <- c("Cell diameter and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi*mean(diameter)^2*(mean(height)/4-mean(diameter)/12))*mean(cells)
	   	}
       if(shape=="cylinder + 2 half cones")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with cylinder + 2 half cones shape:")
 		information <- c("Cell diameter and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/4*mean(diameter)^2*(mean(height)-mean(diameter)/3))*mean(cells)
	   	}
       if(shape=="cone")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with cone shape:")
 		information <- c("Cell diameter and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/12*mean(height)*mean(diameter)^2)*mean(cells)
	   	}
	 if(shape=="double cone")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with double cone shape:")
 		information <- c("Cell diameter and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/12*mean(height)*mean(diameter)^2)*mean(cells)
	   	}
	 if(shape=="cone + half sphere")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with cone + half sphere shape:")
 		information <- c("Cell diameter and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/4*mean(height)*mean(diameter)^2)*mean(cells)
	   	}
	 if(shape=="prism on parallelogram-base")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with prism on parallelogram-base shape:")
 		information <- c("Cell length, width and height", "number of cells/colony,filament,cenobium")
	   	volume <- (1/2*mean(length)*mean(width)*mean(height))*mean(cells)
	   	}
	 if(shape=="half sphere")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with half sphere shape:")
 		information <- c("Cell diameter", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/12*mean(diameter)^3)*mean(cells)
	   	}
	 if(shape=="sickle-shaped prism")
      	{
  		general <- c("?")
		names(general) <- c("Some genus with sickle-shaped prism shape:")
 		information <- c("Cell length, width and height", "number of cells/colony,filament,cenobium")
	   	volume <- (pi/4*mean(length)*mean(width)*mean(height))*mean(cells)
   		}
#caso shape ou genus não esteja contemplado nesta função, retorna mensagem de erro.
	if(shape!="sphere"&shape!="prolate spheroid"&shape!="ellipsoid"&shape!="elliptic prism"&shape!="cylinder"&shape!="rectangular box"&shape!="cone"&shape!="double cone"&shape!="half sphere"&shape!="cone + half sphere"&shape!="sickle-shaped cylinder"&shape!="sickle-shaped prism"&shape!="cylinder + 2 half spheres"&shape!="cylinder + 2 half cones"&shape!="prism on parallelogram-base"&genus!="Synura"&genus!="synura"&genus!="Dinobryon"&genus!="dinobryon"&genus!="Mallomonas"&genus!="mallomonas"&genus!="Aphanothece"&genus!="aphanothece"&genus!="Actinastrum"&genus!="actinastrum"&genus!="Nephroclamys"&genus!="nephroclamys"&genus!="Desmodesmus"&genus!="desmosdemus"&genus!="Scenedesmus"&genus!="scenedesmus"&genus!="Cryptomonas"&genus!="cryptomonas"&genus!="Carteria"&genus!="carteria"&genus!="Chlamydomonas"&genus!="chlamydomonas"&genus!="Coelastrum"&genus!="coelastrum"&genus!="Dictiosphaerium"&genus!="dictiosphaerium"&genus!="Micratinium"&genus!="micratinium"&genus!="Golenkinia"&genus!="golenkinia"&genus!="Anabaena"&genus!="anabaena"&genus!="Aphanocapsa"&genus!="aphanocapsa"&genus!="Chroococcus"&genus!="chroococcus"&genus!="Microcystis"&genus!="microcystis"&genus!="Synechocystis"&genus!="synechocystis"&genus!="Synechococcus"&genus!="synechococcus"&genus!="Asterionella"&genus!="asterionella"&genus!="Synedra"&genus!="synedra"&genus!="Tabularia"&genus!="tabularia"&genus!="Crucigenia"&genus!="crucigenia"&genus!="Tetraedron"&genus!="tetraedron"&genus!="Merismopedia"&genus!="merismopedia"&genus!="Aulacoseira"&genus!="aulacoseira"&genus!="Cyclotella"&genus!="cyclotella"&genus!="Mougeotia"&genus!="mougeotia"&genus!="Cylindrospermopsis"&genus!="cylindrospermopsis"&genus!="Pseudoanabaena"&genus!="pseudoanabaena"&genus!="Planktolyngbya"&genus!="planktolyngbya"&genus!="Spirulina"&genus!="spirulina"&genus!="Closteriopsis"&genus!="closteriopsis"&genus!="Monoraphidium"&genus!="monoraphidium"&genus!="Kirchineriella"&genus!="kirchineriella"&genus!="Ankistrodesmus"&genus!="ankistrodesmus"&genus!="Peridinium"&genus!="peridinium"&genus!="Amphidinium"&genus!="amphidinium"&genus!="Alexandrium"&genus!="alexandrium"&genus!="dinophysis"&genus!="Dinophysis"&genus!="Diplopelta"&genus!="diplopelta"&genus!="Gymnodinium"&genus!="gymnodinium"&genus!="Gyrodinium"&genus!="gyrodinium"&genus!="Heteraulacus"&genus!="heteraulacus"&genus!="Peridiniopsis"&genus!="peridiniopsis"&genus!="Pyrophacus"&genus!="pyrophacus"&genus!="Trachelomonas"&genus!="trachelomonas"&genus!="Phacus"&genus!="phacus"&genus!="Achnanthidium"&genus!="achnanthidium"&genus!="Navicula"&genus!="navicula"&genus!="Surirella"&genus!="surirella"&genus!="Pediastrum"&genus!="pediastrum"&genus!="Phacus"&genus!="phacus")
		{	
  		general <- ("Genus or Shape unknown")
		names(general) <- ("ERROR:")
 		information <- ("Think which geometric model this genus is similar with. You can use one of the shapes included in this function") 
	   	volume <- ("Check on: Sun, J. & Liu, D. Journal of Plankton Research. 25(11):1331-1346. 2003.")	
		}
	
#Return	
	resulta <- list(general,information,volume)
	names(resulta) <- c("General information","What to measure","Biovolume")
	return(resulta)
	}

Arquivo da Função

cursos/ecor/05_curso_antigo/alunos/trabalho_final/paulan.txt · Última modificação: 2020/07/27 18:45 (edição externa)