Ferramentas do usuário

Ferramentas do site


cursos:ecor:05_curso_antigo:r2017:alunos:trabalho_final:camila.camata.santos:link

Trabalho Final

PROPOSTA A

Função: Beerisk()

Descrição: Função que retorna tabela com estimativas de risco para abelhas pela exposição de agroquímicos por diferentes vias (contato direto e resíduos em néctar e pólen)

Contextualização: Avaliação de risco ambiental é um procedimento que visa a determinação dos riscos de substâncias potencialmente tóxicas para organismos indicadores, tais como abelhas, invertebrados aquáticos e microorganismos do solo, entre outros. Essa metodologia é usada na tomada de decisão por autoridades ambientais em todo o mundo para determinar quais produtos podem ser comercializados e as recomendações necessárias para seu uso seguro ao meio. Recentemente o IBAMA publicou novos prodedimentos para avaliar o risco para abelhas (1). Nessa metodologia, são avaliadas diferentes rotas de exposição das abelhas pelo produto por meio de estimativas da concentração no néctar e pólen e nas folhas da cultura tratada (por modelagem ou por dados impíricos). Essas estimativas são comparadas com dados de estudos ecotoxicológicos que determinam a dose do produto que não representa efeito nas abelhas por via oral e por via de contato (No observed effect dose - NOED). Cada uma das vias de exposição é avaliada de acordo com modelos diferentes que estimam a concentração de produto na planta dependendo do tipo de uso (aplicação foliar, no solo, em tratamento de sementes) e da via de exposição. A função permitirá que esses cálculos sejam feitos de uma vez e para vários produtos ao mesmo tempo.

Argumentos:

tox: vetor com dados de toxicidade (numeric) para um ou mais produtos

rate: vetor com doses de aplicação (numeric) para um ou mais produtos

type: tipo de aplicação (“solo”, “foliar” ou “semente”)

refine pollen (opcional): dados numéricos com a concentração do produto em pólen determinada empiricamente (em coletas de campo) usados para refinar as estimativas dos modelos

refine nectar (opcional): dados numéricos com a concentração do produto em néctar determinada empiricamente (em coletas de campo) usados para refinar as estimativas dos modelos

Cálculos dentro da função: Quando a escolha for por aplicação em sementes ou no solo o risco por contato direto não é avaliado, e a concentração em néctar e pólen é calculada respectivamente pelo resíduo máximo de 1ppm (2) e pelo modelo de Briggs (3). Quando aplicações foliares forem escolhidas será feito o cálculo da exposição por contato e oral que estima o resíduo nas folhas e no néctar e pólen por meio do 90 percentil do modelo de Kenaga de acordo com a dose de aplicação do produto (3). Os dados de concentração de néctar e póeln serão ainda combinados com dados de consumo diário de néctar e pólen por abelhas para determinar a estimativa final de exposição oral. Após o cálculo da exposição (concentração ambiental estimada) os valores são divididos pelo NOED do produto (dose sem efeito observado) para gerar o quociente de risco.

Resultados: Tabela com os seguintes parâmetros: • Estimativa de concentração no pólen • Estimativa de concentração no néctar • Estimativa da exposição por contato • Risco por contato: Estimativa exposição por contato/NOED de contato • Risco Oral: Estimativa exposição oral/NOED oral

Links de Referência:

(1) http://www.ibama.gov.br/noticias/422-2017/1012-ibama-aumenta-protecao-a-abelhas-com-nova-norma-sobre-avaliacao-de-agrotoxicos

(2) http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2338.2010.02419.x/full

(3) https://www.epa.gov/sites/production/files/2014-06/documents/pollinator_risk_assessment_guidance_06_19_14.pdf

PROPOSTA B

Função: ecotox()

Descrição: Função que retorna parâmetros de toxicidade de substâncias químicas para diferentes organismos a partir da relação dose-resposta representada por um data frame com diferentes doses/concentrações de uma substância (variável preditora) que produz diferentes níveis de efeito em um organismo (variável resposta).A função permitirá também a comparação desses parâmetros com estimativas de concentração ambientail de tais substâncias.

