Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρμογή τους σε ταξινόμηση πρωτεϊνικών δεδομένων

Σχετικά έγγραφα
Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρµογή τους σε ταξινόµηση πρωτεϊνικών δεδοµένων

Αναγνώριση Προτύπων Ι

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

ΑΕΠΠ Ερωτήσεις θεωρίας

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Πληροφορική 2. Αλγόριθμοι

Τηλεπικοινωνιακά Συστήματα ΙΙ

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Εισαγωγή στην Επιστήμη των Υπολογιστών

Δομές Δεδομένων και Αλγόριθμοι

Δευτεροταγείς βάσεις δεδομένων (Secondary databases)

Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ. Παύλος Αντωνίου

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

Θέματα Προγραμματισμού Η/Υ

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Υπολογιστικό Πρόβληµα

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Σειρά Προβλημάτων 4 Λύσεις

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Στοχαστικές Στρατηγικές. διαδρομής (1)

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Η έννοια του συνόλου. Εισαγωγικό κεφάλαιο 27

Κατανεμημένα Συστήματα Ι

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ. Ερωτήσεις πολλαπλής επιλογής. Συντάκτης: Δημήτριος Κρέτσης

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Σειρά Προβλημάτων 4 Λύσεις

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Βιοπληροφορική και Πολυµέσα. Ειρήνη Αυδίκου Αθήνα

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Εισαγωγή στην Επιστήμη των Υπολογιστών

Σειρά Προβλημάτων 4 Λύσεις

4.3. Γραµµικοί ταξινοµητές

Στατιστική, Άσκηση 2. (Κανονική κατανομή)

Ψευδοκώδικας. November 7, 2011

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α

Σχεδίαση και Ανάλυση Αλγορίθμων

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

3.1 ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Στοχαστικές Στρατηγικές

Ανασκόπηση θεωρίας ελαχίστων τετραγώνων και βέλτιστης εκτίμησης παραμέτρων

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

HEAD INPUT. q0 q1 CONTROL UNIT

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

καθ. Βασίλης Μάγκλαρης

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από

6. Στατιστικές μέθοδοι εκπαίδευσης

Αναγνώριση Προτύπων Ι

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Κατανεμημένα Συστήματα Ι

Αριθμητική Ανάλυση και Εφαρμογές

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Μέθοδοι μελέτης εξέλιξης

Κεφάλαιο 2 Α Ν Τ Ι Γ Ρ Α Φ Η

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρμογή τους σε ταξινόμηση πρωτεϊνικών δεδομένων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΦΩΤΗ Ε. ΨΩΜΟΠΟΥΛΟΥ Α.Ε.Μ. 4327 Επιβλέπων : Δρ. Περικλής Α. Μήτκας Αναπληρωτής Καθηγητής Α.Π.Θ Θεσσαλονίκη, Ιούλιος 2004

Περιεχόμενα Περιεχόμενα... 2 Εισαγωγή... 4 Κεφάλαιο 1. Περιγραφή του προβλήματος... 5 1.1. Εισαγωγή... 5 1.2. Η ανάγκη για κατηγοριοποίηση των πρωτεϊνών... 6 1.3. Πρόβλεψη Λειτουργικής Συμπεριφοράς Πρωτεϊνών... 8 1.4. Στόχοι της Διπλωματικής... 9 1.5. Απεικόνιση Δεδομένων Μοτίβα... 10 1.6. Μεθοδολογία... 11 1.7. Περιεχόμενα... 12 Κεφάλαιο 2. Η Μεθοδολογία Εξαγωγής Κανόνων... 13 2.1. Εισαγωγή... 13 2.1.1. Η Μεθοδολογία Συνοπτικά... 13 2.1.2. Πεπερασμένα Αυτόματα... 14 2.2. Δένδρο Αποδοχής Προθεμάτων (PTA)... 16 2.2.1. Τι είναι πρόθεμα... 16 2.2.2. Τι είναι το PTA... 16 2.2.3. PTA για πρωτεϊνικό σύνολο δεδομένων... 18 2.2.4. Αλγόριθμος Δημιουργίας PTA... 18 2.3. Δημιουργία Στοχαστικού Αιτιοκρατικού Πεπερασμένου Αυτόματου Αλγόριθμος ALERGIA... 20 2.3.1. Προετοιμασία του PTA για εφαρμογή του ALERGIA... 20 2.3.2. Ισοδύναμες Καταστάσεις Συμβατές Καταστάσεις (Equivalent States Compatible States)... 20 2.3.3. Ο Αλγόριθμος ALERGIA... 21 2.3.4. Πολυπλοκότητα Αλγορίθμου ALERGIA... 24 2.4. Υπολογισμός πιθανοτήτων εμφάνισης συμβόλων από FSA... 24 2.4.1. Υπολογισμός πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων... 25 2.4.2. Υπολογισμός πιθανότητας εμφάνισης μη διατεταγμένου συνόλου συμβόλων... 28 2.4.3. Πολυπλοκότητα... 31 2.5. Εξαγωγή Κανόνων Κατηγοριοποίησης... 31 2.5.1. Κανόνες Κατηγοριοποίησης Κανόνες Συσχέτισης (Classification Rules Association Rules)... 31 2.5.2. Εφαρμογή σε πρωτεϊνικά δεδομένα... 33

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 3 2.5.3. Υπολογισμός γνωρισμάτων κανόνων από FSA... 34 2.5.4. Αλγόριθμος Εξαγωγής Κανόνων... 35 2.6. Ένα παράδειγμα... 36 Κεφάλαιο 3. Υλοποίηση Αρχιτεκτονική του Συστήματος... 45 3.1. Περιγραφή της Βάσης Δεδομένων... 45 3.2. Σύνδεση με τον SQL Server 2000 μέσω JDBC... 49 3.3. Αρχιτεκτονική τριών επιπέδων... 54 3.4. Αρχιτεκτονική του... 56 3.5. Εργαλεία που χρησιμοποιήθηκαν... 57 3.5.1. SQL Server 2000... 57 3.5.2. JBoss 3.0.8... 58 3.5.3. JBuilder X... 58 Κεφάλαιο 4. Αποτελέσματα Πειράματα... 59 4.1. Προσδιορισμός της παραμέτρου confidence στον αλγόριθμο ALERGIA.. 59 4.2. Πειραματικά αποτελέσματα κατηγοριοποίησης... 62 4.2.1. Έλεγχος σε σταθερό πλήθος οικογενειών και μεταβλητά ποσοστά δεδομένων εκπαίδευσης και ελέγχου... 62 4.2.2. Έλεγχος σε μεταβλητό πλήθος οικογενειών και σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου... 66 4.2.3. Έλεγχος σε όλες τις οικογένειες πρωτεϊνών... 67 4.3. Χρονική διάρκεια αλγορίθμου... 68 Κεφάλαιο 5. Συμπεράσματα και Μελλοντικές Προεκτάσεις... 70 5.1. Συμπεράσματα... 70 5.2. Μελλοντικές Επεκτάσεις Βελτιώσεις... 71 Βιβλιογραφία... 72 Παραρτήματα... 74 Παράρτημα Α: Οδηγός Χρήσης του Εικόνες Διεπαφών... 75 Παράρτημα Β: Διαγράμματα εσωτερικής δομής και λειτουργίας του συστήματος... 83 Παράρτημα Γ: Οδηγίες Εγκατάστασης του... 87 Παράρτημα Δ: Επιπλέον Πειράματα... 94 Παράρτημα Ε: Στατιστικά στοιχεία της Βάσης Δεδομένων GenBase (release 11/05/2004 Prosite)... 106

Εισαγωγή Οι υπολογιστές και ο παγκόσμιος ιστός αλλάζουν δραματικά τον τρόπο της έρευνας στη βιολογία. Θεωρητική και υπολογιστική βιολογία συνυπάρχουν για δεκαετίες στα όρια της επιστήμης της βιολογίας. Αλλά μέσα σε λίγα μόνο χρόνια, τα νέα βιολογικά δεδομένα που προέκυψαν από την προσπάθεια καταγραφής του ανθρώπινου γονιδιώματος, κατέστησαν αναγκαία τη χρήση των υπολογιστών σε κάθε πλευρά της βιολογίας. Έρευνα η οποία κάποτε γινόταν μέσα σε εργαστήριο τώρα γίνεται σε υπολογιστή, καθώς επιστήμονες ερευνούν τις βάσεις δεδομένων για πληροφορίες που μπορεί να οδηγήσουν σε νέες υποθέσεις. Μέσα στις τελευταίες δύο δεκαετίες, τόσο οι προσωπικοί υπολογιστές όσο και οι υπερυπολογιστές, έχουν γίνει προσβάσιμοι από τους επιστήμονες κάθε κλάδου. Οι προσωπικοί υπολογιστές έχουν εξελιχθεί από ακριβές μηχανές με πολύ μικρή υπολογιστική ισχύ, σε μηχανές που είναι τόσο ισχυρές όσο οι υπερυπολογιστές της προηγούμενης δεκαετίας. Ακριβώς όπως αντικατέστησαν την γραφομηχανή του συγγραφέα και τον άβακα του λογιστή, οι υπολογιστές έχουν αναλάβει τη θέση ελέγχου και συλλογής πληροφοριών από εργαστηριακό εξοπλισμό. Η ισχύς των βάσεων δεδομένων επιτρέπει την πολύ ευκολότερη πρόσβαση σε δεδομένα, καθώς και την αποθήκευση, ανάλυση και οπτικοποίησή τους. Πέρα από αυτά όμως, οι υπολογιστές είναι ισχυρές μηχανές που επιτρέπουν την κατανόηση οποιουδήποτε συστήματος μπορεί να περιγραφεί με μαθηματικά μοντέλα, δίνοντας το έναυσμα κλάδων επιστημών, όπως η υπολογιστική πληροφορική, και τελευταία η βιοπληροφορική. Από την άλλη πλευρά όμως, οι υπολογιστές θα ήταν άχρηστοι χωρίς την ύπαρξη προγραμμάτων και αλγορίθμων να χρησιμοποιούν την τεράστια ισχύ των υπολογιστών στα εκάστοτε προβλήματα. Στα πλαίσια αυτής της εργασίας, αναπτύχθηκαν τόσο μία μεθοδολογία όσο και μία εφαρμογή που την υλοποιεί. Ευχαριστώ θερμά τον αναπληρωτή καθηγητή κ. Περικλή A. Μήτκα για την υπόδειξη του θέματος αυτής της εργασίας και για την επιστημονική εποπτεία κατά την εκπόνησή της, καθώς επίσης και τον υποψήφιο διδάκτορα κ. Σωτήρη Διπλάρη για την άρτια καθοδήγηση και επίβλεψη. Ευχαριστώ ακόμη για τη συμβολή τους σε θέματα προγραμματισμού τους υποψήφιους διδάκτορες κ. Ανδρέα Συμεωνίδη, κ. Διονύση Κεχαγιά και κ. Ιωάννη Αθανασιάδη.

