SlideShare a Scribd company logo
1 of 33
Algorithmes pour l'alignement des
séquences génomiques
Présenté par
Skander Ben Ahmed et Perrault Saintilmon
Alignement glocal : Trouver des réarrangements pendant l'alignement
Auteurs : Michael Brudno, Sanket Malde, Alexander Poliakov, Chuong B. Do, Olivier Couronne, Inna Dubchak and
Serafim Batzoglou
Plan
• Alignement Local (CHAOS)
• Alignement Global (LAGAN)
• Alignement Glocal (Shuffle-LAGAN)
• Conclusion (Comparaison)
Alignement Local
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
- Quelles sont les régions de forte
similarité entre les 2 séquences ?
- Quel est le segment de séquence
de score maximal ?
Temps O( n2 ) pour 2 seqs,
O( nk ) pour k seqs
Alignment Local Heuristique
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
BLAST FASTA
CHAOS:
CHAins Of Seeds
• Trouver des mots courts qui match (seeds)
• Enchaîner les grains (seeds)
• Rescorer les chaines
• Trouver les seeds à l'emplacement
actuel dans seq1.
location
in seq1
seed
seq1
seq2
CHAOS: Chaining the Seeds
location
in seq1
distance
cutoff seed
seq1
seq2
• Trouver les seeds à l'emplacement
actuel dans seq1.
CHAOS: Chaining the Seeds
location
in seq1
distance
cutoff
gap
cutoff
seed
seq1
seq2
• Trouver les seeds à l'emplacement
actuel dans seq1.
CHAOS: Chaining the Seeds
location
in seq1
distance
cutoff
gap
cutoff
seed
Search
box
seq1
seq2
• Trouver les seeds à l'emplacement
actuel dans seq1.
• Trouvez les seeds précédents qui se
trouve dans la search box.
- Variation de stockage de données
dans l’arbre avec “T-trie”
CHAOS: Chaining the Seeds
location
in seq1
distance
cutoff
gap
cutoff
seed
Search
box
seq1
seq2
Range of
search
• Trouver les seeds à l'emplacement
actuel dans seq1.
• Trouvez les seeds précédents qui se
trouve dans la seach box.
• Faites une range query : les seeds
sont indexées par leur diagonale.
CHAOS: Chaining the Seeds
Position
dans seq1
Critère de
distance
Critère d’
écart (gap)
graine
Boite de
recherche
seq1
seq2
Intervalle de
recherche
• Trouver les seeds à l'emplacement
actuel dans seq1.
• Trouvez les seeds précédents qui se
trouve dans la seach box.
• Faites une range query : les seeds
sont indexées par leur diagonale.
• Choisissez un seed précédent qui
maximise le score de la chaîne.
Temps O(n log n), où n est le nombre de seeds.
CHAOS: Chaining the Seeds
• Score initial = # matching bp – gaps
• Rapid rescoring: étendre tous les seeds pour
trouver l'emplacement optimal pour les gaps
CHAOS Scoring
Plan
• Alignement Local (CHAOS)
• Alignement Global (LAGAN)
• Alignement Glocal (Shuffle-LAGAN)
• Conclusion (Comparaison)
Alignement Global
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGACCCTGGGTCACAAAACTC
x
y
z
1. Trouver les
alignements locaux
2. Chaîner les
alignements locaux
3. Calcul d'alignement
global
LAGAN: 1. Trouver les alignements locaux
LAGAN: 2. Chaîner les alignements locaux
1. Trouver les
alignements locaux
2. Chaîner les
alignements locaux
3. Calcul d'alignement
global
1. Trouver les
alignements locaux
2. Chaîner les
alignements locaux
3. Calcul d'alignement
global
LAGAN: 3. Calcul d'alignement global
Plan
• Alignement Local (CHAOS)
• Alignement Global (LAGAN)
• Alignement Glocal (Shuffle-LAGAN)
• Conclusion (Comparaison)
Évolution au niveau de l'ADN
…ACGGTGCAGTTACCA…
…AC----CAGTCCACCA…
Mutation
MODIFICATIONS DE SÉQUENCE
RÉARANGEMENTS
Deletion
Inversion
Translocation
Duplication
Alignement local & global
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
Local Global
Caractéristiques d'alignement glocal
• Trouver la transformation au moindre coût d'une séquence en une
autre à l'aide de nouvelles opérations
•Modifications de sequence
•Inversions
•Translocations
•Duplications
•Combinaisons de ceux-ci
AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA
AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
S-LAGAN: 1.Trouver les alignements locaux
1. Trouver les alignements
locaux
2. Construire la carte de
conservation 1-monotone
3. Alignement de sous-
segments consistents
1. Trouver les alignements
locaux
2. Construire la carte de
conservation 1-monotone
3. Alignement de sous-
segments consistents
S-LAGAN: 2. Construire la carte de conservation 1-monotone
Seq2 sans restrictions
Seq1
non
décroissante
Chaque alignement local L généré dans la section précédent;
L = (start1, end1, start2, end2, score, strand)
Un vecteur à six champs :
• Les positions de début et de fin de l'alignement local dans les deux séquences.
• Le score de l'alignement.
• le brin sur lequel l'alignement se produit dans la deuxième séquence;
• Les alignements locaux sur le brin positif comme ayant les deux positions de départ
inférieures à leurs positions finales respectives (L1.start1 < L1.end1 & L1.start2 < L1.end2 )
• Sur le brin négatif si la position finale dans la séquence 2 est plus petite que la
position de départ. (L2.end2 < L2.start2)
Considérons deux alignements locaux, L1 et L2;
• On appelle L1 et L2 1-monotones si L2.start1 > L1.end1.
• Nous appelons ces alignements consistants si;
• (1) ils sont 1-monotones
• (2) ils sont tous les deux sur le même brin
• (3) L2.start2 > L1.end2 pour les alignements sur le brin positif ou
L2.start2 < L1. end2 pour les alignements sur le brin négatif.
• Une liste ordonnée d'alignements locaux [L1 . . . Lk] est 1-monotone ou consistant
si pour toute paire d'alignements locaux Li et Lj si i < j alors Li et Lj sont
respectivement 1-monotone ou consistant.
S-LAGAN: 2. Construire la carte de conservation 1-monotone
L1= (10, 20, 12, 22, score, strand+)
L2= (22, 32, 25, 35, score, strand+)
L3= (35, 45, 55, 45, score, strand-)
1-monotones:
 L1 et L2 (L2.start1 > L1.end1)
 L2 et L3 (L3.start1 > L2.end1)
 L3 et L4 (L4.start1 > L3.end1)