Contextualização: Avaliação de risco ambiental é um procedimento que visa a determinação dos riscos de substâncias potencialmente tóxicas para organismos indicadores, tais como abelhas, invertebrados aquáticos e microorganismos do solo, entre outros. Essa metodologia é usada na tomada de decisão por autoridades ambientais em todo o mundo, incluindo o IBAMA, determinando quais produtos podem ser comercializados, as recomendações necessárias para seu uso seguro ao meio ambiente ou medidas de remediação. Para tal análise são necessárias duas informações: dados de toxicidade da substância avaliada para os organismos e estimativas da concentração ambiental da substância após sua liberação no ambiente (ex.: detergentes, agroquímicos ou metais pesados). Esses dois parâmetros são então comparados para verificar se a concentração da substância no ambiente está abaixo da dose que gera efeitos adversos nos diferentes organismos. A proposta da função ecotox() foca nos estudos realizados para determinar a toxicidade das substâncias a serem avaliadas. Em tais estudos, grupos de animais são expostos a diferentes concentrações da substância. Após determinado período a mortalidade ou outros efeitos como diminuição do crescimento ou da capacidade reprodutiva são avaliados para cada concentração. Esses dados são utilizados para produzir uma curva dose-resposta e determinar a dose ou concentração letal de 50% (LD50/LC50) com os respectivos intervalos de confiança e a concentração de efeito não observado (NOEC), que corresponde à menor concentração que não apresenta efeitos significativos quando comparada ao controle.

curva_dose.png

Exemplo de curva dose-resposta e representação gráfica da dose letal 50% e dose de efeito não observado.

Dados de entrada: Um data frame contendo os resultados de estudos ecotoxicológicos incluindo: as concentrações da substância testada, a mortalidade (ou qualquer outro efeito observado) para cada concentração e o total de organismos testado por concentração.

Argumentos:

Data: data frame com concentrações e respectivas mortalidade

Replicate: número de indivíduos testado por concentração

Test: tipo de teste a ser usado para avaliar a relação entre doses e efeitos com as opções: “probit”, “SK” para teste de Spearman-Karber ou “logit”

EEC: estimated environmental concentration (estimativa da concentração ambiental) – informar o valor numérico na mesma unidade dos dados de entrada

Resultado:

A função resulta em uma tabela contendo: • resultado do teste de significância do efeito em relação ao controle (teste exato de Fisher) • LD50 ou LC50 • NOEC • Intervalos de confiança • Coeficiente de Risco: ECC/NOEC

A primeira proposta parece estar muito boa.Se você está segura em como criar o códgio, pode mandar bala. A segunda não deiou claro pra mim que tipo de dados vão entrar, e como o R vai usar isso nos cálculos. Dito isso, a proposta A parece mais viável, entretanto você me parece segura do que está fazendo o suficiente pra conseguir se virar bem em qualque ruma das propostas.

Se precisar de mim responda essa caixa ou me mande uma mensagem antes do dia 09/06. Meu whatsapp é (11) 9-9199-3842

Obrigada! Eu vou seguir com a proposta A então! Por enquanto está tudo certo.

Na proposta eu informei que um dos resultados seria a Estimativa de concentração no pólen e Estimativa de concentração no néctar, mas esses resultados estão combinados na estimativa de exposição oral. No final achei que seria mais informativo manter assim.

FUNÇÃO FINAL (PROPOSTA A)

Página de Help

beerisk                package:unknown                R Documentation

              Calcula o Risco de Agrotóxicos para Abelhas 

Description:

     Retorna um data frame com as estimativas de exposição e quociente de risco oral e de contato para abelhas a 
     partir dos dados de toxicidade e dose do produto 

Usage:

     beerisk (data,type,age="adult", pollen=0, nectar=0) 


Arguments:

data		Data frame com seis colunas contendo: nomes das substâncias, doses de aplicação (kg substância ativa/ha), toxicidade oral (µ substância ativa/abelha), toxicidade por 
		contato (µ substância ativa/abelha), log kow e Koc, necessariamente nessa ordem. O log Pow e Koc são necessários apenas quando há aplicação no solo.


type		Vetor com os tipos de aplicação de cada substância. Tipo de aplicação pode ser "soil" para aplicações no solo, "foliar" para aplicações foliares e "seed" para tratamentos 
		de sementes.


