• Nenhum resultado encontrado

Métodos de Codificação de Proteínas para Uso com Redes Neurais Artificiais

N/A
N/A
Protected

Academic year: 2021

Share "Métodos de Codificação de Proteínas para Uso com Redes Neurais Artificiais"

Copied!
5
0
0

Texto

(1)

Métodos de Codificação de Proteínas para Uso com Redes Neurais Artificiais

André Luis Debiaso Rossi1, Maria Angélica de Oliveira Camargo Brunetto2

1,2Departamento de Computação, Universidade Estadual de Londrina (UEL), Brasil

Resumo - A classificação de proteínas é uma tarefa que requer alto custo computacional. Diferentes métodos são utilizados para esta classificação, sendo um deles as Redes Neurais Artificiais. Para uso desta abordagem é necessário a codificação do alfabeto representando os aminoácidos em valores numéricos. Nesse contexto, esse trabalho tem como objetivo analisar dois diferentes métodos de codificação: usando uma função hashing denominada n-gram e outro usando uma escala de hidrofobicidade dos aminoácidos. Os métodos foram implementados e testados para várias proteínas do banco de dados PDB e pode-se observar que o método usando n-gram tem maior custo computacional, porém é o método que obteve melhores resultados na literatura e pode ser adaptado para diferentes valores de n a serem testados na tarefa de classificação.

Palavras-chave: codificação, classificação de proteínas, n-gram, hidrofobicidade.

Abstract - Protein classification is a task that requires high computational cost. Among the different ways to perform such classification, there are those based on Artificial Neural Networks. Using this approach requires codifying the alphabet that represents the amino acids in numerical values. In this context, this work aims to analyze two different codification methods: using a hashing function named n-gram and other using an amino acids hydrofobicity scale. The methods have been implemented and tested for several proteins from the PDB database and it was observed that the method using n-gram presents a higher computational cost, however it's the method which obtained better results in literature and can be adapted for different values of n to be tested on the classification task.

Key-words: codification, protein classification, n-gram, hydrofobicity.

Introdução

Os esforços despendidos no seqüenciamento de diversos organismos proporcionaram o surgimento, em ritmo acelerado, de enormes bancos de dados biológicos, principalmente de DNA, RNA e proteínas. Um fator importante no projeto genômico é a mineração desses dados para a obtenção de maiores informações sobre esses organismos. A bioinformática se tornou essencial no objetivo de manipular esses dados a fim de extrair conhecimento, tornando possível a criação de novos medicamentos e tratamentos de doenças genéticas [1], [2] e [3].

Em se tratando de proteínas, há nos bancos de dados públicos um enorme número de seqüências. Cada proteína é formada por seqüências de aminoácidos, sendo estes representados por um alfabeto composto de 20 letras [4].

Diversos modos de classificação estão sendo realizados para facilitar o entendimento e a análise destas proteínas, sendo as redes neurais artificiais

uma abordagem utilizada para esse propósito.

Dentre outras abordagens conhecidas podemos citar as ferramentas de alinhamento, como a BLAST (Basic Local Align Search Tool) [5], as cadeias ocultas de Markov (Hidden Markov Models - HMM) [6] e os algoritmos genéticos.

Alguns estudos realizados por Wu et al (1996) com redes neurais e programas clássicos utilizados em bioinformática, como é o caso do BLAST, obtiveram taxas de exatidão muito próximas, porém o desempenho das redes neurais é muito superior, devido ao fato do tempo de processamento não estar confinado ao tamanho das seqüências.

Para utilizar as redes neurais como abordagem de classificação de proteínas, é necessário realizar a codificação do alfabeto que representa os aminoácidos em valores numéricos, pelo fato das redes aceitarem apenas variáveis numéricas como dados de entrada.

Métodos de Codificação

O método de codificação constitui uma das

(2)

principais fases para que se obtenha alta taxa de exatidão e um melhor desempenho da rede neural durante o processo de classificação [8]. É possível observar através da literatura avanços na taxa de exatidão devido a diferenças no esquema de codificação utilizado.

