\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\graphicspath{{media/}}
\date{\today}
\title{}
\author{}
\begin{document}



\section{\texorpdfstring{Jonathan W. Lawley}{Jonathan W Lawley}}
\label{sec:jonathan_w_lawley}


\raggedleft\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/jonathan.lawley/14732199_10207575090160039_6763033650787055289_n}


\textbf{Biólogo, Mestrando em Zoologia pelo Instituto de Biociências da Universidade de São Paulo}

Laboratório de Cultivo e Estudos de Cnidaria\\\\
Currículo Lattes: \url{http://lattes.cnpq.br/3208016919493506}\\
Contato: \href{mailto:jonathan.lawley@yahoo.com.br}{jonathan.lawley@yahoo.com.br} | \href{mailto:jwlawley@ib.usp.br}{jwlawley@ib.usp.br}

Trabalho com sistemática e biogeografia de \emph{Aurelia} (Cnidaria, Scyphozoa), comumente cultivadas em aquários ao redor do mundo. Mais especificamente, estudo a delimitação e distribuição das espécies deste gênero.

O título do meu projeto é: ,,A identidade da água-viva \emph{Aurelia} (Cnidaria, Scyphozoa) do litoral brasileiro e discussões sobre a sistemática do gênero", orientado pelo Prof. Dr. André C. Morandini.\\

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Meus Exercícios}{Meus Exercicios}}
\label{sec:meus_exercicios}


Clique para a acessar meus \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2018:alunos:trabalho_final:jonathan.lawley:exercicios}{exercícios} resolvidos

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Trabalho Final}{Trabalho Final}}
\label{sec:trabalho_final}


\subsubsection{\texorpdfstring{Plano A: Teste de isometria e correção de tamanho para dados morfométricos}{Plano A Teste de isometria e correao de tamanho para dados morfometricos}}
\label{sec:plano_a_teste_de_isometria_e_correao_de_tamanho_para_dados_morfometricos}


\paragraph{\texorpdfstring{Contextualização}{Contextualizaao}}
\label{sec:contextualizaao}


Para levar em consideração diferenças na forma, a morfologia deve ser caracterizada independente do tamanho. Sendo assim, ao comparar dados morfométricos pertencentes a indivíduos de diferentes tamanhos, deve haver uma correção para que todos estejam na mesma escala. Para tanto, há uma variável operacional de tamanho que serve de referência para a correção dos outros dados morfométricos medidos. Porém, a relação entre esta variável de referência e a(s) variável(is) resposta pode ser isométrica ou alométrica. Se a variação entre as duas for proporcional, seguindo a ordem de potência das variáveis medidas, a relação será isométrica, e se não, alométrica. Por exemplo, se medirmos dados de envergadura e altura de indivíduos, em centímetros, a relação entre eles será isométrica se o logaritmo desses dados plotados se adequarem a uma reta de inclinação 1/1, que são os expoentes das potências de centímetros. Em outro exemplo, se a relação fosse entre massa e altura, a inclinação da reta para isometria deveria ser 3/1, já que o expoente da potência do volume (massa) é 3. A correção dos dados se dá então pela fórmula demonstrada em Lleonart et al. (2000):

\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/jonathan.lawley/screen_shot_2018-05-04_at_09.07.10}


Nesta equação, \emph{Yi*} é a variável resposta corrigida do espécime \emph{i}, enquanto que \emph{Yi} é a variável resposta medida deste mesmo espécime. \emph{X0} representa a média da variável referência no conjunto de dados, e \emph{Xi}, o valor da variável referência para o espécime em questão. A inclinação da reta entre a variável resposta e referência medidas é representada por \emph{b}. Se a relação entre as variáveis for isométrica, \emph{b} será a inclinação da reta que segue a razão entre os expoentes das variáveis resposta e referência. Se a relação for alométrica, \emph{b} será a inclinação da reta obtida pelo modelo linear entre os dados. Sendo a relação alométrica ou isométrica, a variável referência transformada será a média da variável referência observada, pois removemos a variação de tamanho. Para mais detalhes e exemplos veja Colton (1999).

\paragraph{\texorpdfstring{Planejamento da função}{Planejamento da funao}}
\label{sec:planejamento_da_funao}


\textbf{Entrada:} isometry.test (\texttt{response}, \texttt{reference}, \texttt{specimen.id}, \texttt{expected.slope}, \texttt{alpha})
\begin{itemize}
  \item \texttt{response} = variável(is) resposta medida(s) (classe: numeric).
  \item \texttt{reference} = variável de referência para correção, geralmente a variável operacional de tamanho (classe: numeric).
  \item \texttt{specimen.id} = nome dos espécimes medidos (classe: character).
  \item \texttt{expected.slope} = inclinação da reta esperada para isometria (classe: numeric).
  \item \texttt{alpha} = nível de significância a ser utilizado, expresso como probabilidade (classe: numeric, 0 \textless  alpha \textless  1).