Consistant:
 L1 et L2 (1-monotones, même brin et
L2.start2 > L1.end2)
 L3 et L4 (1-monotones, même brin et
L4.start2 < L3.end2)
X L2 et L3 ne respecte pas la 2ème condition
Seq2 sans restrictions
Seq1
non
décroissante
L4
Construction de la carte de conservation 1-monotone
d
a b
c
Chaîne utilisant Eppstein Galil O(n log n);
• Chaque alignement obtient un score qui est MAX sur 4 chaînes possibles.
• Les pénalités sont affines (composantes événement et distance)
Pénalités :
a) Régulière (+ + + et − − −)
b) Translocation ( + − + et − + −)
c) Inversion (− − + et + + − )
d) Translocation inverse (− + + et + − − )
Ex: Si les deux brins sont positifs et enchaînés dans le sens
positif (+ + +)
• La pénalité de gap pour toutes les transitions se compose en trois parties ;
1. La pénalité de l’ouverture de gap est chargé pour les cas consistent (+ + + et − − −)
si les deux segments sont sur des diagonales différentes (L1.end1–L1.end2 ≠
L2.start1–L2.start2), et est toujours chargé pour les autres cas.
2. La pénalité d'extension de gap est égale à |(L1.end1–L1.end2)–(L2.start1–
L2.start2)| × constante
3. La distance entre deux alignements est définie comme étant min(|L1.end1–
L2.start1|, |L1.end2– L2.start2|), et elle est également pénalisée comme (distance
× constante).
*Constante dépend de la transition
• Lors du chaînage de l'alignement local L2 à une sous-chaîne se terminant
par L1; - L1 peut être sur le brin positif ou négatif
- L1 peut venir soit avant soit après L2 dans la séquence 2
- L2 peut être sur le brin positif ou négatif.
Seq2 sans restrictions
Seq1
non
décroissante
L2
L1
L1
L1
L1
1. Trouver les alignements
locaux
2. Construire la carte de
conservation 1-monotone
3. Alignement de sous-
segments consistents
S-LAGAN: 3.Alignement global
(A) L'alignement local entre les deux séquences est généré à l'aide de CHAOS.
(B) La carte 1-monotone la plus élevée (indiquée en gras) est trouvée.
(C) Les sous-segments consistents maximaux de la carte 1-monotone (boîtes en pointillés) sont
alignés à l'aide de LAGAN.
Vue d'ensemble de l'algorithme SLAGAN
Principaux défauts de l'algorithme SLAGAN
Comparaison et Qualité des alignements SLAGAN
Sensibilité; Fraction des positions orthologues qu'il aligne.
Spécificité; Fraction des positions alignées qui sont orthologues.
Conclusions préliminaires sur les réarrangements chez l'homme contre la souris:
• Les réarrangements sont de toutes tailles
• Duplications moins bien conservées que les autres régions réarrangées
• Les inversions simples ont tendance à être les plus courantes et les plus conservées
Sensibilité
Spécificité
Question?
Vue d'ensemble de l'algorithme BLASTZ
1- Supprimez les répétitions intercalées spécifiques à la lignée des deux séquences.
2- Pour toutes les paires de 12-mers espacés (un de chaque séquence) qui sont identiques sauf peut-
être pour une transition, procédez comme suit ;
2.1 -Prolonger l'alignement induit dans chaque direction, sans laisser d'espace.
-Arrêtez de prolonger lorsque le score diminue de plus d'un certain seuil.
2.2 Si l'alignement sans espace marque plus de 3000 (par exemple), alors ;
2.2.1. Répétez l'étape d'extension, mais laissez des espaces.
2.2.2. Conservez l'alignement s'il obtient un score supérieur à 5000 (par exemple).
3- Entre chaque paire d'alignements adjacents de l'étape 2, répétez l'étape 2, mais en utilisant une
procédure d'ensemencement plus sensible (par exemple, des correspondances exactes 7-mer) et des
seuils de score inférieurs pour les alignements sans espace (disons, 2000 au lieu de 3000) et pour les
alignements espacés (disons, 2000 au lieu de 5000).
4- Ajuster les positions des séquences dans les alignements résultants pour les faire se référer aux
séquences d'origine (c'est-à-dire tenir compte de l'étape 1).
5- Filtrer les alignements selon les besoins à des fins particulières. Pour de nombreuses utilisations,
nous appliquons axtBest, qui trouve le meilleur moyen d'aligner chaque position humaine alignée.
Sensibilité et spécificité
•Par exemple : on regarde si des séquences sont membres d’une famille de protéine en fonction d’un certain
seuil
⇒ Capacité à rejeter les fausses instances (FP) = capacité à ne détecter que la réalité biologique et rien de plus
au risque de ne pas retenir certaines bonnes informations
⇒ Minimiser les faux positifs.
⇒ Capacité à détecter les vraies instances de l’objet recherché (VP) = capacité à détecter tout ce qui est
intéressant/vrai sur le plan biologique au risque d’avoir beaucoup d’intrus
⇒ Minimiser les faux négatifs.
A B
C D

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