As seqüências de aminoácidos podem ser interpretadas de diferentes formas, de acordo com um sentido biológico ou pela sua própria seqüência linear, e a partir dessa interpretação os dados são codificados. Nos trabalhos apresentados em [1] e [8], é utilizado um tipo de função hashing denominada n-gram nas seguintes interpretações das seqüências: a) grupo de troca; b) grupo estrutural; c) grupo de hidrofobicidade; além da seqüência linear de aminoácidos. Em Wu et al.

(1996) também é utilizado n-grams em motifs ( motivos ) de proteínas [7]. Os motivos ou simplesmente dobras, são arranjos particularmente estáveis de diversos elementos de estrutura secundária e das conexões entre eles [4].

O grupo de troca refere-se a aminoácidos que podem ser substituídos por outros aminoácidos sem alterar a estrutura protéica. O grupo estrutural refere-se a grupos de proteínas que mantém as mesmas similaridades estruturais e o grupo de hidrofobicidade indica as proteínas que mantém um grau de repulsão à água semelhantes.

Os n-grams possuem a vantagem de permitir que o tamanho da seqüência apresentada à rede não varie e torna possível a classificação baseada na localização de regiões de similaridade das proteínas [8].

Os n-grams de uma forma simples é uma maneira de representar uma cadeia longa de string em muitas substrings de tamanho n. Os n-grams, segundo Mahleko, Wombacher e Fankhauser (2005), são utilizados com os seguintes objetivos gerais: a) minimizar o tempo de processamento; b) garantir a não ocorrência dos falsos negativos; c) minimizar o número de falsos positivos. Essa função tem sido utilizada na indexação de textos, em particular para substring matching [9].

Utilizando-se, por exemplo, bigram (2-gram) para extração da string ABCDEFGHIJ, teríamos como resultado as seguintes substrings: AB, BC, CD, DE, EF, FG, GH, HI, IJ.

Um projeto para classificação de proteínas utilizando redes neurais está sendo desenvolvido no laboratório de pesquisa PROTEM do Departamento de Computação da Universidade Estadual de Londrina, que mantém grupos de pesquisa em informática na saúde. Esse projeto pode ser dividido de forma genérica em três etapas: a) pré- processamento dos dados de entrada; b) implementação, treinamento e teste da rede; c) pós- processamento dos resultados obtidos. Este artigo

descreve a primeira etapa, ou seja, o pré- processamento dos dados de entrada.

Metodologia

Inicialmente realizou-se um estudo da literatura de diversos métodos de codificação utilizados no processo de classificação de proteínas usando redes neurais. Serviram como base para a codificação das seqüências de aminoácidos os trabalhos de [1], [2] e [8], que utilizaram o método de extração n-gram ([1] e [8]) e a escala de hidrofobicidade ([1], [2] e [8]) para as seqüências de aminoácidos.

A implementação do processo de codificação utilizando n-grams pode ser dividido nas seguintes etapas:

1) Obtenção das seqüências de aminoácidos no formato FASTA (FAST-All);

2) Leitura dos arquivos FASTA e união das cadeias das seqüências;

3) Extração da seqüência e contagem de freqüência dos aminoácidos;

4) Montagem da matriz de entrada da rede, contendo todos os possíveis n-grams (para o n escolhido).

A etapa 1 consistiu em obter as seqüências de resíduos de aminoácidos por meio do repositório de proteínas do site PDB1 (Protein Data Bank).

Foram obtidas amostras de cinco diferentes grupos funcionais (hydrolase(o.g.), immunoglobulin, lyase, oxygen transport e toxin) e 100 proteínas de cada grupo funcional, perfazendo um total de 500 proteínas. Cada grupo constituiu um arquivo no formato FASTA. Um exemplo deste formato é mostrado na Figura 1.

Essa seqüência refere-se à proteína de identificação 1ABT no site PDB que é formada por duas cadeias, A e B, sendo a cadeia A formada por 74 aminoácidos e a cadeia B por 12 aminoácidos.

