Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2018:alunos:trabalho_final:amaralgustavofaria:start

Gustavo Amaral Faria

img_20180324_093748254.jpg

Aluno de mestrado pelo Programa de Pós Graduação em Biologia Animal da Universidade Estadual de Campinas (UNICAMP). Meu projeto engloba seis espécies de importância médico forense da família Calliphoridae (Insecta: Diptera) envolvendo seus comportamentos alimentares e expressão gênica.



I. Exercícios

Segue o endereço da página para os meus exercícios já resolvidos.



II. Minhas propostas


II.I Proposta A. O desenvolvimento nas moscas “peritas”

Contextualização

Atualmente, os insetos constituem o grupo dominante de animais na Terra. De longe, seu número supera o de todos os outros animais terrestres e estão em praticamente todos os locais (TRIPLEHORN & JOHNSON, 2015). Os insetos são animais pecilotérmicos, ou seja, quando a temperatura do ambiente cai, sua temperatura corporal também cai e seus processos fisiológicos tornam-se mais lentos. Dentro do grupo, existem inúmeros hábitos alimentares permitindo o consumo de variadas fontes (TRIPLEHORN & JOHNSON, 2015). Uma das maiores ordens de insetos são as moscas (Insecta: Diptera). É um grupo abundante em termos de indivíduos e número de espécies. Os hábitos alimentares aqui também variam, mas focando apenas no interesse forense, existem famílias muito estudadas, e estas, se alimentam de carne em decomposição (necrófagas) ou até mesmo carne fresca (parasitas).

No contexto forense, é valioso as estimativas de intervalo pós morte com o uso da fauna de dípteros presentes no cadáver. Para este cálculo, os animais são recolhidos e criados sob temperatura, umidade e substrato alimentar controlados a fim de se obter o menor intervalo do seu desenvolvimento ainda presente no corpo em decomposição, servindo como inferência no tempo de morte. Os dados são demonstrados por meio de gráficos das curvas de desenvolvimento e ANOVA. Os testes estatísticos podem sofrer variações, isso estará totalmente dependente do tipo de objetivo do autor. O fato é que a variável principal nos testes comuns, é a temperatura - o quanto do peso e comprimento da larva irá aumentar referente àquela temperatura. A variável substrato não é observada, e talvez exista diferença entre larvas que se alimentaram, por exemplo, na região do abdômen do cadáver e outras larvas presentes na cabeça.

Meu objetivo com esta proposta, é fazer uma função que coloque a distribuição de crescimento juntos para uma melhor comparação do desenvolvimento das espécies em substratos diferentes, podendo ser observada possíveis diferenças e semelhanças a cada pesagem (12/12h das larvas) em determinada temperatura fixa. A função então, retornaria, um valor de p (oriundo de ANOVA), mais a tabela de tukey caso o valor de p fosse significativo e um gráfico com os valores de desenvolvimento.

Planejamento da função

Entrada: develop (x, temp, data)

  • x = a espécie de mosca de entrada, podendo ser: 1, 2, 3, 4 e 5.
  • temp = valor da temperatura. Podendo ser para as espécies já depositadas na função; 25, 30 ou 35.
  • data = data frame com os dados de desenvolvimento contendo idade (em horas), os substratos (músculo, fígado e intestino), as temperaturas e o peso médio aferido a cada 12h.

Verificando os parâmetros:

  • x é igual aos valores de 1 a 4? Se sim, calcule os valores referente ao número correlato. Se não; se a entrada foi 5, pegue o valor do data.frame de entrada (data) mais o valor para temp de 0 e calcule o restante da função.
  • data é um data frame com 4 colunas? Se não, escreva: “O conjunto de dados não é compatível com a função. Saiba mais no help”.

