Frédérique Barloy-Hubler
fhubler@univ-rennes1.fr CNRS-IGDR Rennes Responsable PF Amadeus Annotation des gènes et des génomes
Biosit -UMS 3480
Comparaison et ! Alignement !
de séquences
Un petit jeu pour commencer
Pourquoi comparer deux objets ?
C’est quoi ?
Pourquoi comparer deux objets ?
C’est quoi ?
C’est un fruit, une pomme, une granny smith …
Comment je le sais ?
Pourquoi comparer deux objets ?
C’est quoi ?
C’est un fruit, une pomme, une granny smith …
Comment je le sais ?
Taille, forme, couleur …
Pourquoi comparer deux objets ?
C’est quoi ?
Pourquoi comparer deux objets ?
C’est quoi ?
Je ne sais pas mais …
Pourquoi comparer deux objets ?
C’est quoi ? Cela ressemble à : citron
mure-framboise
litchi
DEFINITION ALIGNEMENT MULTIPLE
ALIGNEMENT de SEQUENCE
2 à 2
Pourquoi comparer deux objets ?
Pour « nommer » un objet, le schéma classique est :
-> OBSERVATION, DESCRIPTION -> COMPARAISON
-> TRI, CLASSEMENT, RANGEMENT
La comparaison est le pont indispensable entre l'observation et
la classification.
Les limites de la comparaison
Comparer ce qui est comparable ?
?
Les limites de la comparaison
La base de connaissances est incomplète
?
Les limites de la comparaison
Analyser les résultats
La comparaison me dit :
=
Différences possibles (localisation, environnement, autres critères …)
Comparer deux séquences
?
Comparer deux séquences ?
Comparer de séquences 2 à 2 revient à comparer des chaines
de caractères (formant ou non des mots)
Comparer deux séquences ?
Comparer de séquences 2 à 2 revient à comparer des chaines de caractères (formant ou non des mots)
Les questions sont :
- Est ce que ces 2 chaines de caractère ont un lien ?
- Est ce que ces 2 chaines de caractère ont le même sens ?
- Exemple
POIRE et FOIRE sont des chaines de caractère similaires mais
elles n’ont pas le même sens
Pourquoi comparer deux séquences ?
Les séquences biologiques qui présentent de ressemblances ont tendance à partager de l’information sur leur(s) fonction(s) cellulaires et biochimiques
« si je ressemble à une pomme, je suis sans doute une pomme … »
Or, il est difficile de trouver expérimentalement la fonction d’une protéine sans connaissance préalable
Annoter par comparaison permet d’orienter les recherches
Exprimer et interpréter la ressemblance
On peut nommer la ressemblance entre deux séquences biologiques en terme de similarité et d’identité :
La similarité qui est une quantité mesurable de ressemblance, elle s’exprime en %
L’ identité qui signifie une ressemblance parfaite entre deux
élément. Elle s’exprime de manière binaire : 2 protéines sont
identiques ou non
Similitudes et homologies
La similarité ou similitude mesure donc un taux de ressemblance souvent noté « pourcentage de similitude » :
% de similitude = % d'identité + % de substitutions conservatives
L'homologie est une notion à connotation évolutive et indique que des séquences dérivent d'une séquence ancestrale commune.
Remarque
Deux séquences peuvent avoir un bon degré de similitude sans être homologues Deux séquences peuvent être homologues avec un faible degré de similitude.
Homologie
Homologues = Séquences qui dérivent d’un ancêtre commun.
Duplication
Gene ancestral
Blé gène A
Blé gène A’
Colza gène A Chou gène A Chou gène A’’
Chou gène A’
Arabette gène A
orthologues : Séquences similaires dans organismes différents (spéciation)
paralogues : Séquences au sein d'un organisme unique (duplication)
Remarque : ils existent d’autres types d’homologues comme les xénologues (transferts horizontaux), in-paralogues (duplication après spéciation) sinon out- paralogues …
Qu’est ce qu’un alignement ?
L'alignement de deux séquences est une représentation qui permet de visualiser leurs ressemblances :
Identité, similitude, insertion, délétions …
Cet alignement se compose donc de
4 Segments identiques 2 Segments similaires 2 Segments alignés
Insertions de "gap" qui
représente une
insertion (séquence du haut) ou une délétion (séquence de bas) A et G
Même classe : Purine
Global ou local ?
Il est possible de réaliser un alignement :
global, c'est-à-dire entre les deux séquences sur toute leur longueur local, entre une séquence et une partie d’une autre séquence
Similarité global Similarités locales
Global ou local ?
Il est possible de réaliser un alignement :
global, c'est-à-dire entre les deux séquences sur toute leur longueur
-> algorithme de Needleman-Wunsch
local, entre une séquence et une partie de l'autre séquence
-> algorithme de Smith-Waterman
Similarité global Similarités locales
L’alignement de séquences biologiques
L’alignement de séquences biologiques revient à aligner des chaînes de caractères
Un alignement est une correspondance entre 2 ou plusieurs chaines de caractères sans en changer l’ordre, et en autorisant éventuellement des « trous ».
Deux lettres identiques face à face = match
Deux lettres différentes face à face = mismatch
Une lettre face à un trou = gap ou indel (insertion-délétion)
Le degré de similarité entre les séquences alignées est quantifié par
un score.
L’alphabet des séquences biologiques
Un alphabet est un ensemble fini de symboles distincts deux à deux.
L’alphabet de l’ADN est composé de 5 symboles ΣADN ={−,A,C,G,T}
L’alphabet de l’ ARN également -> ΣARN = {−,A,C,G,U}
L’alphabet des protéines est composé de 21 symboles
ΣAA = {−,A,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y} qui représente
les acides aminés
Notion de distance
La distance de Hamming
La distance de Hamming (dH) est très simple :
Entre 2 mots de même longueur, dH est le nombre de substitutions de caractères nécessaire pour transformer le premier mot en second mot.
Entre le mot U et le mot V : dH = 4
L'algorithme de Needleman et Wunsh est basée sur cette
distance
Notion de distance
La distance de Levenshtein
Cette distance (dL) ajoute, à la distance de Hamming, la prise en compte de la présence des insertions, des délétions et des substitutions.
La distance dL entre le mot U et le mot V se calcule à l'aide d'une matrice dite de programmation dynamique qui permet non seulement de calculer un score de similarité entre u et v mais aussi de les aligner.
L'algorithme de Smith et Waterman est basé sur cette distance.
ATTGA
Notion de programmation dynamique
La matrice dite de programmation dynamique
Comparons ATTGA et ATCCGA avec une matrice de ce type. Ici la distance dL finale est de 2
Dans chaque case, la fléche
représente une possibilité (il y en a plusieurs) de type de calcul
Identité (score=0) ou substitution (score=1)
(score=1)
Pour le mot horizontal, délétion
Pour le mot horizontal, insertion Idem pour
ATT - GA ATCCGA
Notion de score global
On remarque dans l’exemple précédent que l’ attribution du score global se fait « site par site »
Il résulte de la somme des scores élémentaires calculés sur chacune des positions appariés de manière optimal.
Ce score additif correspond à l’hypothèse selon laquelle chaque séquence accumule des mutations à un rythme qui lui est propre selon la pression de sélection à laquelle elle est soumise et que chaque site est susceptible d’évoluer indépendamment.
C’est une hypothèse simplificatrice qui peut parfois être fausse
notamment pour les ARN.
Problème de score
Scorer les gap
Pénaliser les gaps ou ne pas les pénaliser ? Quelle(s) pénalité(s) ?
Scorer les similitudes
Les similitudes sont scorés à l’aide de matrice(s) de substitution.
Quelle matrice choisir sachant que, bien évidemment le score et
l'alignement seront dépendants du choix de la matrice.
Scorer par identité
Une façon simple de scorer un alignement est de compter le nombre de correspondance parfaite.
On obtient un % de sites identiques en divisant le nombre de correspondance et le nombre de positions (en incluant les gaps)
11 matches identiques sur 16 positions = 68,75% (69%) de sites identiques
Scorer par identité
Une façon simple de scorer un alignement est de compter le nombre de correspondance parfaite.
On obtient un % de sites identiques en divisant le nombre de correspondance et le nombre de positions (en incluant les gaps)
11 matches identiques sur 16 positions = 68,75% (69%) de sites identiques
Pb de la longueur : le % d’identité dépend de la longueur, plus la séquence est longue, plus il diminue en général
Pb des matchs aléatoires: dans l’ADN, 25 % des positions
matchent par hasard contre 5 % chez les protéines.
Scorer par identité
Interprétation(s)
Entre 20% et 30%, on est dans la « zone d’ombre »
Sauf pour des protéines très particulières, on n’observe jamais 100%
de sites identiques entre protéines homologues chez différentes espèces
> 30% d’acides aminés identiques
Fonction(s) similaire(s) probable
< 20 %
Fonction(s) Différente(s)
Scorer à l’aide de matrices
Il existe plusieurs matrices de score
Le mode de calcul est toujours le même
1 - Les scores élémentaires (se, site par site) sont donnés par la matrice 2 - Le score global est la somme des scores élémentaires
Score global = Σ se
3 - Le score final est le score global moins la somme des pénalités P Score = Σ se - Σ P
Le score est donc fonction de la longueur de l’alignement, de la matrice utilisée et du poids des indels qui définit les pénalités.
Les matrices de substitution
Matrices d’identité
existe pour ADN, ARN et les acides aminés
Matrices « Génétique »
pour les acides nucléiques
Matrices « Homologie »
pour les acides aminés
Similarités physico-chimiques
Evolution des substitutions
Comparaison des séquences
Les matrices nucléiques
Matrice d’identité
Matrice unitaire
Matrice Transversion - Translation
Les matrices nucléiques
Les modèles décrivant l’évolution de l’ADN
JC69 - 1969 Jukes et Cantor
K80-K2P 1980 – Kimura
K81-K3ST
1981-Kimura T92-1992/T93-1993 Tamura
a=b=c=d=e=f a=c=d=f, b=e 2 substitutions
a=f, b=e, c=d
3 substitutions a=c=d=f, b, e 3 substitutions
Les matrices protéiques
Les matrices protéiques d’identité ne sont pas utilisées puisqu’1 a.a.
peut être substitué sans altération importante de la structure ou de la fonction par un autre qui lui ressemble.
Ces ressemblances peuvent être de plusieurs types : - même charge
- hydrophiles / hydrophobes
- type de groupement latéral : polaire (groupe I), polaire non
chargé (groupe II), chargé (groupe III)…
Les matrices de substitution
Les matrices protéiques liées à l’évolution sont :
Basées sur des arbres construits en utilisant le maximum de parcimonie :
PAM (Dayhoff et al., 1978) JTT (Jones et al., 1992).
Sur des arbres construits en utilisant le maximum de vraisemblance :
WAG (Whelan et Goldman, 2001).
Sur des comparaisons par paires utilisant des alignements locaux :
BLOSUM (Henikoff et Henikoff, 1992) Gonnet (1992)
Matrice PAM (Point Accepted Mutation)
Proposé par Margaret Dayhoff et al. en 1978
Une mutation ponctuelle acceptée (accepted point mutations) est une substitution entre 2 acides aminés accepté par la sélection naturelle
L’idée est d'analyser les mutations ponctuelles acceptées dans un grand nombre de groupes de séquences alignées et sans gap
En 1978 : 71 familles de protéines id> 85% ⇒ 1300 séquences
Ensuite, ils ont calculé la probabilité qu’un acide aminé change dans un petit intervalle évolutif = la mutabilité relative (relative mutability)
mj = nombre de changements de j / nombre d'occurrences de j
Matrice PAM (Point Accepted Mutation) Mutabilité relative
A l’aide la matrice des mutations ponctuelles acceptées et la
mutabilité relative, on calcule la probabilité de mutation pour
chaque paire d’acides aminés
Matrice PAM (Point Accepted Mutation)
La matrice PAM1
Fréquences multipliées par 10000.
Il y a 0.11% de probabilité que C soit remplacé par S
Matrice PAM (Point Accepted Mutation)
La matrice PAM1
La matrice PAM1 donne la probabilité de mutation pour un intervalle d’évolution dans lequel 1% des substitutions étaient acceptées
Les probabilités de mutation pour des intervalles d’évolution plus grands sont obtenues par la multiplication du PAM1 avec elle-même
PAM120 = PAM1120
PAM250 = PAM1250
120 substitutions acceptées pour 100 aa
250 substitutions acceptées pour 100 aa
Matrice PAM (Point Accepted Mutation) Distance évolutive et valeur des matrices PAM
25 % = PAM30
50 % de distance = PAM80
80% de distance = PAM246
Le « bon » choix de la matrice PAM dépend du jeu de données (connaissances à priori ?)
Matrice PAM (Point Accepted Mutation)
Les matrices PAM ont été réactualisées en 1992 par Jones, Taylor et Thornton. Ces matrices réactualisées apparaissent sous le nom de matrices JTT.
La réactualisation a été conduite sur la base de 2621 familles de protéines (16 300 séquences, 59190 mutations ponctuelles) issues de la base de données SWISSPROT.
Boite à outils
Site pour calculer matrice PAM
http://www.bioinformatics.nl/tools/pam.html
Matrice BLOSUM (BLOcks SUbstituion Matrix)
Proposé par Henikoff & Henikoff en 1992
Dérivées d’alignement multiples locaux de blocs
Blocs = régions conservées de familles protéiques ne contenant pas d’indels
2000 blocs provenant de 500 familles provenant de la banque de
données BLOCKS (http://blocks.fhcrc.org/)
Matrice BLOSUM (BLOcks SUbstituion Matrix)
Les matrices BLOSUM ne sont pas basées sur la distance d’évolution comme les matrices PAM
Les matrices BLOSUM ont pour objectif de trouver des régions conservées entre différentes séquences en aa
BLOSUM 62 = groupe de blocs à 62 % id BLOSUM 80 = groupe de blocs à 80% id
2205 blocs 504 groupes
de séquences proches
Regroupés en clusters selon %
id
Matrice BLOSUM (BLOcks SUbstituion Matrix)
Les matrices BLOSUM ont cependant tendance à « dériver »
En effet, les bases de données contiennent un nombre très variables de séquences selon les espèces et selon les protéines.
Les matrices BLOSUM tiennent ce décentrement en compte en appliquant une pondération (poids basé sur le nombre de séquences par blocs).
On obtient une matrice de fréquences pondérées transformée
ensuite en probabilités d’occurence
Matrice BLOSUM (BLOcks SUbstituion Matrix)
BLOSUM62
PAM versus BLOSUM
Comparaison BLOSUM62 et PAM250
PAM250
BLOSUM62
Importance du choix de la matrice
Impliquées dans toutes les analyses par comparaison de séquences par alignement Les résultats sont fortement dépendant de la matrice utilisée
Comprendre une matrice permet de faire « le bon choix »
Importance du choix de la matrice
Impliquées dans toutes les analyses par comparaison de séquences par alignement Les résultats sont fortement dépendant de la matrice utilisée
Comprendre une matrice permet de faire « le bon choix »
A RETENIR
62% Id 80% Id
80% Id 60% Id 40% Id
30% Id
20% Id
Comparer deux séquences ?
La comparaison de deux séquences peut se faire : Par dotplot
Par alignement
L’alignement 2 à 2 peut-être : - global ou local
- réalisé par :
programmation dynamique méthode heuristique
apprentissage machine
Le Dot Plot
Les dotplots ou (graphe par matrice de points) sont utilisés :
Une représentation graphique de la similarité par paires Sa simplicité empêche les artefacts
Idéal pour rechercher des caractéristiques similaires dans des ordres différents (répétitions, inversions…)
Bénéficier de la plus sophistiquée d'analyse statistique outil
dans l'univers. . . votre cerveau
Le Dot Plot
Les dotplots sont utilisés :
Pour mettre en évidence visuellement des ressemblances/différences globales ou locales entre deux séquences
Par les programmes de recherche de similarité dans les premières étapes de recherche.
Pour analyser les régions de séquence de « faible complexité »
Pour analyser les séquences qui « résistent » à la recherche classique d’homologie de séquences
Le Dot Plot
Le DotPlot utilise une matrice
élémentaire ou unitaire également
appelé tableau à double entrée
Le Dot Plot
Lecture d’un dotPlot
Dans un dotplot, les deux séquences sont placées le long des axes d'un graphique :
L’axe X représente la première séquence L’axe Y représente la seconde séquence
L'intersection de chaque ligne et colonne est marquée d'un point si la lettre est la même dans les deux séquences
Une diagonale révèle une région identique entre les deux séquences.
Seq 1
Seq 2
Le Dot Plot (exemples)
DotPlot et épissage
ADN gène A
ARN gène A
DotPlot et répétitions
Matrices dot plot de séquences IGS de six espèces de diptères révélant différentes tailles de sous-répétitions (Huang et al, 2011)
DotPlot et synténie
Zone d’instabilité synténique inversion
Le Dot Plot (exemples)
DotPlot et structure d’ARN
Hofacker et al, 1998
DotPlot et fonction
assignation pour protéines
A : organisation fonctionnelle de la structure primaire de la protéine P101 B : dotplot avec un homologue putatif
Voigtet al, 2005
Le Dot Plot (exemples)
DotPlot et génomes
Schnable et al, 2010
DotPlot et assemblage (NGS)
Dotplot d'une portion de scaffold et des BACs qui reflète l’absence de problème d’assemblage (ordre ou orientations des contigs corrects)
Mural et al, 2002
Comparaison des génomes de maïs et de sorgho
Les outils pour réaliser des dotplots
YASS
http://bioinfo.lifl.fr/cgi-bin/yass/index.php
Les outils pour réaliser des dotplots
YASS
http://bioinfo.lifl.fr/cgi-bin/yass/index.php
Génome 1 Génome 1
Input :
Séquence acide nulcéique (.fna) Sans annotation
Les outils pour réaliser des dotplots
Les outils pour réaliser des dotplots
YASS
http://bioinfo.lifl.fr/cgi-bin/yass/index.php
Génome 1 Génome 2
Les outils pour réaliser des dotplots
Les outils pour réaliser des dotplots
ZPICTURE
http://zpicture.dcode.org/
Outil pour visualiser les alignements blastZ (alignement local à base de graines espacées) en utilisant PipMaker (serveur web d’alignement)
Possibilité d’entrer des annotations en plus (# avec YASS) Possibilité d’entrer des numéros d’accession
Exemple avec 2 génomes bactériens
ZPICTURE
Liste ECR Evolutionary
Conserved Regions
ZPICTURE Liste ECR
Génome 1 Génome 2
2 paramètres
ZPICTURE
Alignement 2 formats
ZPICTURE
Alignement
ZPICTURE
Alignement
ZPICTURE
Si annotations Dot-plot
ZPICTURE
Dot plot
ZPICTURE
VizualisationZPICTURE
Vizualisation
Les outils pour réaliser des dotplots
Quelques autres outils de Dot-plot (séquences plus petites ou plus homologues) DOTLET
http://myhits.isb-sib.ch/cgi-bin/dotlet ou
http://alggen.lsi.upc.es/softpublic/dotlet/Dotlet.html EMBOSS Dottup
http://emboss.bioinformatics.nl/cgi-bin/emboss/dotmatcher DNAdot
http://www.vivo.colostate.edu/molkit/dnadot/index.html APLOT
http://genome.fli-leibniz.de/aplot/index.html
2 applets Java intéressantes Gepard
http://mips.gsf.de/services/analysis/gepard JDotter
http://pgrc.ipk-gatersleben.de/jdotter/
Référence Dotplots
Gibbs, A. J. & McIntyre, G. A. (1970).
The diagram method for comparing sequences. its use with amino acid and nucleotide sequences.
Eur. J. Biochem. 16, 1-11.
Staden, R. (1982).
An interactive graphics program for comparing and aligning nucleic-acid and amino-acid sequences.
Nucl. Acid. Res. 10 (9), 2951-2961.
Conclusion sur les dotplots
Avantages et inconvénients
les plus:
- simple
- très informatif
- on peut comparer sans « annotation » les moins:
- interprétation ⇒ pas de mesure objective - pas d’information fonctionnelle
⇒ besoin de méthodes complémentaires permettant
une mesure quantitative et qualitative des similarités
L’alignement de séquences
Quelle préférence : faire juste ou faire vite ?
Les méthodes dites exactes dont le résultat est garanti pour être mathématiquement optimal :
Needleman-Wunsch (global)
Smith-Waterman (local)
Les méthodes dites heuristiques qui font rapidement des hypothèses vraisemblables mais pas nécessairement optimisées :
BLAST
FASTA
Les méthodes exactes
Algorithme de Needleman & Wunsch (1970)
alignement global optimal de 2 séquences entre deux séquences sur toute leur longueur
Algorithme de Smith & Waterman (1981) alignement local optimal de 2 séquences
entre une séquence et une partie d’une autre séquence
Programmation dynamique
Comparaison des 2 algorithmes
Exemple avec la matrice de score suivante :
Match = +1
Mismatch = -1
Gap = -1
Needleman & Wunsch
Algorithme de Needleman & Wunsch
Exemple de « programmation dynamique »
Première application pour les séquences biologiques.
Initialement développé pour les séquences protéiques Cet algorithme s’appuie sur trois étapes :
Initialisation : matrice avec les séquences
Première ligne et colonne remplies par des « gaps »
Needleman & Wunsch
Initialisation : matrice avec les séquences
Score : remplissage de la matrice -> matrice score final
Needleman & Wunsch
Initialisation : matrice avec les séquences
Score : remplissage de la matrice -> matrice score final « Trace back » : remonte et recherche chemin optimal (trois mouvements : diagonale, up et down)
Meilleur alignment:
A T C G!
| | | |!
_ T C G!
Smith & Waterman
Variation de l’alignement de Needleman & Wunsch Basé sur la distance de Hamming
Cet algorithme s’appuie également sur trois étapes : Initialisation : matrice avec les séquences
Première ligne et colonne remplies par des zéros
Smith & Waterman
Initialisation : matrice avec les séquences Score et matrice de score finale
Smith & Waterman
Initialisation : matrice avec les séquences Score et matrice de score finale
« Trace back » : remonte et recherche chemin optimal (trois mouvements : diagonale, up et down)
Meilleur alignment:
T C G!
| | |!
T C G!
Resumé
Needelman- Wunch Smith-Waterman
GLOBAL LOCAL
Meilleur alignment:
T C G!
| | |!
T C G!
Meilleur alignment:
A T C G!
| | | |!
_ T C G!
Comparer global et local
LALIGN (W. Pearson, 1991)
Le programme LALIGN permet de faire soit un alignement local soit un alignement global avec 2 séquences (protéiques ou nucléiques)
http://embnet.vital-it.ch/software/LALIGN_form.html
Autres outils en ligne d’intérêt
LALIGN (W. Pearson, 1991)
MATRICE METHODE
PENALITES
SEQUENCES
Autres outils en ligne d’intérêt
LALIGN (W. Pearson, 1991)
GLOBAL versus LOCAL
>seq1!
GCGACTGTTCGGAGGAAAGTGAGTCTGTGGTACTGATGGAGTCACGTAC!
>seq2!
GCATGCGAGGACGGAAAAGTGGTCAAGGCTGCAGTCACCTACGTCGTAC!
Les paramètres des alignements
Pour les méthodes fonctionnant avec un fenêtre glissante comme le dot plot, deux paramètres : La taille de la fenêtre et Le pas de “glisse”
88, 96, 92, 74, 56, 66, 85, 97, 82, 88, 96, 92, 74, 56, 66, 85, 97, 82, 77
Taille = 3 Pas = 2 Taille = 3 Pas = 3
Trop
d’informations
Perte
d’informations
La pénalité des indels
Insertions ou délétions : indels (gap)
La fonction linéaire de pénalité d'un gap est définie par : n = longueur du gap
d = pénalité d'ouverture d'un gap e = pénalité d'extension d'un gap
Exemple : un gap de longueur n = 3, avec une pénalité d'ouverture de -10 et d'extension de -2, aura un score de
f = -10 + (-2 x 2) = -14
La fonction de pénalités des gaps sontdifférentes selon les
algorithmes : Fonction affine (plus réaliste) : f(n)=d+e*n mais aussi
fonctions logarithmiques…
La pénalité des indels
GAP OPEN (GOP): valeur de la pénalité pour l'ouverture d'un gap.
GAP EXTENSION (GEP) : valeur de la pénalité pour l'extension d'un gap.
GOP : -3 GEP : -1 Identité = 4
Calculez les scores ?
Quel alignement est le moins «pesant » ?
La fréquence moyenne observé pour les gaps et de 1/10, de sorte qu'ils sont communs dans la plupart des alignements.
Symbolisé par des tirets (---) jumelé avec des résidus: décalage avec un espace vide.
La pénalité des indels
GAP OPEN (GOP): valeur de la pénalité pour l'ouverture d'un gap.
GAP EXTENSION (GEP) : valeur de la pénalité pour l'extension d'un gap.
GOP : -3 GEP : -1 Identité = 4
Score = 9 Score = 7
La pénalité des indels
En programmation dynamique, changer la pénalité de gap revient à changer le chemin parcouru et donc l’alignement …
Gap penalty = -4
Gap penalty = -8
Effet de la pénalité des indels
2 protéines LALIGN global.
Choix des matrices
Il existe de nombreuses matrices
Il est difficile de savoir laquelle utilisée
Les premières études comparatives sur l'utilisation de différentes
matrices (Feng et al., 1985 ; Taylor, 1986 ; Argos, 1987 ; Risler et al.,
1988) montraient qu'il n'existe pas de matrice idéale.
Choix des matrices
Il existe de nombreuses matrices
Il est difficile de savoir laquelle utilisée
Les premières études comparatives sur l'utilisation de différentes
matrices (Feng et al., 1985 ; Taylor, 1986 ; Argos, 1987 ; Risler et al.,
1988) montraient qu'il n'existe pas de matrice idéale.
PAM120 vs BLOSUM 35
2 protéines LALIGN global.
PAM120
BLOSUM35
DEFINITION ALIGNEMENT MULTIPLE
ALIGNEMENT de SEQUENCE
RECHERCHE DE SIMILARITES
RESSEMBLANCE
HOMOLOGIE
FONCTION CONSERVEE
Concept de fonction est flou :
• Activité biochimique identique ?
• Distribution tissulaire identique ?
• Compartimentation identique ?
Prédiction de fonctions par ressemblance
L’homologie de séquence traduit la parenté
-> On est homologue ou on ne l'est pas
-> On ne dit pas: "très homologue", "faible homologie", etc…
Dans ces cas là, on parle de similitude ("très similaires", etc.).
Remarque :
Identifier les similarités
Par alignement de séquences 2 à 2 :
A l’aide des algorithmes Needleman-Wunsch Smith Waterman
Et des outils BLAST
FASTA
BLAST : Basic Local Alignment Search Tool
(Lipman, Karlin, Altschul, 1990)FASTA : FAST-ALL (
David J. Lipman and William R. Pearson in 1985)
Programmes d'alignement local de séquences basé sur une heuristique.
Une heuristique est un algorithme qui fournit rapidement une solution qui n’est pas nécessairement optimale.
Une heuristique et donc une méthode approximative, qui s’oppose aux algorithmes exacts (trop lents ou trop gourmands).
Uniprot 02/2013= 29,769,971 protéines (9,585,856,378 aa)
Si chaque comparaison prend 0,01 seconde, une requête (tt les comparaisons 2 à 2) prendrait 82 heures (plus de 3 jours)
BLAST et FASTA sont des heuristiques
FASTA
• La programmation dynamique calcule des scores sur des espaces inutiles pour la recherche du score optimal
• FASTA se concentre sur la diagonale
FASTA
• La programmation dynamique calcule des scores sur des espaces inutiles pour la recherche du score optimal
• FASTA se concentre sur la diagonale
L'algorithme du programme FASTA peut se résumer en quelques étapes:
Etape 1 : Recherche dans un « dot plot » des hot spot qui sont des appariements parfaits (identiques) de mots de longueurs k.
FASTA
Etape 2 : Score chaque hot spot (gap penalty et matrice) et garde les 10 meilleurs diagonales
FASTA
Etape 2 : Score chaque hot spot (matrice) et garde les 10 meilleurs diagonales
FASTA
Etape 3 : Combine ces segments (sous-alignement) en un alignement unique avec gaps (gap penalty) et recherche le meilleur alignement (meilleur score)
FASTA sur le web
http://www.ebi.ac.uk/Tools/sss/fasta/
Choix du
programme
SEQUENCE BANQUE
Protéique Protéique
Nucléique Nucléique
T T
FASTA
FASTA
Choix du programme FASTA
TFASTX ne tolère pas les décalages de phases (frameshif) TFASTY tolère pas les décalages de phases
Autres programmes
Choix du
programme
SSEARCH : Utilisation de l’algorithme de Smith-Waterman GGSEARCH: Utilisation de l’algorithme de Needleman-Wunsch GLSEARCH :
Alignements global dans la query et local dans la database
Parametres de FASTA
Paramètres cachés
Paramètres de FASTA
Paramètres cachés
Paramètres de FASTA
Paramètres cachés
VTML ou VT décrites par Muller et al. (2002). Maximum de vraisemblance ou maximum like- lihood approach.
VTML est adéquat pour les petites jeux de données MDM sont les matrices PAM réactualisés par Jones et al. (Jones et al., 1992). Parfois appelées matrices JTT
Clic on matrix
Matrices de FASTA
?
?
Comparons :
PAM120 et VTML120 (sinon défaut)
Matrices de FASTA
Comparons PAM120 et VTML120
1 séquence protéique de 234 aa / Banque par défaut (uniprotkb) PAM120 Durée du travail : 1min 44
Matrices de FASTA
Comparons PAM120 et VTML120
1 séquence protéique de 234 aa / Banque par défaut (uniprotkb) VTML120 Durée du travail : 3 min 30
Autres paramètres FASTA
GOP GEP E-value
KTUP
Sensibilité (Sensitivity):
Aptitude à détecter toutes les similarités « significatives » (minimiser les faux négatifs)
Sélectivité (Selectivity):
Aptitude à ne sélectionner que des similarités « significatives » (minimiser les faux positifs)
Remarque sur la longueur du k-tuple
K-tuple est grand
K-tuple est petit
Sélective forte' Sensibilité faible
Je risque de perdre des bons candidats
Sélective faible' Sensibilité forte
Je risque de recruter des mauvais candidats
Les sorties de FASTA
FASTA (Submission details)
FASTA (Submission details)
FASTA (Tool output)
FASTA (Tool output)
FASTA (Visual output)
FASTA (Functional predictions)
Base de données de domaines protéiques
L'algorithme du programme BLAST peut se résumer en quelques étapes:
Etape 1 : La séquence est filtrée par défaut (optionnel) afin d'enlever les régions de faible complexité.
Ex : AAAAAAA
ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA
k…
Etape 2: Une liste contenant tous les mots de k lettres de cette séquence est construite (hachage)
BLAST
Sensibilité (Sensitivity):
Aptitude à détecter toutes les similarités « significatives » (minimiser les faux négatifs)
Sélectivité (Selectivity):
Aptitude à ne sélectionner que des similarités « significatives » (minimiser les faux positifs)
Remarque sur la longueur du mot k
k est grand
k est petit
Sélective forte' Sensibilité faible
Je risque de perdre des bons candidats
Sélective faible' Sensibilité forte
Je risque de recruter des mauvais candidats
Chacun de ces mots est alors comparé à tous les mots de longueur k des bases de données en utilisant la matrice de substitution choisie (les bases de données contiennent des séquences indexées)
Algorithme du programme BLAST
ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA
TGGGCC Seq 98 Seq 22..
GCTGCC Seq 58 Seq 556
GATCGC Seq 96 Seq 22..
TTTCTC Seq 243 Seq 5669..
TTTATT Seq 2 Seq 5686
ATGCTG Seq 56 Seq 22 …
Double critère
ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA
TGGGCC Seq 98 Seq 22..
GCTGCC Seq 58 Seq 556
GATCGC Seq 96 Seq 22..
TTTCTC Seq 243 Seq 5669..
TTTATT Seq 2 Seq 5686
ATGCTG Seq 56 Seq 22 … Sélection des séquences qui partagent au moins 2 hits
HSP : High Scoring Pairs
ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA Ces hits ou segments similaires sont appelés High Scoring Pair (HSP).
ATGCTGCTTTCCCCCCTGATCGCTGAGCTGGGCC
HSP1 HSP2 HSP3
Chacun des HSP à un score initial (> seuil)
Ces HSP sont prolongés des deux sens afin d'obtenir des alignements plus longs ayant des scores maximaux supérieurs au seuil fixé
Cette procédure d'élongation s'arrête lorsque l'alignement génère un score inférieur au seuil (non significatif) ou lorsque 2 HSP se rejoignent
Elongation des HSP
ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA
ATGCTGCTTTCCCCCCTGATCGCTGAGCTGGGCC
BLAST sur le web
Choix du
programme
SEQUENCE BANQUE
Protéique Protéique
Nucléique Nucléique
T T
T T
BLASTP
BLASTN TBLASTX
Choix du programme
Les 6 phases de lecture
Un brin d’ADN peux donc être divisé en 3 chaines de
triplets appelés « phases de lecture » ou « reading frames »
Les 6 phases de lecture
Un brin d’ADN peux donc être divisé en 3 chaines de triplets appelés « phases de lecture » ou « reading frames »
L’ADN est bicaténaire, les deux brins sont codants, ce qui
donne non pas 3 mais 6 phases de lecture
Prog. Input Database 1
Blastn ADN ADN
1
Blastp Prot. Prot.
6
Blastx ADN Prot.
6
tBlastn Prot. ADN 36
tBlastx ADN ADN
Nombre de comparaisons :
BLAST
Input
Base de
comparaison
Choix d’une région de la séquence
BLAST
Limitation à un taxid, organisme …
Exclusion
séquences modèles NCBI et
échantillons environnementaux
BLAST
Filtre Matrice
Taille mot (word size) Expect
Les paramètres
Pénalité GO,GE
L’expect value de BLAST
E-value (Expect) = Nombre d'alignements attendus par hasard ayant un score supérieur au seuil dans la banque de données de taille équivalente
Plus la valeur de la e-value est faible, plus l'alignement est fiable
E-value de 4
e-4: il me faudra blaster 2500 séquences au hasard pour obtenir une séquence avec un score > seuil
E-value de 1
e-70: il me faudra blaster 1
e70séquences au hasard pour
obtenir une séquence avec un score > seuil
L’expect value
E-value (Expect) = Nombre d'alignements attendus par hasard ayant un score supérieur au seuil dans la banque de données de taille équivalente
Plus la valeur de la e-value est faible, plus l'alignement est fiable E-value de 4
e-4: il me faudra comparer 2500 séquences au hasard pour obtenir une séquence avec un score > seuil
E-value de 1
e-70: il me faudra comparer 1
e70séquences au hasard pour obtenir une séquence avec un score > seuil
Attention cependant : cette probabilité de ne pas être « au hasard »
dépend de la taille de la banque de données utilisée !
E-value et espace de requête
E-value
m est le nombre de lettres de la séquence requête n est le nombre de lettre dans la base de données S est le score seuil (bit score)
R est le score brut (raw score)
m*n est l’espace de recherche
Relation linéaire avec la taille de l’espace de recherche:
si la taille de la banque double, la e-value double aussi.
Relation exponentielle avec le score: de petits changements de score peuvent entrainer d’important changement de la e-value.
statistique de Karlin et Altschul
L’expect value de BLAST
K et lambda sont des paramètres statistiques propres à l’algorithme
Les scores de BLAST
Le score final de l’alignement dépend de la matrice utilisée ainsi que des pénalités de gap.
Pour comparer 2 alignements obtenus à partir de paramètres différents, on va devoir « normaliser » les scores
Cette normalisation s’effectue à partir de facteurs pré-calculés par
Blast et est exprimé en ”bit” (unité standard d’information, un bit étant
une quantité d’information nécessaire pour distinguer 2 possibilités)
Ce score permet de faire varier les paramètres matrice-gap penalty,
de comparer les alignements et de dire lequel est le meilleur
Exemple usage « bit score »
BLOSUM 80 (10,1)
BLOSUM 45 (15,2)
La sortie de BLAST (output)
Base de données input
programme
« Search Summary »
Score seuil = 11 Matrice
Taille de la base de données E value seuil
Taille mot w = 3
Pénalité Gap
Prendre l’habitude de sauvegarder le summary
La sortie « Taxonomy »
BLAST présente les séquences trouvées en fonction de leur appartenance taxonomique.
Les valeurs représentent (de gauche à droite) : Le meilleur score pour
chaque espèce, le nombre hits par espèce et la description du meilleur hit
La sortie « Taxonomy »
Les résultats sont ensuite détaillés organisme par organisme
Tous les hits du même organisme apparaissent ensemble, rangés par score Les organismes étant rangées en fonction du score également
La sortie « Taxonomy »
BLAST présente les séquences trouvées en fonction de leur appartenance taxonomique.
Les valeurs représentent (de gauche à droite) : Le meilleur score pour
chaque espèce, le nombre hits par espèce et la description du meilleur hit
La sortie « Tree »
Arbre des séquences regroupées en fonction de leurs distances (Arbre des distance)
Cet affichage peut permettre de reconnaître la présence de séquences aberrantes ou inhabituels ou d’observer graphiquement les membres d'une famille de gènes homologues provenant d'autres espèces.
La sortie « Graphique »
Chaque ligne représente un hit La couleur représente le bit score
Si on passe la souris sur la ligne, on voit la description.
Si on clic, on obtient l’alignement concerné Domaines
Sortie graphique
La sortie « Table »
Max score: Score meilleur HSP
Total score : Somme des scores des HSP Query coverage : % query dans l’alignement
BLAST ou FASTA
FASTA (Pearson 1995)
Utilise une heuristique pour éviter le calcul complet de la matrice de
programmation dynamique
Rapide
1X plus rapide que Smith-Waterman
Statistique meilleur que celle BLAST
BLAST (Altschul 1990, 1997)
Utilise une heuristique de recherche de mots permettant d’exclure
rapidement la plupart des entrées de base de données
Extrêmement rapide 1X plus rapide que FASTA
2X plus rapide que Smith-Waterman
Presque aussi sensible que FASTA
BLAST ou FASTA
uniprotKB/swissprot / PAM250 / GOP -14 / GEP -2
FASTA : 7 secondes BLAST : 5 secondes
BLAST ou FASTA
uniprotKB/swissprot / PAM250 / GOP -14 / GEP -2
FASTA : 7 secondes BLAST : 5 secondes
Jouons avec FASTA et Blast Les questions :
Quel programme utilisé ? Quelle base de données ? Quels paramètres ?
Comment interpréter les résultats ?
Interprétons des alignements
Fragment d’ADN anonyme :
Cas n° 1
Quel programme utilisé ?
Si on utilise BLAST en premier
Fragment d’ADN anonyme :
Cas n° 1
Quel programme Blast utilisé ?
Protéique
Nucléique Nucléique
T T
T
BLASTN TBLASTX
Cas n° 1 :
Les questions :
Quel programme Blast utilisé ? > BlastN puis BlastX et en dernier recours tBlastx Quelle base de données ?
Mon ADN provient d ’une bactérie : Banque nr bacteria (Taxid ) Quels paramètres ?
Je ne sais rien : je commence par les parametres par defaut
Cas n° 1 : BlastN
Il existe des séquence hautement similaires
2 régions avec 2 niveaux de conservation
Il existe un grand gap dans certaines régions similaires (grande ligne continue entre 2 régions) Il existe une rupture dans la zone « rose » (trait vertical)
Regardons de plus près
Cas n° 1 : BlastN : la partie « rose »
Cas n° 1 : BlastN : résultat 1
Cas n° 1 : BlastN la partie « rouge »
Cas n° 1 : BlastN la partie « rouge »
Cas n° 1 : BlastN la partie « rouge »
A la sortie du BlastN
Je sais qu’il y a sur ma séquence, une région répétée dans d’autres génomes mais je ne connais pas sa fonction
Je sais que je dois avoir une gène ou un pseudogène codant une protéine impliqué dans le transport mais je n’ai ni ces bornes, ni son brin
-> BlastX
Cas n° 1 : BlastX
Domaine
Cassure
Description variée pour même score
Cas n° 1 : BlastX
Similarité avec protéine bien conservée (rouge)
Zone de rupture (trait vertical) semble indiqué que sur mon fragment, il s’agirait d’un pseudogene
-> vérification dans l’alignement
Cas n° 1 : BlastX
Cas n° 1 : BlastX
Cas n° 1 : BlastX
A la sortie du BlastX
Je sais que ma séquence contient un pseudogène, par frameshift, d’un gène codant un transporteur
Je ne sais toujours l’identité de ma région répétée mais à priori, il ne s’agit pas d’une région codant
Je peux donc la comparer avec des régions non codantes = RFAM (banques de petits ARN) ou tester s’il s’agit d’un tRNA par exemple (tRNA val)
Stop in frame
- phase ouverte interrompue par stop
BlastX (autre cas de pseudogene)
Fragment d’ADN anonyme :
Cas n° 1
Et si j’utilise FASTA
Quel programme utilisé ?
Fragment d’ADN anonyme :
Cas n° 1
Quel programme Blast utilisé ?
Protéique
Nucléique Nucléique
T
FASTA
Cas n° 1 :
Les questions :
Quel programme Blast utilisé ? > FASTA (onglet nucléotide) puis FASTX Quelle base de données ?
Mon ADN provient d ’une bactérie : EMBL prokaryotes Quels paramètres ?
Je ne sais rien : je commence par les paramètres par défaut
Cas n° 1 : FASTA
Cas n° 1 : FASTA
Cas n° 1 : FASTX
Séquence protéique
>Seqinconnue
MNTYVTGSTIRQLREAKGLTQAELAGTLSVSAKTIS WETAKGLPDISLLEPLAAALGVSVLELMQGEPIINRN AANLLRSKLYVCPLCGNVLHATGQAVVSCCGITLPA DIAEAEDADEHHQLTVERVEDELFVTLHHPMEKNH SFLAYLTGDKLQLVKLYPEGDASARFSLRGAGVLYF CNCHGLMKAPDFRTATRRTSPQKIHLREPDEGDRE VMAYREEFLAINSRMDGTSALDKYADFDAWLAQ
Test de BlastP vs FASTA
Test de FASTA (protéique), de TFASTX et TFASTY
Cas n°2
Cas n°2 : BlastP
(banque nr)Seqinconnue apparaît comme une protéine fusionnant 2 domaines 1-80 :
Un domaine N-terminal de type HTH_XRE (régulation) 80- 248:
Un domaine C-terminal de dfx_rob (desulforedoxin, detoxication)
Cas n°2 : BlastP
(banque nr)Cette fusion n’apparaissent pas sur cette représentation, hormis l’information de séquences homologues plus courte en C-term
Cas n°2 : BlastP
(banque nr)Reformat
Cas n°2 : BlastP
(banque nr)Cas n°2 : BlastP
(banque nr)Seqinconnue
Cas n°2 : FASTA
(sur Uniprot Knowledgebase)Sur la représentation graphique
FASTA, je ne vois que HTH
Cas n°2 : FASTA
(sur Uniprot Knowledgebase)Sur la représentation « funtionnel », je ne vois 3 informations
Cas n°2 : FASTA
(sur Uniprot Knowledgebase)Si je décoche GENE3D, j’obtiens non pas 2 mais 3 domaines