Para a realização da etapa 2 foi utilizada a linguagem de programação Java e a classe biojava2

1 http://www.rcsb.org.br/pdb 2 http://www.biojava.org

>1ABT:A|PDBID|CHAIN|SEQUENCE

IVCHTTATSPISAVTCPPGENLCYRKMWCDAFCS SRGKVVELGCAATCPSKKPYEEVTCCSTDKCNPH PKQRPG

>1ABT:B|PDBID|CHAIN|SEQUENCE KHWVYYTCCPDT

Figura 1 Arquivo FASTA da proteína de identificação 1ABT, extraída do banco de

dados PDB

(3)

para auxiliar no processo de leitura do arquivo FASTA. Esta classe provê um framework para processamento de dados biológicos para a linguagem Java, incluindo objetos para manipulação de seqüências biológicas, ferramentas para fazer GUIs3 para análise de seqüências, além de rotinas estatísticas e outras. As proteínas estavam separadas em cadeias de seqüência, como visto no exemplo de um trecho do arquivo FASTA mostrado anteriormente, que foram concatenadas formando apenas uma seqüência e posteriormente gravada em um novo arquivo com os resíduos de aminoácidos na forma abreviada, utilizando três letras para cada aminoácido.

A extração e contagem da freqüência usando 2-gram foi realizada por meio de um conjunto de programas em Perl denominado NSP4 (Ngram Statistics Package), que permite identificar n-grams em textos. O único programa utilizado desse conjunto foi o count.pl que já realiza a extração e a contagem de freqüência para o grau de extração especificado por parâmetro (2-gram, 3-gram, ..., n- gram). e gera um arquivo com os bigrams extraídos e a freqüência de cada um, no formato observado na Figura 2.

O programa em Perl foi executado diretamente do Scilab5, por meio de uma função do sistema denominada perl, própria para chamadas de programas desenvolvidos nessa linguagem.

Foi necessário que os dados produzidos pelo sistema em Java, que continha as seqüências de aminoácidos de todas as cadeias de uma determinada proteína, pudessem ser utilizados pelo sistema desenvolvido em Scilab. Para realizar o intercâmbio de dados, foi especificado um formato para arquivos texto, para que estes pudessem cumprir o papel.

Na etapa 4, uma matriz contendo as freqüências de bigrams das seqüências foi criada.

As freqüências foram convertidas para o intervalo

3 Guide User Interface

4 http://www.d.umn.edu/~tpederse/nsp.html

5 Pacote de software científico para computação numérica.

http://www.scilab.org/

[0; 1], sendo que o bigram de maior freqüência recebeu o valor 1 e as demais ficaram em razão da maior. Os bigrams que não apareciam na seqüência tiveram suas freqüências atribuídas como zero.

Sendo o alfabeto dos aminoácidos constituído por 20 letras, utilizando-se a codificação bigram, obtém-se 400 substrings. De forma genérica o total de padrões é dado por mn, onde m é o número de letras diferentes do alfabeto e n é o grau de extração escolhido (2-gram, 3-gram,..., n-gram) [8].

O diagrama mostrado na Figura 3 apresenta sinteticamente as etapas 2, 3 e 4 que foram aplicadas neste método.

O segundo método é a codificação utilizando a escala de hidrofobicidade elaborada por Kyte e Doolittle (1982), também denominada escala KD, que foi utilizada em Weinert e Lopes (2003) para codificar os 20 aminoácidos em uma representação numérica, conforme a Tabela 1.

Tabela 1 Valores reais atribuídos a cada aminoácido conforme escala de hidrofobicidade Aminoácido Escala KD Valor Real Categoria

I +4,5 0,05 Hidrofóbico

V +4,2 0,10 Hidrofóbico

L +3,8 0,15 Hidrofóbico

F +2,8 0,20 Hidrofóbico

C +2,5 0,25 Hidrofóbico

M +1,9 0,30 Hidrofóbico

