• Nenhum resultado encontrado

3.1 Descrição da Abordagem Proposta

3.1.1 Pré-processamento

O primeiro pré-processamento aplicado é a verificação de sequências repetidas entre as bases de dados que irão ser utilizadas na criação dos conjuntos de treino e teste. A presença de sequências repetidas nos conjuntos pode influenciar negativamente os algoritmos de aprendizado de máquina no processo de treinamento. Estas sequências podem adicionar viés para os padrões das mesmas e quando estas sequências possuem rótulos diferentes irão confundir os algoritmos no treinamento, pois aprendem os padrões da sequência como sendo de uma classe e durante o teste o algoritmo espera outro rótulo. Esta etapa é denominada como Remoção de Repetições na Figura 11 que apresenta o fluxo de trabalho da abordagem proposta.

Sequências de DNA possuem sequências reversas e complementares que se localizam na fita complementar. Devido a isto, as sequências reversas e complementares de todas as sequências dos conjuntos de treino utilizados são inseridas nos mesmos, para permitir que o método seja capaz de classificar corretamente mesmo se a sequência de entrada for uma sequência reversa. Este processo está definido como Complemento Reverso na Figura 11.

Figura 11 – Pipeline do TERL. As entradas consistem de conjuntos de sequências de treino e teste. A primeira etapa de pré-processamento remove sequências duplicadas para manter a integridade dos conjuntos quanto à dados duplicados. A segunda etapa inseri os complementos reversos das sequências dos conjuntos de treino. A terceira etapa muda todos os símbolos minúsculos para maiúsculos e muda qualquer símbolo que não esteja no conjunto {A, C, G, T, N } para N . A quarta etapa realiza a inserção do sinal de padding (símbolo “_”) nas sequências para deixar todas as sequências com o mesmo comprimento da sequência mais longa dos conjuntos. A quinta etapa consiste na aplicação da transformação das sequências em uma representação 2D gerando uma imagem. A sexta e última etapa aplica as sequências, após esta transformação, na CNN para treinamento e teste e fornece a classificação das sequências de teste e o modelo treinado a partir das sequências do conjunto de treinamento.

As sequências também são pré-processadas de modo a modificar todos os símbolos representados por letras minúsculas para letras maiúsculas e qualquer símbolo que não pertença ao conjunto A, C, G, T, N é substituído pelo símbolo N , pois estes sinais diferentes já representam dados incertos. Isto faz com que a altura dos vetores gerados pela transformação aplicada (ver Figura 12) fique fixa em 6 linhas. Nesta abordagem todo dado incerto (com relação à sequência) é tratado com igual valor e recebe o símbolo N . Esta etapa é denominada Filtro de Símbolos na Figura 11.

As sequências podem possuir comprimentos diferentes e os algoritmos de aprendizado profundo necessitam que os dados de entrada possuam as mesmas dimensões. Na abordagem proposta, esta restrição é atendida adicionando caracteres do símbolo underline (“_”) nas sequências até que o comprimento destas seja igual ao da sequência mais longa. Isto é feito para evitar ruídos na ocorrência de outros símbolos. Estes símbolos são adicionados ao final das sequências. Esta etapa é denominada Padding no fluxo de trabalho apresentado na Figura

Figura 12 – Transformação numérica das sequências 1D para 2D. Os nucleotídeos adenina, citosina, guanina e timina são representados pelos caracteres A, C, G e T respectivamente. O caractere N representa imprecisão na leitura do nucleotídeo durante o sequenciamento. O símbolo (“_”) representa um sinal para indicar

padding. Cada símbolo da sequência produz valor 1 na linha que representa o

respectivo símbolo e as demais linhas são preenchidas com sinal 0.

Fonte: Autoria própria

Redes neurais normalmente necessitam que os dados de entrada sejam dados numéricos e normalizados. Sequências de DNA são basicamente compostas por quatro nucleotídeos, cuja codificação nas sequências de DNA é A, C, G e T respectivamente. Além dos quatro nucleotídeos é possível que algumas sequências contenham outros símbolos, como o N, que representa qualquer base, sendo geralmente emitido por leitura indefinida de determinados nucleotídeos de uma sequência no processo de sequenciamento.

CNNs são comumente empregadas em tarefas de classificação de dados de duas dimensões ou mais, como por exemplo na classificação de imagens médicas. Para aplicar CNNs em sequências de DNA, uma abordagem possível é aplicar uma transformação nos dados 1D das sequências (i.e. sequência de nucleotídeos) para mudar a dimensão para 2D.

As sequências 1D de nucleotídeos são transformadas em um vetor 2D, formando uma espécie de imagem da sequência análoga a um código de barras da sequência. Estes vetores são compostos por uma quantidade n + 1 de linhas, onde n representa a quantidade de símbolos no vocabulário observado nas sequências. Dessa forma, para um conjunto de sequências que apresentam os símbolos A, C, G, T, N , a transformação 2D irá resultar em um vetor com 6 linhas, sendo 5 linhas referentes à cada um dos símbolos do vocabulário e uma linha referente ao sinal de padding. Esta etapa é denominada Transformação na Figura 11.

Cada coluna do vetor gerado na transformação 2D representa um nucleotídeo da sequência. A linha com índice igual ao índice no vocabulário do símbolo representado na coluna é preenchida com o valor 1 e as demais linhas recebem o valor 0. Um exemplo desta transformação pode ser observado na Figura 12.

!h

Figura 13 – Representação na forma de imagem da transformação numérica das sequências 1D para 2D. Os nucleotídeos adenina, citosina, guanina e timina são representados pelos caracteres A, C, G e T respectivamente. O caractere N representa imprecisão na leitura do nucleotídeo durante o sequenciamento. O símbolo (“_”) representa um sinal para indicar padding. Unidades brancas representam pixels com alta intensidade e unidades pretas representam pixels com baixa intensidade.

Fonte: Autoria própria

sequências de nucleotídeos em imagens. Neste caso, as unidades que possuem valor 1 são análogas a pixels de intensidade alta (branco) e as que possuem valor 0 a pixels de baixa intensidade (preto). Uma representação na forma de imagem é exibida na Figura 13.

Após a aplicação de todos os pré-processamentos, as imagens que representam cada sequência são aplicadas na CNN para treinamento e teste. Qualquer arquitetura de CNN pode ser utilizada na abordagem proposta, desde que a primeira camada convolucional possua filtros que atendam as restrições dos vetores one-hot, sendo a altura da máscara de convolução com altura fixa de 6 unidades e a largura aliada ao tipo de padding da operação e stride sejam compatíveis com o comprimento dos vetores one-hot.

O padding da operação de convolução é o padding que é aplicado quando a máscara de convolução é aplicada nas extremidades dos dados de entrada. Este padding geralmente pode ser definido de modo rígido, em que a última aplicação da máscara no dado de entrada não ultrapasse os limites do comprimento das sequências. Outro tipo de padding possível permite a inserção de valores 0 nas extremidades para que a aplicação da última máscara seja possível. Isso possibilita a exploração de diversas técnicas e arquiteturas.