age		Define o estágio de vida das abelhas para o qual se deseja estimar o risco. O argumento deve ser "adult" para abelhas adultas (default) e "larvae" para larvas.


pollen		Para os casos em que há dados empíricos de resíduo no pólen de culturas agrícolas, esse argumento informa o valor da concentração no pólen (mg substância ativa/kg de pólen) 
		para refinamento das estimatimas de exposição.


nectar		Para os casos em que há dados empíricos de resíduo no néctar de culturas agrícolas, esse argumento informa o valor da concentração no pólen (mg substância ativa/kg de néctar)
		para refinamento das estimatimas de exposição.





Details:

	A função beerisk é baseada no modelo da agência de proteção ambiental dos EUA (USEPA) BeeRex 1.0 [3], mas permite que o cálculo seja realizado com diversos compostos ao mesmo tempo. 
	Quando a escolha for por aplicação em sementes ou no solo o risco por contato direto não ocorre,pois as abelhas não serão expostas por essa via. Por isso, a função retorna a mensagem 
	"não se aplica" para a exposição e risco por contato nesses casos. O mesmo ocorre com a escolha pelo argumento age="larvae", pois larvas são expostas pelo aplicação direta do produto, 
	já que se mantém dentro das colonias.

	A exposição oral é uma estimativa da concentração em néctar e pólen combinados com dados de consumo diário desses itens alimentares por abelhas adultas e larvas. Para cálculo da concentração 
	no néctar e pólen quando não há dados empíricos de pólen e néctar [3]:

	- aplicações em tratamento de semente (type="seed"): resíduo máximo de 1ppm determinado empiricamente para diversos compostos em partes vegetais, em geral [2].
	- aplicações no solo: modelo de Briggs. Esse modelo requer os dados de Koc e Logkow do produto, por isso esses inputs no argumento data são necessários apenas apra aplicação no solo.
	- aplicações foliares:  90 percentil do modelo de Kenaga de acordo com a dose de aplicação do produto 
	
	A exposição por contato é estimada pela concentração estimada em Koch and Weisser (1997) de acordo com a dose de aplicação do produto [3].

	Após o cálculo da exposição (concentração ambiental estimada) os valores são divididos pelo NOED do produto (dose sem efeito observado) para gerar o quociente de risco (RQ).


Value:

	Retorna um data frame contendo as seguintes colunas: 
 
  		data[,1] : nomes dos produtos conforme informado na primeira coluna do argumento data
  
  		expos.oral : estimativa de exposição oral

  		expos.contato : estimativa de exposição por contato
  
  		RQoral : Quociente de risco oral 
		
  		RQcontato: Quociente de risco por contato


Warning:

	É necessário que o argumento type inclua um tipo de aplicação para todos os compostos contidos no argumento 
        data. Se essa informação não estiver presente a função para e avisa o usuário que
	deve-se completar os inputs da função.


Author(s):

	Camila Camata (camila.camata.santos@usp.br)


References:

	[1] http://www.ibama.gov.br/noticias/422-2017/1012-ibama-aumenta-protecao-a-abelhas-com-nova-norma-sobre-avaliacao-de-agrotoxicos

	[2] http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2338.2010.02419.x/full

	[3] https://www.epa.gov/sites/production/files/2014-06/documents/pollinator_risk_assessment_guidance_06_19_14.pdf


Examples:

#Criar data frame chamado teste com os dados de input:
produto= c("composto1","composto2","composto3","composto4","composto5") #nomes dos produtos
dose = c(0.01,0.2,0.125,0.032,0.045) #doses de aplicação (kg substância ativa/ha)
tox.oral=c(1.2,0.03,0.4,0.3,100) #dados de toxicidade oral (µ substância ativa/abelha)
tox.contato= c(2,0.1,0.2,0.09,100) #dados de toxicidade por contato (µ substância ativa/abelha)
logkow=c(0.1,0.3,0.2,-0.15,-0.3) #logkow de cada produto
koc= c(10,30,72,31,16) #koc de cada produto
teste=data.frame(produto,dose,tox.oral,tox.contato,logkow,koc) 


#Vetor com os tipos de aplicação para cada um dos 5 compostos no data frame teste
tipos= c("soil","foliar","foliar","seed","soil")

#cálculo do risco para abelhas adultas
risco1= beerisk(data=teste,type=tipos)
risco1

