cours 7

publicité
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
Téléchargement