Scores d’alignement Matrices de substitution J.S. Bernardes/H. Richard Score d'un alignement ■ ■ ■ Score alignement = Σ scores événements élémentaires (Match, Mismatch, Indel) Amélioration du modèle : pénalité linéaire des gaps (gap open et gap extend) Amélioration du modèle : les matrices de substitution (= Mismatch) => toutes les substitutions ne sont pas équivalentes et donc pénalisées différemment Les matrices de substitution des acides nucléiques A C G T A 1 0 0 0 ■ Alphabet à 4 lettres : A,C,G,T Matrice identité C 0 1 0 0 • • => pas d'amélioration du modèle, non adapté à l'évolution des séq nucléiques G 0 0 1 0 T 0 0 0 1 ■ Matrice transition/transvertion ■ • => pénalise davantage les • transversions (purines <=> pyrimidines) • que les • transitions (pur <=> pur, pyr <=> pyr) A C G T A 3 0 1 0 C 0 3 0 1 G 1 0 3 0 T 0 1 0 3 Les matrices de substitution des acides aminés ■ Au cours de l’évolution: ❑ Des acides aminés sont remplacés « préférentiellement » par d’autres ❑ ❑ Ils possèdent par exemple des propriétés physico-chimiques proches Des acides aminés sont plus conservés que d’autres ❑ Ils sont par exemple essentiels dans la structure 3D des protéines (comme Tryptophane/W/Trp) Les matrices de substitution des acides aminés ■ Matrices basées sur les propriétés physico-chimique des aa o matrices d'hydrophobicité o matrices des structures secondaires o matrices basées sur comparaisons de protéines partagent la même structure 3-D ■ Matrices basées sur les substitutions entre aa au cours de l'évolution • Les « log odds » : Sij = log [ qij / (pi.pj) ] • qij = probabilité de la substitution i vers j • pi = probabilité normalisée d’apparition du résidu i • pj = probabilité normalisée d’apparition du résidu j Matrix Blosum exemple A! B! B! C! A! C! A! C! B! B! A! C! A! B! A! B! A! C! C! A! B! C! B! C! A ={A,B,C}! Fréquence de chaque pair de aa pour chaque colonne k k fii=! k fij=! Ou ni est le nombre d’observations du residue i dans la colonne k Fréquence de chaque pair de aa pour chaque colonne k A! B! B! C! A! C! A! C! B! B! A! C! A! B! A! B! A! C! C! k fii=! k fij=! A! B! C! B! C! Premiere colonne k=1 AA 3 AB 0 AC 3 BB 0 BC 0 CC 0 Matrix Blosum exemple A! B! B! C! A! C! A! C! B! B! A! C! A! B! A! B! A! C! C! A! B! C! B! C! k fii=! k fij=! A ={A,B,C}! k=1 k=2 k=3 k=4 k=5 k=6 AA 3 0 0 0 3 0 AB 0 2 3 0 3 0 AC 3 1 0 0 0 0 BB 0 1 3 1 0 0 BC 0 2 0 4 0 0 CC 0 0 0 1 0 6 Somme des fréquences de chaque pair pour toutes les colonnes A! B! B! C! A! C! A! C! B! B! A! C! A! B! A! B! A! C! C! A! k fii=! k fij=! B! C! B! C! k fij=! fij! k=1 k=2 k=3 k=4 k=5 k=6 fij AA 3 0 0 0 3 0 6 AB 0 2 3 0 3 0 8 AC 3 1 0 0 0 0 4 BB 0 1 3 1 0 0 5 BC 0 2 0 4 0 0 6 CC 0 0 0 1 0 6 7 Normalise pour avoir la somme 1 T=! T=! 6*4*(4-1) 2 k=1 k=2 k=3 k=4 k=5 k=6 fij AA 3 0 0 0 3 0 6 AB 0 2 3 0 3 0 8 AC 3 1 0 0 0 0 4 BB 0 1 3 1 0 0 5 BC 0 2 0 4 0 0 6 CC 0 0 0 1 0 6 7 = 36 Normalisé pour avoir une somme 1 T=! f 36 k=1 k=2 k=3 k=4 k=5 k=6 fij qij AA 3 0 0 0 3 0 6 0.16 AB 0 2 3 0 3 0 8 0.22 AC 3 1 0 0 0 0 4 0.11 BB 0 1 3 1 0 0 5 0.14 BC 0 2 0 4 0 0 6 0.16 CC 0 0 0 1 0 6 7 0.19 Calcul du dénominateur pi Sij = log [ qij / (pi.pj) ] pA = qAA+ (qAB + qAC)/2 pA = 0.16 + (0.22 + 0.11)/2 = 0.325 k=1 k=2 k=3 k=4 k=5 k=6 fij qij AA 3 0 0 0 3 0 6 0.16 AB 0 2 3 0 3 0 8 0.22 AC 3 1 0 0 0 0 4 0.11 BB 0 1 3 1 0 0 5 0.14 BC 0 2 0 4 0 0 6 0.16 CC 0 0 0 1 0 6 7 0.19 pB = 0.33 pC = 0.325 Calcul du dénominateur pi eij = pi2 eij = 2pipj si i=j si i != j Sij = log [ qij / (eij) ] pA = 0.325 SAA = log [ qAA / (eAA) ] pB = 0.33 SAA = log [ 0.16 / (pA)2 ] pC = 0.325 qij SAB= log [ qAB / 2(pA*pB) ] AA 0.16 AB 0.22 A 0,599! AC 0.11 B 0,036! 0,36! BB 0.14 C -0.94! -0,422! 0,85! BC 0.16 CC 0.19 A B C Les matrices de substitution des acides aminés • Pénalités des Substitutions : • Sij > 0 <=> remplacement considéré fréquent • Sij < 0 <=> remplacement rare, peu probable entre protéines homologues Les matrices de substitution des acides aminés ■ Les matrices sont construites à partir de l'observation des fréquences de substitution entre séquences « apparentées » o Estimer le taux de substitution sur des positions conservées. ■ Matrices PAM = Point Accepted Mutation (Dayhoff 1979) ■ Matrices BLOSUM = BLOcks SUbstitution Matrix (Henikoff & Henikoff 1992) Les matrices BLOSUM ■ ■ A partir de Blocs = alignement multiple local sans insertiondélétion pour une famille de protéines Calcul des scores Sij = log [ qij / (pi.pj) ] • ~2000 blocs, 500 familles de protéines Les matrices BLOSUM ■ Regroupement des séquences au sein de leur bloc – Regroupement en fonction d’un seuil d’identité Seuil = 80% <=> BLOSUM80 Seuil = 60% <=> BLOSUM60 ■ Calcul des scores par cluster => diminue la redondance liée au nombre de paires identiques (sur-représentation de certaines séquences par exemple) BLOSUM 62 ■ Alignement des deux séquences protéiques RDISLVKNAGI et RNILVSDAKNVGI avec « BLOSUM 62 » Correspondance et Substitution: cf. BLOSUM, Indel: -5 RDISLV---KNAGI | | || || || RNI-LVSDAKNVGI Score = 5+1+4-5+4+4-5-5-5+5+6+0+6+4 = 19 Les matrices PAM (Point Accepted Mutations) • Deux séquences S1 et S2 sont à une unité PAM si plusieurs mutations ponctuelles ont transformé S1 en S2 avec en moyenne une mutation pour 100 aa. • Idée: Dériver les matrices pour PAM-1 o On extrapole avec un modèle de mutation pour les distances plus longues. Les matrices PAM Basées sur alignement multiple global de séquences très similaires (>85% identité), mutations dites acceptées car ne changent pas significativement la fonction de la protéine. 1) alignement de séquences (71 familles de protéines (1300 séquences)) 2) Comptage des substitutions sur un arbre phylogénétique des séquences Aij 3) Calcul mutabilité : mi= ΣjAij /fi (pour chaque aa i, fi fréquence d'apparition) 4) Calcul des scores Rij=Mij/fi avec Mij=miAij/ΣiAij et Normalisation tq ΣRij=1 => matrices de mutation MDM-1 (Mutation Data Matrix) 5) Extrapolation pour séquences plus éloignées MDM-n = (MDM-1)^n (PAM-1 = 1 mutation acceptée pour 100 résidus) 6) Transformation en matrice « log odds » : PAM-n = log(NDM-n) Matrice PAM Point Accepted Mutation ■ Extrapolation « 1àn » basée sur hypothèse forte que le « taux de mutation » est constant et équiprobable sur toute la longueur des séquences et au cours du temps ■ néglige les différences mutations courtes / mutations longues ■ PAM-1 “fait” environ 1 million d’années d’évolution Biais d ‘échantillonnage : ■ 1978 : ensemble des séquences pas représentatif (1300 séquences, 71 familles) 1992 : réactualisation : 16 130 séquences, 2 621 familles PAM 10 Matrices PAM ■ Choix de la matrice N en fonction de l’évolution supposée des séquences ❑ ❑ ■ Plus « N » est élevé, plus la matrice est adaptée à la comparaison de séquences divergentes Si la divergence n’est pas connue (ce qui est généralement le cas), il faut faire plusieurs essais PAM-n n’est pas n différences pour 100 aa. ■ un aa peut être substitué plusieurs fois ■ En général on utilise PAM-250 Matrice BLOSUM ■ Choix de la matrice N en fonction du pourcentage d’identité supposé des séquences ❑ ❑ Plus « N » est élevé, plus la matrice est adaptée à la comparaison de séquences de forte identité Si l’identité n’est pas connue (ce qui est généralement le cas), faire plusieurs essais Quelle matrice de score utiliser ? ■ « Faible divergence/Forte identité » : ❑ ■ « Moyenne divergence/Moyenne identité »: ❑ ■ PAM 40 ou BLOSUM 80 PAM 120 ou BLOSUM 62 « Forte divergence/Faible identité » : ❑ PAM 250 ou BLOSUM 45 • Il n’y a pas de matrice parfaite ! PAM et BLOSUM • Hypothèse circulaire: o On utilise un alignement de séquence pour décider comment mettre en place la fonction de score. § PAM: séquences très proches (plus sûr à aligner) § BLOSUM: en pratique plusieurs (3) itérations d’alignement sont faites • Distance d’évolution: o o PAM extrapole à partir d’une distance courte BLOSUM estime avec une étape de regroupement à un % de similarité fixé Significativité d’un alignement Significativité d’un alignement • Imaginons qu’on aligne !V I V A L A S V E G A S ! !V I V A D A - V - - I S ! avec un score de 2 (match =+1, mismatch/gap = -1) • Est ce que le score obtenu veut dire qu’il y a une relation entre les deux séquences ? o Est ce que la valeur est significativement plus grande qu’attendu par hasard ? Significativité d’un alignement • • Quel serait le score si on alignait deux séquences aléatoires ? Génération de plusieurs séquences de même composition o Combien de fois observe-t-on une séquence avec le même score ? o 48 A L L I N T H E F A M I LY : S E Q U E N C E A L I G N M E N T P-valeur de l’alignement Fig. 3.1 The distribution of global alignment scores for 1000 permutations of the two example sequences. Notice that the score obtained for the original sequences has only been equalled twice in 1000 experiments, and hence is highly significant • Ici 2 cas parmi 1000 simulations 250 200 150 100 50 0 −8 −7 −6 −5 −4 −3 −2 −1 0 1 2 Distribution of Alignment Scores over 1000 Random Permutations inferences that we wish to draw about homology or protein function will be weakened. As in the case of gene finding, a good way to determine if an alignment score I I V V A A L D A A S - V V E - G - A I S S, 100 90 80 70 60 50 40 30 20 10 50 45 40 35 0 30 histogramme avec 1000 simulations human I G G S K P R V A T P E V V S K I A Q Y K R E C P S I F A W E I R D R L L S E G V C T N D N I P S V S S I N R V L R N L A S E K - Q Q 49 obox, not found in the previous alignment because it is too short. This element can be seen, for example, by running a global alignment, since these two genes are sufficiently similar to be globally aligned. However, we can also choose to run another local alignment, this time only on the second half of the sequences HYPDVFARERLAAKIDLPEARIQVWFSNRRAKWRREEKLRNQRR 50 HYPDVFARERLAGKIGLPEARIQVWFSNRRAKWRREEKLRNQRR Fig. 3.2 Result of 1000 local alignments with randomized versions of the two PAX is 437 human H S G V N Q L G G V F V N G R P L P D S T R Q K I V E L A H S genes. G A R The P Calignment D I S R score I L QofVthe S Noriginal G C Vsequences SKILG R Y and Y EisTnever G S reached I R P Rduring A statistical testing, indicating a highly significant alignment (the highest random alignment fly H S G V N Q L G G V F V G G R P L P D S T R Q K I V E L A H S score G A RisP61) CDISRILQVSNGCVSKILGRYYETGSIRPRA 3 . 5 S T A T I S T I C A L A N A LY S I S O F A L I G N M E N T S More sophisticated methods are available, based on a theoretical analysis of the distribution of scores for random sequences, but they are too complicated for the purpose of this introductory book. Pointers to literature about advanced methods can be found in Section 3.10. V V Example 3.2 Significance of global alignment. Remember that for the global alignment: A(s, t) = 65 60 55 we have a score of 2, resulting from seven matches, two mismatches, and three gaps (using our elementary scoring scheme). Now, if we do 1000 random permutations of the second sequence, t, and we find the best global alignment for it with s for every randomization, we get the distribution of alignment scores observed in Figure 3.1. Only twice out of the 1000 permutations did we find an alignment score equal to or greater than the observed score (in fact, we never see a higher score). This can be interpreted as a p-value of 0.002. We must conclude that our original alignment is highly significant, and would arise by chance much less than 1% of the time. • score de l’alignement : 437 (matrice PAM50) • Quelle p-valeur ? We can also do the same type of permutation test for local alignments, with little difference in interpretation, as seen in the following example. I G G S K P R V A T A E V V S K I S Q Y K R E C P S I F A W E I RThe D Rsame L L Qtwo E Nsequences V C T N Dalso N I have P S VaSsecond S I N Rcommon V L R N element, L A A Q Kthe EQ Q homefly A L L I N T H E F A M I LY : S E Q U E N C E A L I G N M E N T Local alignment of PAX genes. We have seen that the eyeless protein is one of many factors controlling the development of eyes in many distantly related species. Like eyeless, many other PAX and HOX genes are expressed in the developing nervous system and are believed to help regulate neurogenesis. We demonstrate how to use local and global alignment algorithms by discovering conserved domains in PAX and HOX proteins, finding the celebrated paired-box and homeobox domains. This can readily done by first downloading two sequences from GenBank, one from human and the other from fruitfly, corresponding to the coding regions of the PAX gene discussed in the opening story. Since eukaryotic genes often contain introns, we can get a file from GenBank that contains the sequence of just the mRNA (and the associated protein), where introns have already been removed. The accession numbers are AY707088 and NM 001014694. We expect these genes to contain two segments in common: a longer segment – the PAX domain – and a shorter segment–the HOX domain. By running Smith–Waterman local alignment, we obtain the segment of 133 amino acids shown in the adjacent table The score of this alignment (437, with a PAM 50 substitution matrix) is then tested against the score of 1000 alignments between randomized sequences, and is never equaled, indicating a highly significant result (see histogram in Figure 3.2). Indeed, this sequence is found to correspond to the PAX domain, and is in the very beginning of these two sequences (within the first 200 amino acids). Retour a eyeless/PAX • Comment comparer une séquence contre une banque ? Comparaison séquence/banque • Pourquoi ? o Réunir un échantillon taxonomique (homologues) pour faire une phylogénie o Annoter un génome nouvellement séquencé (fonctions putatives) o Étudier une famille (consensus, domaines) • Vocabulaire : o Séquence à rechercher = Query o Séquence de la banque = Subject Comparaison séquence / banque • • • Comment ? o Forcément, on cherche des alignements locaux ! o SW = algorithme exact qui donne l'alignement optimal Si on cherchait pour chaque « Subject » son alignement optimal avec la « Query » et puis on classerait par score Problème : o Si 1 alignement SW prend 15 ms o Banque SwissProt (> 500 000 entrées) prend 2h => Trop lent ! Il faut trouver des heuristiques, indexer les séquences BLAST: Basic Local Alignement Search Tool • Altschul & al., 1990 BLAST : o est une heuristique qui recherche dans une banque les séquences (Subject) présentant une bonne similarité locale avec une séquence requête (Query) o Assigne un score et une espérance à chaque couple Query-Subject o • Optimise le temps de recherche au détriment de la sensibilité et de la précision de l'alignement BLAST n'est pas un programme d'alignement optimal de séquences ! Blast : Basic Local Alignment Search Tool • 3 grandes étapes : 1. Identifier les k-mots « similaires » w de taille k § pour les nuc, k=10 ou 11 / pour les aa, k=3 ou 4 2. Création des High Scoring Segment Pairs (HSPs) a) Etendre l'alignement (sans indel) de chaque côté de w tant que le score cumulé est ≥ M (seuil fixé) => HSPs b) Eventuellement rassembler les HSPs 3. Evaluation statistique des segments similaires obtenus Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : k=5 >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Index : EKFKA PrSub1 1 Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : k=5 >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Index : EKFKA PrSub1 1 KFKAA PrSub1 2 Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : k=5 >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Index : EKFKA PrSub1 1 KFKAA PrSub1 2 FKAAM PrSub1 3 Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : k=5 >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Index : EKFKA KFKAA FKAAM … CLGYR PrSub1 1 PrSub1 2 PrSub1 3 PrSub1 15 Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Banque : k=5 >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV Index : EKFKA KFKAA FKAAM … … ... CLGYR ... PrSub1 1 PrSub1 2 PrSub1 3 PrSub1 15 PrSub3 19 Blast: étape 0 Indexation de la banque (parcours 1 seule fois la banque !) Index trié : Index : EKFKA KFKAA FKAAM … CLGYR … ... CLGYR ... PrSub1 1 PrSub1 2 PrSub1 3 Tri PrSub1 15 PrSub1 15 PrSub3 19 Le tri de l'index ainsi créé (table de hachage) optimise le temps de recherche AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query k=5 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL Index trié : AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query k=5 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 Index trié : AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 CDKSD => 0 Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 SKCDKSDTRALLAQYIPSTVNHPIL EKFKAAMLLKSDTRCLGYRNVCKEG Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 SDTRA => 0 Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 SDTRA => 0 DTRAL => PrSub2 13 SKCDKSDTRALLAQYIPSTVNHPIL YYDDVGLLCEKADTRALMAQFVPPL Index trié : AAMLL PrSub1 5 ACILS PrSub3 2 ... CILST PrSub3 3 CLGYR PrSub1 15 PrSub3 19 DDVGL PrSub2 3 DTRAL PrSub2 13 DTRCL PrSub1 12 ... KSDTR PrSub1 10 KSVHC PrSub3 15 etc. Blast: étape 2 Extension de l'alignement (sans indel) => HSPs Mots « similaires » de taille k=5 (en aa) L ProtQ SKCDKSDTRALLAQYIPSTVNHPIL PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG Extension du segment tant que S ≥M (seuil fixé) ProtQ SKCDKSDTRALLAQYIPSTVNHPIL PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG ProtQ PrSub1 SKCDKSDTRALLAQYIPST AMLLKSDTRCLGYRNVCKE Blast: Comment améliorer la première et la deuxième étape ? Blast: étape 1 Identification des k-mots « approximatifs » au lieu d'exiger k aa identiques successifs Score des k-mots ≥ T Exemple : DTRAL, T = 5 DTRAL DVRHI S=6 + 0 + 5 + -2 + 2 = 11 => OK DTRAL MATRG S=-3 + 0 + -1 + -1 + -4 = -9 => NON DTRAL ESKSM S=2 + 1 + 2 + 1 + 2 = 8 => OK DTRAL DTRAL S=6 + 5 + 5 + 4 + 4 = 24 => OK Blast: étape 1 Identification des k-mots « approximatifs » au lieu d'exiger k aa identiques successifs Score des k-mots ≥ T Au lieu d'écrire dans l'index : DTRAL PrSub2 13 On pré-calcule les mots approximatifs, et on écrit : DTRAL PrSub2 13 24 DVRHI PrSub2 13 11 ESKSM PrSub2 13 8 ...(tous les 5-mots de score ≥ T) => Beaucoup de lignes d'index par mot de la banque Construction de l'index lente Recherche dans l'index longue => Sauf si k est petit ! Blast: étape 2 l On applique un double- critère: les séquences doivent partager 2 petits mots (au lieu d'un grand) Query Subject Query Subject trouver 2 paires de mots "voisins" PKV (s >= T) à égale distance d dans les 2 séquences (d<40) Blast: étape 2 l vérifier que l'on peut étendre ces amorces pour obtenir des alignements sans gaps de score s>T Query Subject l faire l'alignement local Smith & Waterman Blast: étape 3 Calcul des scores Quelle est la probabilité (”p-value”) d’obtenir par hasard les HSPs effectivement obtenus ? On peut approximer la probabilité d'obtenir une HSP de score S avec P(S) = e-λS On définit l'espérance E telle que : E-value = KB*lQ*e-λS où KB dépend de la taille et de la composition de la banque lQ= taille séquence Query => La E-value représente le nombre de HSPs de score S attendues au hasard dans la banque Blast: étape 3 Significativité du score des HSPs La E-value représente le nombre de HSPs de score S attendu au hasard dans la banque E-value = 3 signifie « si je comparais ma séquence à une banque aléatoire de même taille et de même composition que la banque initiale, je m’attendrais à trouver 3 alignements de score S » => pas significatif Plus la Evalue est petite, plus la similarité est pertinente (non due au hasard) Cette E-value dépend : Ø De la matrice de substitution (=> S et taille des HSPs) Ø De la taille et de la composition de la banque BLAST : les différentes versions • On veut en général masquer les séquences répétées • Programmes distincts selon la nature des séquences traitées : – BLASTN séquence nucléique contre base nucléique – BLASTP séquence protéique contre base protéique – BLASTX séquence nucléique traduite en 6 phases contre base protéique – TBLASTN séquence protéique contre base nucléique traduite en 6 phases • Et d'autres options/… En particulier Wu-blast, Psi-blast, etc. BLAST always uses the same substitution matrix to find scores. However, a position-specific score matrix (PSSM) is more suitable. PSSMQ of a query sequence Q is a matrix (Nx20), where N is the size of Q and 20 are amino acids. PSSMQ elements contains the frequency of a amino acid in some position of query sequence. Frequencies are calculated from multiple alignments of sequences. Question: What are the differences between a substitution matrix and a position-specific scoring matrix? To answer at this question look at the scoring value for Serine residue at the positions 210 and 216. They are different. Why? Serine has the different functions at the these positions. The substitutions of serine in the active site are very rare and, consequently, the costs for mutations are different. However, in a substitution matrix the scoring value of amino acids are independent of a position in a sequence. PSI-BLAST - Position-Specific Iterative BLAST Query sequence seq1 seq2 PSSM 1 seqN seq1 seq2 2nd iteration Sequence database PSSM 2 3th iteration seqM seq1 seq2 seqM 1st iteration PSSM 2 Convergence • 1st iteration • Run the default BLAST by using the default substitution matrix (BLOSUM62) and the query sequence Q1. • Build the MSA1 from the best sequences found. • Build the PSSM1 from MSA1. • 2nd iteration • Compare Q1 with database sequences by using a modified BLAST version, that is, the default substitution matrix is replaced with the PSSM1. • Build a new MSA2 from the best sequences found. • Build the PSSM2 from MSA2. • Stop if PSSM1 = PSSM2 • 3th iteration (if not stopped) • Compare Q1 with database sequences by using PSSM2. • Build a new MSA3 from the best sequences found. • Build the PSSM3 from MSA3. • Stop if PSSM2 = PSSM3 BLAST et associés • BLAST permet de faire des recherches de séquences (query) contre une base de donnée (subject) o Heuristique de début d’alignement • Psi-BLAST permet de détecter des homologies lointaines o apprend avec les alignements successifs les positions importantes de la séquence query