A +1,8 0,35 Hidrofóbico

G -0,4 0,40 Neutro

T -0,7 0,45 Neutro

S -0,8 0,50 Neutro

W -0,9 0,55 Neutro

Y -1,3 0,60 Neutro

P -1,6 0,65 Neutro

H -3,2 0,70 Hidrofílico

Q -3,5 0,75 Hidrofílico

N -3,5 0,80 Hidrofílico

E -3,5 0,85 Hidrofílico

D -3,5 0,90 Hidrofílico

K -3,9 0,95 Hidrofílico

R -4,0 1,00 Hidrofílico

total de bigrams

bigrams dos aminoácidos freqüência do bigram

freqüência do 1º aminoácido

freqüência do 2º aminoácido

85

THR<>CYS<>4 8 12 CYS<>PRO<>3 12 9 CYS<>SER<>2 12 6 VAL<>THR<>2 6 9

Figura 2 Formato do arquivo gerado pelo count.pl

Arquivo

FASTA Leitura e

concatenação

Arquivos Texto

Contagem Freqüência Arquivos

Texto Montagem

Matriz

Figura 3 - Diagrama das etapas de codificação usando n-gram

(4)

Como cada proteína possui um número variado de aminoácidos em sua seqüência e não foi utilizado nenhum método de contagem de freqüências, como os n-grams, fez-se necessário a divisão das seqüências de proteínas em subconjuntos.

Seja k um número determinado de aminoácidos presentes em cada subconjunto, e t o número de aminoácidos que constituem a proteína, o número de subconjuntos necessários para uma proteína é dado pela equação (1).

k

n t (1)

Assim o número máximo de subconjuntos será dado pela proteína constituída pelo maior número de aminoácidos. Se a equação (1) não resultar em um número inteiro, deve-se desprezar a parte fracionária, ignorando assim uma parte dos aminoácidos.

Cada rede neural necessária para treinar esse conjunto de dados deverá ser constituída por k entradas, e o número de redes necessárias é determinado pelo maior valor de n encontrado.

Em todo o processo de codificação foi utilizada apenas a linguagem Java e a classe biojava. O mesmo conjunto de proteínas e conseqüentemente os mesmos arquivos FASTA do método de codificação anterior foram utilizados.

A Figura 4 mostra o diagrama das etapas de codificação para este método.

Resultados

Os métodos de codificação utilizando n-grams e a escala de hidrofobicidade dos aminoácidos foram implementados e testados com as amostras de proteínas obtidas do site PDB. Destes testes foram extraídos os tempos (em segundos) necessários para o processamento. Os resultados estão separados por classes funcionais das proteínas e podem ser observados na Tabela 2.

Os dados de saída gerados pelo sistema são conjuntos de números reais que representam de forma numérica o alfabeto dos aminoácidos presentes nas proteínas. Esses dados serão utilizados como entrada para as fases de treinamento e teste das redes neurais artificiais, que realizarão a classificação de proteínas utilizando essas informações.

Tabela 2 - Tempo de processamento para os diferentes métodos de codificação implementados Classe funcional n-gram Hidrofobicidade

Hydrolase 164.0 6.0

Lyase 231.0 16.5

Oxygen-Transport 167.0 8.0

Toxin 127.5 8.0

Immunoglobulin 160.0 10.0

Total 849.5 48.5

A grande diferença de tempo entre os métodos propostos pode ser justificada principalmente pelo fato de que o método que utiliza n-grams necessita de uma etapa para montagem das matrizes de entrada. Para cada proteína é feito um produto cartesiano entre a matriz contendo as 400 combinações possíveis do alfabeto dos aminoácidos utilizando 2-gram com a quantidade de bigrams encontrados em cada proteína.

Discussão e Conclusões

Antes de utilizar as redes neurais como forma de solução é necessário realizar uma abstração do problema em questão. Para a utilização no processo de classificação de proteínas há diversas formas de realizar a interpretação das proteínas para que dados em formato apropriado possam ser passados como entrada para a rede. Esses dados podem ser a seqüência linear de aminoácidos, uma determinada interpretação biológica ou por meio de um esquema de codificação híbrido como, por exemplo, utilizando os motivos das proteínas juntamente com sua seqüência linear em n-grams.