Pseudo-código:

  1. Chame a função
  2. Cria o objeto dados.cmac25 com os dados referentes ao desenvolvimento de Cochliomyia macellaria na temperatura de 25°C.
  3. Cria o objeto dados.cmac30 com os dados referentes ao desenvolvimento de Cochliomyia macellaria na temperatura de 30°C.
  4. Cria o objeto dados.cmac35 com os dados referentes ao desenvolvimento de Cochliomyia macellaria na temperatura de 35°C.
  5. Cria o objeto dados.cmeg25 com os dados referentes ao desenvolvimento de Chrysomya megacephala na temperatura de 25°C.
  6. Cria o objeto dados.cmeg30 com os dados referentes ao desenvolvimento de Chrysomya megacephala na temperatura de 30°C.
  7. Cria o objeto dados.cmeg35 com os dados referentes ao desenvolvimento de Chrysomya megacephala na temperatura de 35°C.
  8. Cria o objeto dados.calb25 com os dados referentes ao desenvolvimento de Chrysomya albiceps na temperatura de 25°C.
  9. Cria o objeto dados.calb30 com os dados referentes ao desenvolvimento de Chrysomya albiceps na temperatura de 30°C.
  10. Cria o objeto dados.calb35 com os dados referentes ao desenvolvimento de Chrysomya albiceps na temperatura de 35°C.
  11. Cria o objeto dados.lexi25 com os dados referentes ao desenvolvimento de Lucilia eximia na temperatura de 25°C.
  12. Cria o objeto dados.lexi30 com os dados referentes ao desenvolvimento de Lucilia eximia na temperatura de 30°C.
  13. Cria o objeto dados.lexi35 com os dados referentes ao desenvolvimento de Lucilia eximia na temperatura de 35°C.
  14. Crie os objetos com os resultados pelo teste ANOVA de cada espécie por substrato (como no passo anterior).
  15. Crie os objetos com a tabela de resultados pelo reste TUKEY de cada espécie por substrato (como nos passos anteriores).
  16. Faça as hipóteses usando IF e ELSE IF, quando for necessário.
    1. Faça os ciclos começando pela espécie e indo pela temperatura, caso não satisfaça os argumentos, pule para o próximo ciclo até que os argumentos se enquadrem.
  17. Receba os valores dos argumentos, e pegue-os dados referentes aquela espécie;
    1. Para o argumento x:
      1. 1, pegue os dados.cmac e use-os para os cálculos da função.
      2. 2, pegue os dados.cmeg e use-os para os cálculos da função.
      3. 3, pegue os dados.calb e use-os para os cálculos da função.
      4. 4, pegue os dados.lexi e use-os para os cálculos da função.
      5. 5, receba juntamente com o argumento data. Calcule a partir dos valores de entrada pelo argumento data, desde que, obedeçam os parâmetros.
    2. Para o argumento temp:
      1. 25, se a temperatura de interesse for 25°C.
      2. 30, se a temperatura de interesse for 30°C.
      3. 35, se a temperatura de interesse for 35°C.
      4. 0, se o valor de x for 5.
    3. Para o argumento data:
      1. A entrada de data, deve ser um data.frame com 4 variáveis (Idade, Temperatura, Substrato e Peso) e deve ter o nome de dados.user.
  18. Plote um gráfico com o desenvolvimento, contendo o desenvolvimento das larvas nos tipos de substrato.
    1. Na legenda, coloque os nomes dos substratos e título o nome da espécie (se for das espécies já cadastradas no banco de dados da função).
  19. Printe para o usuário o valor de p, junto com a tabela de Tukey (caso positivo para um teste com diferença significativa).
  20. Fim da função.

Saída:

  1. Um gráfico com o desenvolvimento das três dietas.
  2. O p-valor oriundo do teste ANOVA.
  3. A tabela de Tukey caso o p-valor f=tiver uma diferença significativa.

II.II Proposta B. POP Pericia Criminal em 1 segundo

Contextualização

A criação de procedimentos operacionais padrões (POP) permite a uma empresa a garantia de que suas tarefas sejam realizadas corretamente, frente a uma padronização e que seus resultados estejam sempre dentro daquela margem de segurança.