\end{itemize}


\textbf{Verificando os parâmetros:}
\begin{itemize}
  \item \texttt{response} está presente, não é um fator e é coercível para numérico? Se não, para e escreve: ,,response should be specified as a numeric vector containing the response measurement(s) for isometry test".
  \item \texttt{reference} está presente, não é um fator, é coercível para numérico e tem o mesmo número de espécimes que response? Se não, para e escreve: ,,reference should be specified as a numeric vector containing the reference measurements for isometry test".
  \item \texttt{specimen.id} está presente, é um caráter e tem o mesmo número de espécimes que \texttt{reference}? Se não, para e escreve ,,specimen.id should be specified as a character vector containing the names of specimens in data table". 
  \item \texttt{expected.slope} está presente, é numérico e corresponde ao número de variáveis resposta inseridas? Se não, 1 é atribuído a todas as variáveis resposta e escreve ,,expected.slope should be a concatenation of the ratios: power of response variable/power of the reference variable; herein default set to 1 for all".
  \item \texttt{alpha} está presente, é numérico e \textgreater  0 e \textless  1? Se não, 0.05 é atribuído a \texttt{alpha} e escreve ,,alpha should be numeric and \textgreater 0 or \textless 1; herein default set to 0.05".
\end{itemize}


\textbf{Pseudo-código:}
\begin{enumerate}
  \item Pede o nome da variável de referência e salva no objeto \texttt{ref.name} (para nomear os dados correspondentes na tabela final).
  \item Cria o objeto \texttt{result} com um \emph{data frame} de NAs de 1 linha e \texttt{response} colunas.
  \item Cria o objeto \texttt{result2} com uma matriz de NAs de \texttt{response} linhas e \texttt{response} + \texttt{reference} colunas.
  \item Atribui \texttt{reference} para a primeira coluna de \texttt{result2}.
  \item Se só há uma variável resposta, a função pede o nome dessa variável e salva no objeto \texttt{res.name} (para nomear os dados correspondentes na tabela final).
  \item Cria o objeto \texttt{response.all} com a matriz de \texttt{response}, pois \texttt{response} entrará no ciclo a seguir.
  \item Entra em um ciclo \texttt{for} com contador \texttt{k} de 1 até o comprimento de \texttt{response}.

  \begin{enumerate}
    \item Cria \texttt{response} como a coluna \texttt{k} de \texttt{response.all}.
    \item Atribui log(\texttt{response}) a \texttt{response}.
    \item Atribui log(\texttt{reference}) a \texttt{reference2}, para não sobrepor o \texttt{reference} criado antes do ciclo.
    \item Cria o objeto \texttt{response.m} com o modelo linear de \texttt{response} em função de \texttt{reference2}.
    \item Cria o objeto \texttt{f} com os valores da estatística \emph{F} de \texttt{response.m}.
    \item Cria o objeto \texttt{p} com o valor de \emph{p} associado ao valor de \emph{F} em \texttt{f}.
    \item Se \texttt{p} \textgreater  \texttt{alpha}, escreve ,,lm not significant" em \texttt{result[k]}.
    \item Se a condição acima não for atendida, segue normalmente como abaixo.
    \item Cria o objeto \texttt{slope} com a inclinação da reta em \texttt{response.m}.
    \item Cria o objeto \texttt{slope.se} com o erro padrão da inclinação da reta em \texttt{response.m}.
    \item Cria o objeto \texttt{tvalue} com o valor absoluto do \emph{t-test} para checar se \texttt{slope} é significativamente diferente de \texttt{expected.slope}.
    \item Cria o objeto \texttt{pvalue} com o valor de \emph{p} referente ao \texttt{tvalue} acima.
    \item Se \texttt{pvalue} \textgreater  \texttt{alpha}, escreve ,,Isometry" em \texttt{result[k]} e faz a correção isométrica como descrito na contextualização, e a coloca em \texttt{result2[,k+1]}.
    \item Se a condição acima não for atendida, escreve ,,Allometry" em \texttt{result[k]} e faz a correção alométrica como descrito na contextualização, e a coloca em \texttt{result2[,k+1]}.
    \item Para terminar o ciclo, atribui o nome da coluna \texttt{k} em \texttt{response.all} à coluna \texttt{k} de \texttt{response}.
  \end{enumerate}
  \item A primeira coluna de \texttt{result2} passa a ser a média de \texttt{reference}, que é a correção feita para a variável de referência.
  \item Atribui o nome da variável referência e da(s) variável(is) resposta ao nome das colunas de \texttt{result2}.
  \item Atribui \texttt{specimen.id} aos nomes das linhas de \texttt{result2}.
  \item Cria o objeto \texttt{all}, que é um array com uma lista, a qual contém \texttt{result} e \texttt{result2}.
