====== Carol Mendonça ======
{{:01_curso_atual:alunos:trabalho_final:carol.mendonca.bio:img_4746.jpg?200|}}
Sou bióloga, graduada como bacharela pelo Instituto de Biociências (USP) e licenciada pela Faculdade de Educação (USP). Possuo grande interesse na área de Genética, especialmente em Biologia Molecular. Trabalho desde 2013 no Laboratório Nacional de Células-Tronco Embrionárias, a cargo da Profa. Dra. Lygia da Veiga Pereira, no grupo que pesquisa Síndrome de Marfan. Atualmente, tenho intenção de fazer pós-graduação no Laboratório de Drosofilídeos sob orientação da Profa. Maria Vibranovski, cuja principal linha de pesquisa é a evolução genômica. Além disso, tenho grande apreço pela educação em Ciências, tendo participado de diversos projetos de extensão universitária e atuado como professora em cursinhos populares.
----
----
===== I. Meus exercícios =====
Link para a página com os meus exercícios resolvidos: [[.:Meus exercícios]].
----
----
===== II. Trabalho final =====
----
==== II.I Plano A: Uma simulação da deriva genética ====
=== Contextualização ===
A deriva genética é uma das quatro forças evolutivas e pode ser definida como: mudanças aleatórias nas frequências alélicas de uma população (RIDLEY, 2006). Considerando apenas a ação da deriva genética, para um gene bialélico, as probabilidades das frequências alélicas na geração seguinte podem ser calculadas pelo uso da distribuição binomial. Este é o Modelo Wright-Fischer que tem as seguintes premissas: (1) uma população de //N// indivíduos tem //2N// alelos; (2) a próxima geração terá //2N// alelos, sorteados ao acaso dentre os milhões de gametas produzidos na geração anterior; (3) todos os gametas têm chance idêntica de serem sorteados (não há seleção); (4) não há mutação ou migração e os cruzamentos se dão ao acaso (MEYER, 2016).
{{ :01_curso_atual:alunos:trabalho_final:carol.mendonca.bio:modelo_wf.jpg?300 |}}
Alternativamente à solução analítica, a probabilidade de um alelo se manter na população com determinada frequência pode ser estimada por meio de simulações. Para esta estimativa, é necessário levar em consideração: o número de indivíduos na população, o número de gerações, a frequência inicial do alelo e o número de populações a serem simuladas. Com estes parâmetros, a função proposta realizaria as simulações, apresentando no final: um gráfico com as trajetórias individuais de cada população, um histograma com as frequências finais nas populações e o p-valor. Em outras palavras, ela responderia a pergunta: "Qual é a probabilidade que após //n// gerações em //X// populações de tamanho //N//, a frequência do alelo A (gene bialélico) seja //Y//?".
=== Planejamento da função ===
**Entrada:** deriva (''N'', ''gen'', ''f'', ''pop'', ''teste'')
* ''N'' = tamanho de cada população (classe: integer, ''N'' > 0).
* ''gen'' = número de gerações a ser simulado (classe: integer, ''gen'' > 0).
* ''f'' = frequência do alelo A (classe: numeric com 2 casas decimais, 0 ≤ ''f'' ≤ 1).
* ''pop'' = número de populações (classe: integer, ''pop'' > 0).
* ''teste'' = frequência final de alelos a ser testada (classe: numeric com 2 casas decimais, 0 ≤ ''teste'' ≤ 1).
**Verificando os parâmetros:**
* ''N'' é um número inteiro e maior que 0? Se não, escreve: "N precisa ser um numero inteiro e > 0."
* ''gen'' é um número inteiro e maior que 0? Se não, escreve: "gen precisa ser um numero inteiro e > 0."
* ''f'' é ≥ 0 e ≤ 1? Se não, escreve: "f deve estar no intervalo 0 ≤ f ≤ 1."
* ''pop'' é um número inteiro e maior que 0? Se não, escreve: "pop precisa ser um numero inteiro e > 0."
* ''teste'' é ≥ 0 e ≤ 1? Se não, escreve: "teste deve estar no intervalo 0 ≤ f ≤ 1."
**Pseudo-código:**
- Cria objeto ''simulacao'' com ''N'' NAs.
- Cria objeto ''f.final'' com ''pop'' NAs.
- Cria objeto ''populacao'' com ''f'' × ''N'' caracteres "A" e 1 - (''f'' × ''N'') caracteres "a".
- Plota área para gráfico com eixo-X entre 0 - ''gen'' e eixo-Y entre 0 - 1.
- Entra em um ciclo ''for'' com contador ''j'' de 1 até ''pop''.
- Entra em um ciclo ''for'' com contador ''i'' de 1 até ''gen''.
- Amostra com reposição ''N'' alelos de ''populacao'' e guarda em ''simulacao''.
- Conta numero de "A", divide por ''N'' e guarda em ''fA''.
- Plota coordenada ''i'', ''fA'' no grafico.
- Copia ''simulacao'' em ''populacao''.
- Zera ''simulacao'' preenchendo-no com ''N'' NAs.
- Une os pontos no grafico.
- Preenche posição ''j'' de ''f.final'' com ''f.A''.
- Redefini ''populacao'' com ''f'' × ''N'' caracteres "A" e 1 - ''f'' × ''N'' caracteres "a".
- Zera ''simulacao'' preenchendo-no com ''N'' NAs.
- Cria histograma de ''f.final'' com linha vertical em ''teste''.
- Calcula o p-valor dividindo o número de vezes em que ''f.final'' == ''teste'' e dividindo por ''pop''.
**Saída:**
* Histograma com a distribuição das frequências alélicas finais das populações.
* Gráfico de dispersão com as trajetórias individuais de cada uma das populações.
* O p-valor: probabilidade de uma determinada frequência (''teste'') ao final das simulações.
A função parece bem clara. Na verdade o próprio pseudo-código dela já é quase que a função terminada. Se quiser, pode seguir essa proposta. OBS: cuidado com códigos desnecessários ou redundantes: será que é memso necessário unir os pontos do gráfico? É necessário "zerar" os vetores antes do próximo ciclo?
----
==== II.II Plano B: Jogo dos Micos ====
=== Contextualização ===
A Estação Biologia (http://www.ib.usp.br/estacaobiologia/) é um projeto de extensão universitária do Instituto de Biociências da USP que tem como principal objetivo a recepção de visitas escolares. Uma das atividades que é oferecida para os visitantes é o Jogo dos Micos, que foi desenvolvido com base em uma atividade de {{:01_curso_atual:alunos:trabalho_final:carol.mendonca.bio:pega-pega_ecolo_gico.pdf|dramatização de presa e predador}}. Os alunos são divididos em três grupos (plantas, micos e jaguatiricas) e o jogo consiste em várias rodadas de pega-pega. Em cada uma delas, os micos tentam comer as plantas e as jaguatiricas os micos. Ao término da rodada, os papéis são redistribuídos como é ilustrado na figura abaixo.
{{ :01_curso_atual:alunos:trabalho_final:carol.mendonca.bio:jogo_dos_micos.jpg |}}
O principal objetivo da atividade é mostrar a robustez da comunidade, isto é: mesmo que as crianças tenham trocado de papel ao longo do jogo, as três classes de espécie ainda permanecem. Para enfatizar a importância de cada uma das espécies, pode ser feita uma rodada extra em que uma das classes não está presente. Por exemplo: se as plantas não participarem, os micos serão todos predados e virarão jaguatiricas. Na próxima rodada, faltará alimento para as jaguatiricas e todas acabarão virando planta. A dúvida em relação à atividade é a proporção das classes que maximize a permanência de todas elas no jogo. Em outras palavras: "Dado um número //X// de crianças, quantas devem estar em cada classe de forma que todas as classes permaneçam no jogo por mais tempo?".
Para responder essa pergunta, é necessário levar em consideração a probabilidade de transição ou de permanência em cada uma das classes. Para estimá-las, seriam feitas medidas empíricas durante o jogo, levando em consideração as possíveis diferenças entre meninas e meninos. Assim, na matriz de transição mostrada abaixo, cada uma das probabilidade é na verdade uma somatória de 4 probabilidades: p(menina pegar menina), p(menina pegar menino), p(menino pegar menino) e p(menino pegar menina). A função proposta receberia o número de crianças presentes e faria simulações para determinar quantas devem ser alocadas em cada classe para que o jogo dure mais tempo. Para isso, seriam feitas multiplicações sucessivas de matrizes até que uma das classes não esteja mais presente.
{{ :01_curso_atual:alunos:trabalho_final:carol.mendonca.bio:matriz_de_transicao.jpg?300 |}}
=== Planejamento da função ===
**Entrada:** micos (''N'', ''meninas'')
* ''N'' = número de crianças (classe: integer, ''N'' > 0).
* ''meninas'' = número de meninas (classe: integer, ''meninas'' ≥ 0).
**Verificando os parâmetros:**
* ''N'' é um número inteiro e maior que 0? Se não, escreve: "N precisa ser um numero inteiro e > 0."
* ''meninas'' é um número inteiro e ≥ 0? Se não, escreve: "meninas precisa ser um numero inteiro e ≥ 0."
**Pseudo-código:**
- Distribui ''meninas'' no data frame ''prop.meninas'' com todas as permutações possíveis.
- Faz uma cópia de ''prop.meninas'' em ''girls''.
- Cria data.frame ''girls.copia'' com as mesmas dimensões de ''girls'' preenchido com NAs.
- Distribui ''N'' - ''meninas'' no data frame ''prop.meninos'' com todas as permutações possíveis.
- Faz uma cópia de ''prop.meninos'' em ''boys''
- Cria data.frame ''boys.copia'' com as mesmas dimensões de ''boys'' preenchido com NAs.
- Entra em um ciclo ''while'' até que, em todas os casos, pelo menos uma das três classes não esteja mais presente.
- Multiplica cada uma das linhas de ''girls'' por ''mt.girls'' (matriz de transição das meninas).
- Guarda o resultado da multiplicação de matrizes em ''girls.copia''.
- Copia ''girls.copia'' em ''girls'' e zera ''girls.copia'' preenchendo-no com NAs.
- Multiplica cada uma das linhas de ''boys'' por ''mt.boys'' (matriz de transição dos meninos).
- Guarda o resultado da multiplicação de matrizes em ''boys.copia''.
- Copia ''boys.copia'' em ''boys'' e zera ''boys.copia'' preenchendo-no com NAs.
- Seleciona o caso dentre ''girls.copia'' e ''boys.copia'' que manteve as 3 classes por mais tempo no jogo.
- Recupera em ''prop.meninas'' ou ''prop.meninos'' a permutação inicial associada ao caso selecionado.
- Calcula as proporções do segundo gênero com base no caso selecionado.
**Saída:**
* Data frame com o número de meninas e meninos em cada uma das classes (plantas, micos e jaguatiricas).
Essa função parece desafiadora, mas você tbm parece preparada. Se você esta confortável com o método acho que é ok você seguir em frente nesta proposta tbm, caso queira.
Se quiser conversar mais sobre as funções (ou pedir conselhos, dicas etc) é só escrever aqui que pretendo revisar esta página dia 09/06 antes das 12hrs. Ou me mandar uma mensagem por whatsapp (11) 9-9199-3842.
Twister (ou Matheus Januario)
----
==== II.III Referências ====
MEYER, D. Deriva genética, 2017.
RIDLEY, M. Evolution. Oxford: Blackwell Science Ltd, 2006. 752 p.
----
==== II.IV Links para o trabalho final ====
Para o trabalho final, resolvi seguir com o plano A. Como já explicado, a função tem como finalidade simular a deriva genética. Adicionalmente, fiz também uma função que simula as mudanças nas frequências alélicas por ação da seleção natural. Assim, como produto final, criei a função ''evol'' com a qual o usuário pode simular um modelo de deriva genética ou determinístico.
* Link para a página da minha função: [[.:Evolution]].
* Link para a página de ajuda da minha função: [[.:Help]].