• Aucun résultat trouvé

Comparaison et ! Alignement ! de séquences

N/A
N/A
Protected

Academic year: 2022

Partager "Comparaison et ! Alignement ! de séquences"

Copied!
267
0
0

Texte intégral

(1)

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

(2)

Un petit jeu pour commencer

(3)

Pourquoi comparer deux objets ?

C’est quoi ?

(4)

Pourquoi comparer deux objets ?

C’est quoi ?

C’est un fruit, une pomme, une granny smith …

Comment je le sais ?

(5)

Pourquoi comparer deux objets ?

C’est quoi ?

C’est un fruit, une pomme, une granny smith …

Comment je le sais ?

Taille, forme, couleur …

(6)

Pourquoi comparer deux objets ?

C’est quoi ?

(7)

Pourquoi comparer deux objets ?

C’est quoi ?

Je ne sais pas mais …

(8)

Pourquoi comparer deux objets ?

C’est quoi ? Cela ressemble à : citron

mure-framboise

litchi

(9)

DEFINITION ALIGNEMENT MULTIPLE

ALIGNEMENT de SEQUENCE

2 à 2

(10)

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.

(11)

Les limites de la comparaison

Comparer ce qui est comparable ?

?

(12)

Les limites de la comparaison

La base de connaissances est incomplète

?

(13)

Les limites de la comparaison

Analyser les résultats

La comparaison me dit :

=

Différences possibles (localisation, environnement, autres critères …)

(14)

Comparer deux séquences

?

(15)

Comparer deux séquences ?

Comparer de séquences 2 à 2 revient à comparer des chaines

de caractères (formant ou non des mots)

(16)

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

(17)

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

(18)

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

(19)

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.

(20)

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 …

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

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

(26)

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

(27)

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.

(28)

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

(29)

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.

(30)

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.

(31)

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

(32)

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.

(33)

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)

(34)

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.

(35)

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

(36)

Les matrices nucléiques

Matrice d’identité

Matrice unitaire

Matrice Transversion - Translation

(37)

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

(38)

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)…

(39)

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)

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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 ?)

(45)

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

(46)

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/)

(47)

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

(48)

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

(49)

Matrice BLOSUM (BLOcks SUbstituion Matrix)

BLOSUM62

(50)

PAM versus BLOSUM

Comparaison BLOSUM62 et PAM250

PAM250

BLOSUM62

(51)

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 »

(52)

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

(53)

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

(54)

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

(55)

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

(56)

Le Dot Plot

Le DotPlot utilise une matrice

élémentaire ou unitaire également

appelé tableau à double entrée

(57)

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

(58)

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

(59)

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

(60)

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

(61)

Les outils pour réaliser des dotplots

YASS

http://bioinfo.lifl.fr/cgi-bin/yass/index.php

(62)

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

(63)

Les outils pour réaliser des dotplots

(64)

Les outils pour réaliser des dotplots

YASS

http://bioinfo.lifl.fr/cgi-bin/yass/index.php

Génome 1 Génome 2

(65)

Les outils pour réaliser des dotplots

(66)

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

(67)

ZPICTURE

Liste ECR Evolutionary

Conserved Regions

(68)

ZPICTURE Liste ECR

Génome 1 Génome 2

2 paramètres

(69)

ZPICTURE

Alignement 2 formats

(70)

ZPICTURE

Alignement

(71)

ZPICTURE

Alignement

(72)

ZPICTURE

Si annotations Dot-plot

(73)

ZPICTURE

Dot plot

(74)

ZPICTURE

Vizualisation

(75)

ZPICTURE

Vizualisation

(76)

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/

(77)

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.

(78)

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

(79)

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

(80)

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

(81)

Comparaison des 2 algorithmes

Exemple avec la matrice de score suivante :

Match = +1

Mismatch = -1

Gap = -1

(82)

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 »

(83)

Needleman & Wunsch

Initialisation : matrice avec les séquences

Score : remplissage de la matrice -> matrice score final

(84)

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!

(85)

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

(86)

Smith & Waterman

Initialisation : matrice avec les séquences Score et matrice de score finale

(87)

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!

(88)

Resumé

Needelman- Wunch Smith-Waterman

GLOBAL LOCAL