Para se obter uma boa taxa de exatidão na classificação de proteínas é necessário conseguir extrair características que contenham informações importantes para o processamento da rede, de forma que esta consiga aprender a realizar o mapeamento entre os dados de entrada e saída.

Como dito anteriormente a fase de codificação constitui uma das principais etapas para alcançar sucesso na aprendizagem da rede neural.

1. Artigos em Revistas e Anais e Capítulos de Livros

Wu, C.H., Ermongkonchai, A., Chang, T.C. (1991), Protein classification using a neural network database system , In: ANNA 91: Proceedings of the conference on Analysis of neural network applications, New York: ACM Press, p. 29 41.

Weinert, W. R., Lopes, H. S. (2003). Aplicação de um sistema neural ao problema de

Arquivo

FASTA Leitura e concatenação

Codificação utilizando a escala de hidrofobicidade

Arquivos Texto

Figura 4 - Diagrama da codificação utilizando a escala de hidrofobicidade

(5)

classificação de proteínas , In: Anais do VI Congresso Brasileiro de Redes Neurais, São Paulo. v. 1, p. 85 90.

Cohen, J. (2004), Bioinformatics-An introduction for computer scientists , ACM Comput. Surv., New York: ACM Press, v. 36, n. 2, p. 122-158.

Nelson, D.L., Cox, M.M. (2002), Aminoácidos, Peptídeos e Proteínas , In: Lehninger Princípios de Bioquímica. 3a. ed. São Paulo:

Sarvier, p. 89-122.

Altschul, S.F., Gish, W., Miller, W., Myers, E.W. &

Lipman, D.J. (1990) Basic local alignment search tool. J. Mol. Biol., v. 215 p.:403-410.

Eddy, S.R. (1998) Profile hidden Markov models.

Bioinformatics, v. 14, no.9, p. 755-763.

Wu, C. H., Zhap, S., Chen, H. L., Lo, C. J., and McLarty, J. (1996). Motif identification neural design for rapid and sensitive protein family search. CABIOS, v. 12, p. 109--118.

Wu, C., Whitson, G., Mclarty, J., Ermongkonchai, A., Chang, T. C. (1992), Protein classification artificial neural system . Protein Science, v. I, p. 667 677.

Mahleko, B., Wombacher, A., Fankhauser, P. (2005), Process-annotated Service Discovery facilitated by an n-gram based index , In: IEEE Intl. Confernce on e-Technology, e-Commerce and e-Service, Washington: IEEE Computer Society, p. 2-8.

Kyte, J., Doolittle, R. (1982), A simple method for displaying the hydropathic character of proteins , Journal of Molecular Biology, 157, p.105-132.

Contatos

Professora Dra. Maria Angélica de Oliveira Camargo Brunetto é professora do curso de Ciência da Computação da Universidade Estadual de Londrina e coordenadora do laboratório PROTEM. E-mail para contato: angelica@uel.br. Telefone de contato:

(43) 3371 4605.

André Luis Debiaso Rossi é graduando do quarto ano de Ciência da Computação da Universidade Estadual de Londrina. E-mail para contato:

andrerossidc@yahoo.com.br. Telefone de contato:

(43) 9134-2857.

Referências

Documentos relacionados

Com intuito, de oferecer os gestores informações precisas atualizadas e pré-formatas sobre os custos que auxiliem nas tomadas de decisões corretas, nos diversos

 Ambulância da marca Ford (viatura nº8), de matrícula XJ-23-45, dotada com sirene, luz rotativa e equipamento de comunicação (Emissor/Receptor com adaptador);.  Ambulância da

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

 Random storage - refere-se à alocação de um espaço de stock de forma aleatória, segundo o espaço disponível no momento de chegada dos produtos (Petersen e Aase,