Κεφάλαιο 1. Περιγραφή του προβλήματος 1.1. Εισαγωγή Με τον όρο βιοπληροφορική (bioinformatics) περιγράφεται η επιστήμη της έρευνας, ανάπτυξης και εφαρμογής υπολογιστικών εργαλείων και μεθόδων με στόχο την διεύρυνση της χρήσης βιολογικών και ιατρικών δεδομένων, καθώς και μεθόδων για την καταγραφή, αποθήκευση, οργάνωση, ανάλυση και παρουσίαση τέτοιων δεδομένων. Η υπολογιστική βιολογία (computational biology) ορίζεται ως η επιστήμη της έρευνας και εφαρμογής αριθμητικών ή θεωρητικών μεθόδων, μαθηματικών μοντέλων και τεχνικών προσομοίωσης για τη μελέτη βιολογικών και κοινωνικών συστημάτων. Η βιοπληροφορική και η υπολογιστική βιολογία έχουν τις ρίζες τους τόσο στις επιστήμες υπολογιστών και πληροφορικής, όσο και στις φυσικές επιστήμες. Και οι δύο περιλαμβάνουν στοιχεία από επιστημονικούς τομείς, όπως τα μαθηματικά, τη φυσική και τη βιολογία. Ταυτόχρονα όμως, και οι δύο διατηρούν μια στενή σχέση με τις φυσικές επιστήμες, και τις τεράστιες δυνατότητες που αυτές προσφέρουν. Η βιοπληροφορική εφαρμόζει υπολογιστικές μεθόδους έτσι ώστε να κάνει πιο χρήσιμη και κατανοητή την τεράστια ποσότητα των πολύπλοκων δεδομένων. Από την άλλη πλευρά, η υπολογιστική βιολογία χρησιμοποιεί μαθηματικές και αριθμητικές μεθόδους για να απαντήσει σε θεωρητικά ή πειραματικά ερωτήματα της βιολογίας. Παρόλο που βιοπληροφορική και υπολογιστική βιολογία είναι δύο διαφορετικές επιστήμες, υπάρχουν πολλά κοινά σημεία.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 6 Είναι πλέον γνωστό ότι οι σύγχρονες εξελίξεις στη βιοπληροφορική και στη μοριακή βιολογία έχουν δημιουργήσει ένα τεράστιο όγκο δεδομένων. Μόνο ο ανθρώπινος γενετικός κώδικας περιλαμβάνει 3 δισεκατομμύρια νουκλεοτίδια, υπάρχουν ήδη πάνω από 100 βακτηριδιακά γονίδια αποκωδικοποιημένα εξ ολοκλήρου, ενώ κάθε εβδομάδα προσδιορίζονται πάνω από 20 εκατομμύρια νουκλεοτίδια [GJ 01]. Η ανάλυση όλων αυτών των δεδομένων απαιτεί τη χρήση υπολογιστικών συστημάτων, καθώς και τη δημιουργία αξιόπιστων τεχνικών μοντελοποίησης. Αναμφισβήτητα, το μεγαλύτερο, ως τώρα, επίτευγμα της βιοπληροφορικής είναι η αποκωδικοποίηση του DNA. Ο γενετικός κώδικας προσδιορίζει επακριβώς τον τρόπο με τον οποίο θα δημιουργηθούν οι απαραίτητες για τη λειτουργία του κυττάρου πρωτεΐνες. Παρόλα αυτά, η γνώση της κατασκευής των πρωτεϊνών δεν προσφέρει πληροφορίες για τον τρόπο με τον οποίο αυτή θα χρησιμοποιηθεί. Όλες οι κυτταρικές λειτουργίες επιτελούνται με τη βοήθεια πρωτεϊνών, και όχι DNA ή RNA. Πολλές από τις μετατροπές που υφίστανται οι πρωτεΐνες δεν είναι εμφανείς από το γενετικό κώδικα, ενώ ο ίδιος ο γενετικός κώδικας δεν προσδιορίζει πώς, πού και ποιες πρωτεΐνες θα αντιδράσουν. Για την ακρίβεια δεν προσδιορίζει ούτε εάν μια συγκεκριμένη πρωτεΐνη θα δημιουργηθεί κάποτε! Για όλους αυτούς τους λόγους, ένας από τους μεγαλύτερους τομείς της βιοπληροφορικής είναι η ακριβής και αξιόπιστη μοντελοποίηση της συμπεριφοράς και της λειτουργίας των πρωτεϊνών. 1.2. Η ανάγκη για κατηγοριοποίηση των πρωτεϊνών Ενώ χρειάστηκαν χιλιάδες χρόνια για να διαπιστωθεί ότι όλα τα έμβια όντα ζώα και φυτά αποτελούνται από παρόμοια κύτταρα, μέσα σε λίγες δεκαετίες ανακαλύφθηκε ότι το κύτταρο λειτουργεί σαν ένα ανεξάρτητο χημικό εργοστάσιο, που εκπέμπει και λαμβάνει κωδικοποιημένα μηνύματα, τα οποία συντονίζουν τη δραστηριότητα και διευθύνουν την ανάπτυξη του σώματος. Αυτό το πολύ πυκνό και πολύπλοκο δίκτυο χημικών διαδικασιών παρέμεινε μυστηριώδες μέχρι τα μέσα του 20ου αιώνα. Σήμερα μαθαίνουμε ότι τα μηνύματα αυτά είναι εξαιρετικά ακριβή, αρχίζουμε να αντιλαμβανόμαστε το αλφάβητο της γλώσσας των κυττάρων, ενώ διαπιστώνουμε ότι πρέπει να εμβαθύνουμε και στο συντακτικό της.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 7 Κάθε κύτταρο είναι προικισμένο με τη δυνατότητα να ανιχνεύει τα σήματα του περιβάλλοντός του. Τα σήματα αυτά μεταδίδονται κυρίως με τη μορφή χημικών μορίων, τα οποία το κύτταρο έχει μάθει να αναγνωρίζει. Στη συνέχεια αποκωδικοποιούνται, δηλαδή οργανώνονται σε μηνύματα, στα οποία το κύτταρο μπορεί να δώσει μία απόκριση που αντλεί από το γενετικό του ρεπερτόριο: για παράδειγμα, σύσπαση, στην περίπτωση ενός μυϊκού κυττάρου, ή έκκριση μίας ορμόνης, στην περίπτωση ενός αδενικού κυττάρου. Με την έννοια αυτή μπορούμε να μιλάμε για «γλώσσα των κυττάρων». Τα σήματα, στα οποία αναφερόμαστε, είναι σχετικά απλά χημικά μόρια, που προέρχονται από τα στοιχειώδη συστατικά της ζώσας ύλης, δηλαδή τα αμινοξέα, που είναι ενώσεις άνθρακα, οξυγόνου, υδρογόνου και αζώτου, και έχουν μοριακό βάρος γύρω στα 100 daltons (100 φορές το 1/12 της μάζας του άνθρακα 12, ή 100 φορές τη μάζα του υδρογόνου). Τα απλούστερα σήματα είναι αυτά καθ εαυτά ανάλογα αμινοξέων (όπως για παράδειγμα του γλουταμινικού ή του ασπαρτικού οξέος). Σε ορισμένες περιπτώσεις, αυτά τα αμινοξέα είναι ελαφρώς τροποποιημένα, δηλαδή πρόκειται για πολύ γνωστούς διαβιβαστές, όπως η αδρεναλίνη, η ντοπαμίνη ή η ισταμίνη. Αλλά τα πιο συνήθη σήματα είναι οι πρωτεΐνες, οι οποίες αποτελούνται από πολύπλοκες συναρμολογήσεις αμινοξέων, που διατάσσονται σε διάφορες αλληλουχίες. Στο Σχήμα 1.1 παρουσιάζεται η ακολουθία των 499 αμινοξέων που αποτελούν την αλυσίδα της πρωτεΐνης με τον κωδικό P04591. Στην αλυσίδα το κάθε αμινοξύ παρουσιάζεται με ένα γράμμα του λατινικού αλφαβήτου, σύμφωνα με την παγκόσμια τυποποίηση. Ανάλογα με τις λειτουργίες που επιτελούν, οι πρωτεΐνες χωρίζονται σε οικογένειες. Όλες οι πρωτεΐνες που ανήκουν σε μία οικογένεια παρουσιάζουν κάποια συγγένεια στη δομή, και για αυτό παρουσιάζουν και παρόμοιες ιδιότητες. Μέχρι τώρα, η βιολογική δράση των πρωτεϊνών μπορούσε να γίνει γνωστή μόνο μέσω χρονοβόρων και πολυέξοδων πειραμάτων. Η βιοπληροφορική αναλαμβάνει να επιλύσει αυτό το πρόβλημα με διάφορες μεθόδους.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 8 10 20 30 40 50 60 GARASVLSGG ELDRWEKIRL RPGGKKKYKL KHIVWASREL ERFAVNPGLL ETSEGCRQIL 70 80 90 100 110 120 GQLQPSLQTG SEELRSLYNT VATLYCVHQR IEIKDTKEAL DKIEEEQNKS KKKAQQAAAD 130 140 150 160 170 180 TGHSNQVSQN YPIVQNIQGQ MVHQAISPRT LNAWVKVVEE KAFSPEVIPM FSALSEGATP 190 200 210 220 230 240 QDLNTMLNTV GGHQAAMQML KETINEEAAE WDRVHPVHAG PIAPGQMREP RGSDIAGTTS 250 260 270 280 290 300 TLQEQIGWMT NNPPIPVGEI YKRWIILGLN KIVRMYSPTS ILDIRQGPKE PFRDYVDRFY 310 320 330 340 350 360 KTLRAEQASQ EVKNWMTETL LVQNANPDCK TILKALGPAA TLEEMMTACQ GVGGPGHKAR 370 380 390 400 410 420 VLAEAMSQVT NSATIMMQRG NFRNQRKIVK CFNCGKEGHT ARNCRAPRKK GCWKCGKEGH 430 440 450 460 470 480 QMKDCTERQA NFLGKIWPSY KGRPGNFLQS RPEPTAPPEE SFRSGVETTT PPQKQEPIDK 490 ELYPLTSLRS LFGNDPSSQ Σχήμα 1.1: Αλυσίδα της πρωτεΐνης P04591 (Gag polyprotein GAG_HV1H2) 1.3. Πρόβλεψη Λειτουργικής Συμπεριφοράς Πρωτεϊνών Σήμερα ένα από τα πιο μεγάλα προβλήματα της λειτουργικής γενετικής είναι η πρόβλεψη της λειτουργικής συμπεριφοράς των πρωτεϊνών, που είναι και ο σκοπός της παρούσας διπλωματικής εργασίας. Η πρόβλεψη είναι δυνατή χάρη στην ύπαρξη μοτίβων μέσα στην πρωτεϊνική αλυσίδα. Τα μοτίβα είναι μικρές αλυσίδες αμινοξέων που παρουσιάζουν συγκεκριμένη διάταξη. Σε αυτά κυρίως οφείλεται η συμπεριφορά μιας πρωτεΐνης, και χρησιμοποιούνται ευρέως για την πρόβλεψη της λειτουργίας της. Η συσχέτιση μεταξύ ιδιοτήτων και μοτίβων δεν είναι πάντα προφανής, καθώς σε μία πρωτεϊνική αλυσίδα είναι δυνατόν να υπάρχουν περισσότερα του ενός μοτίβα. Οι

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 9 τελικές ιδιότητες που θα παρουσιάσει μία πρωτεΐνη είναι συνάρτηση πολλών μοτίβων, όπου κάποια υπερισχύουν κάποιων άλλων. Διαπιστώνεται λοιπόν η ανάγκη να δημιουργηθούν εξειδικευμένα εργαλεία για την εύρεση των κανόνων που διέπουν αυτές τις συσχετίσεις, με απώτερο στόχο την πρόβλεψη της συμπεριφοράς κάποιας πρωτεΐνης. Ένα πρώτο βήμα προς αυτό το στόχο έχει ήδη γίνει με την αναλυτική καταγραφή τέτοιων μοτίβων σε βάσεις δεδομένων. Μερικές από τις πιο γνωστές είναι οι εξής: α) Η Prosite [URL1] είναι μία βάση δεδομένων η οποία περιέχει πρωτεϊνικές οικογένειες και ομάδες, δηλαδή βιολογικώς σημαντικά μοτίβα, πρότυπα και χαρακτηριστικά, τα οποία επιτρέπουν την αξιόπιστη κατάταξη μίας νέας πρωτεϊνικής αλυσίδας σε μία οικογένεια. Γενικά, πρωτεΐνες οι οποίες ανήκουν στην ίδια οικογένεια έχουν κοινά λειτουργικά χαρακτηριστικά και προέρχονται από διαφορετικές μεταλλάξεις κάποιας κοινής πρωτεΐνης. Αυτή τη στιγμή (2004) η Prosite περιέχει πάνω από 1000 διαφορετικές οικογένειες. β) Η Pfam [URL2] είναι μία συλλογή πρωτεϊνικών οικογενειών. Περιέχει πολλαπλές ακολουθίες ευθυγραμμίσεων πρωτεϊνών (Multiple Sequence Alignments), καθώς και κρυφά μοντέλα Markov (Hidden Markov Models) των οικογενειών. γ) Η Prints [URL3] είναι μία βάση δεδομένων πρωτεϊνικών αποτυπωμάτων. Τα αποτυπώματα (fingerprints) είναι ένα σύνολο μοτίβων τα οποία χρησιμοποιούνται για να χαρακτηρίσουν μία πρωτεϊνική οικογένεια. 1.4. Στόχοι της Διπλωματικής Το βασικό πρόβλημα, το οποίο επιχειρεί να επιλύσει η παρούσα διπλωματική, είναι το ακόλουθο: με δεδομένο ένα σύνολο πρωτεϊνών με γνωστές, προσδιορισμένες πειραματικά, ιδιότητες και με γνωστά τα μοτίβα που περιέχονται στην κάθε αλυσίδα, να προσδιοριστούν κανόνες που συσχετίζουν μοτίβα με ιδιότητες. Με τον τρόπο αυτό θα είναι δυνατός ο προσδιορισμός των ιδιοτήτων άγνωστων πρωτεϊνικών αλυσίδων. Συγκεκριμένα για κάθε πρωτεΐνη είναι γνωστή η οικογένεια στην οποία αυτή ανήκει, καθώς και τα μοτίβα που αυτή περιέχει. Μία οικογένεια πρωτεϊνών, όπως έχει ήδη αναφερθεί, περιέχει «συγγενείς» πρωτεΐνες, δηλαδή πρωτεΐνες με ίδιες ή παρόμοιες

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 10 ιδιότητες. Έτσι, έχοντας ως δεδομένη την οικογένεια στην οποία ανήκει μία πρωτεΐνη, γνωρίζουμε και τις βασικές ιδιότητές της. Επομένως, το πρόβλημα ανάγεται στη συσχέτιση μοτίβων που περιέχονται σε μία πρωτεϊνική αλυσίδα, με οικογένειες «συγγενών» πρωτεϊνών. Η προσέγγιση του προβλήματος γίνεται με την κλασική μέθοδο αντιμετώπισης προβλημάτων εξόρυξης δεδομένων. Δημιουργείται ένα σύνολο δεδομένων εκπαίδευσης (training data set), το οποίο χρησιμοποιείται ως είσοδος στον αλγόριθμο. Σαν έξοδο παίρνουμε κάποιους κανόνες ταξινόμησης, οι οποίοι με τη σειρά τους ελέγχονται για την ορθότητά τους από ένα άλλο σύνολο δεδομένων ελέγχου (test data set). Τόσο για τις πρωτεΐνες που ανήκουν στο σύνολο δεδομένων εκπαίδευσης, όσο και για αυτές που ανήκουν στο σύνολο δεδομένων ελέγχου, γνωρίζουμε την «οικογένεια» στην οποία ανήκουν, καθώς και τα μοτίβα που περιέχουν. Για τον έλεγχο των κανόνων, τα αποτελέσματα που προκύπτουν συγκρίνονται με τις πραγματικές τιμές. 1.5. Απεικόνιση Δεδομένων Μοτίβα Απαραίτητη προϋπόθεση για την διαδικασία συσχέτισης μοτίβων οικογενειών είναι η σωστή απεικόνιση της πρωτεϊνικής αλυσίδας. Οι περισσότεροι αλγόριθμοι αντιμετωπίζουν το κάθε στοιχείο ως ταξινομημένο τμήμα ενός συγκεκριμένου συνόλου γνωρισμάτων. Στη δική μας περίπτωση οι πρωτεϊνικές αλυσίδες απεικονίζονται με τη χρήση ενός κατάλληλου λεξικού ακολουθιών μοτίβων, με τον εξής απλό τρόπο: Έστω ότι το λεξικό περιλαμβάνει Ν μοτίβα. Κάθε πρωτεϊνική αλυσίδα περιλαμβάνει ένα περιορισμένο αριθμό αυτών. Έτσι, μπορεί εύκολα να αντιστοιχιστεί μία πρωτεΐνη με μία αλληλουχία μοτίβων. Το σύνολο εκπαίδευσης επομένως δεν είναι τίποτα άλλο από μία συλλογή ακολουθιών μοτίβων. Στο εξής, κάθε αναφορά σε «πρωτεϊνική αλυσίδα» θα εκφράζει ακριβώς αυτή την ακολουθία μοτίβων που αντιστοιχεί στην εκάστοτε πρωτεΐνη. Τα ίδια τα μοτίβα χωρίζονται σε δύο μεγάλες κατηγορίες: τα μοτίβα (profiles) και τα πρότυπα (patterns). Η πιο απλή κατηγορία είναι τα πρότυπα. Ένα, παράδειγμα προτύπου είναι το εξής: [IV] G x G T [LIVMF] x(2) [GS]

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 11 που διαβάζεται: στην πρώτη θέση πρέπει να βρίσκεται μία ισολευκίνη (I) ή μία βαλίνη (V), στη δεύτερη θέση πρέπει να βρίσκεται μόνο μία γλυκίνη (G), κοκ. Το x σημαίνει ότι εκεί μπορεί να εμφανιστεί οποιοδήποτε αμινοξύ, ενώ το x(2) σημαίνει ότι δύο θέσεις μπορεί να περιέχουν οποιοδήποτε αμινοξύ, με τον αριθμό να υποδηλώνει ακριβώς το μήκος των μη προσδιορισμένων αμινοξέων. Το μοτίβο είναι αριθμητική αναπαράσταση μιας πολλαπλής ακολουθίας ευθυγραμμίσεων (Multiple Sequence Alignments). Στην πραγματικότητα ένα μοτίβο μοιάζει με ένα πίνακα. Η διαφορά με το πρότυπο είναι ότι ένα μοτίβο επιστρέφει ένα βαθμό ομοιότητας σε μία πιθανή αντιστοίχιση, σε αντίθεση με το πρότυπο το οποίο επιστρέφει ένα δυαδικό TRUE ή FALSE. Η λειτουργία των μοτίβων είναι να ευθυγραμμίζονται με μία πραγματική ακολουθία αμινοξέων, και να επιστρέφουν έναν αριθμό ο οποίος ονομάζεται βαθμός ομοιότητας ή βαθμός ευθυγράμμισης. Η περιγραφή του υπολογισμού των μοτίβων είναι πολύπλοκη και εκτός του στόχου της εργασίας αυτής, για αυτό στο εξής με τον όρο μοτίβα θα εννοούμε είτε μοτίβα είτε πρότυπα. 1.6. Μεθοδολογία Μέχρι αυτή τη στιγμή έχει αναπτυχθεί μία πληθώρα αλγορίθμων για την εξόρυξη δεδομένων στα πλαίσια της αναγνώρισης άγνωστων πρωτεϊνών με τη βοήθεια μοτίβων. Τέτοιοι αλγόριθμοι υπάρχουν τόσο στη βιβλιογραφία της τεχνητής νοημοσύνης, όσο και της αναγνώρισης προτύπων. Κάποιοι από αυτούς δημιουργούν δέντρα αποφάσεων [WWH + 01, QUI 92], άλλοι δημιουργούν τεχνητά νευρωνικά δίκτυα [BIS 95], στατιστικά μοντέλα [DH 73], και άλλα. Μία άλλη προσέγγιση του προβλήματος, η οποία επιχειρείται εδώ, είναι με τη χρήση πεπερασμένων αυτομάτων. Αρχικά όλα τα πρωτεϊνικά δεδομένα καταγράφονται σε βάση δεδομένων, με τρόπο ώστε να διευκολύνεται η είσοδός τους στον αλγόριθμο. Στη συνέχεια τμήμα των δεδομένων χρησιμοποιείται για την κατασκευή ενός πεπερασμένου αυτομάτου, έτσι ώστε να είναι δυνατή η εξαγωγή κανόνων κατηγοριοποίησης από αυτό. Οι κανόνες αυτοί εφαρμόζονται στις υπόλοιπες πρωτεΐνες για να εκτιμηθεί το ποσοστό επιτυχίας και αξιοπιστίας των κανόνων.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 12 Συγκεκριμένα, χρησιμοποιήθηκαν δεδομένα από 10, 18 και 28 οικογένειες πρωτεϊνών, καθώς και δεδομένα από όλες τις οικογένειες (1100). Τα αποτελέσματα που προέκυψαν συγκρίθηκαν με τα αποτελέσματα που έδωσαν άλλοι αλγόριθμοι σε ίδιες συνθήκες με στόχο να διαπιστωθούν τα πλεονεκτήματα του νέου αλγορίθμου. 1.7. Περιεχόμενα Το υπόλοιπο της διπλωματικής διαρθρώνεται ως εξής: Στο 2ο κεφάλαιο παρουσιάζεται η μεθοδολογία που αναπτύχθηκε για τη δημιουργία του συγκεκριμένου συστήματος, μαζί με ένα σύντομο παράδειγμα της λειτουργίας του. Στο Κεφάλαιο 3 γίνεται η επαφή με τη μεθοδολογία ανάπτυξης του συστήματος και περιγράφεται αναλυτικά η αρχιτεκτονική του, καθώς και τα εργαλεία που χρησιμοποιήθηκαν. Στο 4ο κεφάλαιο περιγράφονται εκτενώς πειράματα και στατιστικά που έχουν προκύψει από την εφαρμογή του αλγορίθμου και γίνεται σύγκριση με αποτελέσματα που δίνουν άλλοι αλγόριθμοι. Στο Κεφάλαιο 5 παρουσιάζονται τα συμπεράσματα που προκύπτουν από την όλη μελέτη, καθώς και σχέδια για μελλοντικές επεκτάσεις και βελτιώσεις της μεθόδου. Τέλος, πέρα από την αναγκαία βιβλιογραφία, υπάρχουν διάφορα παραρτήματα με τον αναλυτικό οδηγό εγκατάστασης του συστήματος, καθώς και με διαγράμματα και εικόνες από τη λειτουργία του συστήματος.

