Comparaison et alignement de séquences 2 LV348 -BI Sophie Pasek sophie.pasek@upmc.fr
Comment comparer une séquence contre une banque?
Comparaison séquence/banque Pourquoi? : Réunir un échantillon taxonomique (homologues) pour faire une phylogénie Annoter un génome nouvellement séquencé (fonctions putatives) Étudier une famille (consensus, domaines) Vocabulaire : Séquence à rechercher = Query Séquence de la banque = Subject
Comparaison séquence/banque Comment? Forcément, on cherche du local! SW = algorithme exacte qui donne l'alignement optimal Si on cherchait pour chaque «Subject» son alignement optimal avec la «Query» et puis on classe par Z-score décroissant Problème : Si 1 alignement SW prend 15 ms Banque SwissProt (> 500 000 entrées) prend 2h => Trop lent! Il faut trouver des heuristiques
Blast: Basic Local Alignement Search Tool Altschul & al., 1990 BLAST : 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) assigne un score et une espérance à chaque couple Query- Subject 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 Alignement Search Tool 3 grandes étapes : 1) Identifier les k-mots «similaires» w de taille k pour les an, k=10 ou 11 / pour les aa, k=3 ou 4 2) a) Etendre l'alignement (sans indel) de chaque côté de w tant que le score cumulé est M (seuil fixé) => HSPs = High Scoring Segment Pairs b) Eventuellement rassembler les HSPs 3) Evaluation statistique des segments similaires obtenus
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : k=5 Index : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV EKFKA PrSub1 1
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : k=5 Index : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV EKFKA PrSub1 1 KFKAA PrSub1 2
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : k=5 Index : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV EKFKA PrSub1 1 KFKAA PrSub1 2 FKAAM PrSub1 3
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : k=5 Index : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV EKFKA PrSub1 1 KFKAA PrSub1 2 FKAAM PrSub1 3 CLGYR PrSub1 15
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Banque : k=5 Index : >PrSub1 EKFKAAMLLKSDTRCLGYRNVCKEG >PrSub2 YYDDVGLLCEKADTRALMAQFVPPL >PrSub3 SACILSTVNHSILKKSVHCLGYRSV EKFKA PrSub1 1 KFKAA PrSub1 2 FKAAM PrSub1 3 CLGYR PrSub1 15... CLGYR PrSub1 15 PrSub3 19...
Blast: étape 1 Indexation de la banque (parcours 1 seule fois la banque!) Index : EKFKA PrSub1 1 KFKAA PrSub1 2 Tri FKAAM PrSub1 3 CLGYR PrSub1 15... CLGYR PrSub1 15 PrSub3 19... Le tri de l'index ainsi créé (table de hachage) optimise le temps de recherche 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 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.
Blast: étape 1 Recherche des mots de la Query dans l'index de la banque Query k=5 Index trié : >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 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 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 KCDKS => 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 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 KCDKS => 0 CDKSD => 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 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 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 SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 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. SKCDKSDTRALLAQYIPSTVNHPIL EKFKAAMLLKSDTRCLGYRNVCKEG
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 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 >ProtQ SKCDKSDTRALLAQYIPSTVNHPIL SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 SDTRA => 0 DTRAL => PrSub2 13 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 SKCDK => 0 KCDKS => 0 CDKSD => 0 DKSDT => 0 KSDTR => PrSub1 10 SDTRA => 0 DTRAL => PrSub2 13 TRALL => 0 Etc. SKCDKSDTRALLAQYIPSTVNHPIL YYDDVGLLCEKADTRALMAQFVPPL 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 PrSub1 SKCDKSDTRALLAQYIPSTVNHPIL EKFKAAMLLKSDTRCLGYRNVCKEG Extension du segment tant que S M (seuil fixé) ProtQ PrSub1 SKCDKSDTRALLAQYIPSTVNHPIL EKFKAAMLLKSDTRCLGYRNVCKEG
Blast: Comment améliorer les première et deuxième étapes?
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 D T R A L D V R H I D T R A L M A T R G D T R A L E S K S M D T R A L D T R A L S=6 + 0 + 5 + -2 + 2 = 11 => OK S=-3 + 0 + -1 + -1 + -4 = -9 => NON S=2 + 1 + 2 + 1 + 2 = 8 => OK 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 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 vérifier que l'on peut étendre ces amorces pour obtenir des alignements sans gaps de score s>t Query Subject faire l'alignement local Smith & Waterman
Blast: étape 2 Recherche des HSPs = High Scoring Pairs Basé sur l'idée que : En général, l'alignement optimal contient plusieurs HSPs dont sûrement la MSP (= Maximal Scoring Pair). Une HSP contient au moins un k-mot de score > T
Blast: étape 3 Significativité du score des HSPs Quelle est la probabilité ( p-value ) d obtenir par hasard les HSPs effectivement obtenus? Soit P(S) = e -λs la probabilité d'obtenir une HSP de score S On définit l'espérance E telle que : E-value = K B *l Q *e -λs où K B dépend de la taille et de la composition de la banque l Q = 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: étape 3 Significativité du score des HSPs Score S dépend des scores des différents Matchs (cf matrice de substitution) Les valeurs de cette matrice (log-odds) fondée sur l'hypothèse d'indépendance entre les différentes positions (chaque aa de la séquence) Ceci est faux pour les régions répétées des séquences => fausse la E-value Solution : masquer les séquences
Blast vs. Smith-Waterman
La famille Blast Tblastn
Fasta / FastP Ancêtre de Blast = Fasta.
Fasta : Pearson & Lipman, PNAS 1988 A) Recherche des mots identiques de taille l k (matchs successifs joints si distance < seuil) B) Sur la base des 10 meilleurs, re-calcul du score avec PAM250, raccourcissement => Zones de + haut score = «initial region» C) Jonction des régions par alignement avec gap selon seuil D) Alignement NWS des couples Subject-Query sélectionnés autour de ces régions A C B D
Fasta : Pearson & Lipman, PNAS 1988 Significativité du score des alignements Basée sur la calcul d'un Z-score : Distribution de Score d'alignements «dus au hasard» => moyenne (m) et écart-type (e) Calcul du Z-score : Z = S-m/e => Comme déjà vu pour l'alignement 2 à 2 (Nws et SW).
Retour à la Génomique comparative On sait identifier des gènes qui se ressemblent Que peuvent me dire ces gènes sur l'histoire évolutive des génomes? => Homologie (orthologie/paralogie) et synténie
Gène et Homologie Rappel des définitions Des gènes homologues sont issus d un gène ancestral commun: Les gènes issus d un gène ancestral commun par héritage vertical sont dits orthologues. Par définition il existe donc au plus un orthologue par génome pour chaque gène considéré. Si ces gènes ont évolués par duplication l un de l autre ils sont dits paralogues
Gène et Homologie Exemple orthologues ORTHOLOGIE ORTHOLOGIE
Gène et Homologie Exemple paralogues ORTHOLOGIE PARALOGIE ORTHOLOGIE
Gène et Homologie Divergence + Fluidité ORTHOLOGUES? PARALOGUES?
Gène et Transfert horizontal
Retour à la Génomique comparative La similarité ne permet pas à elle seule d'établir des liens d'homologie!
Gènes et Orthologie Méthode du BBH Deux gènes a et b (codant pour des protéines pa et pb) appartenant respectivement aux génomes des organismes A et B sont dits en BBH si et seulement: Le meilleur hit blast de pb chez A est pa Le meilleur hit blast de pa chez B est pb Critères supplémentaires : Hit blast < 10^-6 taille(pa)=taille(pb) Taille alignement = taille des protéines
Gènes et Orthologie Méthode BBH Espèce A Espèce B a 1 a 2 a 3 a 4 a 5 b 1 b 2 b 3 b 4 b 5 b 6 a 2 et b 1 sont orthologues
BBH «Multi-Espèces» Exemple BBH en «étoile» pour 3 espèces Espèce A Espèce B Espèce C a 1 a 2 b 1 b 2 c 1 c 2 a 3 a 4 b 3 b 4 c 3 c 4 a 5 b 5 b 6 PIVOT a 2, b 1 et c 1 sont orthologues pour le BBH en «étoile»
BBH «Multi-Espèces» Exemple BBH en «clique» pour 3 espèces Espèce A Espèce B Espèce C a 1 a 2 b 1 b 2 c 1 c 2 a 3 a 4 b 3 b 4 c 3 c 4 a 5 b 5 b 6 a 2, b 1 et c 1 ne sont pas orthologues pour le BBH en «clique» => BBH en «clique» coûteux et très contraignant
La synténie
Synténie de Gènes Définition Ensemble de segments génomiques appartenant à différents génomes partageant «pratiquement» les mêmes gènes Ces segments témoignent d une conservation locale du voisinage génomique pouvant être affectée par quelques réarrangements (orientation, duplication, insertion, fusion, etc.)
Synténie de Gènes 1ère approche : le dotplot 2 isolats de Clostridium difficile Colinéarité = Synténie
Synténie de Gènes Exemple Gène : G1 G2 G3 G4 G5 G6 G7 Espèce 1 Espèce 2 Espèce 3 Espèce 4 Espèce 5 Espèce 6 Note: avant la détection des synténies, il faut définir les liens d orthologie. Ici, les gènes d une même couleur ont été identifiés (via le «BBH» par exemple) comme étant orthologues
Synténie de Gènes Définition gene team (Raffinot et al., 2004) X Y Z u, a et w sont en synténie sur X et Z à un gap près 1 2 3 4 f u a w 7 9 10 z a x y 17 18 19 20 21 u x a a w
Synténie de Gènes Intérêts de la synténie La détection de synténies permet d identifier des gènes susceptibles d être fonctionnellement liés et/ou d interagir (opérons, clusters de gènes) La synténie permet également d évaluer et d identifier les réarrangements affectant les génomes tels que les transpositions, délétions, insertions, inversions, fusions et fissions (mesure phylogénétique, étude de la dynamique/fluidité des génomes)
Exemple Fluidité des génomes 17 18 16 15 14 13 12 11 10 1 A 2 9 8 3 4 6 7 5 17 18 16 15 14 13 12 11 10 1 B1 2 9 8 3 4 6 7 Inversion autour du terminus 1 2 17 18 3 16 15 14 5 6 7 8 B2 9 10 5 4 13 12 11
Exemple Caractérisation des zones conservées: les synténies B1 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 13 12 11 10 9 8 7 6 5 14 15 16 17 18 Gènes orthologues : B2
Exemple Caractérisation des zones conservées: les synténies B1 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 13 12 11 10 9 8 7 6 5 14 15 16 17 18 Gènes orthologues : B2
Exemple Cas réel (Eisen et al., Genome Biology, 2000)
Exemple Cas réel
Synténie de Gènes Macro-synténie, Micro-synténie Micro-synténie: ensemble de segments génomiques appartenant à différents génomes partageant «pratiquement» les mêmes gènes Macro-synténie: deux gènes «côte à côte» sur le chromosome d une espèce sont sur le même chromosome dans une autre espèce
Homme / Mouse
Jaillon et al., Nature, 2004