No segundo semestre de 2012, a Secretaria Nacional de Segurança Pública assumiu a coordenação da tarefa de produzir procedimentos operacionais padronizados, os POPs, e convidou o Conselho de Dirigentes de Órgãos Periciais, as associações representativas dos profissionais de perícia, a equipe da Força Nacional de Segurança Pública e outros especialistas nas áreas para desenvolvê-la. Com uma norma de procedimentos operacionais relacionados a polícia científica já criada, isso garante ou pelo menos ajuda peritos iniciais na hora da produção da prova técnica, qualificando a investigação criminal (BRASIL, 2013).

Caso um perito ou qualquer outra pessoa tenha o interesse de olhar esses protocolos ou sempre usá-los, ela deve carregá-los fisicamente ou mesmo que em um computador portátil ou qualquer outro dispositivo digital, estarão presentes muitas informações (mais de 240 páginas) que pode gerar uma perca de tempo em um momento de pressa na hora da busca.

O objetivo desta proposta, é pegar estes dados já feitos por profissionais competentes da área e colocá-los dentro de uma função, que facilmente poderia ser “chamada” pelo usuário. A ideia é que o profissional digite a natureza do caso criminal, e a função convoque os procedimentos operacionais padrões necessários para o atendimento no local.

Planejamento da função