\end{enumerate}


\textbf{Saída:}
\begin{itemize}
  \item Um array com dois itens:

  \begin{itemize}
    \item A primeira lista contém um \emph{data frame} com as variáveis resposta nas colunas, e a única linha indica se há uma relação de isometria ou alometria com a variável de referência;
    \item A segunda lista contém uma matriz com os dados transformados de acordo com a relação determinada no passo anterior. Dessa forma, contém as variáveis transformadas nas colunas (referência e resposta(s)) e os espécimes nas linhas.
  \end{itemize}
  \end{itemize}


\subsubsection{\texorpdfstring{Plano B: Composição nucleotídica de sequenciamentos de nova geração}{Plano B Composiao nucleotidica de sequenciamentos de nova geraao}}
\label{sec:plano_b_composiao_nucleotidica_de_sequenciamentos_de_nova_geraao}


\paragraph{\texorpdfstring{Contextualização}{Contextualizaao}}
\label{sec:contextualizaao2}


Com o advento de novas tecnologias e o crescimento exponencial na informação gerada por sequenciamentos, torna-se necessário um esforço tanto computacional quanto de programação para melhorar a eficiência da análise destes dados. Uma das informações importantes para serem extraídas de sequenciamentos, principalmente de sequenciamentos de nova geração (NGS), que muitas vezes involvem dados não só da estrutura do genoma como de expressão gênica, é a composição nucleotídica dos fragmentos obtidos. A proporção de A, T, G e C, assim como de AT em relação a GC, pode trazer informações importantes sobre o papel de alguns genes na determinação do viés de códons, sobre a eficiência na tradução de sequências codificantes (Halder et al., 2017), assim como outras informações sobre eficiência e calibragem dos próprios sequenciamentos (Dohm et al., 2008). 

\paragraph{\texorpdfstring{Planejamento da função}{Planejamento da funao}}
\label{sec:planejamento_da_funao2}


\textbf{Entrada:} nuc.prop (\texttt{filename}, \texttt{identifier})
      \begin{itemize}
  \item \texttt{filename} = nome do arquivo de entrada que se encontra no diretório de trabalho (classe: character).
  \item \texttt{identifier} = nome do identificador dos fragmentos sequenciados, que fica logo após o ,,@" no início da linha de cada fragmento (classe: character).
\end{itemize}


\textbf{Verificando os parâmetros:}
\begin{itemize}
  \item \texttt{filename} está presente, é um caráter e existe no diretório de trabalho? Se não, para e escreve: ,,filename should be a character and present in the current working directory".
  \item \texttt{identifier} está presente e é um caráter? Se não, para e escreve: ,,identifier should be a character that specifies the few letters and or numbers after the @, common to all fragments’ names".
\end{itemize}


\textbf{Pseudo-código:}
\begin{enumerate}
  \item Cria o objeto \texttt{seqfile}, que contém a leitura de linhas do arquivo texto de sequências \texttt{filename}.
  \item Cria o objeto \texttt{start}, que inclui o \texttt{identifier}.
  \item Cria o objeto \texttt{lines}, que faz a busca de padrões pelo \texttt{grep}, identificando o número das linhas que contém as sequências, as quais vem logo após a linha com o \texttt{identifier}.
  \item Cria o objeto \texttt{seqs} com \texttt{lines} NAs.
  \item Entra em um ciclo \texttt{for} com o contador \texttt{i} de 1 até o comprimento de \texttt{lines}.

  \begin{enumerate}
    \item Retira a linha \texttt{i} de \texttt{seqfile}, identificada por \texttt{lines} como as sequências de interesse, e atribui ao elemento \texttt{i} de \texttt{seqs}.
  \end{enumerate}
  \item Cria o objeto \texttt{unique}, que conterá as sequências não-ambíguas de \texttt{seqs}.
  \item Cria os objetos \texttt{ratios.A}, \texttt{ratios.T}, \texttt{ratios.G} e \texttt{ratios.C}, \texttt{unique} NAs.
  \item Entra em um ciclo \texttt{for} com o contador \texttt{k} de 2 até o comprimento de \texttt{unique} (começa de dois pois a primeira sequência de \texttt{unique} sempre é composta exclusivamente por Ns).

  \begin{enumerate}
    \item Cria o objeto \texttt{seqsplit}, que retorna a sequência \texttt{k} de \texttt{unique} com cada letra separada como um caráter.
    \item Utiliza o \texttt{grep} para identificar as posições em \texttt{seqsplit} em que se encontra um determinado nucleotídeo, e atribui a proporção deste nucleotídeo no fragmento a \texttt{ratios.X[k]} (\texttt{X} equivale a um determinado nucleotídeo).
  \end{enumerate}
  \item Inicia um dispositivo gráfico através de \texttt{x11()} e estabelece \texttt{par(mfrow=c(2,2))}.
  \item Para cada nucleotídeo, constroe o histograma  de \texttt{ratios.X} com \texttt{freq=F} e \texttt{ylim=c(0,10)}.
  \item Para cada histograma, coloca a linha vertical da média esperada em vermelho, e a linha vertical da média observada em azul, com \texttt{na.rm=TRUE} para o cálculo de \texttt{mean}.
  \item Retorna \texttt{par} para o \emph{default} (\texttt{par(mfrow=c(1,1))}).
  \item Cria o objeto \texttt{base.summary}, que consiste em uma lista com \texttt{summary(ratios.X)} para cada base, e também a proporção combinada AT e GC, somando a média de cada um para a combinação, usando \texttt{na.rm=TRUE} para o cálculo de \texttt{mean}. 
