Comparação e alinhamento de sequências
Comparar sequências A comparação de sequências de proteínas ou DNA/RNA é uma ferramenta essencial na procura da existência de relações de semelhança entre o todo ou parte dessas sequências, e na avaliação da sua proximidade Alinhamento e comparação são problemas que podem ser expressos de forma matemática e para os quais existem algoritmos robustos ; No entanto: A parametrização do problema deverá reflectir o nosso conhecimento biológico (Escolha das funções de score, gap penalties e outros parâmetros que afectam as soluções oferecidas pelos algoritmos
Comparar sequências não é trivial (a) Sequências muito aparentadas (b) Sequências aparentadas (c) Sequências NÃO aparentadas
Homologia vs. semelhança Os termos homologia, semelhança e identidade têm significados distintos no contexto da análise de sequências biológicas: Homologia: descreve um parentesco evolutivo entre duas sequências que poderão corresponder a proteínas de funções homologas em diferentes organismos (exemplo: citocromo c humano e citocromo c bovino). Semelhança: descreve o grau de parecença entre duas sequências, independentemente do seu contexto ou significado biológico. É quantificada através de um método matemático de alinhamento e depende da escolha do scoring scheme. Identidade: fala-se normalmente em percentagem de identidade entre duas sequências, sendo definida como a razão entre o número total de resíduos idênticos e o número total de resíduos do alinhamento.
Comparar sequências: dot plots Um dot plot é um modo de comparação de duas sequências baseado na construção de uma matriz de N linhas e M colunas, em que N e M são os comprimentos das duas sequências a comparar. Sequência 2 Sequência 1
Exemplo de dot plot Identidade das duas sequências
window size (11) Uma linha de pontos indica regiões similares Esquema de scoring (1 p/ posições iguais, 0 p/ posições diferentes) a 1+1+1+1+1+1+0+1+0+1+1=9 A T G C A 1 0 0 0 T 0 1 0 0 G 0 0 1 0 C 0 0 0 1 ACCTGCCGATTCCATATTACGCATGCTTCTGGGTTACCGTTCAGGGCATTTTACATGTGCTG ATGCTTCTGGG ACCTGCCCTGTCCAGCTTACATGCATGCTTATAGGGGCATTTTACATATGCTTATAGG
Comparações usando dot plots Detecção de correspondências exactas entre regiões 1) Escolher um esquema de score A T G C A 1 0 0 0 T 0 1 0 0 G 0 0 1 0 C 0 0 0 1 e um tamanho de janela Para cada par de janelas, calcular o score usando a matriz, e no caso do score máximo (11) ser atingido: ATGCTTATAGG a ATGCTTATAGG 1+1+1+1+1+1+1+1+1+1+1=11 1+1+1+1+1+1+0+1+0+1+1=9 X ATGCTTCTGGG Marcar um ponto Não marcar um ponto ATGCTTCTGGG Neste caso o score de cut-off usado foi 11, mas podia ser um valor mais baixo
Uso de dot plots para detecção de regiões repetidas numa sequência
Uso de dot plots para detecção de regiões repetidas numa sequência
Problema da comparação de strings Consideremos as duas sequências de caracteres: GAATTCAGTTA GGATCGA Pretendemos alinha-las de modo a obter um score máximo na comparação
O que se entende por alinhar? Alinhar é estabelecer uma correspondência entre as duas sequências, o que pode ser feito inserindo espaços: GAATTCAGTTA GGATCGA G-GATCGA G--GATCGA G-G--ATCGA G-G--AT--CGA
O que se entende por score? Um score é um número que é associado a cada alinhamento possível, e que pode ser definido de várias maneiras Exemplo: associar um valor de 1 a cada posição idêntica nas duas sequências, e 0 a posições diferentes A T G C GAATTCAGTTA G-G-ATCGA GGATCGA G-GATCGA G-G--AT--CGA GGA-TC-G--A Score=2 Score=4 Score=3 Score=1 Score=6 A 1 0 0 0 T 0 1 0 0 G 0 0 1 0 C 0 0 0 1 Alinhamento Matriz de score
Como achar o score máximo? Podíamos tentar experimentar TODOS alinhamentos possíveis, e escolher aquele que produzisse o score máximo?... NÃO! Para o caso apresentado, existem cerca de 2 20 alinhamentos, o que é mais de UM MILHÃO de possibilidades! Para duas sequências de 250 caracteres temos cerca de 10 149 alinhamentos, um número computacionalmente inatingível! Felizmente existem algoritmos que permitem achar o alinhamento óptimo, ou seja aquela que maximiza o score, sem ter que pesquisar exaustivamente todos os alinhamentos possíveis
Alinhamento global vs. local Alinhamento global: as sequências A e B são comparadas na totalidade do seu comprimento, sendo as diferenças de comprimento da sequência compensadas com gaps (inserções) Alinhamento local: consiste na identificação de regiões isoladas de elevada similaridade entre as duas sequências, independentemente do seu contexto.
Algoritmo de Needleman-Wunsch Needleman, S.B & Wunsch, C.D (1970) J.Mol.Biol. 48:443 É um algoritmo de programação dinâmica capaz de encontrar o alinhamento global óptimo de duas sequências Como ponto de partida necessitamos apenas de uma matriz com o score de alinhamento para cada par de aminoácidos (ou bases) e uma gap penalty (score de penalização para criação de um espaço na sequência) Este algoritmo fornece apenas o alinhamento óptimo, não permitindo identificar outros alinhamentos com scores próximos do óptimo e que poderão ser biologicamente relevantes (alinhamentos sub-optimais).
Algoritmo de Needleman-Wunsch Exemplo: pretende-se alinhar as sequências GVTAH eavtli A matriz de score usada vai ser a BLOSUM62 A inserção de um gap no alinhamento tem um score negativo, -1 Matriz Blosum 52
Algoritmo de Needleman-Wunsch 1) Construção da matriz de alinhamento d G V T A H d A V T L I
Algoritmo de Needleman-Wunsch 2) Inserção dos valores da gap penalty d G V T A H d 0-1 -2-3 -4-5 A -1 V -2 T -3 L -4 I -5 Neste caso a gap penalty tem valor -1
Algoritmo de Needleman-Wunsch 3) Preenchimento da tabela, da esquerda para a direita e de cima para baixo, de acordo com seguinte regra: H ( i 1, j 1) (, 1) H i j H ( i 1, j ) (, ) H i j H ( i 1, j 1) + S ( i, j ) H ( i, j ) = max H ( i 1, j ) + S (, i ) H ( i, j 1) + S ( i, ) S(i,j) é o score da matriz de score (BLOSUM 52 neste caso), e S(-,j) e S(i, -) scores para inserção de um gap horizonal ou vertical d G V T A H d 0-1 -2-3 -4-5 G V T A H A 0 0 0 5-2 V -4 5 0 0-4 A -1 0-1 -2 2 1 V -2-1 5 4 3 2 T -3-2 4 10 9 8 L -4-3 3 9 8 7 I -5-4 2 8 8 7 T -2 0 5 0-2 L -4 1-1 -2-3 I -4 4-1 -1-4 Scores da matrix Blosum 50 Cada célula mantém a informação da proveniência do valor anterior (setas)
Algoritmo de Needleman-Wunsch 4) Traçar o caminho desde o canto inferior direito, seguindo as setas. Cada movimento horizontal ou vertical corresponde a uma gap na sequência respectiva. d G V T A H d 0-1 -2-3 -4-5 A -1 0-1 -2 2 1 V -2-1 5 4 3 2 T -3-2 4 10 9 8 L -4-3 3 9 8 7 I -5-4 2 8 8 7 G V T A H A V T L I Score: 7 Alinhamento óptimo
Alinhamento local: algoritmo de Smith-Waterman Smith, T.F. & Waterman, M.S (1981) J.Mol.Biol. 147:195-197 O algoritmo de Smith-Waterman é uma versão modificada de N-W que permite encontrar o alinhamento local óptimo entre duas sequências. 0 H ( i 1, j 1) + S ( i, j ) H ( i, j ) = max H ( i 1, j ) + S (, i ) H ( i, j 1) + S ( i, ) Se o valor calculado partir das células anteriores for <0, é substituído pelo valor zero e o alinhamento termina nesse ponto. O alinhamento local inicia-se na célula de valor mais alto da matriz de alinhamento.
Alinhamento local: algoritmo de Smith-Waterman Para que este algoritmo funcione, é necessário que o score esperado para um alinhamento aleatório seja negativo, e que existam valores positivos na matriz de comparação
Importância do alinhamento local Muitas proteínas apresentam uma estrutura modular, tendo regiões com proveniências evolutivas distintas e relacionadas com diferentes famílias. A comparação local de duas sequências permite mais facilmente reconhecer estas regiões, mesmo quando na sua globalidade as sequências são largamente discrepantes. Exemplo:
Matrizes de score As matrizes de score, ou matrizes de substituição, permitem obter um score para cada par de aminoácidos comparados. Os valores destas matrizes reflectem as diferentes tendências que os aminoácidos têm de ser substituídos por outros. Existem diferentes tipos de matrizes de score, baseados em diferentes análises e diferentes pressupostos sobre os mecanismos de substituição O processo de inserção (criação de gaps) é geralmente tratado separadamente. Os dois tipos de matrizes mais usados são: Matrizes PAM: baseadas na comparação, por alinhamento global, de famílias de sequências muito próximas Matrizes BLOSUM: baseadas no alinhamento de regiões de elevada similaridade (blocos) entre diferentes grupos de proteínas.
Matrizes PAM Matriz PAM 256 As matrizes PAM são geradas a partir das frequências de substituição para sequências muito próximas (%id > 85%) e depois extrapoladas para sequências mais distantes Assume-se que a probabilidade de substituição numa posição é independentes das substituições anteriores e dos resíduos circundantes As matrizes PAM deverão ser escolhidas de acordo com o grau de proximidade esperado entre as sequências. Exemplo: PAM400 - para sequências distantes PAM10 - para sequências próximas 1 PAM = 1 Point Accepted Mutation per 100 aminoacids PAM250 20% de identidade entre as sequências
XXXXXXXXXXXXXAXXXXXXXXXXXXXX Score=1 XXXXXXXXXXXXXGXXXXXXXXXXXXXX Score=0 XXXXXXXXXXXXXEXXXXXXXXXXXXXX Tempo XXXXXXXXXXXXXAXXXXXXXXXXXXXX Pouco provável Score=-6 XXXXXXXXXXXXXWXXXXXXXXXXXXXX Reversão
% de identidade mínima para conseguir produzir um alinhamento Distância PAM versus % de identidade % identidade Unidades PAM 99 1 95 5 90 11 85 17 80 23 75 30 70 38 66 47 60 56 55 67 50 80 45 94 40 112 35 133 30 159 25 195 20 246 15 328
Matrizes BLOSUM Matriz BLOSUM62 As matrizes BLOSUM são construídas a partir da alinhamentos locais sem gaps de regiões de elevada similaridade Estes alinhamentos (blocos) estão organizados numa base de dados chamada BLOCKS O número da matriz BLOSUM indica qual a percentagem de identidade mínima usada para distinguir sequências dentro de um grupo Quanto mais baixo o valor, maior a diversidade incorporada na criação da matriz Exemplo: BLOSUM90 - para sequências próximas BLOSUM20 - para sequências afastadas
Exemplo de entrada na base de dados BLOCKS http://blocks.fhcrc.org/
PAM40 PAM160 PAM250 Matriz BLOSUM90 BLOSUM80 BLOSUM62 BLOSUM30 Utilização Alinhamentos curtos, elevada similaridade Detecção de membros de uma família Alinhamentos de sequências distantes Alinhamentos curtos, elevada similaridade Detecção de membros de uma família Eficaz na detecção de possíveis similaridades Alinhamentos longos, sequências distantes % identidade 70-90 50-60 ~20-30 70-90 50-60 30-40 <30 Baxevanis,A.&Ouelette Bioinformatics: a practical guide to analysis of genes and proteins (3rd Edition), Wiley & Sons Inc., 2005
Matrizes de probabilidades de transição para nucleótidos Transições: A G, C T Transversões: A T, G T A C, G C Frequências de mutação uniformes (1 PAM) Transições mais frequentes (3x) que transversões A T G C A T G C A 0.99 A 0.99 T 0.0033 0.99 T 0.0020 0.99 G 0.0033 0.0033 0.99 G 0.0060 0.0020 0.99 C 0.0033 0.0033 0.0033 0.99 C 0.0020 0.0060 0.0020 0.99
Matrizes de score para nucleótidos (log odds) S ij = log(p i M ij / p i p j ) S ij = log odds score M ij = score da matriz de transição p i, p j = probabilidades de ocorrência dos nucleótidos Frequências de mutação uniformes (1 PAM) A T G C A 2 T -6 2 G -6-6 2 C -6-6 -6 2 Transições mais frequentes (3x) que transversões A T G C A 2 T -5 2 G -7-7 2 C -7-7 -5 2
Gap penalties A produção de gaps durante um alinhamento de sequências tem que ser penalizada com um score negativo, caso contrário observar-se-ia um número elevado de inserções sem qualquer significado biológico. Existem diferentes esquemas de gap penalty: Constante: o tipo mais simples, consistem a atribuir uma penalização constante cada vez que é criado um gap num alinhamento Linear: a penalização é proporcional ao comprimento total dos gaps criados no alinhamento, não dependendo do seu número Afim (affine gap penalties): as penalizações possuem um termo constante para cada gap criado, e um termo proporcional ao comprimento do gap criado.
Affine gap penalties Uma representação mais realista do processo de evolução das proteínas deveria penalizar de modo diferente a criação e a extensão de um gap. Para entender este facto, devemos considerar que os alinhamentos entre sequências tem tendência a conter poucos gaps, mas quase sempre com vários resíduos de comprimento. Se atribuirmos uma penalidade c para a criação de um gap e uma penalidade e para a sua extensão, temos: gp = c + n x e, em que n é o comprimento do gap. Não existe uma teoria rigorosa para a escolha de valores para este parâmetros! Valores usuais: c = -10, e = -2 (FASTA) c = -5-10, e = -1, -2 (BLAST) c = -12, -2 (Smith-Waterman) O valor óptimo das gap penalties depende da matriz de score usada! Reese, JT & Pearson, WR (2002) Bioinformatics, 18:1500-1507
Alinhamentos sup-óptimos: o programa LALIGN f9 3 2 1 f12 Neste caso o alinhamento 1 é o alinhamento local óptimo, e os alinhamentos 2 e 3 são alinhamentos subóptimos identificados pelo programa LALIGN Muitas vezes a análise de alinhamentos sub-óptimos permite a identificação de regiões de similaridade entre duas sequências, não imediatamente reconhecíveis num alinhamento óptimo http://www.ch.embnet.org/software/lalign_form.html
Alinhamento múltiplo de sequências
Importância do alinhamento múltiplo de sequências Os alinhamentos múltiplos de sequências são uma ferramenta central para a inferência da função das proteínas por comparação das suas sequências Os alinhamentos múltiplos são o ponto de partida para a previsão da estrutura secundária e identificação dos resíduos importantes para a especificidade Os alinhamentos múltiplos são a base dos métodos de pesquisa de sequências mais sensíveis de que dispomos (ex.: PSI-Blast) Os alinhamentos múltiplos são ainda o ponto de partida para a construção de árvores filogenéticas e determinação das relações evolutivas entre organismos Os alinhamentos múltiplos são uma forma conveniente de anotar as características estruturais e funcionais comuns a uma família de proteinas.
O alinhamento múltiplo aumenta a precisão do alinhamento simples Comparação da precisão de alinhaments de pares de sequências quando produzidos de forma isolada ou fazendo parte de um alinhamento múltiplo. Pode ver-se que na maior dos casos a precisão obtida com o alinhamento múltiplo é superior (valores acima da diagonal). (A precisão é avaliada através da comparação com alinhamentos estruturais) Precisão do alinhhamento múltiplo (%) Precisão do alinhhamento simples (%)
Alinhamento múltiplo de sequências. O que é? Um alinhamento múltiplo de sequências é simplesmente uma extensão do alinhamento de pares de sequências para um conjunto igual ou superior a 3 É o estabelecimento de correspondências entre resíduos de diferentes sequências A determinação do alinhamento múltiplo óptimo de um conjunto de sequências não é um problema trivial e só pode ser resolvido para um pequeno número de sequências A geração de alinhamentos múltiplos é normalmente feita com recurso a métodos heurísticos que não garantem a solução óptima
Exemplo de alinhamento múltiplo Alinhamento de membros da família das proteínas ribossomais L10P de diversos organismos
Alinhamento múltiplo: métodos Os métodos para a produção de alinhamentos de 3 ou mais sequências podem ser divididas em várias categorias: Extensão dos métodos óptimos para N sequências: o algoritmo de N-W pode ser estendido para 3 ou mais sequências, mas exige o uso de matrizes multi-dimensionais e torna-se muito pesado computacionalmente (exp.: MSA) Métodos progressivos (ou hierárquicos) : baseiam-se na aplicação sucessiva de métodos óptimos a todos os pares de sequências, depois a pares de pares, etc., através de uma estrutura em árvore. São os métodos mais usados. (Exp: Clustalw, t-coffee) Métodos iterativos: geral um alinhamento global inicial de todas as sequências, que é refinado em passos sucessivos (SAGA, DIALIGN) Métodos de segmentos: comparação de janelas de comprimento fixo nas várias sequências (p.exp.: MACAW)
Programação dinâmica a N dimensões A extensão directo dos algoritmos de Needleman-Wunsch ou Smith- Waterman para N sequências torna-se impraticável computacionalmente: o alinhamento óptimo é agora um caminho num cubo a N dimensões. Se tivermos N sequências de comprimento L, a matriz terá L N células Exemplo: 10 sequências de comprimento 200-200 10 = 10 22 células! Matriz para o alinhamento múltiplo de 3 sequências (a seta vermelha representa o caminho óptimo na matriz)
Algoritmo de Carrillo-Lipman-Gupta Este método é uma simplificação que reduz o espaço de busca e permite encontrar um alinhamento próximo do óptimo. O método começa por definir intervalos para o alinhamento de cada par de sequências, e usa este intervalos para definir um volume de busca dentro do hipercubo. Implementado no programa MSA - demasiado pesado para ser usado com mais de 25-30 sequências com ~100 aminoácidos. Não existem servidores de acesso livre para este programa. Volume de busca Alinhamento heurístico Alinhamento óptimo Os alinhamentos produzidos têm baixa probabilidade de ser óptimos!
Cálculo do score num alinhamento múltiplo: o método SP (sum of pairs)
Métodos de alinhamento progressivo Os métodos de alinhamento progressivo usam o algoritmo de programação dinâmica calcular distâncias entre pares de sequênicas. As distâncias são usadas para construir uma árvore que serve de guia para criação do alinhamento múltiplo.
Software para alinhamento múltiplo progressivo CLUSTALW: Um dos softwares mais usados, existe também como um programa que pode ser instalado e executado no PC. http://www.ebi.ac.uk/clustalw T-COFFEE: Mais rigoroso, mas mais lento que CLUSTALW, usa uma combinação de vários métodos, incluindo a geração de alinhamentos de pares sub-óptimos com o programa LALIGN. http://www.ebi.ac.uk/t-coffee http://www.tcoffee.org
CLUSTALW
Exemplo de alinhamento com CLUSTALW
T-Coffee
Métodos iterativos alinhamento Os métodos de alinhamento progressivo têm como principal problema a propagação dos erros nos alinhamentos iniciais para o alinhamento final. Os métodos iterativos obviam esta situação através de repetidos passos de alinhamento global, com vista à optimização do score (por exemplo SP). DIALIGN: pesquisa de alinhamentos locais sem gaps em pares de sequências, pesados para o cálculo e optimização do alinhamento final. http://bibiserv.techfak.uni-bielefeld.de/dialign PRRP/PRRN: refinamento iterativo de um alinhamento progressivo com construção de árvore e uso de pesos no alinhamento de pares. http://prrn.hgc.jp SAGA: método iterativo baseado num algoritmo genético. Não está disponível na forma de serviço on-line. É bastante pesado computacionalmente. http://www.tcoffee.org/packages/saga_v0.95.tar.gz
Alinhamento iterativo com PRRP/PRRN
Inferências estruturais e funcionais a partir de alinhamentos múltiplos de sequências Centro activo Estrutura secundária Estrutura secundária loop Alinhamento de sequências da tioredoxina
Relação entre alinhamento de sequências e estrutura
Protocolo de alinhamentos múltiplos 1. Encontrar as sequências a alinhar, através de pesquisas em bases de dados ou por outra via 2. Definir as regiões de cada sequência a incluir no alinhamento (não tentar alinhar regiões demasiado diferentes!) 3. Avaliar o grau de semelhança das sequências através dos alinhamentos de pares 4. Começar por alinhar as sequências mais semelhantes, adicionar em seguida as mais distantes 5. Inspeccionar o alinhamento obtido, procurando problemas: regiões com demasiados gaps, baixa conservação, conflito com outras fontes de informação (p.exp. localização do centro activo). Corrigir manualmente com um editor de alinhamento (p.exp. Seaview ou Jalview) 6. Remover as sequências que destroem o alinhamento, re-alinhar as restantes 7. Usar os resíduos-chave conservados no sub-alinhamento como guia para a adição de novas sequências
Perfis Um perfil é uma descrição do padrão subjacente a um alinhamento múltiplo e reflecte a probabilidade de ocorrência de cada tipo de resíduo numa dada posição. Tem várias aplicações: Permite uma maior precisão no alinhamento de sequências distantes da mesma família Os padrões emergentes são úteis para a classificação de sub-famílias dentro de um conjunto de sequências homólogas. O alinhamento de uma sequência a um perfil é geralmente mais fiável e melhora o processo de modelação estrutural por homologia Os perfis permite pesquisas de elevada sensibilidade para a detecção de parentes distantes de uma dada família de proteínas O alinhamento de uma sequência a um perfil é condicionado pela sua natureza e pelo seu grau de conservação. Assim, resíduos altamente conservados no perfil terão um score mais alto, e resíduos pouco conservados um score mais baixo. Este processo impõe uma tendência para alinhar em primeiro lugar as zonas mais conservadas.
Geração de perfis a partir de alinhamentos múltiplos
Sequence logos: identificação visual de padrões conservados em alinhamento múltiplos http://weblogo.berkeley.edu/
Motivos Padrões de sequência primária característicos de locais de reconhecimento ou de famílias de proteínas. Associados a aspectos funcionais e estruturais. Exemplos (usando o formato PROSITE): site de fosforilação das proteínas cinases: [RK](2)-x-[ST] local de glicosilação: S-G-x-G Zipper de leucina: L-x(6)-L-x(6)-L-x(6)-L Família das proteases de serina, histidina do centro activo: [LIVM]-[ST]-A-[STAG]-H-C Local de γ-carboxilação dependente da vitamina-k: x(12)-e-x(3)-e-x-c-x(6)-[den]-x-[livmfy]-x(9)-[fyw]
http://pir.georgetown.edu/pirwww/search/pattern.shtml
Exemplo de entrada na base PROSITE (motivo) http://www.expasy.org/prosite
Exemplo de entrada na base PROSITE (perfil)
PSSM: position specific scoring matrix PSSM s são matrizes de scoring que atribuem scores aos aminoácidos de acordo com a posição dentro de uma determinada sequência ou motivo. As matrizes de score PAM ou BLOSUM, por outro lado, atribuem sempre o mesmo score ao alinhamento de cada par de aminoácidos independentemente do contexto. Uma PSSM é outra forma de definir um perfil posições dentro da sequência aminoácidos Valores da PSSM em log odds = log 2 [P(observado)/P(esperado)]
Bases de dados de motivos e domínios PROSITE http://www.expasy.ch/prosite PRINTS http://www.bioinf.man.ac.uk/dbbrowser/prints PFAM http://www.sanger.ac.uk/software/pfam PRODOM http://prodom.prabi.fr SMART http://smart.embl-heidelberg.de Pesquisa em múltiplas bases de dados: INTERPRO http://www.ebi.ac.uk/interpro