#cálculo de risco para larvas
risco2= beerisk(data=teste,type=tipos, age="larvae")
risco2

#cálculo de risco para abelhas adultas usando dados emíricos de pólen e néctar
risco3= beerisk(data=teste,type=tipos, pollen=0.1, nectar=0.32)
risco3

Função Beerisk

beerisk= function(data,type,age="adult", pollen=0, nectar=0)  #beerisk é uma função com os argumentos data, type, age, pollen e nectar
{                                              #abrindo a função
if(length(data[,1])!=length(type))             #Se as colunas do data.frame data e o vetor type não forem do mesmo tamanho...
 {                                             #abrindo o if para casos em que as colunas de data e o vetor type não tem o mesmo tamanho
 stop("Não foi informado tipo de aplicação para todos os compostos") #parar a função e avisar o usuário que faltam dados                #para a função para avisar o usuário que há dados faltantes   
 }                                             #fechando o if
RQcontato= rep(NA,times=length(data[,1]))      #criando um vetor com o comprimento das colunas de data para preencher com os Quocientes de Risco de contato       
RQoral= rep(NA,times=length(data[,1]))         #criando um vetor com o comprimento das colunas de data para preencher com os Quocientes de Risco oral 
briggs= rep(NA,times=length(data[,1]))         #criando um vetor com o comprimento das colunas de data para preencher com oas estimativas do modelo de briggs 
expos.contato = rep(NA,times=length(data[,1])) #criando um vetor com o comprimento das colunas de data para preencher com o cáculo de exposição por contato 
expos.oral = rep(NA,times=length(data[,1]))    #criando um vetor com o comprimento das colunas de data para preencher com o cálculo de exposição oral 
for (i in 1:(length(data[,1])))                #abrindo um ciclo que passa por cada uma das linhas do data.frame data
{                                              #abrindo o for
briggs[i]=(10^(0.95*data[i,5]-2.05)+0.82)*(0.784*10^(-0.434*((data[i,5]-1.78)^2)/2.4))*(1.5/(0.2+1.5*data[i,6]*0.01))*data[i,2]*0.45 #cálculo do modelo de briggs para cada linha do data.frame data                        # calculando o modelo de briggs que será necessário para aplicações no solo (type=solo))
expos.contato [i]= data[i,2]*2.4               #a exposição por contato é sempre estimada pela dose (data[i,2])* 2.4 
 if(age=="adult")                              #se a função for usada para estimar risco para abelhas adultas (argumento age=adult)
 {                                             #abrindo o if para abelhas adultas
  if(pollen==0 & nectar==0)                    # se não estiverem disponíveis dados empíricos de pólen e néctar
  {                                            #abrindo o if para ausência de dados de pólen e néctar
    if(type[i]=="foliar")                      #se o tipo de aplicação for foliar..
    {                                          #abrindo o if para aplicações foliares
    expos.oral [i]= data[i,2]*98*0.292         #para aplicação foliar a exposição oral estimada pela dose (data[i,2])* 98* 0.292 mg de pólen+néctar consumidos por abelhas adultas                          
    RQcontato [i]= data[i,2]*2.4/data[i,4]  #o quociente de risco por contato(RQcontato) é exposição por contato dividida pela por contato data[i,4] 
    }                                          #fechando o if para aplicação foliar
    if(type[i]=="soil")                        #se o tipo de aplicação for no solo...
    {                                          #abrindo o if para aplicações no solo
    expos.oral [i]= briggs[i]*0.292            #para aplicação no solo a exposição oral é estimada pelo modelo de briggs * 0.292 mg de pólen+néctar consumidos por abelhas adultas                                    
    expos.contato [i]= paste("não se aplica")  #para aplicações no solo não há exposição por contato
    RQcontato [i]= paste("não se aplica")      #para aplicações no solo não há risco por contato porque não há exposição
    }                                          #fechar o if para aplicações no solo
    if (type[i]=="seed")                       #se o tipo de aplicação for tratamento de semente..
    {                                          #abrindo o if para tratamento de sementes
    expos.oral [i]= 1*0.292                    #para tratamento de sementes a exposição é estimada por 1 ppm * 0.292 mg de pólen+néctar consumidos por abelhas adultas
    expos.contato [i]= paste("não se aplica")  #para tratamento de semente não há exposição por contato
    RQcontato [i]= paste("não se aplica")      #para tratamento de semente não há risco por contato porque não há exposição
    }                                          #fechando o if para tratamento de sementes
  }else                                        #fechando o if para os casos em que não há dados empíricos de pólen e néctar
    {                                          #abrindo para os casos em que há dados empíricos de pólen e néctar (pollen ou néctar !=0)
    expos.oral [i]= pollen*0.041+nectar*0.292  #a exposição oral nesse caso é resíduo em pólen(ug/mg)*0,041mg de pólen consumido por abelhas adultas+ resíduo em néctar*0.292mg nectar consumido por abelhas adultas
    if(type[i]=="foliar")                      #se a aplicação for foliar...
    {                                          #abrindo o if para aplicação foliar
    RQcontato [i]= data[i,2]*2.4/data[i,4]     #o quociente de risco por contato(RQcontato) é exposição por contato dividida pela por contato data[i,4]
    }else                                      #fechando o if para aplicação foliar
    expos.contato [i]= paste("não se aplica")  #para outros tipos de aplicação não há exposição por contato
    RQcontato [i]= paste("não se aplica")      #para outros tipos de aplicação não há risco por contato
    }                                          #fechando o if para outros tipos de aplicação
 }                                             #fechando o if para abelhas adultas
if(age=="larvae")                     #se a função for usada para estimar risco para larvas (argumento age=larvae)
{                                     #abrindo o if para larvas
expos.contato [i]= paste("não se aplica")   #Para larvas não há exposição por contato     
RQcontato[i]= paste("não se aplica")        #Para larvas não há risco por contato
  if(pollen==0 & nectar==0)                 #se não estiverem disponíveis dados empíricos de pólen e néctar
  {                                         #abrindo o if para ausência de dados de pólen e néctar
    if(type[i]=="foliar")                   #se o tipo de aplicação for foliar..
    {                                       #abrindo o if para aplicação foliar
    expos.oral [i]= data[i,2]*98*0.124     #para aplicação foliar a exposição oral estimada pela dose (data[i,2])* 98* 0.124 mg de pólen+néctar consumidos por larvas  
    }                                       #fechando o if para aplicações foliares
    if(type[i]=="soil")                     #se o tipo de aplicação for no solo...
    {                                       #abrindo o if para aplicações no solo
    expos.oral [i]= briggs[i]*0.124        #para aplicação no solo a exposição oral é estimada pelo modelo de briggs *0.124 mg de pólen+néctar consumidos por larvas                              
    }                                       #fechando o if para aplicações no solo
    if (type[i]=="seed")                    #se o tipo de aplicação for tratamento de semente..
    {                                       #abrindo o if para tratamentos de semente
    expos.oral [i]= 1*0.124                #para tratamento de sementes a exposição é estimada por 1 ppm * 0.124 mg de pólen+néctar consumidos por larvas               
    }                                       #fechando o if para tratamento de sementes
  }else                                     #fechando o if para os casos em que não há dados empíricos de pólen e néctar 
    {                                       #abrindo para os casos em que há dados empíricos de pólen e néctar (pollen ou néctar !=0)
    expos.oral [i]= pollen*0.036+nectar*0.120   #a exposição oral nesse caso é resíduo em pólen(ug/mg)*0,036 mg de pólen consumido por larvas+ resíduo em néctar*0.120 mg nectar consumido por larvas
    }                                           #fechando o if para os casos em que há dados de pólen e néctar
}                                               #fechando o if para larvas
RQoral[i]= expos.oral [i]/data[i,3]             #o quociente de risco oral(RQoral) é sempre a exposição oral dividido tela toxicidade oral data[i,3]
}                                               #fechando o for
return(data.frame(data[,1],expos.oral,RQoral,expos.contato,RQcontato)) #retornar um data frame com o nome dos compostos e as estimativas de exposição e RQ oral e de contato
}                                               #fechando a função

Arquivo da função: beerisk.r

Arquivo com página de ajudahelp_beerisk.txt

cursos/ecor/05_curso_antigo/r2017/alunos/trabalho_final/camila.camata.santos/link.txt · Última modificação: 2020/07/27 18:47 (edição externa)