\end{enumerate}


\textbf{Saída:}
\begin{itemize}
  \item Quatro histogramas na mesma tela que contém a distribuição das frequências de cada uma das bases nucleotídicas (A, T, C e G) nos fragmentos. Para cada histograma, haverá uma linha vertical vermelha com a média esperada (distribuição homogênea das bases = 0.25 cada) e uma linha azul com a média encontrada.
  \item Uma lista dos \texttt{summary} das frequências de cada base no sequenciamento e também com a proporção combinada de AT e GC.
\end{itemize}


\subsubsection{\texorpdfstring{Referências}{Referencias}}
\label{sec:referencias}


\href{http://www.ableweb.org/volumes/vol-20/1-colton.pdf}{Colton, T. F. (1999). Size and Shape in Biology. Pages 1-44, in Tested studies
for laboratory teaching, Volume 20 (S. J. Karcher, Editor). Proceedings of the 20th Workshop/Conference of
the Association for Biology Laboratory Education (ABLE), 399 pages.}

\href{http://doi.org/10.1093/nar/gkn425}{Dohm, J. C., Lottaz, C., Borodina, T., \& Himmelbauer, H. (2008). Substantial biases in ultra-short read data sets from high-throughput DNA sequencing. Nucleic Acids Research, 36(16), e105.}

\href{http://doi.org/10.6026/97320630013046}{Halder, B., Malakar, A. K., \& Chakraborty, S. (2017). Nucleotide composition determines the role of translational efficiency in human genes. Bioinformation, 13(2), 46–53.}

\href{https://doi.org/10.1006/jtbi.2000.2043}{Lleonart J., Salat J., Torres G.J. (2000). Removing allometric effects of body size in
morphological analysis. Journal of Theoretical Biology, 205, 85-93.}

\begin{center}
\line(1,0){250}
\end{center}



\subsubsection{\texorpdfstring{Comentários Danilo}{Comentarios Danilo}}
\label{sec:comentarios_danilo}


Jonathan, seus pseudocódigos estão bem claros, mas, para mim, suas propostas parecem muito simples.

Se eu entendi bem, seu plano A basicamente roda um modelo linear e re-organiza os resultados em um formato útil para quem trabalha com morfometria. E o plano B conta ocorrências de bases e pares de bases, de forma que ficou parecendo uma espécie de table() vitaminado.

O ideal, na minha avaliação, seria você bolar uma terceira proposta (um plano C) que exija um algoritmo um pouco mais complexo. Se vc for bolar um plano C, eu sugiro incluir depois da contextualização uma frase resumindo o que a função faz (antes da especificação dos parâmetros).

Mas, se você não tiver nenhuma ideia, eu sugiro fazer o plano B, pois aparentemente ele pode ser um desafio mais interessante.

\emph{\href{mailto:gruingas@gmail.com}{Danilo}}

\begin{center}
\line(1,0){250}
\end{center}



\subsubsection{\texorpdfstring{Links para o trabalho final}{Links para o trabalho final}}
\label{sec:links_para_o_trabalho_final}


Para o trabalho final, resolvi seguir com o Plano A, pois achei que seria mais útil e mais desafiador, principalmente pelos vários fatores que encontrei que podem complicar a leitura de um data frame e das variáveis, da forma que o usuário deseja transformá-las. Como mencionei, a função checa se a relação entre cada variável resposta e a variável referência é isométrica ou alométrica, e faz a transformação destas variáveis de acordo com a relação, gerando uma tabela com os dados transformados. Nessa nova tabela, as diferenças de tamanho entre os espécimes analisados foram eliminadas, e portanto agora são comparáveis e podem ser submetidos a outras análises.

 * Link para a página da função: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2018:alunos:trabalho_final:jonathan.lawley:isometry.test}{.:isometry.test}

 * Link para a página de ajuda da função: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2018:alunos:trabalho_final:jonathan.lawley:help}{.:Help}

\end{document}