l'Algorithme Shuffle-LAGAN

  • 1. Algorithmes pour l'alignement des séquences génomiques Présenté par Skander Ben Ahmed et Perrault Saintilmon Alignement glocal : Trouver des réarrangements pendant l'alignement Auteurs : Michael Brudno, Sanket Malde, Alexander Poliakov, Chuong B. Do, Olivier Couronne, Inna Dubchak and Serafim Batzoglou
  • 2. Plan • Alignement Local (CHAOS) • Alignement Global (LAGAN) • Alignement Glocal (Shuffle-LAGAN) • Conclusion (Comparaison)
  • 3. Alignement Local AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC - Quelles sont les régions de forte similarité entre les 2 séquences ? - Quel est le segment de séquence de score maximal ? Temps O( n2 ) pour 2 seqs, O( nk ) pour k seqs
  • 5. CHAOS: CHAins Of Seeds • Trouver des mots courts qui match (seeds) • Enchaîner les grains (seeds) • Rescorer les chaines
  • 6. • Trouver les seeds à l'emplacement actuel dans seq1. location in seq1 seed seq1 seq2 CHAOS: Chaining the Seeds
  • 7. location in seq1 distance cutoff seed seq1 seq2 • Trouver les seeds à l'emplacement actuel dans seq1. CHAOS: Chaining the Seeds
  • 8. location in seq1 distance cutoff gap cutoff seed seq1 seq2 • Trouver les seeds à l'emplacement actuel dans seq1. CHAOS: Chaining the Seeds
  • 9. location in seq1 distance cutoff gap cutoff seed Search box seq1 seq2 • Trouver les seeds à l'emplacement actuel dans seq1. • Trouvez les seeds précédents qui se trouve dans la search box. - Variation de stockage de données dans l’arbre avec “T-trie” CHAOS: Chaining the Seeds
  • 10. location in seq1 distance cutoff gap cutoff seed Search box seq1 seq2 Range of search • Trouver les seeds à l'emplacement actuel dans seq1. • Trouvez les seeds précédents qui se trouve dans la seach box. • Faites une range query : les seeds sont indexées par leur diagonale. CHAOS: Chaining the Seeds
  • 11. Position dans seq1 Critère de distance Critère d’ écart (gap) graine Boite de recherche seq1 seq2 Intervalle de recherche • Trouver les seeds à l'emplacement actuel dans seq1. • Trouvez les seeds précédents qui se trouve dans la seach box. • Faites une range query : les seeds sont indexées par leur diagonale. • Choisissez un seed précédent qui maximise le score de la chaîne. Temps O(n log n), où n est le nombre de seeds. CHAOS: Chaining the Seeds
  • 12. • Score initial = # matching bp – gaps • Rapid rescoring: étendre tous les seeds pour trouver l'emplacement optimal pour les gaps CHAOS Scoring
  • 13. Plan • Alignement Local (CHAOS) • Alignement Global (LAGAN) • Alignement Glocal (Shuffle-LAGAN) • Conclusion (Comparaison)
  • 15. 1. Trouver les alignements locaux 2. Chaîner les alignements locaux 3. Calcul d'alignement global LAGAN: 1. Trouver les alignements locaux
  • 16. LAGAN: 2. Chaîner les alignements locaux 1. Trouver les alignements locaux 2. Chaîner les alignements locaux 3. Calcul d'alignement global
  • 17. 1. Trouver les alignements locaux 2. Chaîner les alignements locaux 3. Calcul d'alignement global LAGAN: 3. Calcul d'alignement global
  • 18. Plan • Alignement Local (CHAOS) • Alignement Global (LAGAN) • Alignement Glocal (Shuffle-LAGAN) • Conclusion (Comparaison)
  • 19. Évolution au niveau de l'ADN …ACGGTGCAGTTACCA… …AC----CAGTCCACCA… Mutation MODIFICATIONS DE SÉQUENCE RÉARANGEMENTS Deletion Inversion Translocation Duplication
  • 20. Alignement local & global AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC Local Global
  • 21. Caractéristiques d'alignement glocal • Trouver la transformation au moindre coût d'une séquence en une autre à l'aide de nouvelles opérations •Modifications de sequence •Inversions •Translocations •Duplications •Combinaisons de ceux-ci AGTGCCCTGGAACCCTGACGGTGGGTCACAAAACTTCTGGA AGTGACCTGGGAAGACCCTGAACCCTGGGTCACAAAACTC
  • 22. S-LAGAN: 1.Trouver les alignements locaux 1. Trouver les alignements locaux 2. Construire la carte de conservation 1-monotone 3. Alignement de sous- segments consistents
  • 23. 1. Trouver les alignements locaux 2. Construire la carte de conservation 1-monotone 3. Alignement de sous- segments consistents S-LAGAN: 2. Construire la carte de conservation 1-monotone Seq2 sans restrictions Seq1 non décroissante
  • 24. Chaque alignement local L généré dans la section précédent; L = (start1, end1, start2, end2, score, strand) Un vecteur à six champs : • Les positions de début et de fin de l'alignement local dans les deux séquences. • Le score de l'alignement. • le brin sur lequel l'alignement se produit dans la deuxième séquence; • Les alignements locaux sur le brin positif comme ayant les deux positions de départ inférieures à leurs positions finales respectives (L1.start1 < L1.end1 & L1.start2 < L1.end2 ) • Sur le brin négatif si la position finale dans la séquence 2 est plus petite que la position de départ. (L2.end2 < L2.start2) Considérons deux alignements locaux, L1 et L2; • On appelle L1 et L2 1-monotones si L2.start1 > L1.end1. • Nous appelons ces alignements consistants si; • (1) ils sont 1-monotones • (2) ils sont tous les deux sur le même brin • (3) L2.start2 > L1.end2 pour les alignements sur le brin positif ou L2.start2 < L1. end2 pour les alignements sur le brin négatif. • Une liste ordonnée d'alignements locaux [L1 . . . Lk] est 1-monotone ou consistant si pour toute paire d'alignements locaux Li et Lj si i < j alors Li et Lj sont respectivement 1-monotone ou consistant. S-LAGAN: 2. Construire la carte de conservation 1-monotone L1= (10, 20, 12, 22, score, strand+) L2= (22, 32, 25, 35, score, strand+) L3= (35, 45, 55, 45, score, strand-) 1-monotones:  L1 et L2 (L2.start1 > L1.end1)  L2 et L3 (L3.start1 > L2.end1)  L3 et L4 (L4.start1 > L3.end1) Consistant:  L1 et L2 (1-monotones, même brin et L2.start2 > L1.end2)  L3 et L4 (1-monotones, même brin et L4.start2 < L3.end2) X L2 et L3 ne respecte pas la 2ème condition Seq2 sans restrictions Seq1 non décroissante L4
  • 25. Construction de la carte de conservation 1-monotone d a b c Chaîne utilisant Eppstein Galil O(n log n); • Chaque alignement obtient un score qui est MAX sur 4 chaînes possibles. • Les pénalités sont affines (composantes événement et distance) Pénalités : a) Régulière (+ + + et − − −) b) Translocation ( + − + et − + −) c) Inversion (− − + et + + − ) d) Translocation inverse (− + + et + − − ) Ex: Si les deux brins sont positifs et enchaînés dans le sens positif (+ + +) • La pénalité de gap pour toutes les transitions se compose en trois parties ; 1. La pénalité de l’ouverture de gap est chargé pour les cas consistent (+ + + et − − −) si les deux segments sont sur des diagonales différentes (L1.end1–L1.end2 ≠ L2.start1–L2.start2), et est toujours chargé pour les autres cas. 2. La pénalité d'extension de gap est égale à |(L1.end1–L1.end2)–(L2.start1– L2.start2)| × constante 3. La distance entre deux alignements est définie comme étant min(|L1.end1– L2.start1|, |L1.end2– L2.start2|), et elle est également pénalisée comme (distance × constante). *Constante dépend de la transition • Lors du chaînage de l'alignement local L2 à une sous-chaîne se terminant par L1; - L1 peut être sur le brin positif ou négatif - L1 peut venir soit avant soit après L2 dans la séquence 2 - L2 peut être sur le brin positif ou négatif. Seq2 sans restrictions Seq1 non décroissante L2 L1 L1 L1 L1
  • 26. 1. Trouver les alignements locaux 2. Construire la carte de conservation 1-monotone 3. Alignement de sous- segments consistents S-LAGAN: 3.Alignement global
  • 27. (A) L'alignement local entre les deux séquences est généré à l'aide de CHAOS. (B) La carte 1-monotone la plus élevée (indiquée en gras) est trouvée. (C) Les sous-segments consistents maximaux de la carte 1-monotone (boîtes en pointillés) sont alignés à l'aide de LAGAN. Vue d'ensemble de l'algorithme SLAGAN
  • 28. Principaux défauts de l'algorithme SLAGAN
  • 29. Comparaison et Qualité des alignements SLAGAN Sensibilité; Fraction des positions orthologues qu'il aligne. Spécificité; Fraction des positions alignées qui sont orthologues. Conclusions préliminaires sur les réarrangements chez l'homme contre la souris: • Les réarrangements sont de toutes tailles • Duplications moins bien conservées que les autres régions réarrangées • Les inversions simples ont tendance à être les plus courantes et les plus conservées Sensibilité Spécificité
  • 31. Vue d'ensemble de l'algorithme BLASTZ 1- Supprimez les répétitions intercalées spécifiques à la lignée des deux séquences. 2- Pour toutes les paires de 12-mers espacés (un de chaque séquence) qui sont identiques sauf peut- être pour une transition, procédez comme suit ; 2.1 -Prolonger l'alignement induit dans chaque direction, sans laisser d'espace. -Arrêtez de prolonger lorsque le score diminue de plus d'un certain seuil. 2.2 Si l'alignement sans espace marque plus de 3000 (par exemple), alors ; 2.2.1. Répétez l'étape d'extension, mais laissez des espaces. 2.2.2. Conservez l'alignement s'il obtient un score supérieur à 5000 (par exemple). 3- Entre chaque paire d'alignements adjacents de l'étape 2, répétez l'étape 2, mais en utilisant une procédure d'ensemencement plus sensible (par exemple, des correspondances exactes 7-mer) et des seuils de score inférieurs pour les alignements sans espace (disons, 2000 au lieu de 3000) et pour les alignements espacés (disons, 2000 au lieu de 5000). 4- Ajuster les positions des séquences dans les alignements résultants pour les faire se référer aux séquences d'origine (c'est-à-dire tenir compte de l'étape 1). 5- Filtrer les alignements selon les besoins à des fins particulières. Pour de nombreuses utilisations, nous appliquons axtBest, qui trouve le meilleur moyen d'aligner chaque position humaine alignée.
  • 32. Sensibilité et spécificité •Par exemple : on regarde si des séquences sont membres d’une famille de protéine en fonction d’un certain seuil ⇒ Capacité à rejeter les fausses instances (FP) = capacité à ne détecter que la réalité biologique et rien de plus au risque de ne pas retenir certaines bonnes informations ⇒ Minimiser les faux positifs. ⇒ Capacité à détecter les vraies instances de l’objet recherché (VP) = capacité à détecter tout ce qui est intéressant/vrai sur le plan biologique au risque d’avoir beaucoup d’intrus ⇒ Minimiser les faux négatifs.