Meilleur alignment:

T C G!

| | |!

T C G!

Meilleur alignment:

A T C G!

| | | |!

_ T C G!

(89)

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

(90)

Autres outils en ligne d’intérêt

LALIGN (W. Pearson, 1991)

MATRICE METHODE

PENALITES

SEQUENCES

(91)

Autres outils en ligne d’intérêt

LALIGN (W. Pearson, 1991)

GLOBAL versus LOCAL

>seq1!

GCGACTGTTCGGAGGAAAGTGAGTCTGTGGTACTGATGGAGTCACGTAC!

>seq2!

GCATGCGAGGACGGAAAAGTGGTCAAGGCTGCAGTCACCTACGTCGTAC!

(92)

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

(93)

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…

(94)

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.

(95)

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

(96)

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

(97)

Effet de la pénalité des indels

2 protéines LALIGN global.

(98)

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.

(99)

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.

(100)

PAM120 vs BLOSUM 35

2 protéines LALIGN global.

PAM120

BLOSUM35

(101)

DEFINITION ALIGNEMENT MULTIPLE

ALIGNEMENT de SEQUENCE

RECHERCHE DE SIMILARITES

(102)

RESSEMBLANCE

HOMOLOGIE

FONCTION CONSERVEE

Concept de fonction est flou :

•  Activité biochimique identique ?

•  Distribution tissulaire identique ?

•  Compartimentation identique ?

Prédiction de fonctions par ressemblance

(103)

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 :

(104)

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

(105)

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

(106)

FASTA

•  La programmation dynamique calcule des scores sur des espaces inutiles pour la recherche du score optimal

•  FASTA se concentre sur la diagonale

(107)

FASTA

•  La programmation dynamique calcule des scores sur des espaces inutiles pour la recherche du score optimal

•  FASTA se concentre sur la diagonale

(108)

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

(109)

Etape 2 : Score chaque hot spot (gap penalty et matrice) et garde les 10 meilleurs diagonales

FASTA

(110)

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)

(111)

FASTA sur le web

http://www.ebi.ac.uk/Tools/sss/fasta/

Choix du

programme

(112)

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

(113)

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

(114)

Parametres de FASTA

Paramètres cachés

(115)

Paramètres de FASTA

Paramètres cachés

(116)

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

(117)

Matrices de FASTA

?

?

Comparons :

PAM120 et VTML120 (sinon défaut)

(118)

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

(119)

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

(120)

Autres paramètres FASTA

GOP GEP E-value

KTUP

(121)

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

(122)

Les sorties de FASTA

(123)

FASTA (Submission details)

(124)

FASTA (Submission details)

(125)

FASTA (Tool output)

(126)

FASTA (Tool output)

(127)

FASTA (Visual output)

(128)

FASTA (Functional predictions)

Base de données de domaines protéiques

(129)

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

(130)

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

(131)

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 …

(132)

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

(133)

HSP : High Scoring Pairs

ATGCTGCCTGATCGCTTTATCTGCGCGTGCTGAACTGGGCCTA Ces hits ou segments similaires sont appelés High Scoring Pair (HSP).

ATGCTGCTTTCCCCCCTGATCGCTGAGCTGGGCC

HSP1 HSP2 HSP3

(134)

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

(135)

BLAST sur le web

Choix du

programme

(136)

SEQUENCE BANQUE

Protéique Protéique

Nucléique Nucléique

T T

T T

BLASTP

BLASTN TBLASTX

Choix du programme

(137)

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 »

(138)

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

(139)

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 :

(140)

BLAST

Input

Base de

comparaison

Choix d’une région de la séquence

(141)

BLAST

Limitation à un taxid, organisme …

Exclusion

séquences modèles NCBI et

échantillons environnementaux

(142)

BLAST

Filtre Matrice

Taille mot (word size) Expect

Les paramètres

Pénalité GO,GE

(143)

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

e70

séquences au hasard pour

obtenir une séquence avec un score > seuil

(144)

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

e70

sé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 !

(145)

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

(146)

L’expect value de BLAST

K et lambda sont des paramètres statistiques propres à l’algorithme

(147)

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

(148)

Exemple usage « bit score »

BLOSUM 80 (10,1)

BLOSUM 45 (15,2)