Κεφάλαιο 2. Η Μεθοδολογία Εξαγωγής Κανόνων 2.1. Εισαγωγή 2.1.1. Η Μεθοδολογία Συνοπτικά Η μεθοδολογία που υλοποιήθηκε μπορεί να συνοψισθεί ως εξής: Αρχικά δημιουργούνται τα σύνολα δεδομένων εκπαίδευσης και ελέγχου. Τα σύνολα αυτά πρέπει απαραίτητα να είναι ξένα μεταξύ τους, καθώς και να είναι γνωστά όλα τα γνωρίσματά τους. Δηλαδή πρέπει για κάθε μία πρωτεΐνη, σε οποιοδήποτε από τα δύο σύνολα, να είναι γνωστή και η οικογένεια στην οποία ανήκει, και τα μοτίβα που περιέχει. Στη συνέχεια, χρησιμοποιώντας τις πρωτεϊνικές αλυσίδες του συνόλου δεδομένων εκπαίδευσης, δημιουργείται το δένδρο αποδοχής προθεμάτων (prefix tree acceptor PTA). Αυτό το δένδρο μετασχηματίζεται, με τη βοήθεια του αλγορίθμου ALERGIA [CO 94] σε ένα ισοδύναμο στοχαστικό πεπερασμένο αυτόματο. Θεωρώντας αυτή την ισοδυναμία, είναι δυνατόν να ανιχνευθούν πληροφορίες από τη δομή του αυτόματου. Καθώς το αυτόματο στην πραγματικότητα εκφράζει μία γενικευμένη άποψη της δομής των πρωτεϊνών, και όχι μόνο μία απλή απεικόνιση του συνόλου εκπαίδευσης, είναι δυνατόν να εξαχθούν ποσοστά και πιθανότητες, όπως το

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 14 ποσοστό αλυσίδων που περιέχουν κάποιο μοτίβο, ή την πιθανότητα μία αλυσίδα να περιέχει ταυτόχρονα δύο συγκεκριμένα μοτίβα. Με βάση τις τελευταίες πιθανότητες κατασκευάζονται κανόνες που περιγράφουν ακριβώς τη δομή των πρωτεϊνών. Οι κανόνες αυτοί μπορεί να είναι απλοί, της μορφής: «Αν υπάρχει το μοτίβο α, τότε η πρωτεΐνη ανήκει στην οικογένεια P», έως πολύπλοκοι της μορφής: «Αν υπάρχουν ταυτόχρονα τα μοτίβα α και β, τότε η πρωτεΐνη ανήκει στην οικογένεια P 1 ή στην οικογένεια P 2 ή και στις δύο με κάποια πιθανότητα». Η παραπάνω μεθοδολογία παρουσιάζεται συνοπτικά στο Σχήμα 2.1: Βάση Δεδομένων Ν πρωτεϊνών με γνωστά μοτίβα και γνωστές οικογένειες Σύνολο δεδομένων εκπαίδευσης με Ν Τ πρωτεΐνες Σύνολο δεδομένων εκπαίδευσης με Τ < Ν πρωτεΐνες PTACreator Algorithm Κατασκευάζει το Δένδρο Αποδοχής Προθεμάτων PTA Rules ProbExtractor Algorithm Υπολογίζει Πιθανότητες από FSA Σύγκριση πραγματικής κατάταξης πρωτεϊνών με κατάταξη συστήματος Απόδοση Συστήματος ALERGIA Algorithm Μετατρέπει ένα PTA σε FSA FSA Σχήμα 2.1: Διάγραμμα μεθοδολογίας 2.1.2. Πεπερασμένα Αυτόματα Καθώς ο αλγόριθμος που αναπτύχθηκε στηρίζεται στη θεωρία πεπερασμένων αυτομάτων, είναι αναγκαία μία μικρή εισαγωγή στις έννοιες που θα χρησιμοποιηθούν παρακάτω. Τα πεπερασμένα αυτόματα είναι υπολογιστές με τα ακόλουθα χαρακτηριστικά:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 15 Έχουν πεπερασμένη (σταθερού μεγέθους) μνήμη εντός της κεντρικής μονάδας επεξεργασίας. Δέχονται ως είσοδο συμβολοσειρές τις οποίες διαβάζουν σειριακά, το ένα σύμβολο μετά το άλλο, χωρίς να μπορούν να γυρίσουν πίσω. Παράγουν ως "έξοδο" μόνο μία ένδειξη για το αν η συμβολοσειρά εισόδου γίνεται αποδεκτή. Το σύνολο των αποδεκτών συμβολοσειρών είναι η αποδεκτή γλώσσα του αυτόματου. Τα πεπερασμένα αυτόματα αντιστοιχούν ένα προς ένα σε κανονικές γλώσσες. Υπάρχουν δύο βασικές κατηγορίες πεπερασμένων αυτόματων, τα αιτιοκρατικά και τα μη αιτιοκρατικά. Τα αιτιοκρατικά πεπερασμένα αυτόματα (deterministic finite state automaton DFSA), τα οποία και θα χρησιμοποιηθούν, ορίζονται ως πεντάδες της μορφής: Μ = (Κ, Σ, δ, s, F) όπου: Κ είναι το πεπερασμένο σύνολο καταστάσεων, Σ είναι το αλφάβητο των συμβόλων εισόδου, s K είναι η αρχική κατάσταση, F Κ είναι το σύνολο των τελικών καταστάσεων και δ είναι η συνάρτηση μετάβασης από το Κ Σ στο Κ. Μια συμβολοσειρά (συμβόλων του Σ) γίνεται αποδεκτή όταν, διαβάζοντάς την, το Μ μεταβαίνει (σύμφωνα με την δ: Κ Σ Κ) από κατάσταση σε κατάσταση (ξεκινώντας από την s) και καταλήγει (εξαντλώντας την συμβολοσειρά) σε οποιαδήποτε τελική κατάσταση. Η σημαντικότερη διαφορά με τα μη αιτιοκρατικά πεπερασμένα αυτόματα είναι ότι στα αιτιοκρατικά, από μία κατάσταση q το ίδιο σύμβολο οδηγεί πάντα στην ίδια κατάσταση q. Αντίθετα, στα μη αιτιοκρατικά αυτόματα, από μία κατάσταση q το ίδιο σύμβολο ενδέχεται να οδηγεί σε περισσότερες της μίας καταστάσεις q. Μία ιδιαίτερη κατηγορία των αιτιοκρατικών πεπερασμένων αυτομάτων, είναι τα στοχαστικά (Stochastic Finite State Automaton ή S DFSA). Η διαφορά τους με τα απλά αιτιοκρατικά αυτόματα είναι ότι υπάρχει πιθανότητα μετάβασης από μία

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 16 κατάσταση σε μία άλλη, σύμφωνα με την δ: Κ Σ Κ. Αυτό σημαίνει ότι υπάρχει περίπτωση ορισμένες μεταβάσεις μεταξύ καταστάσεων να ευνοούνται έναντι των άλλων. 2.2. Δένδρο Αποδοχής Προθεμάτων (PTA) 2.2.1. Τι είναι πρόθεμα Εάν θεωρήσουμε μία τυχαία ακολουθία συμβόλων (πχ w = a 1 a 2 a 3 a n ) τότε πρόθεμα αυτής της συμβολοσειράς θεωρείται οποιοδήποτε υποσύνολο w p αυτών των συμβόλων, για το οποίο ισχύει: w = w p w όπου w μια συμβολοσειρά οποιουδήποτε μήκους (δηλαδή η w μπορεί να περιέχει οποιοδήποτε πλήθος συμβόλων, ακόμα και 0). Για παράδειγμα, εάν θεωρήσουμε τη συμβολοσειρά w = aabcab, τότε οποιαδήποτε από τις παρακάτω συμβολοσειρές αποτελεί πρόθεμα της w: w p1 = a w p2 = aab w p3 = aabcab (γιατί για w = abcab, ισχύει w = w p1 w ) (γιατί για w = cab, ισχύει w = w p2 w ) (γιατί για w = e, ισχύει w = w p3 w ) 2.2.2. Τι είναι το PTA Προφανώς, για ένα δεδομένο σύνολο συμβολοσειρών, είναι δυνατόν να δημιουργηθεί ένα αντίστοιχο σύνολο προθεμάτων. Στο νέο αυτό σύνολο, κάθε στοιχείο πρόθεμα θα είναι μία συμβολοσειρά με μήκος μικρότερο, ή το πολύ ίσο, με την αντίστοιχη συμβολοσειρά από την οποία προήλθε. Ταυτόχρονα όμως το νέο αυτό σύνολο επιτρέπει την αναγνώριση μίας συμβολοσειράς χρησιμοποιώντας πολύ λιγότερα σύμβολα.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 17 Τα προθέματα αυτά μπορούν να αντιστοιχιστούν σε ένα πεπερασμένο αυτόματο, το οποίο αναγνωρίζει αυτά και μόνο αυτά. Αυτό το αυτόματο ονομάζεται δένδρο αποδοχής προθεμάτων, ή PTA. Καθώς κάθε συμβολοσειρά είναι και πρόθεμα του εαυτού της, ένας τρόπος δημιουργίας του PTA είναι από τις αρχικές συμβολοσειρές, χρησιμοποιώντας μία μετάβαση μεταξύ καταστάσεων για κάθε σύμβολο. Για παράδειγμα, χρησιμοποιώντας τις παρακάτω συμβολοσειρές το PTA που προκύπτει είναι το εξής: w 1 = aaaaab w 2 = abbaaa w 3 = bababa a a a a a b b b a a a b a b a b a Σχήμα 2.2: PTA από αρχικές συμβολοσειρές Προφανώς το PTA μπορεί να μικρύνει κατά πολύ σε μέγεθος εάν χρησιμοποιηθεί με τον ίδιο τρόπο το αντίστοιχο σύνολο προθεμάτων. Με βάση τις τρεις προηγούμενες συμβολοσειρές, το σύνολο με τα προθέματα ελάχιστου μήκους, ώστε να είναι δυνατή η διαφοροποίηση των συμβολοσειρών, είναι το εξής: w p1 = aa w p2 = ab w p3 = b οπότε και το νέο PTA είναι το ακόλουθο:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 18 a a b b Σχήμα 2.3: PTA από σύνολο προθεμάτων 2.2.3. PTA για πρωτεϊνικό σύνολο δεδομένων Στην περίπτωση που το σύνολο δεδομένων είναι πρωτεϊνικές αλυσίδες, η διαδικασία είναι ακριβώς αντίστοιχη. Οι συμβολοσειρές πλέον δεν είναι ακολουθίες συμβόλων αλλά ακολουθίες μοτίβων. Καθώς όμως τα μοτίβα αναπαρίστανται με ένα κωδικό (της μορφής PSxxxxx), μπορεί να γίνει αντιστοίχηση μοτίβων με σύμβολα, οπότε και η διαδικασία δημιουργίας του PTA παραμένει ίδια. Χρησιμοποιώντας ως παράδειγμα την πρωτεΐνη P04591, της οποίας η ακολουθία παρουσιάστηκε στην παράγραφο 1.2, ολόκληρη η αλυσίδα μπορεί να αντικατασταθεί με το μοτίβο PS50158 (αμινοξέα 389 427 της αλυσίδας της πρωτεΐνης P04591), καθώς αυτό είναι το μοναδικό μοτίβο που εμφανίζεται. 2.2.4. Αλγόριθμος Δημιουργίας PTA Ο αλγόριθμος ο οποίος υλοποιήθηκε για τη δημιουργία του PTA μπορεί να περιγραφεί συνοπτικά ως εξής: αρχικά ως είσοδος υπάρχει ένα σύνολο πρωτεϊνών. Ο αλγόριθμος διαβάζει την πρώτη πρωτεΐνη και δημιουργεί την αντίστοιχη ακολουθία μοτίβων. Στη συνέχεια ελέγχει εάν υπάρχει μετάβαση από την αρχική κατάσταση του PTA προς κάποια νέα κατάσταση χρησιμοποιώντας το πρώτο μοτίβο της ακολουθίας. Εάν υπάρχει κάποια μετάβαση, εντοπίζεται η νέα κατάσταση, ενώ εάν δεν υπάρχει, ο αλγόριθμος εισάγει μία νέα κατάσταση και την αντίστοιχη μετάβαση. Σε κάθε

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 19 περίπτωση, ο έλεγχος συνεχίζεται από τη νέα κατάσταση με το δεύτερο μοτίβο, μέχρι να εξαντληθούν τα μοτίβα της πρώτης πρωτεΐνης. Η διαδικασία αυτή επαναλαμβάνεται για όλες τις πρωτεΐνες του συνόλου εισόδου. Ο αλγόριθμος σε μορφή ψευδοκώδικα παρουσιάζεται παρακάτω (Πλαίσιο Κώδικα 1). algorithm PTACreator begin do (για κάθε πρωτεΐνη protein στο σύνολο εκπαίδευσης) motifs = findproteinchain(protein) currentstate = firstnode(pta) do (για κάθε μοτίβο m της ακολουθίας motifs) if (η currentstate δεν περιέχει μετάβαση για το μοτίβο m) πρόσθεσε νέα κατάσταση newstate στο PTA πρόσθεσε μετάβαση μεταξύ currentstate και newstate με το μοτίβο m. currentstate = newstate else βρες την κατάσταση endstate στην οποία μεταβαίνει η currentstate με το μοτίβο m. currentstate = endstate end if end do end do end algorithm PTACreator Πλαίσιο Κώδικα 1: Αλγόριθμος Δημιουργίας PTA Εάν θεωρήσουμε ότι στο σύνολο εκπαίδευσης υπάρχουν P σε πλήθος πρωτεΐνες, κάθε πρωτεΐνη έχει το πολύ M μοτίβα και υπάρχουν A σε πλήθος διαφορετικά μοτίβα, τότε η πολυπλοκότητα του παραπάνω αλγορίθμου προκύπτει ίση με: Ο( ) = P Μ (Α 1) Καθώς όμως τόσο το A, όσο και το M μπορούν να θεωρηθούν κατά προσέγγιση σταθερά, η πολυπλοκότητα αυξάνει γραμμικά με το πλήθος των στοιχείων στο σύνολο δεδομένων εκπαίδευσης.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 20 2.3. Δημιουργία Στοχαστικού Αιτιοκρατικού Πεπερασμένου Αυτόματου Αλγόριθμος ALERGIA Το επόμενο βήμα, μετά τη δημιουργία που PTA, είναι η κατασκευή του αντίστοιχου FSA. Η κατασκευή αυτή ουσιαστικά αποτελεί μία μετατροπή του PTA με συστηματική συγχώνευση ισοδύναμων στατιστικά καταστάσεων. Ο αλγόριθμος που υλοποιεί αυτή τη μετατροπή είναι ο αλγόριθμος ALERGIA, που προτάθηκε από τους R.C. Carrasco και J. Oncina [CO 94]. 2.3.1. Προετοιμασία του PTA για εφαρμογή του ALERGIA Για να εφαρμοσθεί ο ALERGIA θα πρέπει το PTA να περιέχει στατιστικές πληροφορίες, δηλαδή θα πρέπει ήδη να αποτελεί ένα στοχαστικό αιτιοκρατικό πεπερασμένο αυτόματο (Stochastic Deterministic Finite State Automaton S-DFSA). Οι πληροφορίες αυτές είναι οι ακόλουθες: Για κάθε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που έχουν φτάσει σε αυτήν ( n i ) Για κάθε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που έχουν τερματίσει σε αυτήν ( f i (#) ). Για κάθε μετάβαση α από οποιαδήποτε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που την έχουν χρησιμοποιήσει ( f i (α) ). Οι πληροφορίες αυτές μπορούν πολύ εύκολα να ενσωματωθούν στη διαδικασία κατασκευής του PTA. Οι λόγοι f i (α)/n i και f i (#)/n i εκφράζουν την πιθανότητα p i (α) της μετάβασης α, και την πιθανότητα τερματισμού p if αντίστοιχα. 2.3.2. Ισοδύναμες Καταστάσεις Συμβατές Καταστάσεις (Equivalent States Compatible States) Ο αλγόριθμος συγκρίνει καταστάσεις (κόμβους) ανά ζεύγη ( q i, q j ) με 1 i j 1 και 2 j PTA (όπου PTA το πλήθος των καταστάσεων του PTA).

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 21 Σύμφωνα με τη θεωρία, δύο καταστάσεις είναι ισοδύναμες όταν έχουν ίσες πιθανότητες μετάβασης για κάθε σύμβολο α, και ταυτόχρονα οι νέες καταστάσεις (μετά τη μετάβαση) είναι επίσης ισοδύναμες. Δηλαδή: q q p ( α ) = p ( α), i i i j α δ α(i) δ α( j) Εάν όμως θεωρηθεί απλή ισοδυναμία μεταξύ καταστάσεων, το τελικό FSA θα έχει ένα προς ένα αντιστοιχία με το PTA, δηλαδή δεν θα αποτελεί γενίκευσή του, που είναι και το ζητούμενο. Για αυτό το λόγο εισάγεται μία νέα παράμετρος εμπιστοσύνης (confidence), η οποία μετατρέπει την αυστηρή ισότητα σε ισότητα εντός ορίων. Σε αυτή την περίπτωση οι καταστάσεις ονομάζονται συμβατές. Τα όρια αυτά προκύπτουν από το όριο Hoeffding για μια στοχαστική μεταβλητή Bernoulli με πιθανότητα p και πραγματική εμφάνιση f στις n τιμές: f 1 2 p < log n 2 n α με πιθανότητα μεγαλύτερη από (1 α). 2.3.3. Ο Αλγόριθμος ALERGIA Ο αλγόριθμος ALERGIA (Πλαίσιο Κώδικα 2) περιγράφεται αναλυτικά στο άρθρο Learning Stochastic Regular Grammars by Means of a State Merging Method [CO 94]. Συνοπτικά μπορεί να περιγραφεί ως εξής: ο αλγόριθμος δέχεται ως είσοδο ένα δένδρο αποδοχής προθεμάτων (PTA). Στη συνέχεια γίνεται έλεγχος συμβατότητας (αλγόριθμος Compatible) μεταξύ της αρχικής κατάστασης και της αμέσως επόμενης. Εάν οι καταστάσεις είναι συμβατές τότε συγχωνεύονται και ελέγχεται η διατήρηση της αιτιοκρατίας. Στη συνέχεια ο έλεγχος συνεχίζεται για τη συμβατότητα μεταξύ της αρχικής και της τρίτης κατάστασης μέχρι να εξαντληθούν οι καταστάσεις. Η διαδικασία επαναλαμβάνεται για κάθε κατάσταση μετά την αρχική, με τις συγκρίσεις να γίνονται με όλες τις καταστάσεις που έπονται.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 22 Ο αλγόριθμος Compatible (Πλαίσιο Κώδικα 3) ελέγχει εάν δύο καταστάσεις είναι συμβατές ή όχι. Αρχικά ελέγχει εάν οι πιθανότητες τερματισμού των δύο καταστάσεων είναι διαφορετικές (αλγόριθμος Different). Εάν είναι διαφορετικές τότε οι καταστάσεις είναι ασύμβατες και ο αλγόριθμος τελειώνει. Σε αντίθετη περίπτωση γίνεται έλεγχος για κάθε δυνατή μετάβαση από τις δύο καταστάσεις, τόσο για τις πιθανότητες μετάβασης όσο και για τη συμβατότητα των τελικών καταστάσεων: εάν οι πιθανότητες μετάβασης, για οποιαδήποτε μετάβαση, είναι διαφορετικές ή εάν οι τελικές καταστάσεις είναι ασύμβατες, τότε οι καταστάσεις εισόδου είναι ασύμβατες και αλγόριθμος τερματίζει. Σε αντίθετη περίπτωση οι αρχικές καταστάσεις είναι συμβατές. Τέλος, ο αλγόριθμος Different (Πλαίσιο Κώδικα 4) είναι ένας απλός έλεγχος του ορίου Hoeffding. Δέχεται ως είσοδο τις παραμέτρους δύο καταστάσεων και επιστρέφει μια Boolean μεταβλητή για το εάν ικανοποιούν το όριο Hoeffding. algorithm ALERGIA input: A: ένα στοχαστικό PTA α: παράμετρος εμπιστοσύνης output: στοχαστικό FSA begin do (for j = successor( first node(a)) to lastnode(a)) do (for i = firstnode(a) to j) if (compatible(i, j) merge(a, i, j) determinize(a) exit (i-loop) end if end for end for return A end algorithm ALERGIA Πλαίσιο Κώδικα 2: Αλγόριθμος ALERGIA

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 23 algorithm Compatible input: i, j: καταστάσεις ni, nj :πλήθος αλυσίδων που φτάνουν fi(#), fj(#):πλήθος αλυσίδων που τερματίζουν fi(α), fj(α): πλήθος αλυσίδων που χρησιμοποιούν την μετάβαση με το μοτίβο α. output: Boolean begin if different (ni, fi(#), nj, fj(#) ) return false end if do (για κάθε α) if different (ni, fi(α), nj, fj(α) ) return false end if if not compatible ( δ(i, α), δ(j, α) ) return false end if end do return true end algorithm Compatible Πλαίσιο Κώδικα 3: Αλγόριθμος Compatible algorithm Different input: n, n : πλήθος αλυσίδων που φτάνουν σε κάθε κόμβο f, f : πλήθος αλυσίδων που μεταβαίνουν από ή τερματίζουν σε κάθε κόμβο output: Boolean begin f f' 1 2 1 1 return > log + n n' 2 α n n' end algorithm Different Πλαίσιο Κώδικα 4: Αλγόριθμος Different

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 24 2.3.4. Πολυπλοκότητα Αλγορίθμου ALERGIA Έστω ότι το μέγεθος του τελικού FSA (σε πλήθος καταστάσεων) είναι m, ενώ το πλήθος των διαφορετικών συμβόλων είναι Α. Σύμφωνα με τον αλγόριθμο Different, σε κάθε κόμβο του FSA συγκρίνονται οι πιθανότητες τερματισμού (f i (#)) και εξόδου για κάθε σύμβολο ( f i (α) ). Επομένως, σε κάθε κόμβο γίνονται (Α + 1) έλεγχοι. Οι κόμβοι όμως ελέγχονται ανά ζεύγη διατεταγμένα σε τριγωνική μορφή (i < j). Διαπιστώνεται λοιπόν ότι η συνολική πολυπλοκότητα του αλγορίθμου είναι 1 m (m- 1) (A+ 1). Αν και στη χειρότερη περίπτωση η πολυπλοκότητα είναι τρίτου 2 βαθμού, πειραματικά αποδεικνύεται ότι ο χρόνος αυξάνει γραμμικά με το μέγεθος του PTA. 2.4. Υπολογισμός πιθανοτήτων εμφάνισης συμβόλων από FSA Μετά τη μοντελοποίηση των δεδομένων, πρώτα ως PTA και έπειτα ως FSA, το επόμενο βήμα είναι ο υπολογισμός της πιθανότητας εμφάνισης συγκεκριμένου συνόλου συμβόλων σε μία συμβολοσειρά από το τελικό S DFSA. Στη βιβλιογραφία υπάρχουν αλγόριθμοι, οι οποίοι υπολογίζουν την πιθανότητα εμφάνισης συγκεκριμένων ακολουθιών από FSA [HIN 01]. Ανιχνεύουν δηλαδή ενδιαφέρουσες ακολουθίες συμβόλων που υπάρχουν σε μεγάλα σύνολα συμβολοσειρών. Καθώς όμως τα δεδομένα εισόδου που πρόκειται να χρησιμοποιηθούν δεν περιέχουν πληροφορία διάταξης, με την έννοια ότι δεν είναι γνωστό ποιο μοτίβο προηγείται ή έπεται σε μία πρωτεϊνική αλυσίδα, είναι αναγκαίο να μετασχηματισθούν οι υπάρχοντες αλγόριθμοι έτσι ώστε να ανιχνευθούν μη διατεταγμένα σύνολα. Παρακάτω περιγράφεται η μεθοδολογία που έχει αναπτυχθεί από τον P. Hingston στο άρθρο Using Finite State Automata for Sequence Mining [HIN 01] για τον υπολογισμό της πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων σε δεδομένη συμβολοσειρά, και στη συνέχεια θα παρουσιαστεί ο νέος αλγόριθμος που αναπτύχθηκε για τον υπολογισμό της αντίστοιχης πιθανότητας για μη διατεταγμένο σύνολο συμβόλων.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 25 2.4.1. Υπολογισμός πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων Ζητείται να υπολογισθεί η πιθανότητα εμφάνισης συμβολοσειρών, οι οποίες περιέχουν το σύμβολο x ακολουθούμενο αργότερα από το σύμβολο y. Για διευκόλυνση, εάν S είναι μία κατάσταση του FSA και x ένα τυχαίο σύμβολο, τότε συμβολίζεται: p(s, x): η πιθανότητα χρήσης του συμβόλου x κατά μία μετάβαση από την κατάσταση S. q(s, x): η κατάσταση στην οποία μεταβαίνει από την S χρησιμοποιώντας το σύμβολο x. Μία συμβολοσειρά που περιέχει ένα x και μετά ένα y, μπορεί να διαιρεθεί με μοναδικό τρόπο σε ένα τμήμα που περιέχει το x στην τελευταία θέση και σε ένα τμήμα που περιέχει το y σε οποιαδήποτε θέση. Δηλαδή: [ ] (1) P(S, < x,y > ) = F(S,T,x) P(T,y) T όπου: P(S, <x,y>) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση S να περιέχει πρώτα ένα x και μετά ένα y. F(S, T, x) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση S στην κατάσταση T να περιέχει ένα και μόνο ένα σύμβολο x και μάλιστα στην τελευταία θέση. P(T, y) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση T να περιέχει το σύμβολο y. Αρχικά η πιθανότητα P(T, y) υπολογίζεται ως εξής: (2) P(T,y) = p(t,y) + p(t,z) P[ q(t,z),y] z y

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 26 όπου: p(t, y) : η πιθανότητα να ξεκινά με y. p(t, z) P(q(T, z),y) : η πιθανότητα η επόμενη κατάσταση (στην οποία φτάνει με σύμβολο z διαφορετικό του y) να εκπέμψει το σύμβολο y. Η εξίσωση (2) μπορεί να γραφεί ως εξής: P(T,y) = p(t,y) + p(t,z) P(V,y) V z y q( T,z ) = V (3) Δηλαδή για κάθε κατάσταση V για την οποία T z V υπολογίζεται το άθροισμα των πιθανοτήτων T z με z διαφορετικό του y. Ορίζεται ο πίνακας: ρ ( y) = p(t,z) (4) S,T z y q( T,z ) = V οπότε σε μορφή πινάκων πλέον έχουμε: όπου [ ] 1 ( ) P(y) = p(y) +ρ(y) P(y) I ρ(y) P(y) = p(y) P(y) = I ρ(y) p(y) P(y) = J(y) p(y) [ ] 1 J(y) = I ρ(y) (5) Ομοίως υπολογίζεται η πιθανότητα F(S, T, x): F(S,T,x) = [ p(s,z) F(q(S,z),T,z) ] + z x p(s,x)ά q( ε S ν,x ) T = 0 αλλού

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 27 όπου το πρώτο μέλος του αθροίσματος εκφράζει την πιθανότητα εκπομπής άλλων συμβόλων, ενώ το δεύτερο μέλος εκφράζει την πιθανότητα εκπομπής του συμβόλου x στην τελευταία θέση. Μετασχηματίζοντας το πρώτο μέλος προκύπτει: p(s,x)ά q( ε S ν,x ) T = F(S,T,x) = p(s,z) F(V,T,x) + V z x 0 αλλού q( S,z ) = V πίνακα: Tο πρώτο μέρος είναι ουσιαστικά ο πίνακας ρ S,V (x). Χρησιμοποιώντας τον γ S,T (x) = p(s,x)ά q( ε S ν,x ) T = 0 αλλού (6) η τελευταία σχέση, σε μορφή πινάκων, γράφεται ως εξής: [ ] F(x)=ρ(x) F(x)+ γ(x) I -ρ(x) F(x) =γ(x) F(x) = J(x) γ(x) Επομένως, το αρχικό ερώτημα, σε μορφή πινάκων, γράφεται ως εξής: P(<x, y>) = F(x) P(y) = J(x) γ(x) J(y) p(y) (7) Η παραπάνω σχέση γενικεύεται και για n σύμβολα ως εξής: P( < x,x,x,...,x > ) = F( x ) F( x )... F( x ) P( x ) 1 2 3 n 1 2 n 1 n ή ισοδύναμα: P( < x,x,x,...,x > ) = J(x ) γ(x ) J(x ) γ(x )... J(x ) γ(x ) J(x ) p(x ) 1 2 3 n 1 1 2 2 n 1 n 1 n n

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 28 2.4.2. Υπολογισμός πιθανότητας εμφάνισης μη διατεταγμένου συνόλου συμβόλων Η παραπάνω πιθανότητα δεν ικανοποιεί το συγκεκριμένο σύνολο δεδομένων, καθώς οι ακολουθίες μοτίβων σε μία πρωτεΐνη είναι μη διατεταγμένες. Προκύπτει λοιπόν η ανάγκη να υπολογισθεί η πιθανότητα ύπαρξης πολλών μοτίβων ταυτόχρονα σε μία ακολουθία, αλλά χωρίς την έννοια της διάταξης. Για αυτό το σκοπό δημιουργήθηκε ένας νέος αλγόριθμος ο οποίος βασίζεται στη μεθοδολογία που περιγράφηκε στην προηγούμενη παράγραφο. Έστω δύο σύμβολα a και b. Χρησιμοποιώντας την πιθανότητα που υπολογίσθηκε πιο πριν, διαπιστώνεται ότι: P(a+b) = + P(a b) + P(b a) P(a b a) P(b a b) + P(a b a b) + P(b a b a) P(a b a b a) P(b a b a b) + + Δηλαδή, η ζητούμενη πιθανότητα μπορεί να προσεγγισθεί με ένα άπειρο άθροισμα. Ουσιαστικά, κάθε φορά αφαιρείται ή προστίθεται στην τελική πιθανότητα μία ποσότητα που οφείλεται στις αλληλεπικαλύψεις των πιθανοτήτων. Για παράδειγμα, μία συμβολοσειρά της μορφής aba θα ληφθεί υπόψιν στον υπολογισμό και της πιθανότητας P(a b), και της πιθανότητας P(b a). Για αυτό το λόγο, αφαιρείται μία φορά με την αφαίρεση της πιθανότητας P(a b a) από τη συνολική. Έστω τρία σύμβολα a, b και c. Για τον υπολογισμό της πιθανότητας P(a+b+c), η διαδικασία είναι αντίστοιχη με την προηγούμενη. Στην πρώτη γραμμή του πίνακα υπάρχουν οι πιθανότητες για κάθε μετάθεση των τριών συμβόλων (3! = 6), δηλαδή: + P(a b c) + P(a c b) + P(b a c) + P(b c a)

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 29 + P(c a b) + P(c b a) Στη δεύτερη γραμμή, υπάρχουν οι εξής πιθανότητες: P((a b) c (a b)) P((a c) b (a c)) P((b a) c (b a)) P((b c) a (b c)) P((c a) b (c a)) P((c b) a (c b)) Στην τρίτη γραμμή, υπάρχουν οι εξής πιθανότητες: + P((a b) c (a b) c) + P((a c) b (a c) b) + P((b a) c (b a) c) + P((b c) a (b c) a) + P((c a) b (c a) b) + P((c b) a (c b) a) κ.ο.κ. Η παραπάνω μεθοδολογία γενικεύεται εύκολα για n μοτίβα. Τα βήματα που αποτελούν τον αλγόριθμο παρουσιάζονται στο Πλαίσιο Κώδικα 5.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 30 Αλγόριθμος ProbExtractor 1ο βήμα: Υπολογίζονται όλες οι δυνατές μεταθέσεις των n μοτίβων (n!): Perm(j), για j = 0, 1,, (n! 1) 2ο βήμα: Για κάθε μετάθεση υπολογίζεται το πρόθεμα, μήκους (n-1) και το επίθεμα, μήκους 1: Prefix(j), Suffix(j), j = 0, 1,, (n! 1) 3ο βήμα: Αρχικοποίηση: Για i = 0: Υπολογίζεται η αρχική τιμή της πιθανότητας, σύμφωνα με τη σχέση: n! 1 i (( ) [ Perm( j )] ) P= 1 p j= 0 Για i = 1: Δημιουργούμε τις νέες ακολουθίες με βάση τις παλιές και τα αντίστοιχα προθέματα, ως εξής: Perm(j) = Perm(j) + Suffix(j), j = 0, 1,, (n! 1) Υπολογίζεται η νέα τιμή της πιθανότητας n! 1 i ( ) P' = ( 1) p[ Perm( j )] j= 0 4ο βήμα: While ( P P > e) i = i + 1 P = P If ( i mod 2 == 0) Perm(j) = Perm(j) + Prefix(j), j = 0, 1,, (n! 1) Else Perm(j) = Perm(j) + Suffix(j), j = 0, 1,, (n! 1) End If n! 1 i ( ) P' = ( 1) p[ Perm( j )] j= 0 End While Τέλος Αλγορίθμου ProbExtractor Πλαίσιο Κώδικα 5: Αλγόριθμος ProbExtractor

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 31 2.4.3. Πολυπλοκότητα Έστω ότι το τελικό FSA έχει Κ καταστάσεις και Α πλήθος διαφορετικών συμβόλων. Το ζητούμενο είναι να βρεθούν κανόνες με n πλήθος μοτίβων. Αυτό σημαίνει ότι θα γίνουν συνολικά n i= 1 A comb i συνδυασμοί συμβόλων. Για κάθε ένα από αυτούς τους συνδυασμούς γίνονται όλες οι δυνατές μεταθέσεις (i! για κάθε συνδυασμό ανά i), ενώ για κάθε μετάθεση γίνονται i αναστροφές πινάκων (μία για κάθε σύμβολο). Θεωρώντας ότι η βέλτιστη πολυπλοκότητα για αντιστροφή πίνακα είναι ανάλογη του κύβου της διάστασης του πίνακα, η συνολική πολυπλοκότητα του αλγορίθμου προκύπτει τελικά ίση με: Ο( ) n A! = i K i= 1 ( A i )! 3 2.5. Εξαγωγή Κανόνων Κατηγοριοποίησης Το τελευταίο βήμα του αλγορίθμου είναι η εξαγωγή κανόνων κατηγοριοποίησης των πρωτεϊνών. Ας ορίσουμε επομένως πιο συγκεκριμένα την έννοια του κανόνα. 2.5.1. Κανόνες Κατηγοριοποίησης Κανόνες Συσχέτισης (Classification Rules Association Rules) Οι κανόνες είναι λογικές σχέσεις, οι οποίες εκφράζουν συσχέτιση μεταξύ στοιχείων ενός συνόλου. Συνήθως έχουν τη μορφή X Y, η οποία διαβάζεται ως εξής: «Στοιχεία που ικανοποιούν το X είναι πιθανό να ικανοποιούν και το Υ». Ανάλογα με το τι εκφράζουν τα X και Y, οι κανόνες χωρίζονται σε κανόνες συσχέτισης και κανόνες κατηγοριοποίησης.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 32 Εάν τόσο το X, όσο και το Y, αποτελούν απλά γνωρίσματα ή ιδιότητες των στοιχείων, τότε ο κανόνας είναι κανόνας συσχέτισης. Εάν το X είναι γνώρισμα ή ιδιότητα, ενώ το Y είναι κατηγορία στοιχείων, τότε ο κανόνας ονομάζεται κανόνας κατηγοριοποίησης. Κάθε κανόνας έχει δύο ποιοτικά γνωρίσματα: την υποστήριξη (support) και την εμπιστοσύνη (confidence). Ισχύουν οι εξής ορισμοί: Η υποστήριξη ενός κανόνα X Y είναι η πιθανότητα supp(x Y) = p(x Y). ή, με άλλα λόγια, το ποσοστό των στοιχείων του αρχικού συνόλου που περιέχουν το X ή/και το Y. Η εμπιστοσύνη ενός κανόνα X Y είναι η αναλογία conf ( X Y ) = X Y X, ή ισοδύναμα conf ( X Y ) = supp( X Y ) supp( X ) Πρακτικά, μπορεί κανείς να πει ότι η υποστήριξη εκφράζει τη συχνότητα εμφάνισης των δεδομένων που εμπεριέχονται στον κανόνα, ενώ η εμπιστοσύνη εκφράζει τη βαρύτητα της συσχέτισης. Τέλος, ένα άλλο γνώρισμα, που χρησιμοποιείται όμως για την αξιολόγηση και πιθανόν την ταξινόμηση των κανόνων, είναι το ενδιαφέρον (interest) του κανόνα. Το ενδιαφέρον ορίζεται ως εξής: p( X Y ) supp(x Y ) interest( X Y ) = = p( X ) p(y ) supp( X ) supp(y ) Ουσιαστικά το ενδιαφέρον ενός κανόνα εκφράζει κατά πόσο τα X και Y είναι ανεξάρτητα μεταξύ τους. Όσο περισσότερο απέχει η τιμή από το 1, τόσο μεγαλύτερη εξάρτηση υπάρχει μεταξύ των X και Y.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 33 Για ένα φιλτράρισμα των κανόνων, ώστε τελικά να εξαχθούν μόνο ισχυροί κανόνες, μπορεί να χρησιμοποιηθεί μία νέα παράμετρος mininterest ελάχιστου ενδιαφέροντος, με 1 > mininterest > 0, έτσι ώστε: Εάν p(xuy) 1 mininterest, τότε ο κανόνας X Y είναι ενδιαφέρων p( X ) p(y ) 2.5.2. Εφαρμογή σε πρωτεϊνικά δεδομένα Στην περίπτωση που εξετάζεται, οι κανόνες έχουν μία πολύ συγκεκριμένη μορφή. Το X είναι πάντα ένας συνδυασμός μοτίβων (δηλαδή ένα μη διατεταγμένο σύνολο ενός ή και περισσοτέρων μοτίβων), ενώ το Y είναι πάντα ένας συνδυασμός οικογενειών πρωτεϊνών. Προφανώς οι κανόνες που προκύπτουν είναι κανόνες κατηγοριοποίησης, και τα γνωρίσματά τους μπορούν να ορισθούν, με βάση τα νέα δεδομένα, ως εξής: # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ confidence(χ Υ) = Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ # πρωτεϊνών που περιέχουν το Χ ή ανήκουν στην Υ support(χ Υ) = Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ support(χ ) = Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που ανήκουν στην οικογένεια Y support(y ) = Το συνολικό πλήθος των πρωτεϊνών Προφανώς, στη θέση του μοτίβου X και της οικογένειας Y μπορούν να βρίσκονται συνδυασμοί μοτίβων ή οικογενειών.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 34 2.5.3. Υπολογισμός γνωρισμάτων κανόνων από FSA Η πιθανότητες που υπολογίζονται από το FSA, στην περίπτωση των πρωτεϊνικών δεδομένων, μπορούν να περιγραφούν ως εξής: Το πλήθος των πρωτεϊνών που περιέχουν το X και ανήκουν στην Υ p ( X, Y ) = Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Επομένως, εάν δημιουργηθεί ένα αυτόματο από πρωτεϊνικές αλυσίδες τριών διαφορετικών οικογενειών (έστω Y 1, Y 2 και Y 3 ), τότε από το συγκεκριμένο FSA μπορούν να υπολογισθούν μόνο πιθανότητες της μορφής: # πρωτεϊνών που περιέχουν το X και ανήκουν στην Y Y Y p( X, Y1 Y 2 Y 3) = Το πλήθος των πρωτεϊνών που ανήκουν στην Y Y Y 1 2 3 1 2 3 για κάθε μοτίβο ή συνδυασμό μοτίβων X που εμφανίζεται στις συγκεκριμένες αλυσίδες δεδομένων. Προφανώς, εάν για τη δημιουργία του FSA χρησιμοποιηθούν όλα τα δεδομένα, δηλαδή όλες οι οικογένειες, τότε η παραπάνω πιθανότητα παίρνει την εξής μορφή: Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο X p(x) = Το συνολικό πλήθος των πρωτεϊνών Διαπιστώνεται δηλαδή ότι από το συνολικό FSA μπορεί να υπολογισθεί απευθείας το γνώρισμα support(x), για κάθε μοτίβο ή συνδυασμό μοτίβων X. Η εκτίμηση του γνωρίσματος support(y), για κάθε οικογένεια Y, μπορεί να γίνει εύκολα κατά τη δημιουργία του PTA, καθώς το γνώρισμα αυτό αποτελεί την πιθανότητα εμφάνισης κάποιας οικογένειας, δηλαδή: Το πλήθος των πρωτεϊνών που ανήκουν στην οικογένεια Y support(y ) = p(y ) = Το συνολικό πλήθος των πρωτεϊνών Το επόμενο γνώρισμα, η εμπιστοσύνη, μπορεί εύκολα να υπολογισθεί από τα δύο παραπάνω γνωρίσματα με τη βοήθεια ενός «τοπικού» αυτή τη φορά FSA. Με την

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 35 έννοια «τοπικό» υπονοείται ότι το FSA δημιουργείται για ένα μικρότερο υποσύνολο οικογενειών. Θα ισχύει: # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ confidence( Χ Υ ) = = Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ Το συνολικό πλήθος των πρωτεϊνών δηλαδή: support(x, τοπικό FSA) support(y) confidence( X Y ) = support(x, συνολικό FSA) Τέλος, το τελευταίο γνώρισμα μπορεί να υπολογισθεί με τη βοήθεια γνωστών ιδιοτήτων συνόλων, και προκύπτει ίσο με: supp(x Y) = supp(x) + supp(y) conf(x Y) supp(x) Συνοψίζοντας, για κάθε κανόνα X Y, τα γνωρίσματά του μπορούν να υπολογισθούν από FSA με βάση τους παρακάτω τύπους: supp(x Y) = supp(x) + supp(y) conf(x Y) supp(x) support(x, τοπικό FSA) support(y) conf ( X Y ) = support(x, συνολικό FSA) 2.5.4. Αλγόριθμος Εξαγωγής Κανόνων Με βάση όσα έχουν προηγηθεί, ο αλγόριθμος RuleCreator για την εξαγωγή κανόνων είναι ο εξής:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 36 Αλγόριθμος RuleCreator Δεδομένα: Πλήθος m μοτίβων σε κάθε κανόνα Πλήθος c οικογενειών σε κάθε κανόνα Ελάχιστο ενδιαφέρον κανόνα mininterest 1 ο βήμα: Από τα δεδομένα και για κάθε συνδυασμό Y των οικογενειών (από συνδυασμούς ανά 1 έως και ανά c) υπολογίζεται η πιθανότητα supp(y) 2 ο βήμα: Δημιουργείται το συνολικό FSA (για κάθε οικογένεια), και για κάθε συνδυασμό Χ των μοτίβων (από συνδυασμούς ανά 1 έως και ανά m) υπολογίζεται η πιθανότητα supp(χ). 3 ο βήμα: Για κάθε συνδυασμό Y των οικογενειών (από συνδυασμούς ανά 1 έως και ανά c) δημιουργείται ένα «τοπικό» FSA. Από αυτό το FSA, και για κάθε συνδυασμό Χ των μοτίβων (από συνδυασμούς ανά 1 έως και ανά m) υπολογίζονται τα γνωρίσματα του κανόνα X Y. Εάν το ενδιαφέρον που παρουσιάζει ο κανόνας είναι μικρότερο από mininterest ο κανόνας απορρίπτεται. Τέλος Αλγορίθμου RuleCreator Πλαίσιο Κώδικα 6: Αλγόριθμος RuleCreator 2.6. Ένα παράδειγμα Η αναλυτική παρουσίαση της λειτουργίας ολόκληρου του αλγορίθμου θα ήταν άσκοπη, τόσο λόγω του όγκου των υπολογισμών όσο και επειδή γίνεται πολλές φορές επανάληψη της ίδιας μεθοδολογίας. Γι αυτούς τους λόγους θα γίνει αναλυτική περιγραφή της δημιουργίας ενός PTA, της μετατροπής του σε FSA και, τέλος, του υπολογισμού πιθανοτήτων και κανόνων από το τελικό αυτό FSA.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 37 Θα χρησιμοποιηθεί ως παράδειγμα η οικογένεια PDOC50086 των πρωτεϊνών (TBC/rab GAP domain). Στην οικογένεια αυτή υπάρχουν 14 πρωτεΐνες, οι οποίες παρουσιάζονται στον Πίνακα 2.1 μαζί με τα μοτίβα της κάθε πρωτεΐνης: Πίνακας 2.1: Πρωτεΐνες και Μοτίβα της οικογένειας PDOC50086 Α/Α Πρωτεΐνη Μοτίβα 1. P09379 PS50086 2. P26448 PS50086 3. P32806 PS50086 4. P36618 PS50086 5. P43570 PS50086 6. P48365 PS50086, PS50324 7. P48566 PS50086, PS50312 8. P53258 PS50031, PS50086, PS50222 9. Q04322 PS50086, PS50154 10. Q09445 PS50086 11. Q09830 PS50086, PS50324 12. Q09830 PS50079, PS50086 13. Q10496 PS00018, PS00402, PS50086 14. Q92609 PS50086, PS50322, PS50324 Από τις 14 αυτές πρωτεΐνες, οι 11 θα χρησιμοποιηθούν ως σύνολο δεδομένων εκπαίδευσης, ενώ οι υπόλοιπες 3 ως σύνολο δεδομένων ελέγχου. Η επιλογή γίνεται τυχαία, οπότε προκύπτουν τα εξής σύνολα: Train Data Set = {1, 2, 3, 4, 5, 7, 8, 9, 12, 13 και 14} Test Data Set = {6, 10 και 11} Οι αλυσίδες των μοτίβων διαβάζονται με τη σειρά με την οποία δίνονται, οπότε δημιουργείται το PTA του Σχήματος 2.5 Ισχύουν οι εξής συμβολισμοί:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 38 Ο αύξων αριθμός της κατάστασης 12 1 0 Το πλήθος των αλυσίδων που έχουν τελειώσει στη συγκεκριμένη κατάσταση Το πλήθος των αλυσίδων που έχουν φτάσει στη συγκεκριμένη κατάσταση PS50322 [1] Οι φορές που χρησιμοποιήθηκε το συγκεκριμένο μοτίβο Κατεύθυνση της μετάβασης Σχήμα 2.4: Συμβολισμοί PS50312 [1] 2 1 1 1 8 5 PS50154 [1] 6 1 1 PS50086 [8] PS50322 [1] 12 PS50324 [1] 13 1 0 1 1 O 11 0 3 PS50031 [1] PS50086 [1] PS50222 [1] 4 1 0 1 0 5 1 1 PS50079 [1] 7 1 0 PS50086 [1] 8 1 1 PS00018 [1] 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.5: Δένδρο Αποδοχής Προθεμάτων Στη συνέχεια, εφαρμόζεται ο αλγόριθμος ALERGIA, χρησιμοποιώντας παράμετρο confidence = 0.8, οπότε γίνονται οι ακόλουθες συγχωνεύσεις (Σχήματα 2.6 2.15):

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 39 PS50312 [1] PS50154 [1] 6 1 1 PS50086 [8] 1 9 6 PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 O 11 0 3 PS50031 [1] PS50086 [1] PS50222 [1] 4 1 0 1 0 5 1 1 PS50079 [1] 7 1 0 PS50086 [1] 8 1 1 PS00018 [1] 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.6: Συγχώνευση καταστάσεων 1 και 2 PS50312 [1] PS50154 [1] 6 1 1 PS50086 [8] 1 9 6 PS50222 [1] PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 O PS50086 [1] 5 12 0 1 1 PS50031 [1] 3 1 0 PS50079 [1] PS00018 [1] 7 1 0 PS50086 [1] 8 1 1 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.7: Συγχώνευση καταστάσεων 0 και 4

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 40 PS50312 [1] PS50154 [1] 6 1 1 PS50222 [1] PS50086 [8] 1 10 7 PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 PS50086 [1] O 12 0 PS50031 [1] 3 1 0 PS50079 [1] 7 1 0 PS50086 [1] 8 1 1 PS00018 [1] 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.8: Συγχώνευση καταστάσεων 1 και 5 PS50312 [1] PS50222 [1] PS50086 [8] 1 10 7 PS50322 [1] PS50154 [1] 12 1 0 PS50324 [1] 13 1 1 O 12 0 PS50086 [1] PS50031 [1] 3 2 1 PS00018 [1] PS50079 [1] 7 PS50086 [1] 8 1 0 1 1 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.9: Συγχώνευση καταστάσεων 3 και 6

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 41 PS50312 [1] PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 1 PS50222 [1] PS50086 [8] 11 8 PS50154 [1] PS50086 [1] PS50086 [1] O 12 0 PS50031 [1] 3 2 1 7 PS00018 [1] PS50079 [1] 1 0 9 1 0 10 PS00402 [1] PS50086 [1] 1 0 11 1 1 Σχήμα 2.10: Συγχώνευση καταστάσεων 1 και 8 PS50222 [1] PS50086 [8] PS50312 [1] 1 11 8 PS50154 [1] PS50322 [1] 12 1 0 PS50324 [1] PS50086 [1] 13 1 1 O 12 0 PS00018 [1] PS50031 [1] PS50086 [1] 3 3 1 PS00402 [1] PS50079 [1] 10 1 0 PS50086 [1] 11 1 1 7 1 0 Σχήμα 2.11: Συγχώνευση καταστάσεων 3 και 9

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 42 PS50222 [1] PS50086 [8] PS50312 [1] 1 11 8 PS50154 [1] PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 PS50086 [1] O PS50086 [1] 12 0 PS00018 [1] PS50031 [1] 3 3 1 PS00402 [1] PS50079 [1] 7 PS50086 [1] 11 2 0 1 1 Σχήμα 2.12: Συγχώνευση καταστάσεων 7 και 10 PS50222 [1] PS50086 [8] PS50312 [1] 1 12 9 PS50154 [1] PS50322 [1] 12 1 0 PS50324 [1] 13 1 1 PS50086 [1] O PS50086 [2] 12 0 PS00018 [1] PS50031 [1] 3 3 1 PS00402 [1] PS50079 [1] 7 2 0 Σχήμα 2.13: Συγχώνευση καταστάσεων 1 και 11

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 43 PS50312 [1] PS50322 [1] 12 1 0 PS50222 [1] PS50086 [8] 1 13 10 PS50324 [1] PS50154 [1] PS50086 [2] O 12 0 PS00018 [1] PS50031 [1] PS50086 [1] 3 3 1 PS00402 [1] PS50079 [1] 7 2 0 Σχήμα 2.14: Συγχώνευση καταστάσεων 1 και 13 Με αυτή την τελευταία συγχώνευση προκύπτει και το τελικό FSA, το οποίο είναι το εξής: PS50312 [1] PS50322 [1] 12 1 0 PS50222 [1] PS50086 [8] 1 13 10 PS50324 [1] PS50154 [1] PS50086 [2] O 12 0 PS50086 [1] PS50031 [1] PS00018 [1] 3 3 1 PS50079 [1] PS00402 [1] 7 2 0 Σχήμα 2.15: Στοχαστικό Αιτιοκρατικό Πεπερασμένο Αυτόματο

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 44 Θεωρώντας ότι έχουν υπολογιστεί τα γνωρίσματα supp(x) και supp(y) για κάθε μοτίβο X και οικογένεια Y, οι κανόνες με ένα μοτίβο που προκύπτουν από το παραπάνω FSA είναι οι εξής: Πίνακας 2.2: Κανόνες από οικογένεια PDOC50086 Motif Class: Probability Confidence Support Interest PS50086 PDOC50086: 1.0 0.78567475 5.3079886E-4 0.9996832 PS50324 PDOC50086: 1.0 0.1632053 0.039633192 0.9996394 PS00402 PDOC50086: 1.0 0.07142857 0.0043252264 0.999663 PS50222 PDOC50086: 1.0 0.07142857 0.013929811 0.9996453 PS50154 PDOC50086: 1.0 0.07142857 4.4536951E-4 0.9997933 PS50312 PDOC50086: 1.0 0.07142857 0.01225953 0.9996464 PS00018 PDOC50086: 1.0 0.07142857 0.015196647 0.9996446 PS50322 PDOC50086: 1.0 0.06222222 0.020315915 0.9996427 PS50079 PDOC50086: 1.0 0.06222222 0.108836725 0.9996378 PS50031 PDOC50086: 1.0 0.06222222 4.7434846E-4 0.9997886 Δηλαδή, παίρνοντας τον πρώτο κανόνα, διαπιστώνουμε ότι εάν μία πρωτεΐνη περιέχει το μοτίβο PS50086, τότε αυτή ανήκει στην οικογένεια PDOC50086 με πιθανότητα 1, με βεβαιότητα 0.78.

Κεφάλαιο 3. Υλοποίηση Αρχιτεκτονική του Συστήματος 3.1. Περιγραφή της Βάσης Δεδομένων Για την εξαγωγή του μοντέλου και τη βέλτιστη υλοποίησή του χρησιμοποιούνται δεδομένα από τη διπλωματική: «Ανάπτυξη Συστήματος για την Πρόβλεψη Συμπεριφοράς Πρωτεϊνών με τη χρήση μεθόδων Εξόρυξης Δεδομένων» Χατζηδαμιανός Γεράσιμος 2000. Χρησιμοποιούνται οι παρακάτω πίνακες, οι οποίοι έχουν δημιουργηθεί στην παραπάνω διπλωματική και στηρίζονται στα δεδομένα της βάσης Prosite: Πίνακας 3.1: Δομή του πίνακα Pattern. Περιέχονται 42050 εγγραφές. Πίνακας Pattern Protein Code Protein Name Pattern Code Pattern Name O00058 MTDH_UROFA PS00061 ADH_SHORT O00086 IMH3_CANAL PS00487 IMP_DH_GMP_RED O00088 GLNA_AGABI PS00181 GLNA_ATP O00091 G6PD_SCHPO PS00069 G6P_DEHYDROGENASE O00098 CISY_EMENI PS00480 CITRATE_SYNTHASE O00139 KIF2_HUMAN PS00017 ATP_GTP_A

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 46 O00142 KITM_HUMAN PS00017 ATP_GTP_A O00155 GPRP_HUMAN PS00237 G_PROTEIN_RECEP_F1_1 O00159 MY1C_HUMAN PS00017 ATP_GTP_A O00168 PLM_HUMAN PS01310 ATP1G1_PLM_MAT8 O00178 GTB1_HUMAN PS00017 ATP_GTP_A O00182 LEG9_HUMAN PS00309 GALAPTIN............ Πίνακας 3.2: Δομή του πίνακα Profile. Περιέχονται 75865 εγγραφές. Πίνακας Profile Protein Code Protein Name Profile Code Profile Name O00060 CYPH_UROFA PS50072 CSA_PPIASE_2 O00086 IMH3_CANAL PS50147 SNF4_REP O00086 IMH3_CANAL PS50264 FMN_ENZYMES O00087 DLDH_SCHPO PS50205 NAD_BINDING O00102 UBC7_SCHPO PS50127 UBIQUITIN_CONJUGAT_2 O00103 UBCD_SCHPO PS50127 UBIQUITIN_CONJUGAT_2 O00116 ADAS_HUMAN PS50310 ALA_RICH O00124 REP8_HUMAN PS50033 UX_DOMAIN O00139 KIF2_HUMAN PS50007 PIPLC_X_DOMAIN O00139 KIF2_HUMAN PS50067 KINESIN_MOTOR_DOMAIN2 O00139 KIF2_HUMAN PS50079 NLS_BP O00141 SGK_HUMAN PS50011 PROTEIN_KINASE_DOM O00151 PDL1_HUMAN PS50023 LIM_DOMAIN_2 O00151 PDL1_HUMAN PS50106 PDZ O00151 PDL1_HUMAN PS50157 ZINC_FINGER_C2H2_2 O00154 CTE2_HUMAN PS50079 NLS_BP O00155 GPRP_HUMAN PS50262 G_PROTEIN_RECEP_F1_2 O00155 GPRP_HUMAN PS50323 ARG_RICH

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 47 Πίνακας 3.3: Δομή του πίνακα Prosite. Περιέχονται 49381 εγγραφές. Πίνακας Prosite Class Code Protein Code Protein Name Flag PDOC00010 O00187 MAS2_HUMAN T PDOC00010 O00339 MTN2_HUMAN T PDOC00010 O00548 DLL1_HUMAN T PDOC00010 O08746 MTN2_MOUSE T PDOC00010 O15943 CADN_DROME F PDOC00010 O19045 FA10_RABIT T PDOC00010 O35568 FBL3_RAT T PDOC00010 O55058 FBL4_CRIGR T PDOC00010 O73775 FBL1_CHICK T PDOC00010 O77469 FBL1_CAEEL T PDOC00010 O88322 NID2_MOUSE T PDOC00010 O89029 MTN4_MOUSE T PDOC00010 O95460 MTN4_HUMAN T............ Πριν αξιοποιηθούν οι παραπάνω πίνακες θα πρέπει να γίνει μια βελτιστοποίησή τους, έτσι ώστε να ελαχιστοποιηθούν πιθανά προβλήματα. Η βελτιστοποίηση έγινε με βάση τις παρακάτω παραδοχές: Κάθε ένας από τους πίνακες δεν περιέχει διπλότυπα. Στον πίνακα Prosite υπάρχουν μόνο εγγραφές οι οποίες έχουν στην στήλη Flag τιμές T (true positive η αλυσίδα περιέχεται στην υπό εξέταση ομάδα) ή F (false positive η αλυσίδα δεν περιέχεται στην υπό εξέταση ομάδα). Οι τιμές P (potential hit η αλυσίδα ανήκει στην ομάδα αλλά δεν ήταν δυνατή η επαλήθευσή της), N (false negative η αλυσίδα ανήκει στην ομάδα αλλά δεν ήταν δυνατή η ανίχνευσή της) και? (unknown άγνωστη πρωτεΐνη η οποία θα μπορούσε να ανήκει στην συγκεκριμένη ομάδα) διαγράφονται καθώς κρίνονται μη αναγκαίες για την δημιουργία του FSA.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 48 Στον πίνακα Prosite υπάρχουν μόνο εγγραφές για τις οποίες, για κάθε τιμή στη στήλη Protein Code, υπάρχει κάποια αναφορά είτε στον πίνακα Pattern είτε στον πίνακα Profile. Εφαρμόζοντας τις τρεις παραπάνω παραδοχές, προκύπτουν οι παρακάτω τιμές: Πίνακας 3.4: Πλήθος στοιχείων σε κάθε πίνακα Protein Codes Codes Total Records Prosite 41.313 Class Codes: 1.100 49.393 Pattern 31.455 Pattern Codes: 830 42.050 Profile 43.295 Profile Codes: 355 75.865 Είναι χρήσιμο να προστεθεί και ο παρακάτω πίνακας, ο οποίος δίνει μια εικόνα της μετατροπής της βάσης: Πίνακας 3.5: Μεταβολή της βάσης GenBase Τιμή Flag Αρχικά Τελικά T 56.762 44.403 F 5.947 4.990 N 5.834 0 P 2.020 0? 288 0 Πέρα από τους Πίνακες 3.1 3.3, θα χρησιμοποιηθούν, για τεχνικούς κυρίως λόγους, και δύο όψεις: η AllMotifs και η DistinctClasses. Η πρώτη όψη περιέχει μία μόνο στήλη, της οποίας τα στοιχεία είναι όλα τα διαφορετικά μοτίβα που υπάρχουν στους πίνακες Pattern και Profile. Η δεύτερη όψη περιέχει και αυτή μόνο μία στήλη με στοιχεία όλες τις διαφορετικές οικογένειες πρωτεϊνών που υπάρχουν στον πίνακα Prosite.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 49 3.2. Σύνδεση με τον SQL Server 2000 μέσω JDBC Μετά τη σχεδίαση της βάσης δεδομένων, το επόμενο βήμα είναι ο προσδιορισμός του τύπου της σύνδεσης με αυτή, και συγκεκριμένα με τον SQL Server 2000. Εφόσον όλος ο κώδικας είναι σε γλώσσα προγραμματισμού Java, αρκεί να προσδιοριστεί ο JDBC Driver που θα χρησιμοποιηθεί. Υπάρχουν τεσσάρων τύπων JDBC Drivers: Τύπος 1: JDBC - ODBC Bridge Τύπος 2: Native - API/partly Java driver Τύπος 3: Net - protocol/all - Java driver Τύπος 4: Native - protocol/all - Java driver Ακολουθεί μια συνοπτική περιγραφή του καθενός και αναφέρονται τα πλεονεκτήματα και τα μειονεκτήματα αυτών έτσι ώστε να επιλεγεί ο καταλληλότερος. Τύπου 1: JDBC - ODBC Bridge Client Machine JDBC ODBC bridge Server Machine Database Server ODBC driver Vendor DB library Σχήμα 3.1: Αρχιτεκτονική του JDBC - ODBC Bridge Ο τύπου 1 οδηγός, JDBC ODBC driver, μεταφράζει όλες τις JDBC κλήσεις σε ODBC (Open DataBase Connectivity) κλήσεις και τις αποστέλλει στον οδηγό ODBC. Για αυτό το λόγο, ο ODBC driver, καθώς και ο client database code, πρέπει να βρίσκεται και στις client μηχανές.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 50 Υπέρ: Ο οδηγός JDBC ODBC Bridge επιτρέπει την πρόσβαση σε οποιαδήποτε βάση, καθώς οι οδηγοί ODBC της βάσης είναι ούτως ή άλλως διαθέσιμοι. Οι οδηγοί τύπου 1 είναι χρήσιμοι για όλους όσους έχουν ήδη εγκατεστημένο τον ODBC οδηγό στις client μηχανές. Κατά: Η απόδοση μειώνεται καθώς η κλήση του JDBC περνά μέσα από την γέφυρα ODBC μέχρι να φτάσει στη βάση. Η απάντηση έρχεται ακολουθώντας την αντίστροφη διαδρομή. Λαμβάνοντας υπόψη τον παράγοντα της απόδοσης, οι οδηγοί τύπου 1 μπορεί να μην είναι κατάλληλοι για μεγάλης κλίμακας εφαρμογές. Επίσης ο οδηγός ODBC και το native connectivity interface πρέπει να έχουν ήδη εγκατασταθεί στις client μηχανές. Έτσι όμως χάνεται το πλεονέκτημα της χρήσης των Java Applets σε ένα διαδικτυακό περιβάλλον, καθώς παραμένει το πρόβλημα της εγκατάστασης όπως και στα «παραδοσιακά» προγράμματα. Τύπου 2: Native - API/partly Java driver Client Machine Native API partly Java driver Server Machine Database Server Vendor DB library Σχήμα 3.2: Αρχιτεκτονική του Native - API/partly Java driver Ο οδηγός JDBC τύπου 2 ο Native - API/partly Java driver μετατρέπει τις κλήσεις JDBC σε κλήσεις προκαθορισμένες από τον τύπο της βάσης, όπως SQL Server, Informix, Oracle ή Sybase. Ο οδηγός τύπου 2 επικοινωνεί άμεσα με τον database server, γι αυτό απαιτεί κάποια τμήματα δυαδικού κώδικα να βρίσκονται στα client μηχανήματα.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 51 Υπέρ: Οι οδηγοί τύπου 2 τυπικά προσφέρουν σημαντικά καλύτερη απόδοση από τους JDBC - ODBC Bridge. Κατά: Οι βιβλιοθήκες της βάσης δεδομένων πρέπει κάθε φορά να φορτώνονται στο μηχάνημα του client. Επομένως οι οδηγοί τύπου 2 δεν μπορούν να χρησιμοποιηθούν για το διαδίκτυο. Επίσης οι οδηγοί τύπου 2 παρουσιάζουν χαμηλότερη απόδοση από τους οδηγούς τύπου 3 ή 4. Τύπου 3: Net - protocol/all - Java driver Client Machine Server Machine Net protocol pure Java driver Middleware Server Database Server Σχήμα 3.3: Αρχιτεκτονική του Net - protocol/all - Java driver Ο JDBC οδηγός τύπου 3 - Net - protocol/all - Java driver ακολουθεί μια τακτική αρχιτεκτονικής 3 επιπέδων, όπου οι κλήσεις διέρχονται μέσω δικτύου στον ενδιάμεσο server. Ο ενδιάμεσος server στη συνέχεια μεταγλωττίζει την κλήση (άμεσα ή έμμεσα) με τρόπο ανάλογα με το native connectivity interface της συγκεκριμένης βάσης, έτσι ώστε να προωθήσει την κλήση στον database server. Εάν ο ενδιάμεσος server είναι γραμμένος σε γλώσσα προγραμματισμού Java, μπορεί να χρησιμοποιηθεί ένας οδηγός τύπου 1 ή 2 για την τελική κλήση. Υπέρ: Ο οδηγός Net - protocol/all - Java βασίζεται σε server, γι αυτό δεν υπάρχει ανάγκη οποιαδήποτε βιβλιοθήκη της βάσης να βρίσκεται σε client μηχανές. Επίσης, υπάρχουν πολλές δυνατότητες για βελτίωση συμβατότητας, επίδοσης και μεγέθους. Ο οδηγός αυτός μπορεί ακόμη να σχεδιαστεί έτσι ώστε ο client JDBC driver να γίνει πολύ μικρός και γρήγορος στο φόρτωμα. Επιπλέον, ένας οδηγός τύπου 3 συνήθως παρέχει

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 52 υποστήριξη για χαρακτηριστικά όπως caching (συνδέσεις, αποτελέσματα ερωτημάτων κτλ), load balancing και advanced system administration όπως logging και auditing. Κατά: Ο οδηγός τύπου 3 απαιτεί να βρίσκεται στον ενδιάμεσο server κώδικας βασισμένος στην εκάστοτε βάση. Διατρέχοντας όμως την όλη αρχιτεκτονική χρειάζεται πολύς χρόνος, καθώς όλες οι απαντήσεις έρχονται από το database server στην άλλη άκρη της αρχιτεκτονικής. Τύπου 4: Native - protocol/all - Java driver Client Machine Server Machine Native protocol pure Java driver Database Server Σχήμα 3.4: Αρχιτεκτονική του Native - protocol/all - Java driver Ο οδηγός JDBC τύπου 4 ο Native - protocol/all - Java driver μετατρέπει τις κλήσεις JDBC σε πρωτόκολλο DBMS (Database Management System) της εκάστοτε βάσης, έτσι ώστε οι client εφαρμογές να επικοινωνούν απευθείας με τον database server. Οι οδηγοί τύπου 4 είναι εξ ολοκλήρου υλοποιημένοι σε Java έτσι ώστε να εξασφαλίζεται η ανεξαρτησία πλατφόρμας. Υπέρ: Καθώς οι τύπου 4 οδηγοί δεν χρειάζεται να μετατρέπουν κλήσεις σε ODBC ή σε οποιοδήποτε άλλο interface μέχρι την βάση, η απόδοση είναι αρκετά καλή. Οι οδηγοί τύπου 4 γενικά έχουν καλύτερες αποδόσεις από τους τύπου 1 και 2. Επίσης, δεν χρειάζεται να εγκατασταθεί επιπλέον λογισμικό στον client ή στον server. Τέλος, οι οδηγοί αυτοί μπορούν να φορτωθούν δυναμικά (real time download).

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 53 Κατά: Με τους οδηγούς τύπου 4, ο χρήστης χρειάζεται διαφορετικό οδηγό για την κάθε βάση. Ο Πίνακας 3.6 συνοψίζει τις επιδόσεις 5 οδηγών JDBC: Πίνακας 3.6: Επιδόσεις διαφόρων τύπων JDBC drivers [URL 8] JDBC Driver/Requirement JDBC- ODBC Bridge IDS Driver SequeLink JTurbo 1.22 I-net Sprinta Vendor Comes with Sun JDK IDS Software MERANT Ashna Inc. I-net Software Type of driver 1 3 3 4 4 Footprint (compressed) Database connection time (ms) Data retrieval time (ms) (33,000 records) Fetch & traversal time (ms) (33,000 records) Data insertion time (ms) (1,000 records) - 114 KB 269 KB 107 KB 42 KB 55 22 65 25 190 10 5 10 905 675 865 18,700 3,500 910 560 3,700 3,000 3,500 3,600 3,050 Οι μετρήσεις έγιναν στο ακόλουθο περιβάλλον:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 54 Πίνακας 3.7: Συνθήκες Ελέγχου [URL 8] Test conditions Platform: Windows NT 4.0 Computer with Java VM: SQL Server 7.0: Pentium III Pentium III JVM: JDK 1.2.1 Η βάση είχε στήλες με στοιχεία int, varchar(255) και datetime. Τα παραπάνω στοιχεία υπάρχουν στο site [URL 8]. Αν και από τον πίνακα φαίνεται ότι οι οδηγοί τύπου 1 είναι ταχύτεροι ως προς το Database Connection Time, οι χρόνοι για το Fetch&Traversal είναι πιο μικροί για οδηγούς τύπου 4. Επομένως, θα χρησιμοποιηθεί ο τύπου 4 JDBC driver, και μάλιστα ο επίσημος οδηγός της Microsoft, ο οποίος είναι τύπου 4. Η Microsoft προσφέρει τον οδηγό για δύο πλατφόρμες: Windows (setup.exe) και Solaris (mssqlserver.tar). Εγκαθιστώντας τον οδηγό για την πλατφόρμα Windows διαπιστώνεται ότι το πρόγραμμα εγκατάστασης φορτώνει το σύστημα με περίπου 30 DLL, κάτι το οποίο απέχει πολύ από έναν καθαρό Java οδηγό. Αντίθετα, ο οδηγός της πλατφόρμας Solaris περιέχει ακριβώς τα 3 Java αρχεία που είναι απαραίτητα (δηλαδή τα lib/msbase.jar, lib/mssqlserver.jar και lib/msutil.jar). 3.3. Αρχιτεκτονική τριών επιπέδων Τέλος, απομένει να επιλεχθεί ο τρόπος σχεδίασης του συνολικού συστήματος. Επειδή το σύστημα περιλαμβάνει ήδη μία βάση δεδομένων, οι δυνατές επιλογές αρχιτεκτονικής σχεδίασης είναι είτε με αρχιτεκτονική 2 επιπέδων (2 tier architecture), είτε με αρχιτεκτονική πολλών επιπέδων (multitiered architecture). Η αρχιτεκτονική 2 επιπέδων είναι η απλούστερη δυνατή. Περιλαμβάνει δύο μέρη, τη βάση δεδομένων (database server) και τον client στον οποίο εκτελείται όλη η λογική του προγράμματος. Η γενική δομή μίας αρχιτεκτονικής πολλών επιπέδων παρουσιάζεται στο παρακάτω διάγραμμα.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 55 Web Browser HTML Pages Tier 1: Client Tier Network Web Server (Thin-Client Servlet) Tier 2: Web Tier Network Enterprise Beans Application Server Tier 3: Business Tier Network Database Server Tier 4: Enterprise Information Systems (EIS) Tier Σχήμα 3.5: Αρχιτεκτονική πολλών επιπέδων Η παραπάνω αρχιτεκτονική όμως δεν είναι δεσμευτική, καθώς πολλές φορές τα δύο πρώτα επίπεδα συγχωνεύονται στο επίπεδο client. Η νέα μορφή είναι ουσιαστικά διανεμημένη σε τρία συστήματα: στους client υπολογιστές, στον ενδιάμεσο application server και τέλος τις βάσεις δεδομένων στην τελική άκρη. Με αυτό τον τρόπο επεκτείνεται η αρχιτεκτονική δύο επιπέδων προσθέτοντας έναν application server, με δυνατότητες multithreading, μεταξύ της client εφαρμογής και της αποθήκευσης των δεδομένων. Τα πλεονεκτήματα που παρουσιάζει αυτή η μορφή εμφανίζονται κυρίως στη συντήρηση της εφαρμογής, καθώς και στην υπολογιστική ισχύ που απαιτείται συνολικά. Ένα σύστημα βασισμένο σε αυτή τη μορφή αποτελείται ουσιαστικά από πολλά μικρότερα υποσυστήματα που επικοινωνούν μεταξύ τους με καθορισμένες διεπαφές (interfaces). Επομένως, είναι δυνατόν ολόκληρα υποσυστήματα να

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 56 ανανεωθούν χωρίς να επηρεαστεί η λειτουργία του συστήματος. Επίσης, ενώ στην περίπτωση των δύο επιπέδων ολόκληρη η λειτουργία του συστήματος θα έπρεπε να εκτελεστεί ουσιαστικά σε έναν υπολογιστή, με τα 3 επίπεδα η υπολογιστική ισχύς κατανέμεται σε περισσότερους υπολογιστές. Από την άλλη πλευρά, ένα από τα σημαντικότερα μειονεκτήματα που παρουσιάζει μία τέτοια αρχιτεκτονική, είναι η δυσκολία στην υλοποίηση. Σε αυτό το σημείο όμως δίνει μία λύση η ίδια η γλώσσα προγραμματισμού Java καθώς παρέχει έτοιμο το υπόβαθρο της αρχιτεκτονικής, όπως φαίνεται και από το παρακάτω διάγραμμα: Application Client Container EJB Container Application Client Enterprise Bean JMS JNDI RMI - IIOP JDBC JMS JNDI JTA Java Mail JAF RMI - IIOP JDBC Database J2SE J2SE Σχήμα 3.6: Υποδομή της Java για αρχιτεκτονική 3 επιπέδων Με βάση τα παραπάνω η επιλογή της αρχιτεκτονικής τριών επιπέδων είναι προφανής, καθώς συνδυάζει τόσο ευελιξία στην ανανέωση και συντήρηση του συστήματος, όσο και μεγαλύτερη υπολογιστική ισχύ για την εφαρμογή του αλγορίθμου. 3.4. Αρχιτεκτονική του Με βάση όσα αναφέρθηκαν, το σύστημα που υλοποιήθηκε με το όνομα, έχει την αρχιτεκτονική που παρουσιάζεται στο παρακάτω διάγραμμα:

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 57 Tables Entity Beans Session Beans Prosite Prosite Pattern Pattern FSA Profile Profile Connections Views AllMotifs AllMotifs Client Data Mining DistinctClasses DistinctClasses GenBase (Database Server) Application Server Σχήμα 3.7: Αρχιτεκτονική του συστήματος Από το διάγραμμα φαίνεται καθαρά η αρχιτεκτονική 3 επιπέδων που υλοποιεί το σύστημα. Το μεσαίο επίπεδο (application server) χωρίζεται πρακτικά σε δύο μικρότερα επίπεδα. Το πρώτο, από τη πλευρά της βάσης, είναι υπεύθυνο για την ανάσυρση των δεδομένων από τη βάση. Το δεύτερο επίπεδο έχει δύο λειτουργίες: αφενός λειτουργεί ως διεπαφή (interface) με την εφαρμογή client, και αφετέρου εκτελεί όλη την προεργασία των δεδομένων πριν αποσταλούν στην εφαρμογή. 3.5. Εργαλεία που χρησιμοποιήθηκαν 3.5.1. SQL Server 2000 Η επιλογή του SQL Server 2000 της Microsoft ως βάση δεδομένων, έγινε για τους παρακάτω λόγους: Θεωρείται ένα από τα καλύτερα και πιο ολοκληρωμένα συστήματα της αγοράς. Συνοδεύεται από πολύ καλή τεκμηρίωση, γεγονός το οποίο βοηθά ιδιαίτερα στην ανάπτυξη λογισμικού. Παρουσιάζει ευρωστία σε διαδικτυακές εφαρμογές.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 58 3.5.2. JBoss 3.0.8 Η επιλογή του JBoss 3.0.8 ως application server, έγινε για τους παρακάτω λόγους: Είναι Open Source εφαρμογή, γραμμένη σε Java και επομένως συνεργάζεται πολύ καλά με την γλώσσα αυτή. Χρησιμοποιείται ευρέως για διαδικτυακές εφαρμογές. Παρουσιάζει ευελιξία και προσαρμοστικότητα ανάλογα με τις απαιτήσεις της κάθε εφαρμογής. 3.5.3. JBuilder X Τέλος, ολόκληρη η εφαρμογή αναπτύχθηκε σε Java, κυρίως λόγω της δυνατότητας που παρέχει να εκτελείται σε οποιοδήποτε λειτουργικό σύστημα. Μετά την επιλογή της Java ως γλώσσας ανάπτυξης, η επιλογή του JBuilder X ως περιβάλλον ανάπτυξης είναι προφανής καθώς: Αποτελεί το πλέον εξελιγμένο περιβάλλον ανάπτυξης λογισμικού σε Java, καθώς παρέχει πολλές ευκολίες για τη δημιουργία συμπαγούς και χωρίς λάθη κώδικα. Παρέχει αυτοματοποιημένες διαδικασίες, ιδιαίτερα στον τομέα του γραφικού περιβάλλοντος. Υπάρχουν έτοιμες βιβλιοθήκες για τη σύνδεση με application servers και database servers.

Κεφάλαιο 4. Αποτελέσματα Πειράματα 4.1. Προσδιορισμός της παραμέτρου confidence στον αλγόριθμο ALERGIA Όπως έχει αναφερθεί, η παράμετρος confidence στον αλγόριθμο ALERGIA είναι αυτή που καθορίζει το εύρος ανοχής για τη συμβατότητα μεταξύ δύο καταστάσεων. Όσο μικρότερη η τιμή, τόσο μεγαλύτερο είναι το εύρος. Για τον προσδιορισμό της τιμής αυτής της παραμέτρου, εκτελείται το ακόλουθο πείραμα. Ως δεδομένα χρησιμοποιούνται οι 14 πρωτεΐνες που ανήκουν στην οικογένεια PDOC50086 και εμφανίζονται στον Πίνακα 2.1 (σελίδα 39). Εάν χρησιμοποιηθούν όλες οι πρωτεΐνες για τη δημιουργία του FSA, τότε για διαφορετικές τιμές της παραμέτρου confidence, προκύπτουν τελικά τα παρακάτω FSA (Σχήμα 4.1 Σχήμα 4.3):

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 60 PS50086 [1] PS50324 [1] 9 2 2 PS50086 [11] PS50312 [1] PS00018 [1] PS50079 [1] PS50322 [1] 5 4 1 O 28 8 PS50222 [1] PS50086 [2] PS50031 [1] PS50324 [2] PS50154 [1] PS00402 [1] 2 5 3 Σχήμα 4.1: Τελικό FSA με παράμετρο confidence = 0.1 PS50324 [2] PS50222 [1] PS50031 [1] PS50086 [12] PS00018 [1] 1 16 9 PS50322 [1] 13 1 0 O 17 2 PS50079 [1] PS50312 [1] PS50154 [1] PS00402 [1] 3 3 2 PS50086 [1] 8 2 1 PS50086 [1] PS50324 [1] Σχήμα 4.2: Τελικό FSA με παράμετρο confidence = 0.45

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 61 PS50324 [2] PS50222 [1] PS50322 [1] 13 PS50086 [12] 1 18 12 PS50324 [1] 1 0 PS50031 [1] PS50086 [2] PS50312 [1] PS50154 [1] O 15 0 PS50079 [1] 8 2 0 3 PS00402 [1] 3 2 PS00018 [1] Σχήμα 4.3: Τελικό FSA με παράμετρο confidence = 0.8 Από τα σχήματα είναι φανερό ότι όσο αυξάνεται η παράμετρος confidence τόσο περισσότερο αυξάνει η πολυπλοκότητα του τελικού FSA. Δηλαδή, μεγάλη τιμή στην παράμετρο confidence σημαίνει λιγότερες παραδοχές στη συγχώνευση δύο καταστάσεων και επομένως μεγαλύτερη εξάρτηση από τα αρχικά δεδομένα. Όσο μειώνεται η παράμετρος, γίνονται περισσότερες συγχωνεύσεις και επομένως το τελικό FSA γίνεται πιο γενικό. Ζητούμενο όμως είναι η κατασκευή ενός FSA το οποίο να είναι μεν γενικό, αλλά ταυτόχρονα να περιγράφει ικανοποιητικά τη δομή των δεδομένων. Με άλλα λόγια, είναι επιθυμητό κάθε μετάβαση μεταξύ καταστάσεων να οφείλεται σε ένα μοτίβο, αλλά ταυτόχρονα να υπάρχει μικρό πλήθος καταστάσεων. Οι δύο αυτές συνθήκες πειραματικά ικανοποιούνται ταυτόχρονα, ως ένα βαθμό, στην περιοχή του 0.8. Αυτό φαίνεται και από τα παραπάνω διαγράμματα, όπου όσο αυξάνεται το confidence τόσο αυξάνει το πλήθος των καταστάσεων, αλλά ταυτόχρονα μειώνεται και το πλήθος των μοτίβων στην ίδια μετάβαση.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 62 4.2. Πειραματικά αποτελέσματα κατηγοριοποίησης Ο αλγόριθμος που υλοποιήθηκε εξετάστηκε για την ορθότητα και την αξιοπιστία του με μία σειρά πειραμάτων. Τα αποτελέσματα που προέκυψαν, συγκρίθηκαν με αντίστοιχα αποτελέσματα άλλων αλγορίθμων. Σε όλα τα πειράματα που ακολουθούν, χρησιμοποιήθηκαν απλοί κανόνες της μορφής «Μοτίβο Οικογένεια». Αν και είναι δυνατόν να δημιουργηθούν πιο πολύπλοκοι κανόνες από τον αλγόριθμο, η πολυπλοκότητα των υπολογισμών καθιστά απαγορευτική την υλοποίησή τους, καθώς ο χρόνος που απαιτείται στον περιορισμένων δυνατοτήτων διαθέσιμο υπολογιστή αυξάνει δραματικά. 4.2.1. Έλεγχος σε σταθερό πλήθος οικογενειών και μεταβλητά ποσοστά δεδομένων εκπαίδευσης και ελέγχου Στο άρθρο «Data Driven Generation of Decision Trees for Motif Based Assignment of Protein Sequences to Functional Families» [WWH + 01], παρουσιάζεται μία μέθοδος κατηγοριοποίησης πρωτεϊνών με τη βοήθεια δέντρου αποφάσεων. Για την επαλήθευση της ορθότητας των αποτελεσμάτων, χρησιμοποιήθηκαν 10 τυχαίες οικογένειες πρωτεϊνών με διαφορετικά ποσοστά δεδομένων εκπαίδευσης και ελέγχου. Εκτελώντας ακριβώς το ίδιο πείραμα, προκύπτουν τα ποσοστά επιτυχίας που παρουσιάζονται στον Πίνακα 4.1. Στο πείραμα, για κάθε διαφορετικό ποσοστό, ο αλγόριθμος εκτελέστηκε τρεις φορές με διαφορετικό σύνολο δεδομένων εκπαίδευσης κάθε φορά, επιλεγμένο τυχαία. Οι κανόνες που παράγονταν κάθε φορά, ελέγχονταν από όλες τις πρωτεΐνες και προσδιοριζόταν το ποσοστό επιτυχίας της κατηγοριοποίησής τους. Οι οικογένειες που χρησιμοποιήθηκαν είναι οι ακόλουθες: 10 οικογένειες: PDOC00064, PDOC00154, PDOC00224, PDOC00271, PDOC00343, PDOC00561, PDOC00662, PDOC00670, PDOC00791, PDOC50007

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 63 Πίνακας 4.1: Έλεγχος για 10 τυχαίες οικογένειες πρωτεϊνών (585 πρωτεΐνες σε επικαλυπτόμενα σύνολα) Train Set (%) / Test Set (%) (με επαναλήψεις) [WWH + 01] 2 (%) / 100 (%) 84.441 % 99.848 % 59.1 % 3 (%) / 100 (%) 83.232 % 94.410 % 71.7 % 5 (%) / 100 (%) 88.670 % 99.848 % 82.7 % 10 (%) / 100 (%) 96.223 % 99.848 % 94.0 % 20 (%) / 100 (%) 96.525 % 100.000 % 95.1 % 30 (%) / 100 (%) 99.546 % 99.848 % 96.5 % 40 (%) / 100 (%) 99.697 % 100.000 % 98.4 % 50 (%) / 100 (%) 99.546 % 99.848 % 99.0 % 60 (%) / 100 (%) 99.697 % 99.848 % 98.7 % 99 (%) / 100 (%) 99.697 % 100.000 % 99.8 % Οι κανόνες είναι διατεταγμένοι κατά φθίνουσα σειρά, με βάση το γνώρισμα interest. Κατά τη διάρκεια του ελέγχου, ο αλγόριθμος συγκρίνει τα μοτίβα που υπάρχουν στην πρωτεϊνική αλυσίδα, με τα μοτίβα του πρώτου κανόνα. Εάν ο κανόνας ικανοποιείται, χρησιμοποιείται για την κατάταξη της αλυσίδας, αλλιώς ο αλγόριθμος συνεχίζει στον επόμενο κανόνα κοκ μέχρι την εξάντληση των κανόνων ή μέχρι την κατάταξη της πρωτεΐνης. Από αυτή τη διαδικασία γίνεται φανερό ότι η διάταξη των κανόνων είναι ζωτικής σημασίας. Καθώς το κριτήριο του interest για την κατάταξη των κανόνων δεν είναι πάντα το ιδανικό, γίνεται και ένας δεύτερος έλεγχος. Στο δεύτερο έλεγχο, εάν ο κανόνας ικανοποιείται, ελέγχεται στη συνέχεια και το αν έχει γίνει σωστή κατάταξη της πρωτεΐνης. Εάν δεν έχει γίνει σωστή κατάταξη, τότε ο αλγόριθμος αγνοεί τον κανόνα και συνεχίζει παρακάτω μέχρι να βρει σωστό κανόνα, ή να τελειώσουν οι κανόνες. Ο δεύτερος αυτός έλεγχος γίνεται για να διαπιστωθεί κατά πόσο πράγματι οι κανόνες είναι διατεταγμένοι σωστά, και ποιο θα ήταν το ποσοστό στην περίπτωση της ιδανικής διάταξης. Όσο πιο μικρή είναι η διαφορά των δύο ποσοστών, τόσο πιο κοντά στην ιδανική είναι η διάταξη που έγινε. Αυτά τα δύο διαφορετικά ποσοστά παρουσιάζονται στον Πίνακα 4.1 στις στήλες και «(με επαναλήψεις)» αντίστοιχα.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 64 Για να υπάρξει καλύτερη εκτίμηση για την ικανότητα του αλγορίθμου να κατατάσσει σωστά άγνωστες πρωτεΐνες, επαναλαμβάνεται το πείραμα, αλλά αυτή τη φορά τα σύνολα δεδομένων εκπαίδευσης και ελέγχου είναι ξένα μεταξύ τους, αποτελούν δηλαδή μία διαμέριση του αρχικού συνόλου. Τα νέα ποσοστά επιτυχίας παρουσιάζονται στον παρακάτω πίνακα. Πίνακας 4.2: Έλεγχος για 10 τυχαίες οικογένειες πρωτεϊνών (585 πρωτεΐνες σε ξένα σύνολα) Train Set (%) / Test Set (%) (με επαναλήψεις) 2 (%) / 98 (%) 78.494 % 82.642 % 3 (%) / 97 (%) 82.737 % 86.003 % 5 (%) / 95 (%) 92.515 % 93.630 % 10 (%) / 90 (%) 98.132 % 100.000 % 20 (%) / 80 (%) 98.713 % 99.816 % 30 (%) / 70 (%) 99.776 % 100.000 % 40 (%) / 60 (%) 100.000 % 100.000 % 50 (%) / 50 (%) 95.197 % 95.480 % 60 (%) / 40 (%) 99.541 % 100.000 % 99 (%) / 1 (%) 100.000 % 100.000 % Από τους παραπάνω πίνακες είναι φανερό ότι ο νέος αλγόριθμος παρουσιάζει εξαιρετικά υψηλό ποσοστό επιτυχίας, ακόμα και με πολύ μικρό σύνολο εκπαίδευσης. Τα Σχήματα 4.4 και 4.5 παρουσιάζουν γραφικά την απόδοση του αλγορίθμου (μπλέ), την ιδανική απόδοση (κόκκινο), καθώς και την απόδοση του αλγορίθμου που περιγράφεται στο άρθρο [WWH + 01] (μαύρο).

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 65 100 95 90 FSA Algorithm (Ideal) FSA Algorithm [WWH+ 01] Percentage of Success 85 80 75 70 65 60 55 0 10 20 30 40 50 60 70 80 90 100 Train Set Percentage Σχήμα 4.4: Ποσοστά επιτυχίας για επικαλυπτόμενα σύνολα 100 Percentage of Success 95 90 85 80 75 70 FSA Algorithm (Ideal) FSA Algorithm [WWH+ 01] 65 60 55 0 10 20 30 40 50 60 70 80 90 100 Train Set Percentage Σχήμα 4.5: Ποσοστά επιτυχίας για ξένα σύνολα Αντίστοιχα πειράματα παρουσιάζονται στο Παράρτημα Δ.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 66 4.2.2. Έλεγχος σε μεταβλητό πλήθος οικογενειών και σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου Στο άρθρο «GenMiner: a Data Mining Tool for Protein Analysis» [HAD + 03] γίνεται επίσης μία προσέγγιση του προβλήματος με δένδρα αποφάσεων. Ο έλεγχος γίνεται για διαφορετικό πλήθος τυχαίων οικογενειών, έχοντας σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου. Για την επαλήθευση της ορθότητας των αποτελεσμάτων χρησιμοποιήθηκαν τα τρία σύνολα οικογενειών πρωτεϊνών που παρατίθενται στον Πίνακα 4.3. Στη συνέχεια, για κάθε σύνολο οικογενειών, το σύστημα εκπαιδεύεται χρησιμοποιώντας μία αναλογία 90 / 10 στα ποσοστά δεδομένων εκπαίδευσης και ελέγχου. Εκτελώντας ακριβώς το ίδιο πείραμα, προκύπτουν τα ποσοστά επιτυχίας που φαίνονται στον Πίνακα 4.4. Πίνακας 4.3: Τα τρία σύνολα οικογενειών πρωτεϊνών που χρησιμοποιήθηκαν στο πείραμα Σύνολο 1: PDOC00064, PDOC00154, PDOC00224, PDOC00271, (10 οικογένειες) PDOC00343, PDOC00561, PDOC00662, PDOC00670, PDOC00791, PDOC50007 Σύνολο 2: PDOC00020, PDOC00023, PDOC00027, PDOC00335, (19 οικογένειες) PDOC00340, PDOC00344, PDOC00351, PDOC00552, PDOC00561, PDOC00564, PDOC00567, PDOC00789, PDOC00790, PDOC00793, PDOC00800, PDOC00803, PDOC50001, PDOC50006, PDOC50017 Σύνολο 3: PDOC00010, PDOC00013, PDOC00021, PDOC00024, (28 οικογένειες) PDOC00027, PDOC00031, PDOC00061, PDOC00067, PDOC00072, PDOC00075, PDOC00160, PDOC00164, PDOC00166, PDOC00167, PDOC00171, PDOC00298, PDOC00300, PDOC00304, PDOC00305, PDOC00307, PDOC00310, PDOC00485, PDOC00486, PDOC00490, PDOC00495, PDOC00499, PDOC00722, PDOC00728 Στο πείραμα, για κάθε διαφορετικό σύνολο, ο αλγόριθμος εκτελέστηκε τρεις φορές με διαφορετικό σύνολο δεδομένων εκπαίδευσης κάθε φορά, επιλεγμένο τυχαία. Οι κανόνες που παράγονταν κάθε φορά, ελέγχονταν από τις πρωτεΐνες του συνόλου δεδομένων ελέγχου (το οποίο είναι ξένο με το σύνολο δεδομένων εκπαίδευσης), και

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 67 προσδιοριζόταν το ποσοστό επιτυχίας της κατηγοριοποίησής τους. Οι τιμές που παρουσιάζονται στον Πίνακα 4.4 είναι ο μέσος όρος των ποσοστών για κάθε περίπτωση. Πίνακας 4.4: Έλεγχος για 3 τυχαία σύνολα οικογενειών Πλήθος (με οικογενειών επαναλήψεις) [HAD + 03] 10 93.713 % 94.157 % 80.130 % 19 94.310 % 94.913 % 84.268 % 28 75.983 % 97.922 % 74.490 % 4.2.3. Έλεγχος σε όλες τις οικογένειες πρωτεϊνών Ένα αναγκαίο πείραμα για τον έλεγχο της ορθότητας του αλγορίθμου είναι ο έλεγχος με όλα τα διαθέσιμα δεδομένα. Σε αυτή την περίπτωση αναφερόμαστε σε 1100 οικογένειες πρωτεϊνών (όχι απαραίτητα ξένες μεταξύ τους) και περίπου 40000 πρωτεΐνες. Χρησιμοποιώντας το 90% των πρωτεϊνών ως σύνολο δεδομένων εκπαίδευσης, και το υπόλοιπο 10% ως σύνολο δεδομένων ελέγχου, ο αλγόριθμος έδωσε τα εξής ποσοστά επιτυχίας: Πίνακας 4.5: Έλεγχος για όλες τις οικογένειες πρωτεϊνών Πλήθος οικογενειών (με επαναλήψεις) 1100 41.388 % 83.670 % Δηλαδή ο αλγόριθμος δημιουργεί κανόνες για τη σωστή κατάταξη του 83.670% των πρωτεϊνών, αλλά αδυνατεί να τους κατατάξει σωστά, με αποτέλεσμα το πραγματικό ποσοστό να πέφτει στο 41.388%.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 68 4.3. Χρονική διάρκεια αλγορίθμου Όλα τα παραπάνω πειράματα εκτελέστηκαν σε υπολογιστή Pentium 4, 1.51 GHz με 512 MB Ram και 768 MB Virtual Ram. Οι χρόνοι εκτέλεσης παρουσιάζονται στον Πίνακα 4.6: Πίνακας 4.6: Πειραματικοί χρόνοι εκτέλεσης Πλήθος κλάσεων (Cold Start) (Warm Start) 10 429 sec (7m 9sec) 248 sec (4m 8sec) 18 1066 sec (17m 46sec) 835 sec (13m 55sec) 28 1599 sec (26m 39sec) 1461 sec (24m 21sec) 1100 27239 sec (7h 30m 58sec) 27058 sec (7h 33m 57sec) Η διαφορά του Cold Start από το Warm Start είναι η κατάσταση του Application Server. Όταν ο αλγόριθμος εκκινεί ταυτόχρονα με τον Application Server, τότε η εκκίνηση είναι Cold Start, καθώς πρέπει να αρχικοποιηθεί ο Server. Όταν ο αλγόριθμος εκκινεί αφού έχει σταθεροποιηθεί ο Server, τότε η εκκίνηση είναι Warm Start. Αξίζει επίσης να παρατηρηθεί ότι δεν υπάρχει σημαντική διαφορά χρόνου για διαφορετικά ποσοστά συνόλων εκπαίδευσης και ελέγχου, εάν το πλήθος των οικογενειών μένει σταθερό. Αναλυτικά για το κάθε τμήμα του αλγορίθμου, οι χρόνοι εκτέλεσης παρουσιάζονται στον Πίνακα 4.7.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 69 Δημιουργία βασικών αρχείων (αρκεί να εκτελεστεί μόνο μία φορά) Πίνακας 4.7: Αναλυτικοί χρόνοι εκτέλεσης Τμήμα αλγορίθμου Χρόνος εκτέλεσης Εκκίνηση Application Server 192 sec (3m 12sec) Υπολογισμός πιθανοτήτων για κάθε οικογένεια 2489 sec (41m 29sec) Υπολογισμός Train και Test Sets 162 sec (2m 42sec) Δημιουργία συνολικού PTA 11073 sec (3h 4m 33sec) Δημιουργία συνολικού FSA (ALERGIA) 1071 sec (17m 51sec) Υπολογισμός του support(χ) για κάθε συνδυασμό μοτίβων 11413 sec (3h 10m 13sec) Σύνολο 26400 sec (7h 20m) Για κάθε οικογένεια ή συνδυασμό οικογενειών Υπολογισμός Train και Test Sets Δημιουργία τοπικού PTA Δημιουργία τοπικού FSA (ALERGIA) Υπολογισμός του support(χ) για κάθε συνδυασμό μοτίβων < 1 sec 0.28*[Πλήθος πρωτεϊνών] sec < 1 sec 0.1*[Πλήθος συνδυασμών] sec Έλεγχος κανόνων 0.3*[Πλήθος πρωτεϊνών] sec

Κεφάλαιο 5. Συμπεράσματα και Μελλοντικές Προεκτάσεις 5.1. Συμπεράσματα Από τα παραπάνω φαίνεται καθαρά ότι ο αλγόριθμος είναι εξαιρετικά ταχύς, ιδιαίτερα εάν δε λάβουμε υπόψη το πρώτο τμήμα του, το οποίο αρκεί να εκτελεστεί μία φορά. Το πρόβλημα όμως εμφανίζεται όταν ο αλγόριθμος προσπαθήσει να δημιουργήσει πολύπλοκους κανόνες. Για παράδειγμα, εάν δημιουργούνται απλοί κανόνες (με ένα μοτίβο και μία οικογένεια), τότε απαιτούνται 0.1*(συνδυασμούς των 1185 ανά 1) seconds, δηλαδή περίπου 2 λεπτά. Για λίγο πιο πολύπλοκους κανόνες (με δύο μοτίβα και μία οικογένεια) ο χρόνος εκτοξεύεται στα 0.1*(συνδυασμούς των 1185 ανά 1 + συνδυασμούς των 1185 ανά 2), δηλαδή περίπου 20 ώρες. Είναι φανερό ότι κάτι τέτοιο είναι μάλλον απαγορευτικό για τον αλγόριθμο. Από την άλλη πλευρά, ο αλγόριθμος παρουσιάζει εξαιρετικά μεγάλες επιδόσεις, ακόμα και με πολύ λίγα στοιχεία. Κατά τη διάρκεια των πειραμάτων, δεν ήταν λίγες οι φορές που το πραγματικό ποσοστό επιτυχίας έφτασε πολύ κοντά στο 100% με το ιδανικό να είναι 100%, χρησιμοποιώντας τυχαία σύνολα εκπαίδευσης. Αυτά τα αποτελέσματα οδηγούν στην εξής υπόθεση: Καθώς ο αλγόριθμος απλά γενικεύει μία μορφή η οποία του δίνεται ως είσοδος, θα ήταν ίσως δυνατόν, με τη βοήθεια ειδικών, να δοθεί ως είσοδος ένα πολύ μικρό πλήθος πρωτεϊνών, οι οποίες όμως να είναι χαρακτηριστικές για κάθε οικογένεια. Με αυτό τον τρόπο οι επιδόσεις του αλγορίθμου μπορεί να είναι πολύ μεγαλύτερες.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 71 Ένα άλλο σημαντικό πλεονέκτημα αυτής της μεθόδου είναι η συμπίεση των δεδομένων που επιτυγχάνεται. Με τη χρήση μερικών εκατοντάδων κανόνων έγινε δυνατή η πιστή και ακριβής περιγραφή χιλιάδων πρωτεϊνικών αλυσίδων. Ένα τέτοιο αποτέλεσμα είναι ιδιαίτερα επιθυμητό, εάν ληφθεί υπόψιν η πληθώρα δεδομένων που υπάρχει και δημιουργείται καθημερινά, κυρίως σε επιστημονικούς κλάδους όπως ο κλάδος της βιολογίας. 5.2. Μελλοντικές Επεκτάσεις Βελτιώσεις Το σύστημα επιδέχεται επεκτάσεις τόσο από αλγοριθμικής πλευράς, όσο και από πλευράς υλοποίησης. Καταρχήν είναι αναγκαία η εφαρμογή του αλγορίθμου με στόχο την κατασκευή πιο πολύπλοκων κανόνων, με τουλάχιστον 2 οικογένειες στο δεξί μέρος και 5 μοτίβα στο αριστερό. Με αυτό τον τρόπο θα βελτιωθεί σημαντικά η ακρίβεια των κανόνων που θα δημιουργηθούν, καθώς αυτοί θα ανταποκρίνονται σε μια πιο πιστή αναπαράσταση της πραγματικότητας. Από πλευράς υλοποίησης, το σύστημα θα μπορούσε να κατασκευαστεί εξ ολοκλήρου ως εφαρμογή διαδικτύου, με τη χρήση JSP σελίδων, με στόχο την βελτίωση της φιλικότητας προς τον χρήστη. Μία άλλη επέκταση θα μπορούσε να είναι η αυτοματοποιημένη σύνδεση του συστήματος, τόσο με τον Application Server όσο και με τον Database Server, κάτι που αυτή τη στιγμή πρέπει να γίνεται χειροκίνητα. Τέλος, μία σημαντική εξέλιξη του αλγορίθμου θα είναι η εφαρμογή του αλγορίθμου σε Πλέγμα Υπολογιστών. Απαραίτητη προϋπόθεση σε αυτή την περίπτωση είναι αφενός η ανάλυση του αλγορίθμου σε παράλληλες διεργασίες, και αφετέρου η υλοποίησή του με χρήση πρωτοκόλλων Πλέγματος Υπολογιστών. Με αυτόν τον τρόπο θα είναι δυνατή τόσο η πλήρης αυτοματοποίηση όλων των διαδικασιών, όσο και η υποστήριξη εξαιρετικά πολύπλοκων κανόνων.

Βιβλιογραφία [ACF + 00] T.K. Attwood, M.D.R. Croning, D.R. Flower, A.P. Lewis, J.E. Mabey, P. Scordis, J. Selley, W. Wright, PRINT-S: the database formerly known as PRINTS, Nucleic Acids Res. 28, pp. 225 227, 2000. [BAI 99] A. Bairoch, Prosite: A dictionary of protein sites and patterns User Manual, Swiss Institute of Bioinformatics, Geneva, 1999. [BBD + 00] A. Bateman, E. Birney, R. Durbin, S.R. Eddy, K.L. Howem, E.L.L. Sonnhammer, The Pfam protein families database, Nucleic Acids Res. 28, pp. 263 266, 2000. [BIS 95] C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press, New York, 1995. [BO 01] A.D. Baxevanis, B.F.F.Ouellette, Bioinformatics, Wiley Interscience, New York, 2001. [CO 94] R.C. Carrasco, J. Oncina, Learning stochastic regular grammar by means of a state merging method, Proc. The Second International Colloquium on Grammatical Inference (ICGI 94), Alicante, Spain, Lecture Notes in Artificial Intelligence LNAI 862, pp. 139 152, Springer Verlag, 1994. [DH 73] R. Duad, P. Hart, Pattern Classification and Scene Analysis, Wiley, New York, 1973. [EN 00] R. Elmasri, S.B. Navathe, Fundamentals of Database Systems, Addison Wesley, Massachusetts, 2000. [FPB + 02] L. Falquet, M. Pagni, P. Bucher, N. Hulo, C.J. Sigrist, K. Hofmann, A. Bairoch, The PROSITE database, its status in 2002, Nucleic Acids Res. 30, pp. 235 238, 2002. [GJ 01] C. Gibas, P. Jambeck, Developing Bioinformatics Computer Skills, O Reilly, 2001 [HAD + 03] G. Hatzidamianos, S. Diplaris, I. Athanasiadis, P.A. Mitkas, GenMiner: a Data Mining Tool for Protein Analysis, 9 th Panhellenic Conference on Informatics, pp. 346 360, November 21 23, 2003, Thessaloniki, Greece.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 73 [HIN 01] P. Hingston, Using Finite State Automata for Sequence Mining, Twenty Fifth Australasian Computer Science Conference, Melbourne, Australia, 105 110, 2001. [LAF 03] R. Lafore, Data Structures and Algorithms in Java, Sams, Indianapolis, 2003. [QUI 92] J.R. Quinlan, Programs for Machine Learning, Morgan Kaufmann, San Mateo, CA, 1992. [WF 00] I.H. Witten, E. Frank, Data Mining, Morgan Kaufmann, London, 2000. [WWH + 01] D. Wang, X. Wang. V. Honavar, D.I. Dobbs, Data Driven Generation of Decision Trees for Motif Based Assignment of Protein Sequences to Functional Families, Iowa State University, Ames, IA, 2001. [ΖΖ 02] C. Zhang, S. Zhang, Association Rule Mining, Springer, 2002. [ΝΤΕ 01] Α. Ντελόπουλος, Θεωρία Υπολογισμών και Αλγορίθμων, Πανεπιστημιακές Σημειώσεις ΑΠΘ, Θεσσαλονίκη, 2001. [URL 1] [URL 2] [URL 3] [URL 4] [URL 5] [URL 6] [URL 7] [URL 8] http://au.expasy.org/prosite/ http://www.sanger.ac.uk/software/pfam/ http://www.ebi.ac.uk/interpro/ http://java.sun.com http://www.microsoft.com http://jboss.org http://forum.java.sun.com/ http://www.javaworld.com/javaworld/jw-07-2000/jw-0707-jdbc.html

Παραρτήματα

Παράρτημα Α: Οδηγός Χρήσης του Εικόνες Διεπαφών Το πρώτο βήμα πριν τη χρήση του, είναι η εκκίνηση του SQL Server και του JBoss, καθώς και η ανάπτυξη των EJB modules στον JBoss. Έτσι, αρχικά η οθόνη του JBoss πρέπει να έχει την παρακάτω μορφή: Εικόνα Α.1: Οθόνη JBoss πριν την εκτέλεση του

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 76 Η πρώτη οθόνη του συστήματος είναι η ακόλουθη: Εικόνα Α.2: Αρχική οθόνη συστήματος Ο χρήστης έχει τρεις επιλογές: η πρώτη είναι να δημιουργήσει τα βασικά αρχεία για τη σωστή λειτουργία του συστήματος, δηλαδή τα αρχεία που περιέχουν το συνολικό PTA, το συνολικό FSA, τις πιθανότητες των οικογενειών και το support όλων των μοτίβων. Η δεύτερη επιλογή είναι και η ουσιαστική λειτουργία του συστήματος. Δίνεται η δυνατότητα στο χρήστη να εξάγει κανόνες με βάση παραμέτρους που αυτός θέτει. Η τρίτη επιλογή είναι ουσιαστικά η χρήση κανόνων που έχουν ήδη εξαχθεί για την κατηγοριοποίηση άγνωστων πρωτεϊνών. Πατώντας το πρώτο πλήκτρο, εμφανίζεται η εξής οθόνη: Εικόνα Α.3: Οθόνη δημιουργίας βασικών αρχείων

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 77 Αριστερά βρίσκονται τα βασικά αρχεία που απαιτεί το σύστημα, μαζί με μία ένδειξη για το αν ήδη υπάρχουν ή όχι. Εάν δεν υπάρχουν, ο χρήστης είναι αναγκασμένος να τα δημιουργήσει ακολουθώντας μία προκαθορισμένη σειρά. Εάν υπάρχουν, μπορεί να δημιουργήσει ξανά κάποια από τα αρχεία, βάζοντας νέες παραμέτρους. Πατώντας το πλήκτρο OK, το σύστημα εμφανίζει στο χρήστη τις τιμές των παραμέτρων για επαλήθευση (Εικόνα Α.4), και στη συνέχεια, εάν οι ρυθμίσεις είναι αποδεκτές, το σύστημα δημιουργεί συγκεκριμένα αρχεία (Εικόνα Α.5). Εικόνα Α.4: Οθόνη δημιουργίας βασικών αρχείων Επαλήθευση παραμέτρων

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 78 Εικόνα Α.5: Οθόνη δημιουργίας βασικών αρχείων Έξοδος συστήματος Έχοντας δημιουργήσει πλέον τα βασικά αρχεία, το επόμενο βήμα είναι η εξαγωγή κανόνων, πατώντας το δεύτερο πλήκτρο («Create Rules»). Στα αριστερά της οθόνης (Εικόνα Α.6) βρίσκεται μία λίστα με όλες τις οικογένειες πρωτεϊνών που βρίσκονται στη βάση. Ο χρήστης μπορεί να επιλέξει κάποιες ή και όλες τις οικογένειες, και στη συνέχεια να δημιουργήσει κανόνες με βάση τις παραμέτρους που αυτός θέτει στα στοιχεία ελέγχου στα δεξιά της οθόνης. Μετά την επιλογή των παραμέτρων, το σύστημα ζητά από το χρήστη να δώσει κάποιο όνομα στο αρχείο εξόδου που θα προκύψει. Το αρχείο αυτό περιέχει τους κανόνες καθώς και πληροφορίες για τις παραμέτρους που δημιούργησαν τους κανόνες. Μετά την επιλογή κάποιου αρχείου, το σύστημα εμφανίζει για επαλήθευση τις τιμές των παραμέτρων που επιλέχθηκαν (Εικόνα Α.7) και στη συνέχεια αρχίζει η εκπαίδευση του συστήματος.

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 79 Εικόνα Α.6: Οθόνη δημιουργίας κανόνων Εικόνα Α.7: Οθόνη δημιουργίας κανόνων Επαλήθευση παραμέτρων

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 80 Μετά την εκπαίδευση του συστήματος, παρουσιάζονται στο χρήστη οι κανόνες που δημιουργήθηκαν, καθώς και το ποσοστό επιτυχίας που είχαν κατά τη διάρκεια του ελέγχου. Εικόνα Α.8: Οθόνη δημιουργίας κανόνων Ποσοστό επιτυχίας κανόνων Η τελευταία δυνατότητα που παρέχεται στο χρήστη είναι η δυνατότητα να χρησιμοποιήσει απευθείας τους κανόνες που δημιουργήθηκαν, για την κατηγοριοποίηση άγνωστων πρωτεϊνών, με τη βοήθεια του τρίτου πλήκτρου («Use Rules»). Η νέα οθόνη που παρουσιάζεται στον χρήστη είναι η ακόλουθη: