analyse des chaînes adn par l'algorithme de cocke-younger-kasami

53
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami Présenté par Dumitru Loghin Montréal 2014 1

Upload: loghin-dumitru

Post on 15-Apr-2017

608 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

1

Analyse des chaînes ADN par l'algorithme de

Cocke-Younger-Kasami

Présenté parDumitru Loghin

Montréal 2014

Page 2: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

2

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 3: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

3

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 4: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

4

1.IntroductionDans cette présentation, on présente une variante de la Cocke-Younger-Kasami algorithme (CYK) pour l'analyse des langages non contextuels « Context-free Language (CFL) » flous appliqué à des chaînes d'ADN.

Page 5: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

5

1.IntroductionGrammaire non contextuelle « Context-free Grammar(CFG) », sont d'une grande importance dans la formalisation de la notion de l'analyse, traduction simplification des langages de programmation, et d'autres applications chaîne de traitement.

Page 6: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

6

1.Introduction

Fig1. Structure générale de CYK.

Page 7: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

7

1.IntroductionL'existence du symbole de source dans la table indique que la chaîne appartient à la langue de CFG et la chaîne est accepté, au contraire, la chaîne est rejetée et ne fait pas partie de la grammaire.

Il a été une étape naturelle à utiliser la théorie de la grammaire pour représente différents types de chaîne biologique, à partir de l'ADN, de l'ARN aux protéines.

Page 8: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

8

1.Introduction

Page 9: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

9

1.IntroductionLa même séquence d'ADN de deux organismes de la même espèce de vie différents pourrait être différente, cette situation est possible, car il y a des différences évolutives qui sont produites par des mutations qui se sont produites au cours du temps, mais les similitudes essentielles sont entretenues et préservé.

Page 10: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

10

1.IntroductionLa théorie de la logique floue donne la possibilité de manipuler l'imprécision et soutenu avec la théorie des grammaires, pourrait être appliquée pour identifier les séquences de la biologie moléculaire basées sur l'utilisation de l'algorithme de CYK flou « (FCYK) ».

Page 11: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

11

1.Introduction

Page 12: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

12

1.IntroductionLorsque la chaîne appartient à une grammaire CFG, la chaîne a une adhésion de 1, mais quand la chaîne ne fait pas partie du langage CFL, la chaîne a une adhésion de 0.

Il est possible de traiter non seulement des appartenances ayant une valeur de 1 ou 0, mais aussi de traiter les adhésions qui sont parmi 0 et 1.

Page 13: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

13

1.IntroductionE. Lee et L. Zadeh ont proposé l'utilisation de la logique floue pour gérer CFG qui a l'attribut flou.Il est possible de déterminer un langage CFL flou « FCFL »

Page 14: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

14

1.Introduction

Page 15: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

15

1.Introduction

* Parce que l'ordre de l'algorithme est O(n^3), où n est le nombre de symboles de nucléotides de l‘ADN.

* l'espace de mémoire de l'algorithme de CYK est n^2.

Page 16: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

16

1.Introduction

On propose de modifier l'algorithme FCKY afin d'analyser les séquences d'ADN.

L'ordre de la FCKY modifié est réduit à O(n), et l'espace de mémoire est 2n-1, donc l'algorithme modifié peut faire rapidement l'analyse des séquences d'ADN.

Page 17: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

17

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 18: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

18

2. Type de grammairesEn général, une grammaire est définie par un alphabet, un ensemble de variables, l'ensemble de règles de production, et le symbole de départ.

G = (N, Σ, P, S) (1)où: N -symboles non terminaux, Σ -symboles terminaux (où N ∩ Σ = 0), P -l'ensemble des productions, S -S ∈ N est appelé le symbole de départ.

Page 19: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

19

2. Type de grammairesLes grammaires sont classées en fonction de la forme des règles de productions utilisées hiérarchie de ChomskyL(G) - est l'ensemble de toutes les chaînes possibles (peut-être un de consigne infinie) qui peuvent être générées par G.

L(G) - le langage engendré par la grammaire.

Page 20: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

20

2. Type de grammairesQuatre types principaux de

grammaires:1. Une règle de production est de la forme α → β2. où α et β sont chaîne de caractères3. les premiers sont des symboles non terminaux4. les derniers sont des symboles terminaux

Page 21: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

21

2. Type de grammairesL(G) de chaine d’ADN

N - est un ensemble de symboles non terminaux, certains de ces symboles sont A, C, G et T, où ces symboles représente le nucléotide adénine, cytosine, guanine et thymine.

Σ - est l'ensemble des symboles terminaux: a, c, g, t.

P - sont les productions.S - est le symbole de départ.

Page 22: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

22

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK) Algorithme FCYK modifié5. La partie pratique de l'algorithme

CYK6. Conclusion7. Référence

Page 23: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

23

3.Forme normale de ChomskyForme normale de Chomsky(« Chomsky

normal form ») (CNF)Théorème 1. (CNF) Tout langage CFL

L(G), sans le mot vide λ, peut être généré à partir de la grammaire G, où les règles de production ont les prochaines caractéristiques:

A → BC ou A → a. Où A, B, C sont des variables, et a est un symbole terminal (a ∈ Σ).

Page 24: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

24

3.Forme normale de ChomskyExemple 1.

On considère une chaine d’AND x=«agctacg»

Tache: de génère G en contexte CNF et de définir les symboles non terminale A, C, G et T.

Page 25: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

25

3.Forme normale de ChomskyExemple 1 (suit).

G=({S,A,C,G,T,W1,W2,W3,W4,W5,a,c,g,t},{a,c,g,t},P,S)où P sont les prochaines règles de production:

S → AW1W1 → GW2W2 → CW3W3 → TW4W4 → AW5W5 → CGA → aC → cG → gT → t

Résultat:Maintenant, on montre qu'à partir de S et en utilisant les règles

de G productions on obtient:L(G) = «agctacg»

Page 26: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

26

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK) 5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 27: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

27

4.Algorithme Cocke-Younger-Kasami

L’Algorithme CYK nous permet d'établir s’il est possible dans une grammaire donnée CFG de retirer la chaîne spécifiée et si oui, de fournir sa sortie (S). En d'autres termes, l'algorithme fait l'analyse syntaxique de la chaîne de symboles. L’Algorithme met en œuvre l'analyse de bas en haut(« BOTTOM to UP ») et sur la base de la méthode de la programmation dynamique.

Page 28: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

28

4.Algorithme Cocke-Younger-Kasami

CFG donne G= (N, Σ, P, S) en CNF (sans le mot vide λ) et chaine

a1a2 … an (n ≥ 1) ak Σ (1 ≤ k ≤ n)∈

Remplir la partie diagonale supérieure triangulaire strictement :

(n + 1) × (n + 1) T matrice de reconnaissance par l'algorithme CYK.où chaque élément ti,j est un sous-ensemble de V si V = N – Σ et est initialement vide.

Page 29: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

29

4.Algorithme Cocke-Younger-Kasami

Algorithme 1. CKY• 1. for i ← 0 to n-1• 2. ti, i+1 ← {A | ai+1 P(a)};∈• 3. for d ← 2 to n• 4. for i ← 0 to n-d• 5. j ← d + i;• 6. ti,j ← ti,j ∪ {A | k (i+1 ≤ k ≤ j-1); B(B t∃ ∃ ∈ i, k);

C(C t∃ ∈ k, j); BC P(A)∈ };• 7. return (t0, n)

Page 30: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

30

4.Algorithme Cocke-Younger-Kasami

Exemple 2.• Soit L(G): Tache: de vérifier l’appartenance de la phrase

« I saw the man with the telescope » et de fournie la sortie (S)

• S -> NP VP• NP -> DET N• NP -> NP PP• PP -> P NP• VP -> V NP• VP -> VP PP• DET -> the• NP -> I• N -> man• N -> telescope• P -> with• V -> saw• N -> cat• N -> dog• N -> pig• N -> hill• N -> park• N -> roof• P -> from• P -> on• P -> in

Fig.2 L’Arbre selon L(G)

Page 31: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

31

4.Algorithme Cocke-Younger-Kasami

Exemple 2(suit).

Page 32: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

32

4.Algorithme Cocke-Younger-Kasami

Exemple 2(suit).

Page 33: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

33

4.Algorithme Cocke-Younger-Kasami

Exemple 2(suit).

Page 34: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

34

4.Algorithme Cocke-Younger-Kasami

Exemple 2(suit).

Page 35: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

35

4.Algorithme Cocke-Younger-Kasami

Exemple 3:Considérons la chaine:

x = « aggt »G1 = ({S, A, C, G, T, W1, W2, a, c, g, t}, { a, c, g, t }, P2, S); P2 en

CNF• P2(S) = {S, AW1}• P2(W1) ={W1, GW2, TW2}• P2(W2) = {W2, GT, AC}• P2(A) = {A, a}• P2(C) = {C, c}• P2(G) = {G, g}• P2(T) = {T, t}

Page 36: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

36

4.Algorithme Cocke-Younger-Kasami

Exemple 3(suit):La chaîne x = « aggt » est reconnu en raison que S ∈ T0,4.

Fig.3 le chaine x=AGGT est reconnu par l’Algorithme 1.

Page 37: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

37

4.Algorithme Cocke-Younger-Kasami

Exemple 4:Mêmes conditions que dans l'exemple 3, sauf que la chaine

x = « acgt »Le résultat:

x = acgt L(G1)∉

Fig.4 le chaine x=ACGT n’est pas reconnu par l’Algorithme 1.

Page 38: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

38

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 39: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

39

5.Algorithme FCYK modifié