(149)

La sortie de BLAST (output)

Base de données input

programme

(150)

« 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

(151)

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

(152)

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

(153)

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

(154)

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.

(155)

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

(156)

La sortie « Table »

Max score: Score meilleur HSP

Total score : Somme des scores des HSP Query coverage : % query dans l’alignement

(157)

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

(158)

BLAST ou FASTA

uniprotKB/swissprot / PAM250 / GOP -14 / GEP -2

FASTA : 7 secondes BLAST : 5 secondes

(159)

BLAST ou FASTA

uniprotKB/swissprot / PAM250 / GOP -14 / GEP -2

FASTA : 7 secondes BLAST : 5 secondes

(160)

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

(161)

Fragment d’ADN anonyme :

Cas n° 1

Quel programme utilisé ?

Si on utilise BLAST en premier

(162)

Fragment d’ADN anonyme :

Cas n° 1

Quel programme Blast utilisé ?

Protéique

Nucléique Nucléique

T T

T

BLASTN TBLASTX

(163)

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

(164)

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

(165)

Cas n° 1 : BlastN : la partie « rose »

(166)

Cas n° 1 : BlastN : résultat 1

(167)

Cas n° 1 : BlastN la partie « rouge »

(168)

Cas n° 1 : BlastN la partie « rouge »

(169)

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

(170)

Cas n° 1 : BlastX

Domaine

Cassure

(171)

Description variée pour même score

Cas n° 1 : BlastX

(172)

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

(173)

Cas n° 1 : BlastX

(174)

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)

(175)

Stop in frame

- phase ouverte interrompue par stop

BlastX (autre cas de pseudogene)

(176)

Fragment d’ADN anonyme :

Cas n° 1

Et si j’utilise FASTA

Quel programme utilisé ?

(177)

Fragment d’ADN anonyme :

Cas n° 1

Quel programme Blast utilisé ?

Protéique

Nucléique Nucléique

T

FASTA

(178)

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

(179)

Cas n° 1 : FASTA

(180)

Cas n° 1 : FASTA

(181)

Cas n° 1 : FASTX

(182)

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

(183)

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)

(184)

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

(185)

Cas n°2 : BlastP

(banque nr)

Reformat

(186)

Cas n°2 : BlastP

(banque nr)

(187)

Cas n°2 : BlastP

(banque nr)

Seqinconnue

(188)

Cas n°2 : FASTA

(sur Uniprot Knowledgebase)

Sur la représentation graphique

FASTA, je ne vois que HTH

(189)

Cas n°2 : FASTA

(sur Uniprot Knowledgebase)

Sur la représentation « funtionnel », je ne vois 3 informations

(190)

Cas n°2 : FASTA

(sur Uniprot Knowledgebase)

Si je décoche GENE3D, j’obtiens non pas 2 mais 3 domaines

(191)

DEFINITION ALIGNEMENT MULTIPLE

Dérivés de BLAST et de FASTA

(192)

Dérivés de BLAST et de FASTA

PSI-blast (NCBI) et PSI-search (EBI, PSI-fasta) PHI-Blast

DELTA-Blast

Références

Documents relatifs

• La plus grande valeur V(i,j) est le score du meilleur alignement local.. Alignement

• Alignement local: Plus long chemin entre n’importe quelles arêtes (i,j) et (i’, j’) du graphe d’édition.. • Quelle mesure

En bioinformatique, la comparaison de séquences ADN deux à deux doit permettre de trouver des homologies c’est-à-dire comment les séquences ont muté à travers les espèces

• score d’homologie: la valeur du score diminue avec le nombre de différences observées entre les deux séquences. • score de distance: la valeur du score augmente avec le nombre

Pour des distances évolutives plus grandes, les probabilités de substitution des acides aminés les uns envers les autres sont estimées et non calculées directement en comparant

Famille de matrices correspondant à différentes distances évolutives entre les séquences : PAM120 et BLOSUM80 : estimation des fréquences de substitution entre acides aminés pour

• Calculer la valeur d’une solution optimale du plus petit au plus grand sous-problème.. • Construire une solution optimale à partir des informations

– Optimisation en temps: calculer la table autour d’une bande.. Temps et espace O(kn) où k est