Entrada: perpop (x)

  • x – natureza da ocorrência (podendo ter sete opções de entrada: balistica, genetica, informatica, local, papi e quimica.

Verificando os parâmetros:

  • x é uma das entradas informadas pelo help? Se não, escreva: “A entrada utilizada na função perpop é inválida. Saiba mais no help da função”.

Pseudo-código:

  1. Cria o objeto balistica com 22 strings (cada string será um equipamento).
  2. Cria o objeto genetica com 21 strings (cada string será um equipamento).
  3. Cria o objeto informatica com 13 strings (cada string será um equipamento).
  4. Cria o objeto local com 31 strings (cada string será um equipamento).
  5. Cria o objeto papi com 22 strings (cada string será um equipamento).
  6. Cria o objeto quimica com 9 strings (cada string será um equipamento).
  7. Entra com a condição x no comando if.
    1. Se x == balistica, então será retornado na tela o objeto “balistica” contendo o pop equivalente.
    2. Se x == genetica, então será retornado na tela o objeto “genetica” contendo o pop equivalente.
    3. Se x == informatica, então será retornado na tela o objeto “informatica” contendo o pop equivalente.
    4. Se x == local, então será retornado na tela o objeto “local” contendo o pop equivalente.
    5. Se x == papi, então será retornado na tela o objeto “papi” contendo o pop equivalente.
    6. Se x == quimica, então será retornado na tela o objeto “quimica” contendo o pop equivalente.
  8. Se nenhuma das opções forem iguais as propostas pela função, o else será acionado;
    1. x != (das opções), então será retornado na tela a mensagem “O objeto utilizado na função perpop é inválido. Saiba mais no help da função”.
  9. O POP equivalente ao objeto escolhido pelo usuário será exportado para a pasta padrão.
  10. Fim da função.

Saída:

  1. Um arquivo de texto contendo os itens necessários para a realização da atividade selecionada pelo usuário.

II.III Referências

  1. Brasil. Secretaria Nacional de Segurança Pública. Procedimento operacional padrão: perícia criminal / Secretaria Nacional de Segurança Pública. Brasília: Ministério da Justiça, 2013. 242 p.: il.
  2. TRIPLEHORN, Charles A.; JOHNSON, Norman F. Estudo dos insetos. São Paulo: Cengage Learning, 2011.


III. Trabalho Final

Segue o endereço da página para o meu trabalho final .



IV. Help da função

Segue o endereço da página para o meu help da função .



V. Considerações para as propostas

Olá Gustavo,

Você postou as duas propostas, não entanto ambas estão pouco detalhadas em relação aos pseudocódigos. No caso da proposta A, seu objetivo de “fazer uma função que compare as curvas de desenvolvimento, verificando qual substrato é o mais significativo para o seu desenvolvimento em temperatura fixa” não chega a ser demostrado factível dado o pseudocódigo que você apresentou. O que você propus foi fazer um test de t com os dados de peso de cada tratamento de dieta. A entrada pode ser um único arquivo, com as informações dos dois grupos experimentais, e cada um com repectiva idade. Apesar de você estar interasado no desenvolvimento, dentro do pseudocódigo nunca é usada a variável de idade, que a que le permitiria ter a noção do desenvolviento das larvas ao longo do tempo e de fato construir o gráfico que propõe como resultado. Você inclui no dataframe de entrada, a variável termperatura, que no contexto é inecessária, pois a temperatura é fixa. Além disso terminologia usada nos parámetros de entrada faz com que a função pareça de um uso muito especifico, quando pode ser mais geral. Por exemplo, no seu caso o proxy de tamanho é peso, mas em outro caso pode ser comprimento da perna, ou largura da cabeça, se você usa a palavra “tamanho” faria com que a função tenha um escopo mais amplo. A proposta B, me deixou com umas dúvidas, cada um dos objetos que você vai criar contêm “valores”. O que são os valores? Eu achava que seria só um texto com o protocolo. Falta explicar um pouco melhor o que contêm esses objetos para poder entender melhor e incluso entender o objeto que você propoe de saída. Sugiero que você esclareça um pouco mais os pseudocódigos das duas funções, para te dar uma melhor sugestão de proposta a desenvolver. Bom trabalho!

. — SolimaryGarcia 2018/05/11 08:20

Proposta A Obrigado pelo feedback Solimary. Vamos lá. Minha ideia principal, seria comparar de uma única vez todos os dados (referente a gama de substratos possíveis) que o pesquisador tenha. Então por exemplo. Suponhamos que eu tenha o desenvolvimento de uma espécie de mosca para os substratos: músculo, fígado e intestino. O meu objetivo é de comparar (pegando a massa em gramas da larva mais a temperatura) as diferenças entre os substratos, pra ver se existe uma diferença significativa entre substratos ou não, se a variável principal é a temperatura, independente do tipo de substrato. Eu acabei colocando como a entrada dois dataframes pois fiquei receoso se poderia colocar todos os dados em um único dataframe. Vou colocar uma foto embaixo para ficar mais visível, como seria os dados. Uma coisa que não ficou clara. Os ensaios são realizados em diferentes temperaturas (20/25/30ºC por exemplo). Quando falo que a temperatura é fixa, é que naquele determinado ensaio ela é constante até o final. Mas existe outros ensaios, para o mesmo substrato para a mesma espécie em outras temperaturas (a fim de ver qual seria a melhor temperatura para o desenvolvimento da larva, e até mesmo, ter uma faixa de temperatura que a larva se desenvolva). Proposta B Na realidade eu pensei no R “printando” na tela do usuário um dataframe (objeto) com várias strings referentes aos equipamentos que o perito deveria levar a cena. Mas agora você falando de uma saída de texto com o protocolo, é bem mais objetivo… Eu gostei mais. — Gustavo Amaral Faria 2018/05/18 15:52

Olá Gustavo,

Obrigada pelos esclarecimentos. Em relação às duas propostas, sugiro ficar com a proposta A, com algumas resalvas. Ainda parece uma proposta muito específica e relacionada a seus dados. Lembre que uma das sugestões é fazer algo que possa ser usado mais amplamente. Nesse sentido, tenho algumas sugestões: 1. Voce pode sim colocar todos esses dados em um único data frame, mas de uma forma diferente ao que você propus. O data frame deve contear uma unica variável categórica para os “substratos”, que poderáa ter vários níveis (ex: músculo, fígado e intestino). Outra variável categótica com os dados de temperatura (ex. 20/25/30ºC ou, baixa, média e alta temperatura), uma variável continua com a idáde (dias de desenvolvimento) e mais uma com o tamanho (massa). 2. A análise que entendo você quer fazer é entender qual é o efeito (significativo o não) da temperatura & o substrato sobre o desenvolvimento (idade ou tamanho). Entendi bem? se for assim, a sua função pode chamar uma outra função para fazer a análise. Há vários pacotes que podem fazer essas análises, conhecidos como modelos lineares (se o crescimento não é linear há outras opções também). A sua função faria essa análise, mostraria os resultados númericos, e também mostraria resultados como gráficos. Cómo exatamente voce espera que sejam os gráficos? estava pensando que seriam regressões, mas acho que você propoe são graficos de barras. Como exercicio, antes de fazer a função, sugiro que você establesca exatamente que informação você precisa para fazer os gráficos de manera que façam sentido e cumpram o seu objetivo. Se tem alguma dúvida não duvide em nos escrever! bom trabalho!

. — SolimaryGarcia 2018/05/15 21:30

Olá Gustavo,

As propostas não estão muito adequadas para o trabalho final. A primeira é muito específica e faz a análise de dados específico o que foi alertado não ser uma boa opção. Usa um if e faz uma anova e retorna informações parciais da anova, inclusive a ordem em que as tarefas aparecem no pseudocódigo não faz sentido. Vc. retorna na tela o hipótese antes de fazer o teste.

A segunda tem 6 testes lógicos sequencias para retornar a informação armazenada de seis itens. Não acho que sejam desafios suficientes. Vejo duas possibilidades: seguir com a proposta A incorporar algo para torná-la um desafio de programação mais interessante, definindo bem esse desafio e o peseudcodigo, ou sugerir outra proposta.

Obrigado pelas sugestões, Sim, entendo que realmente pareça muito específica, mas isso é um problema que qualquer pesquisador que trabalhe com biologia de insetos possa vir a se deparar, e uma função que compare se existe diferença significativa no desenvolvimento entre os substratos em determinada temperatura é muito importante, e ainda não foi feito, até onde eu sei. Isso implicaria, por exemplo, em sabermos se de repente na hora de uma coleta, devemos dar mais atenção a determinada região do corpo em decomposição, a fim de obter um Intervalo Pós Morte mínimo bem mais preciso, ajudando muito num trabalho investigativo. Por isso meu interesse nela. Eu fiz as modificações no dataframe de entrada, colocando apenas quatro variáveis, e elas com seus níveis. E sim, é um modelo linear, e os gráficos seriam as curvas de desenvolvimento da larva no substrato e temperatura em questão. Os dados que estou usando, são de fato reais (peguei emprestados, rsrs) pois queria já fazer os testes como uma simulação real mesmo, e não com dados aleatórios que de repente não poderia fazer sentido no ponto de vista biológico. — Gustavo Amaral Faria 2018/05/18 15:52

Atualizei o pseudo-código, como pedido professor, e acrescentei mais algumas informações que acho que serão um desafio. — Gustavo Amaral Faria 2018/05/21 09:12

Alexandre Adalardo de Oliveira 2018/05/22 16:17 Oi Gustavo,

A Solimary me falou que estavam conversando por email. Realmente não tenho muito mais a propor, a elaboração da ideia deve vir dos alunos. Ainda estou em dúvida, apesar da sua argumentação sobre a aplicação.Continuo com dificuldade para entender a tarefa a ser executada e a utilização de alguns dos métodos propostos. A proposta está baseada no desenvolvimento da larva e nos tratamentos testados por ANOVA. Por exemplo, como fará Análise de variância do peso em função do tempo? Há um problema conceitual ou terminológico aqui. Outra questão é, havendo efeito de um tratamentos isoladamente (p.ex. substrato), como fará para verificar se isso não está associado ou tem interação com outro tratamento (p.ex. tempo)? Como estamos avançados no tempo e estou entendendo que decidiu por executar a proposta A, vc. deve trabalhar nela e documentá-la muito bem em todas as linhas do seu código para que possamos entender o que está sendo feito e assim conseguir avaliá-lo. Assim como trabalhar muito bem na sua documentação (Help).

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