Editor's Notes

  1. Pour comparer des génomes entiers d'espèces différentes, les biologistes ont de plus en plus besoin de méthodes d'alignement suffisamment efficaces pour gérer de longues séquences et suffisamment précises pour aligner correctement les caractéristiques biologiques conservées entre des espèces distantes. Les deux principales classes d'alignements par paires sont l'alignement global, où une chaîne est transformée en l'autre, et l'alignement local, où tous les emplacements de similarité entre les deux chaînes sont renvoyés. Dans le cas d’un alignement global, il est moins enclin à démontrer une fausse homologie car chaque lettre d'une séquence est contrainte d'être alignée sur une seule lettre de l'autre sequence. Et pour un alignement local, d’autre part, peut faire face à des réarrangements entre des séquences orthologues non synténiques en identifiant des régions similaires dans des séquences. Dans notre présentation, nous introduisons la notion d'alignement glocal, une combinaison de méthodes globales et locales, où l'on crée une carte qui transforme une séquence en une autre tout en permettant des événements de réarrangement. Nous présentons Shuffle-LAGAN, un algorithme d'alignement glocal basé sur l'algorithme d'alignement local CHAOS et l'aligneur global LAGAN, et pouvant permettre d'aligner de longues séquences génomiques.
  2. Un alignement local nous permet de répondre aux questions… Un alignement local peut se limiter à un fragment de chaque séquence tandis qu'un Un alignement global recouvre les séquences alignées sur l'ensemble de leur longueur. Les alignements locaux révèlent les segments conservés entre deux ou plusieurs séquences. On les utilise par exemple pour extraire un domaine conservé à partir d'une famille de séquences homologues.
  3. La plupart des méthodes d'alignement local heuristique, telles que BLAST et FASTA ont été développées lorsque la majeure partie de la séquence disponible était constituée de protéines. Il a été montré que de tels algorithmes ne sont pas aussi efficaces pour aligner des séquences non codantes. Avec la nouvelle disponibilité des séquences génomiques, il convient d'affiner les algorithmes utilisés pour l'alignement local afin qu'ils reflètent plus fidèlement la manière dont les séquences génomiques sont conservées. Contrairement à d'autres algorithmes rapides pour l'alignement génomique, CHAOS ne dépend pas de correspondances exactes longues, ne nécessite pas d'homologie étendue et permet des inadéquations dans les graines (seeds), qui sont toutes importantes lors de la comparaison d'organismes éloignés ou de régions non codantes, où la conservation est généralement beaucoup plus pauvre que dans les zones de codage.
  4. On va d'abord décrire le fonctionnement de l’algorithme CHAOS pour l'alignement local de deux séquences et expliquer ensuite comment les similarités par paires identifiées par CHAOS peuvent être utilisées comme points d'ancrage pour l’alignement global Lagan. L'algorithme CHAOS fonctionne en enchaînant des paires de régions similaires, une de chacune des deux séquences d'ADN d'entrée; nous appelons ces paires de régions graines (seeds) . Plus précisément, une graine est une paire de mots de longueur k avec au moins n paires de bases identiques ( bp ). Une graine s1 peut être chaînée à une autre graine s2 chaque fois qu’elles sont « proches » l’une de l'autre, nous allons discuter beaucoup plus de la notion « proche », étant défini à la fois par un critère de distance et un critère de gap. Le score final d'une chaîne est le nombre total de paires de bases qui match dans la chaine. 
  5. CHAOS fonctionne en enchaînant des mots courts, les graines, qui correspondent entre les deux séquences. La figure ici montre une représentation matricielle de l'alignement des séquences.  Les paramètres par défaut utilisés par CHAOS sont des mots de longueur 10, avec une dégénérescence de 1 où (n = k-1), un critère de distance de 20 et un critère de gap de 5 paires de bases (pb) avec un seuil de score de 25.
  6. Ici dans notre matrice, CHAOS prend en compte un critère de distance de 20 (distance cutoff)
  7. Un critère de gap allant sur la diagonale de 5 paires de bases (pb) avec un seuil de score de 25.
  8. Les graines sont retrouvees en utilisant une version simplifiée de l’algo Aho-Corasick, plus précisément une varation dans la façon les donnees sont stockees dans l’arbre que l’on appelle Threaded-trie ou encore T-trie. T-trie est utilisé pour stocker les k-mers d’une sequence Un « trie » est un arbre pour stocker des chaînes dans lequel il y a un nœud pour chaque préfixe commun. Un nœud qui correspond au mot w1...wp aurait comme parent un nœud qui correspond à w1...wp-1. Un « trie » qui contient tous les k-mers d'une chaîne chaque feuille est à la hauteur k, et dans chaque feuille nous stockons tous les emplacements où ce k-mer se produit dans la séquence indexée. Un T-trie diffère d‘un trie régulier où un nœud qui correspond à la chaine w1…wp va aussi avoir un pointeur arrière vers le nœud qui correspond à W2...Wp. On commence par insérer dans le T- trie tous les k- mers d'une des séquences, que l'on appellera la base de données. Ensuite, nous faisons un « passage" en utilisant la requête de l'autre séquence, où nous commençons par faire de la racine du T- trie notre nœud actuel, et pour chaque lettre de la requête : Si le nœud actuel a un enfant correspondant à cette lettre, nous faisons de cet enfant notre nœud actuel et renvoyons toutes les graines qui y sont stockées. Sinon faire le nœud pointé par notre pointeur arrière notre nœud actuel, et retour à l'étape 1 (répeter)
  9. Le seed affiché peut être enchaînée à n'importe quel seed qui se trouve à l'intérieur de la boîte de recherche. Toutes les seeds situées avec le moins de distance paire de base de l'emplacement actuel sont stockées dans une skip-list, dans laquelle nous effectuons une range query pour les seeds situées dans le gap cutoff par rapport à la diagonale sur laquelle se trouve le seed actuel. Les seeds situées dans les zones grises ne sont pas disponibles pour le chaînage afin de rendre l'algorithme indépendant de l'ordre de séquence. Une seed est enchaînée à la seed précédente unique qui crée la chaîne de score la plus élevée parmi toutes les chaînes qui se terminent par cette seed. CHAOS prend également en charge une option de traduction, dans laquelle les deux séquences nucléiques sont traduites dans les 6 cadres de lecture (3 avant et 3 inverses), et toutes les combinaisons de cadres sont comparées tour à tour. Étant donné une distance maximale d et un décalage maximal s, deux seeds séparées par des lettres x et y dans les premières et deuxièmes séquences, respectivement, peuvent être enchaînées si x ≤ d, y ≤ d et |x − y| ≤ s.
  10. Enfin, les chaînes sont étendues à l'aide de l'extension BLAST standard sans espacement, jusqu'à ce que le score tombe en dessous d'un certain seuil. Après avoir calculé les chaînes, CHAOS note chaque chaîne par un mécanisme de notation rapide : des extensions sans espace sont effectuées dans les deux sens à partir de chaque seed, et l'emplacement optimal pour insérer un espace est trouvé. L'alignement résultant est noté à l'aide d'une métrique d'édition standard de Needleman-Wunsch avec pénalités. Si l'alignement est effectué sur des séquences d'acides aminés, la nouvelle notation est effectuée à l'aide d'une matrice BLOSUM62.
  11. Un alignement global entre deux séquences est un chemin entre le coin supérieur gauche et le coin inférieur droit de leur matrice d'alignement.
  12. Suite a Chaos, LAGAN trouve d'abord tous les alignements locaux entre les deux séquences, ensuite l’algo calcule les alignements locaux entre les deux séquences et Attribue un poids à chaque alignement local.
  13. LAGAN calcule un sous-ensemble ordonné à score maximal des alignements, des ancres , et assemble une carte globale approximative. La construction d'une carte globale approximative se deroule comme suit; Deux alignements locaux peuvent être chaînés si la fin de l'un précède le début de l'autre dans X et Y . Calculez la chaîne d'alignements locaux de poids le plus élevé, en utilisant l'algorithme de sous-séquence croissante la plus longue. Appelez chaque alignement local de la chaîne une ancre . Appliquez les étapes 1 et 2 de manière récursive entre chaque paire d'ancres distantes de plus d'une distance seuil.
  14. LAGAN limite la recherche d'un alignement optimal à la zone comprise dans les boîtes et autour des ancres, et calcule l'alignement optimal de Needleman-Wunsch limité à cette zone. LAGAN utilise une mémoire proportionnelle à la surface de la plus grande boîte plus la mémoire pour maintenir l'alignement optimal. Définissez un sous-ensemble de cellules dans la matrice d'alignement : 1. Inclure toutes les cellules à distance au plus r des cellules de l'ancre. 2. Entre chaque paire consécutive d'ancres, où la première se termine aux positions ( i, j ) et la seconde commence aux positions ( k, l ) dans X, Y , respectivement, inclure la boîte d'alignement complète ( X i … X k ) × ( Y j … Y l ) entre les deux extrémités. Calculez l'alignement global à l'aide de la programmation dynamique de type Needleman-Wunsch dans le sous-ensemble des cellules définies ci-dessus.
  15. Dans cette section, je vais vous présenter l'alignement glocal Shuffle-LAGAN qui à était présenté en 2003. SLAGAN est plus sensible que les aligneurs globaux ordinaires et il a une meilleure spécificité que les aligneurs locaux. Il est capable d'aligner rapidement de longues séquences génomiques de longueur supérieure à 1 méga paires de bases et le temps total pour aligner les génomes humain et murin en utilisant SLAGAN était d'environ 12 heures.  
  16. La disponibilité de plusieurs séquences génomiques permet d'en savoir plus sur les mutations que subit l'ADN au cours de l'évolution, et ainsi de créer de meilleurs programmes d'alignement. À cette époque, la plupart des programmes pénalisaient les insertions, les suppressions et les substitutions de paires de bases individuelles entre deux séquences, ces événements sont qualifié de modifications simples. --- On sait cependant que l'ADN mute également par divers événements de réarrangement, tels que les translocations, c-à-d. un sous-segment qui est retiré et inséré dans un emplacement différent mais dans la même orientation, il y a aussi les inversions quand un sous-segment d'ADN est retiré de la séquence puis réinséré au même endroit mais dans une orientation opposée, et enfin les duplications quand une copie d'un sous-segment est insérée dans la séquence et que le sous-segment d'origine est inchangé, et bien évidement une combinaison de ceux-ci.
  17. Parmi les 2 principales méthodes d'alignement par paires, on retrouve l’alignement global qui montre comment une séquence peut être transformée en une autre en utilisant une combinaison des modifications simples, et l'alignement local qui identifie les similitudes locales entre les régions des séquences. Mais aucun des deux ne gère les événements de réarrangement de manière satisfaisante. Les algorithmes d'alignement global tels que Needleman and Wunsch ou LAGAN ne gèrent pas du tout ces événements; la carte entre les deux séquences crée par un algorithme d'alignement global est croissante de manière monotone dans les deux séquences. Alors que les méthodes d'alignement local telles que BLAST ou CHAOS sont capables d'identifier une homologie en présence de réarrangements entre deux séquences mais ils ne suggèrent pas comment les deux séquences auraient pu évoluer à partir de leur ancêtre commun. Les algorithmes d'alignement local dépendent également d'un score limite : seuls les alignements qui obtiennent un score supérieur à un certain seuil sont acceptés. Décider de ce seuil peut être difficile : s'il est défini trop haut, certains résultats significatifs seront manqués, et s'il est défini trop bas, il y aura trop de faux positifs.     
  18. Un outil d'alignement de séquences génomiques qui modélise les réarrangements doit répondre à plusieurs critères dont le plus important est la rapidité : un aligneur de séquences génomiques doit être capable d'aligner rapidement des séquences de longueur 1 Mega paires de bases ou plus. De même, il est important d'utiliser une fonction objective qui pénalise correctement les divers événements de réarrangement et les modifications simples. --- Un alignement glocal entre deux séquences est une série d'opérations qui transforment une séquence en l'autre et que l'ensemble d'opérations nécessaires comprend les insertions, les délétions, les mutations ponctuelles, les inversions, les translocations et les duplications. Chaque opération entraîne une pénalité, et la distance d'édition totale entre les deux séquences est la somme des pénalités. Il peut également être avantageux de pénaliser non seulement les opérations individuelles, mais aussi les combinaisons ; par exemple, une translocation inversée devrait éventuellement avoir une pénalité inférieure à la somme d'une pénalité d'inversion et d'une pénalité de translocation.  
  19. Comme j’avais déjà mentionné, SLAGAN est basé sur les aligneurs CHAOS et LAGAN. L'algorithme SLAGAN se compose en trois étapes. Lors de la première étape, les alignements locaux entre les deux séquences sont trouvés à l'aide de l'outil CHAOS déjà expliqué par Perrault. Deuxièmement, le sous-ensemble de notation maximale des alignements locaux, sous certaines pénalités de gap, est choisi pour former une carte de conservation 1-monotone ou appelé aussi carte d'homologie approximative. C'est la structure de cette carte qui différencie SLAGAN des aligneurs globaux ancrés standard. Enfin, les alignements locaux dans la carte de conservation sont joints en sous-segments consistants maximaux et sont alignés à l'aide de l'aligneur global LAGAN.
  20. La plupart des outils d'alignement global rapide comme LAGAN commencent par un ensemble d'alignements locaux, qu'ils résolvent en une «carte globale approximative». Cette carte globale brute est non-décroissante dans les deux séquences. Pour permettra à notre algorithme d'alignement d'attraper les réarrangements, on permettra à la carte d'être non décroissante mais dans une seule séquence et sans mettre de restrictions sur la seconde séquence. Nous appelons cela une carte de conservation 1-monotone. Je vais vous montrer comment créer cette carte sous le modèle de gap affine. 
  21. Pour cette partie de l'algorithme, nous représentons chaque alignement local L généré dans la section précédente comme un vecteur à six composantes. Les 4 premières composantes sont les positions de début et de fin de l'alignement local dans les deux séquences, on retrouve ensuite le score de l'alignement à la 5eme positions, et enfin le brin sur lequel l'alignement se produit dans la deuxième séquence. Nous définissons les alignements locaux sur le brin positif comme ayant les deux positions de départ inférieures à leurs positions finales respectives, et sur le brin négatif si la position finale dans la 2ème séquence est plus petite que la position de départ. --- ici dans l'exemple, on remarque dans L1, que les 2 positions de départ sont inferieure à leurs positions finales alors on note qu'il est sur brin+ et dans L3 la position finale dans la séquence 2 qui est 45 est plus petite que la position de départ 55 alors on le note sur le brin-.  --- Ensuite, considérons deux alignements locaux, L1 et L2. On appelle L1 et L2 1-monotones si la position de départ dans la première séquences de L2 est plus grande que la position de fin dans la première séquences L1, c-à-d. vérifier si L2 vient après L1 sur la première séquence qu'on a définie comme non décroissante. (Exemple monotone) Ensuite, nous appelons ces alignements consistants si (1) ils sont 1-monotones, (2) ils sont tous les deux sur le même brin, et (3) Si L2 vient après L1 mais cette fois-ci sur la 2ème séquence qu'on a poser sans restrictions. (Exemple consistant).
  22. Le problème de trouver le sous-ensemble consistent des alignements locaux avec le score le plus élevé peut être résolu en utilisant la programmation dynamique standard dans le temps O(n2), en enchaînant chaque alignement Lj à la sous-chaîne consistante avec le score le plus élevé se terminant par un alignement Li tel que Li et Lj sont consistant. Mais en utilisant l'algorithme d'Eppstein qui utilise la technique de programmation dynamique parcimonieuse, cela permet d’accélérer l'exécution de l'algorithme dans le temps O(n log n). --- Dans ce modèle, les hypothèses selon lesquelles tous les alignements locaux d'une chaîne se trouvent sur le même brin et doivent être consistent sont assouplies. En particulier, lors du chaînage de l'alignement local L2 à une sous-chaîne se terminant par L1, L1 peut être sur le brin positif ou négatif, L1 peut venir soit avant soit après L2 dans la séquence 2, et L2 peut être sur le brin positif ou négatif.  --- En pratique, nous utilisons quatre pénalités Gap différentes, si les deux brins sont positifs et enchaînés dans le sens positif, ils doivent être pénalisés de la même manière que les brins négatifs enchaînés dans le sens négatif. On peut considérer les quatre pénalités de Gap comme correspondant aux pénalités de gap régulières, translocations, inversions et inversions transloquées. --- La pénalité de gap pour toutes les transitions se compose en trois parties : La pénalité de l’ouverture de gap est chargé pour les cas consistent si les deux segments sont sur des diagonales différentes et elle est toujours chargé pour les autres cas. La Pénalité d'extension de gap est égale au décalage de la diagonale × une constante qui dépendra du type de transition La distance entre deux alignements est pénalisée comme la distance × une constante.
  23. Rappelons que deux alignements locaux sont considérés comme consistants s'ils peuvent tous deux faire partie d'un alignement global. Une fois que nous avons une carte de conservation 1-monotone, il est simple de générer les sous-segments consistants maximaux de la carte en triant simplement tous les alignements locaux dans la carte 1-monotone par leurs coordonnées de Start1, en prenant le premier alignement pour être le début d'un sous-segment consistent, et en ajoutant des alignements locaux supplémentaires alors qu'ils sont tous consistants. Dès qu'un alignement s'avère incompatible avec le sous-segment courant, nous commençons un nouveau sous-segment. Les sous-segments consistants peuvent maintenant être alignés à l'aide de n'importe quel algorithme d'alignement global.
  24. Vue d'ensemble de l'algorithme SLAGAN (résumé rapide) On voit dans A l'alignement local entre les deux séquences qui est généré à l'aide de CHAOS. Dans B on voit la carte 1-monotone la plus élevée qui à était trouvée. Et dans C, on retrouve les sous-segments consistants maximaux de la carte 1-monotone qui seront alignés à l'aide de LAGAN.
  25. L'un des principaux défauts de l'algorithme SLAGAN présenté ici est qui n’est pas symétrique dans l'ordre de la séquence. Ceci est particulièrement visible lorsque l'on aligne des régions dupliquées, car SLAGAN signalera des duplications dans une seule des 2 séquences qu'on aura définie comme non-décroissante.   Il est également difficile de trouver de bons paramètres pour les différentes pénalités, car à cette époque en 2003, il n'existait aucune base mathématique solide pour les alignements glocaux. Et surtout le désavantage majeur est que SLAGAN est optimisé seulement pour les alignement par paire et non pour les alignement multiples.
  26. Dans l’article, SLAGAN a été utilisé pour aligner le génome de la souris sur le génome humain. Ils ont montrer que SLAGAN, par rapport à l'aligneur global LAGAN standard, a une meilleure sensibilité mais une spécificité assez similaire. Par rapport à l'aligneur local BLASTZ, SLAGAN montre une meilleure spécificité avec un coût modeste en sensibilité.   Étant donné que le chromosome 20 de l’humain est considéré comme complètement orthologue au chromosome 2 de la souris, très peu de différence devrait être observée entre la couverture du chromosome 20 de l’humain par le chromosome 2 de la souris et par l'ensemble du génome de la souris. Les trois premières lignes représentent la couverture totale de l'ensemble de données humaines par des alignements avec l'ensemble de données de la souris. La dernière ligne est le pourcentage d'alignements non orthologue sur le chromosome 20 humain. La conclusion générale est que même si SLAGAN n'est peut-être pas aussi sensible que BLASTZ à l'échelle du génome entier, il est capable d'aligner un plus grand pourcentage des régions orthologues du chromosome 20 de l’humain et a une spécificité plus élevée montré par le pourcentage plus faible d'alignements non orthologues. Par rapport au LAGAN ordinaire, le SLAGAN est plus sensible et légèrement plus spécifique que LAGAN.