On a observé que les éléments de la matrice T que l'algorithme de CYK est appliqué à reconnaître des séquences d'ADN sont identiques.

Cela signifie que la première diagonale supérieure de la matrice est remplie, alors que la dernière colonne de la matrice est remplie jusqu'à ce que l'élément t0,n soit atteint.

Page 40: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

40

5.Algorithme FCYK modifié

Fig.5 diagonale supérieure de la matrice de CYK

Page 41: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

41

5.Algorithme FCYK modifiéLe premier algorithme FCYK ne modifie que le second groupe de la « for » instructions. Une instruction « for » peut être éliminée.

Algorithme 1 de FCYK

• 1. for i ← 0 to n-1• 2. ti, i+1 ← {(A, m) | A N, ∈ μ(ai+1; P(a)) = m > 0};• 3. for l ← n-2 to 0• 4. tl,n ← tl, n {(A, m) | A N, m = { r p q | (B, p) t∪ ∈ ∨ ∗ ∗ ∈ l,l+1; (C, q) ∈

tl+1,n;• μ(BC, P(A)) = r > 0}};• 5. return (t0, n)

-le nombre d'itérations est 2n-1.-l'espace mémoire: n^2 des cases de mémoire.

Page 42: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

42

5.Algorithme FCYK modifiéLe second algorithme FCYK De la fig.5 nous pouvons obtenir un vecteur. La fig.6 montre que le vecteur est divisé en deux sections, dans la première section ne sont que le groupe d'éléments de T0 à tn-1 (pour la première instruction) dans le deuxième groupe sont les éléments de tn à t2n-2 (seconde instruction pour) . Le symbole mk (1 ≤ k ≤ 2n-1) représente le degré d'appartenance de chaque élément. Avec cette idée à l'esprit est possible de réduire la taille de mémoire à 2n-1

Page 43: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

43

5.Algorithme FCYK modifié

Fig.6 Vecteur t obtenue à partir de la deuxième version de l'algorithme de FCYK.

Algorithme 2 de FCYK

• 1. for i ← 0 to n-1• 2. ti ← {(A, m) | A N, ∈ μ(ai+1; P(a)) = m > 0};• 3. r ← 2• 4. for l ← (n - 2) to 0• 5. q ← n– r• 6. k ← l – 1• 7. r ← r + 1• 7. tl ← {(A, m) | A N, m = { p q k | (B, q) tq;∈ ∨ ∗ ∗ ∈• (C, k) tk; ∈ μ(BC, P(A)) = p > 0}};• 8. return (t2n-2)

Page 44: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

44

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 45: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

45

6.La partie pratique de l'algorithme CYK

Réalisation pratique de l'algorithme CYK.

Fig7. Vue de la logiciel fonctionnant en base l'algorithme CYK.

Page 46: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

46

6.La partie pratique de l'algorithme CYK

Platform: FreamWork QtLanuguage: Qt_C++Type de licence: open sourceécrit par: Dumitru Loghin

Principe de fonctionnement est basé sur l'algorithme

de CYK

Page 47: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

47

6.La partie pratique de l'algorithme CYK

Fig8. Structure simplifiée du logiciel

Page 48: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

48

6.La partie pratique de l'algorithme CYK

Fig.9 Code TEXT de la méthode « algorithmCYK »

Page 49: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

49

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 50: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

50

7. ConclusionOn a montré la possibilité d'utiliser l'algorithme FCYK de reconnaître des séquences d'ADN à partir d'un FCFG. Il a été montré qu'il est possible d'accélérer les calculs et qu’on peut réduire la taille de mémoire utilisée par l'algorithme de FCYK( pour les séquences d'ADN ).

Et enfin, nous avons testé dans le pratique algorithme CYK.

Page 51: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

51

Plan1. Introduction2. Type de grammaires3. Forme normale de Chomsky4. Algorithme Cocke-Younger-

Kasami(CYK)5. Algorithme FCYK modifié6. La partie pratique de l'algorithme

CYK7. Conclusion8. Référence

Page 52: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

52

8. Référence[1]. Herón Molina-Lozano : “A Fast Fuzzy Cocke-

Younger-Kasami Algorithm for DNA and RNA Strings Analysis”; “LECTURE NOTES IN COMPUTER SCIENCE, 6438; 80-91 Advances in Soft Computing 9th Mexican International Conference on Artificial Intelligence, MICAI 2010 Pachuca, Mexico, November 8-13, 2010 Proceedings, Part II”

[2].  Dan Jurafsky & Chris Manning: “15 - 3 - CKY Parsing -Stanford NLP-Professor Dan Jurafsky & Chris Manning”:url:http://www.youtube.com/watch?v=hq80J8kBg-Y

[3]. Dave Bacon: “Introduction to Formal Methods in Computer Science Chomsky Normal Form”url:http://courses.cs.washington.edu/courses/cse322/08au/lec14.pdf

Page 53: Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami

53

Merci pour votre attention !Montréal 2014