Heuristiques pour l’alignement
et la recherche dans les banques
de données biologiques
Plan
I.
Introduction
II.
Matrices de substitutions: PAM, BLOSUM
III.
Algorithmes de Filtrage – Basés sur la recherche de graines.
IV.
FASTA
V.
BLAST
VI.
PatternHunter
VII.
BLASTZ
I. Recherche dans les bases de données
Tache courante d’un biologiste
Est-ce qu’une nouvelle séquence a déjà été complètement ou partiellement déposée dans les bases de données?
Est-ce que cette séquence contient un gène?
Est-ce que ce gène appartient à une famille connue? Quelle est la protéine encodée?
Existe-t-il d’autres gènes homologues?
Existe-t-il des séquences non-codantes similaires. Répétitions ou séquences régulatrices
Logiciels les plus connus: Smith-Waterman, FASTA et BLAST
I. Les bases de données bioinformatiques les plus utilisées
NCBI, National Center for Biotechnology Information
GenBank: Séquences d’ADN (3 billion de paires de bases)
Site officiel de BLAST
PubMed: Permet la recherche de références
COGs: Familles de gènes orthologues …
EMBL, The European Molecular Biology Laboratory
ExPASy, Expert Protein Analysis System, Protéomique
Swiss-Prot: Séquences de protéines
PROSITE: Domaines et familles de protéines
SWISS-MODEL: Outil de prédiction 3D de protéines
Différents outils de recherche
PDB, Protein Data Bank
Base de données de structures 3D de protéines
Visualisation et manipulation de structures
SCOP, Structural Classification of Proteins
I. Problèmes algorithmiques
Banques de données trop grandes nécessitant des algorithmes très rapides (sous linéaires)
Alignement de génomes complets
Tenir compte de la complexité biologique des
séquences: un algorithme ``optimal’’ ne donne pas nécessairement des résultats biologiques
satisfaisants
Développer des heuristiques qui allient rapidité et
résultats biologiques satisfaisants
I. Recherche dans les banques de données
Fonction d’une nouvelle séquence?
Démarche générale:
Comparer la séquence requête avec les banques PROSITE ou BLOCKS, à la recherche de
séquences conservées
Alignement local avec chaque séquence d’ADN (GenBank) ou de protéines (Swiss-Prot)
Utiliser FASTA ou BLAST
Essayer différentes matrices de substitution (PAM, BLOSUM)
Optimiser les alignements obtenus avec Smith-
Waterman
I. Évaluation des résultats d’une heuristique pour la recherche de motifs biologiques
Sélectivité (spécificité): Capacité à ne
détecter que la réalité biologique et rien de plus
Problème des Faux-Positifs
Sensibilité: Capacité à détecter tout ce qui est intéressant sur le plan biologique
Problème des Faux-Négatifs
II. Matrices de substitutions
La structure des protéines déterminent leur fonction.
Des séquences assez différentes peuvent se replier en la même structure, et donc assurer la même fonction.
Des « substitutions » d’acides aminés qui préservent la même structure ne devraient pas être trop nuisibles à la fonction de la protéine.
Par exemple, 6 aa sont hydrophobiques. Ils préfèrent être à
l’intérieur de la structure pour évider d’être en contact avec l’eau.
Et donc une substitution d’un aa hydrophobique pour un autre dans la même classe est plus acceptable qu’une subs. à
l’extérieur de cette classe.
Il est important de définir des matrices de substitutions
appropriées. Deux classes de matrices sont utilisées: PAM et
BLOSUM.
II. Matrices PAM
PAM: ``Point Accepted Mutation’’
Matrices de substitution pour les AA. dont les scores sont liés au taux de mutations acceptées, observées dans les alignement de protéines.
Unité de mesure du taux de divergence entre 2 seq.
d’AA, distance d’évolution
Exp.: S
1diverge de 5 PAM de S
2Définition: S
1, S
2divergent d’1 unité PAM si la suite de
mutations (substitutions) qui a converti S
1en S
2est
telle qu’en moyenne, une seule mutation est survenue
tous les 100 AA.
Mutations acceptées: celles incorporées dans la protéine et transmises. Soit sans effet, soit
bénéfique à l’organisme.
Pas de correspondance absolue entre unités PAM et divergence de séquences. Plusieurs mut. peuvent être survenues à la même pos.
Divergence d’AA < unités PAM
Exemple: Deux seq. qui divergent de 100 PAM ne sont pas différentes à chaque pos.
En fait, deux seq. qui divergent de 200 PAM sont
susceptibles de contenir 25% d’identité de seq.
II. Matrices PAM (suite)
Différentes matrices PAM pour comparer des seq.
d’AA qui divergent d’un nb spécifique d’unités PAM:
120 PAM, 250 PAM…
Signification: La case (i,j) d’une mat. n PAM contient la fréquence avec laquelle l’AA A
iest remplacée par l’AA A
jdans les seq. qui divergent de n unités PAM
Méthode idéale de const. d’une mat. n PAM:
Considérer un ensemble de seq qui divergent de n unités PAM
Aligner les seq. 2 à 2
Compter le nb. d’alignements A
i,A
j, pour chaque A
i, A
j. Diviser par le nb total d’appariements - - - > f(i,j)
Case (i,j) de la mat. Contient log [f(i,j)/ f(i)f(j)] où f(i)
fréquence de A
iet f(j) freq. de A
j
Méthode précédente nécessite d’aligner
correctement les séquences. Alignement pour avoir la matrice, et matrice pour avoir l’alignement???
Méthode de Dayhoff (1979):
Pour des seq. très similaires (moins de 15% de différence), principalement la méthode idéale
Æ M: Matrice 1 PAM.
Séquences plus divergentes: M
n(i,j): probabilité que A
ise transforme en A
jen n unités PAM
Case (i,j) de la matrice n PAM:
log [f(i) M
n(i,j) / f(i)f(j)] = log [M
n(i,j) / f(j) ]
Dans la pratique, on essaye plusieurs matrices PAM
différentes. PAM 250 est la plus utilisée.
II. De PAM à BLOSUM
Les matrices N PAM sont obtenues par
extrapolation de la matrice 1PAM obtenue pour des protéines très proches.
Pas appropriées pour la comparaison de séquences de protéines très divergentes
BLOSUM (Heinikoff and Heinikoff 1992) , Block
Substitution Matrix : Basée sur des block, i.e.
régions conservées d’alignement de
protéines.
II. PROSITE et BLOCKS
PROSITE: Dictionnaire de sites de protéines. Lié à Swiss-Prot.
Motifs représenté par une exp. reg. ou par une matrice consensus
Exemple: G[GN] [SGA]GxRx[SGA]Cx(2)[IV]
BLOCKS: Dérivé de PROSITE. Dictionnaire de séquences conservées.
BLOCK: Petit intervalle très conservé d’un
alignement. Similarité de séquence, mais pas
nécessairement similarité de fonction.
II. Matrices BLOSUM
Dérivées de BLOCKS. Ensemble de blocs de n colonnes et k lignes
Matrice BLOSUM: Nb de fois que Ai, Aj se trouvent appariés, divisé par le nb de fois qu’ils seraient
appariés dans des seq. aléatoires.
Pour tous A
i, Aj, n(i,j)nb d’appariements (Ai,Aj);
f(i):
freq. de Ai; f(j): freq. de Aj
e(i,j) = n (k2) f(i) f(j)s(i,j) = log [n(i,j) / e(i,j)]
II. BLOSUM (suite)
Caractéristique: Élimine la redondance dans les blocs.
Matrice BLOSUM x (généralement entre 50 et 80): Pour tout couple de lignes contenant plus de x% de similarité, en garder une seule.
La plus utilisée est BLOSUM 62
Matrice BLOSUM 62
Score positif pour les identités,
et négatif pour les mismatchs
III. Algorithmes de filtrage
Recherche de P de taille m dans S de taille n à k erreurs près
Programmation dynamique: Temps O(mn) Différentes améliorations: Temps O(kn)
Algorithmes de filtrage: Effectuer un premier passage sur S pour éliminer toutes les parties qui ne sont pas susceptibles de
contenir P. Permet d’obtenir des temps sous-linéaires en moyenne
Partitionner P (ou T) en facteurs de taille r (seeds ou graines)
Phase de recherche: Utiliser une méthode de recherche exacte pour trouver toutes les occurrences de ces facteurs dans T, en temps (sous) linéaire
Phase de vérification: Utiliser une méthode de recherche
approchée dans un intervalle restreint autour de chaque facteur
trouvé, en temps (sous) linéaire
III. Méthode de Baeza-Yates-Perlberg, 1992
Partition de P en régions de taille r = ENT(m/k+1) Æ
k+1 régions de taille r, plus au plus une région de taille <
r.
Si le facteur T’ de T est une occurrence de P à k erreurs près, alors il existe au moins une région R de P et un
facteur de même taille T’’ de T’ tel que R et T’’ coincident exactement.
P:
T:
T’’
R
T’
III. Algorithme de BYP
1.
P: Ensemble des k+1 premières régions de P.
2.
Construire l’arbre de Aho-Corasick pour P
3.
Trouver l’ensemble I des pos. des occurrences de P dans T.
4.
Pour tout i Є I, utiliser un algorithme de
recherche approchée (prog. dynamique) pour rechercher les occurrences de P dans T[i-m-k ..
i+m+k]
Construction de l’arbre en O(m); phase de
recherche en O(n) Æ Étapes 2 et 3 en O(m+n).
IV. FASTA (Lipman, Pearson 1985)
Alignement local de P (taille m) dans T (taille n)
1.
Pour une valeur ktup donnée (en général 6 pour nuc.2 pourAA), trouver toutes les paires de séquences de
taille ktup identiques dans P et T: hot-spot Méthode: Table de hashage contenant tous les facteurs de
taille ktup de P; recherche de tous les facteurs de taille ktup de T dans la table en O(m+n)
2.
Déterminer des zones denses en identité: hot-spot consécutifs sur chaque diagonale. Score d’une zone:
1.
Score positif pour chaque hot-spot
2.
Score négatif pour les espaces entre les hot-spot FASTA garde les 10 zones de score optimal. Zones
contenant des matchs et mismatchs
3.
Réaligner chaque zone, en considérant une matrice de substitution (PAM ou BLOSUM) Init1: Meilleur alignement obtenu
4.
Parmi les 10 zones, garder celles dont le score
dépasse un seuil ``cut-off’’. Combiner les zones en une seule
Initn: Contient insertions/suppressions/mismatchs
5.
Programmation dynamique dans une bande autour de Init1 (bande de taille 16 si ktup=2)
Opt: Meilleur alignement obtenu
Au cours de la recherche, statistiques calculées pour
Init1, Initn, Opt: alignements significatifs ou non.
V. BLAST: Basic local alignment search tool
Similarité locale entre une séquence requête et une banque de données Devenu populaire grâce à une implémentation très efficace.
BLASTP: séquence de protéine dans BD de protéines
BLASTN: séquence de nucléotides dans BD d’ADN
BLASTX: séquence de nucléotides (6 ordres de lecture) dans BD de protéines
TBLASTN: séquence de protéine dans BD traduite
TBLASTX: séquence traduite dans BD traduite
BLASTZ: Étudié pour aligner de longues séquences d’ADN, utilisé pour l’alignement de l’homme et de la souris
PHI-BLAST: Recherche d’une expression régulière (consensus)
PSI-BLAST: Construit un consensus, ou matrice de score, à partir d’un alignement multiple des ``hits’’ de plus haut score obtenus par une
recherche BLAST initiale
V. Méthode utilisée par BLAST
Former la liste de tous les facteurs de taille w (seeds ou graines) de la séquence requête P
P
Maximum l-w+1 mots
Pour chaque facteur f, former la liste de tous les mots de taille w dont le score avec f dépasse un seuil T
Exemple: Pour f =PQG, {PQG, PRG, PKG, PDG, PMG…}
Identifier les occurrences exactes des mots de la liste dans la BD
Pour chaque paire de séquences trouvées, étendre l’alignement dans les deux directions, jusqu’à ce
que le score de l’alignement chute de X par rapport
à sa valeur d’origine. Segment accepté si score>S
Le HSP de score maximal sur l’ensemble de la séquence est appelé Maximal Scoring segment Pair (MSP)
Les alignements locaux HSP sont chaînés pour former des alignements plus longs, incluant des espaces et des trous.
Si le MSP ou les HSP combinés ont un score qui dépasse un certain seuil S, il sont
affichés
Paramètres
La séquence format FASTA
La banque (compressée)
W (taille du mot).
Protéines: w de 3 à 5, et T = 17
Donne à peu près 50 mots pour chaque facteur
Nucléotides: w = 11 ou 12
S (seuil de sélection d’un score)
Matrices de substitution (BLOSUM 62) ou
score pour les nucléotides (+5/-4)
Évaluation statistique
Expect-value = nb de fois où un HSP est attendu par chance sur l’ensemble de la
banque. Plus cette valeur est faible, plus le HSP est significatif
P-value: P(N): Probabilité du score observé.
Plus cette valeur est faible, plus le HSP est
significatif.
GCNTACACGTCACCATCTGTGCCACCACNCATGTCTCTAGTGATCCCTCATAAGTTCCAACAAAGTTTGC
|| ||||| | ||| |||| || |||||||||||||||||| | |||||||| | | |||||
GCCTACACACCGCCAGTTGTG-TTCCTGCTATGTCTCTAGTGATCCCTGAAAAGTTCCAGCGTATTTTGC GAGTACTCAACACCAACATTGATGGGCAATGGAAAATAGCCTTCGCCATCACACCATTAAGGGTGA----
|| ||||||||| |||||| | ||||| |||||||| ||| |||||||| | | | ||
GAATACTCAACAGCAACATCAACGGGCAGCAGAAAATAGGCTTTGCCATCACTGCCATTAAGGATGTGGG ---TGTTGAGGAAAGCAGACATTGACCTCACCGAGAGGGCAGGCGAGCTCAGGTA
||||||||||||| ||| ||||||||||| || ||||||| || |||| | TTGACAGTACACTCATAGTGTTGAGGAAAGCTGACGTTGACCTCACCAAGTGGGCAGGAGAACTCACTGA GGATGAGGTGGAGCATATGATCACCATCATACAGAACTCAC---CAAGATTCCAGACTGGTTCTTG
||||||| |||| | | |||| ||||| || ||||| || |||||| |||||||||||||||
GGATGAGATGGAACGTGTGATGACCATTATGCAGAATCCATGCCAGTACAAGATCCCAGACTGGTTCTTG
VI. PatternHunter (B. Ma et al 2002)
BLAST trouve une graine de taille 11 qui match, puis étend
VI. Exemple d’une occurrence manquée (Exemple de B. Ma)
Pas de graine de taille 11 qui match, pourtant similarité de 80%:
GAGTACTCAACACCAACATTAGTGGGCAATGGAAAAT
|| ||||||||| |||||| | |||||| ||||||
GAATACTCAACAGCAACATCAATGGGCAGCAGAAAAT
Dilemme:
Sensitivité – nécessite des graines courtes
Capacité à détecter les homologies
Rapidité – nécessite des graines plus longues
Mega-BLAST utilise des graines de taille 28.
VI. PatternHunter utilise des “graines espacées”
111010010100110111 (appelé modèle)
11 matchs requis (poids=11)
7 positions “don’t care”
GAGTACTCAACACCAACATTAGTGGCAATGGAAAAT…
|| ||||||||| ||||| || ||||| ||||||
GAATACTCAACAGCAACACTAATGGCAGCAGAAAAT…
111010010100110111
Hit = Tous les matchs requis sont satisfaits
Modèle de BLAST = 11111111111
VI. Simulated sensitivity curves
VI. Pourquoi sensitivité meilleure?
Les copies ‘shiftées’ des graines espacées ne chevauchent pas trop:
111010010100110111 11111111111
111010010100110111 11111111111
111010010100110111 11111111111
111010010100110111 11111111111 111010010100110111 ...
111010010100110111 111010010100110111
...
Les ‘Hits’ à différentes positions sont plus indépendants
Plus les copies shiftées sont indépendantes, plus on augmente la probabilité d’identifier une homologie.
Moins il y a de similarités entre deux copies shiftées,
plus le modèle est susceptible de donner une bonne
sensitivité
VI. Pourquoi plus rapide avec des graines espacées?
TTGACCTCACC?
|||||||||||?
TTGACCTCACC?
11111111111 11111111111
CAA?A??A?C??TA?TGG?
|||?|??|?|??||?|||?
CAA?A??A?C??TA?TGG?
111010010100110111 111010010100110111
Une homologie donne lieu à plusieurs ‘hits’ par BLAST (redondance)
Graines espacées donnent lieu à moins de ‘hits’ pour
chaque homologie
``Indeed, under the condition that there is one hit in a length 64, 70% similar homology, the average number of hits in that region is
2.0 for PH’s weight-11 seed
3.6 for contiguous weight-11 seed.’’
VI. Observations (B. Ma)
Des modèles différents peuvent détecter différentes homologies
Deux conséquences:
Certains modèles sont meilleurs que d’autres
On peut utiliser simultanément plusieurs modèles de graines
Approcher les 100% de sensitivité
PatternHunter II
VII. Alignement de génomes entiers
Comparaison de génomes entiers permet de:
Identifier les séquences codantes dans les 2 espèces
Localiser les facteurs de transcription et les signaux de régulation
Comprendre les mécanismes et l’histoire de l’évolution génomique
Similarités et différences dans l’ordre des gènes
Smith-Waterman, et même FASTA ou BLAST trop lents et pas adaptés à la comparaison de génomes entiers.
Améliorer sensitivité et temps de calcul, sans
empirer la sélectivité
VII. Alignement de l’homme et de la
souris par BLASTZ (Schwartz et al. 2003)
1.
Supprimer les répétitions propre à chaque espèce
2.
Trouver tous les 12-mers espacés identiques, à une
``transition’’ près, dans les deux génomes.
1. Étendre
chaque paire de 12-mers dans les deux directions (sans gaps), jusqu’à ce que le score chute en dessous d’un certain
seuil
2.
Si l’alignement (sans gaps) trouvé dépasse un seuil (disons 300)
1. Étendre l’alignement en autorisant les gaps (programmation dyn.)
2. Garder l’alignement si le score dépasse un seuil (disons 5000)
3.
Entre chaque paire d’alignements, refaire l’étape 2. avec des scores moins contraignants. Par exemple, 7-mers (match exact), seuils plus faibles (par exemple 2000 avec et sans gaps)
4.
Rétablir les vraies positions des alignements trouvés (étape 1.)
VII. Paramètres utilisés
Matrice de substitution:
Gap
de taille k pénalisé par un poids de 400+30k
Score d’un alignement multiplié par une valeur entre 0 et 1 en fonction de la nature des séquences (biais des nucléotides)
Les seuils doivent être très élevés pour atteindre une spécificité raisonnable (au moins 3000 pour les alignements avant gap)
12-mers espacé (19 positions): 1110100110010101111 (Ma et.al 2002)
Autoriser une transition: (A-G, G-A, C-T, T-C)
A C G T
A 91 -114 -31 -123 C -114 100 -125 -31 G -31 -125 -100 -114 T -123 -31 -114 91