Πρόβλεψη συµπεριφοράς πρωτεϊνών µε χρήση µεθόδων εξόρυξης δεδοµένων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πρόβλεψη συµπεριφοράς πρωτεϊνών µε χρήση µεθόδων εξόρυξης δεδοµένων"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ιπλωµατική Εργασία του Γεράσιµου Χατζηδαµιανού (Α.Ε.Μ.3810) υπό την καθοδήγηση του κ. Ιωάννη Ν. Αθανασιάδη ιπλ. Ηλεκτρολόγου Μηχανικού και την επίβλεψη του κ. Περικλή Α. Μήτκα Αναπληρωτή Καθηγητή Πρόβλεψη συµπεριφοράς πρωτεϊνών µε χρήση µεθόδων εξόρυξης δεδοµένων Φεβρουάριος 2003

2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Πρόβλεψη συµπεριφοράς πρωτεϊνών µε χρήση µεθόδων εξόρυξης δεδοµένων. ιπλωµατική εργασία του Χατζηδαµιανού Γεράσιµου (Α.Ε.Μ.:3810) Καθοδήγηση Ιωάννης Ν. Αθανασιάδης ( ιπλ. Ηλεκτρολόγος Μηχανικός) Επίβλεψη κ. Περικλής Α. Μήτκας (Αναπληρωτής Καθηγητής) Φεβρουάριος 2003

3 Αφιερωµένη στους γονείς µου και τους φίλους µου Αντώνη και ηµήτρη.

4 εν ξέρεις τι θες αλλά ζητάς Ξέρεις τι θες αλλά πονάς Πονάς που φεύγουν δίχως εσένα πλοία εν ξέρεις που πηγαίνουνε µα ξέρεις πως κάποτε θα φτάσουν εκεί που εσύ δεν έφτασες ποτέ Ονειρεµένα, µακρυνά ταξίδια αυτά θα κάνουν µα εσύ έµεινες στο χτες. Σε ηλιοκαµµένους τόπους θ αγκυροβολήσουν εκεί που οι νύχτες είναι µικρές Εκεί ίσως κάποτε σε συναντήσουν φτάνει µόνο να το θες. Ε. ραγώνα

5 Περιεχόµενα Περιεχόµενα... 5 Ευχαριστίες... 8 Εισαγωγή... 9 Κεφάλαιο 1. Περιγραφή του προβλήµατος Εισαγωγή Η ανάγκη για κατηγοριοποίηση πρωτεϊνών Ο στόχος της εργασίας Ορισµός του προβλήµατος...15 Κεφάλαιο 2. Ανάλυση απαιτήσεων Εισαγωγή Απεικόνιση των δεδοµένων Όψεις χρηστών Βιολόγοι Μαθητές Προγραµµατιστές Παρεχόµενες υπηρεσίες ηµιουργία δέντρου αποφάσεων Λειτουργικό και απλό Interface Ενσωµάτωση πολλών εργαλείων σε ένα πρόγραµµα...20 Κεφάλαιο 3. Μεθοδολογία ανάπτυξης Εισαγωγή Τεχνολογίες που χρησιµοποιήθηκαν Borland JBuilder Microsoft SQL Server WEKA Data Miner Προετοιµασία των δεδοµένων Η βάση δεδοµένων Prosite Οι υπόλοιπες βάσεις δεδοµένων οµή τελικού αρχείου WEKA οµή τελικού αρχείου SQL Analysis Server Ο Αλγόριθµος Στοιχεία που χρειαζόµαστε...34

6 Ο αλγόριθµος στο µικροσκόπιο Χρήση αποθηκευµένων διαδικασιών (stored procedures) Σχεδίαση της Βάσης εδοµένων Σχέσεις, πεδία ορισµού και τύποι δεδοµένων Περιορισµοί ακεραιότητας Παραδείγµατα πινάκων, ερωτηµάτων Εκτίµηση µεγέθους...50 Κεφάλαιο 4. Υλοποίηση Εισαγωγή Στάδια υλοποίησης Προβλήµατα που παρουσιάστηκαν Προβλήµατα αλγορίθµου Προβλήµατα ταχύτητας εκτέλεσης Προβλέψιµες βελτιώσεις επεκτάσεις υνατότητα εκτέλεσης από τον παγκόσµιο ιστό Μείωση χρόνου εκτέλεσης Έξοδος σε XML...60 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA Εισαγωγή Πειράµατα Εξαγωγή δέντρου µε τη χρήση 10 κλάσεων Εξαγωγή δέντρου µε τη χρήση 20 κλάσεων Πείραµα µε χρήση 30 κλάσεων Συζήτηση Το πρώτο πείραµα Το δεύτερο πείραµα Το τρίτο πείραµα Συµπεράσµατα Περιορισµοί...70 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server Εισαγωγή Πειράµατα ένδρο αποφάσεων 50 κλάσεων ένδρο αποφάσεων 80 κλάσεων Συµπεράσµατα...76 Κεφάλαιο 7. Σύνοψη... 77

7 Βιβλιογραφία Παράρτηµα Α. Οδηγός χρήσης GenTool Α1. Εισαγωγή...81 Α2. ηµιουργία της βάσης δεδοµένων Gen Database...81 Α3. ηµιουργία δέντρου αποφάσεων...81 Α4. ηµιουργία σετ ελέγχου...82 Παράρτηµα Β. Εικόνες διεπαφών Παράρτηµα Γ. είγµατα πηγαίου κώδικα Παράρτηµα. Οδηγίες Εγκατάστασης... 93

8 Ευχαριστίες Με την παρουσίαση και βαθµολόγηση της διπλωµατικής εργασίας που κρατάτε στα χέρια σας, παίζεται και η τελευταία πράξη, µιας παράστασης που ξεκίνησε περίπου πέντε χρόνια πριν. Υποκλινόµενος ο πρωταγωνιστής, επιθυµεί να ευχαριστήσει όλους εκείνους τους ανθρώπους, που ήταν πάντα δίπλα του. Η συνεργασία µου το «Εργαστήριο Ευφυών Συστηµάτων και Λογισµικού» και τον Αναπληρωτή Καθηγητή κ. Περικλή Μήτκα εκπλήρωσε µία µεγάλη µου επιθυµία. Το γνωστικό αντικείµενο των Βάσεων εδοµένων µου κέντρισε το ενδιαφέρον από την πρώτη στιγµή, που το διδάχθηκα, ορίζοντας έτσι, τους στόχους µου για το µέλλον. Ξεκινώντας από την άρτια καθοδήγηση του διδακτορικού φοιτητή Ιωάννη Αθανασιάδη και την εξαιρετική επίβλεψη του επίσης διδακτορικού φοιτητή Ανδρέα Συµεωνίδη και συνεχίζοντας µε την ακούραστη προσφορά του πτυχιούχου Ηλεκτρολόγου Μηχανικού Γιώργου Μιλή πάνω σε όλα τα θέµατα που αφορούν στον SQL Server 2000 της Microsoft, µια µικρή λέξη όπως το «ευχαριστώ» στο σύγγραµµα αυτό αποτελεί την ελάχιστη µορφή ανταµοιβής. Ευχαριστώ θερµά επίσης, τους καλούς σύµβουλους σε θέµατα της γλώσσας προγραµµατισµού Java, τον προπτυχιακό φοιτητή Γιώργο Μαµαλάκη καθώς και τον διδακτορικό φοιτητή ιονύση Κεχαγιά που δικαίως θεωρείται ο «γκουρού» του GUI. Φυσικά, το κείµενο, που πρόκειται να διαβάσετε, δεν θα είχε την µορφή, που έχει τώρα, αν δεν περνούσε πρώτα από τα έµπειρα µάτια της φιλολόγου καθηγήτριας Ιωάννας Σ. Μερµεκλή.

9 Εισαγωγή Γενικά Καθηµερινά ακούµε, βλέπουµε και διαβάζουµε για τις διάφορες εφευρέσεις, εξελίξεις, «υπερβάσεις» της τεχνολογίας, κατορθώµατα της ιατρικής για όλα αυτά που υπόσχονται να κάνουν τη ζωή µας καλύτερη ή τουλάχιστον έτσι νοµίζουµε. Κανείς δεν µπορεί να πει µε σιγουριά, ποια από όλα αυτά θα κερδίσουν κάποια θέση στην ιστορία, µπορούµε όµως να προβλέψουµε µε ασφάλεια, ότι οι εξελίξεις τόσο στην βιοτεχνολογία όσο και στην γενετική θα απασχολούν για πολλά χρόνια την επιστηµονική κοινότητα. Στη συγκεκριµένη εργασία δε θα γίνει καµία αναφορά στους κινδύνους που εγκυµονούν για τον άνθρωπο η κλωνοποίηση συγγενικών µε αυτόν οργανισµών και η επικράτηση των µεταλλαγµένων λαχανικών στις προηγµένες οικονοµικά χώρες. ε θα πραγµατοποιηθεί καµία προσπάθεια απόδειξης της ύπαρξης ή όχι ενός εµβολίου που καταπολεµά την επάρατη νόσο, ούτε θα γίνει λόγος για βρέφη που γεννιούνται κατά παραγγελία. Το κείµενο που κρατάτε στα χέρια σας, παρουσιάζει µία εφαρµογή που αναπτύχθηκε στα πλαίσια της διπλωµατικής εργασίας µε τίτλο «Κατηγοριοποίηση πρωτεϊνών µε χρήση µεθόδων εξόρυξης δεδοµένων» υπό την καθοδήγηση του διδακτορικού φοιτητή Ιωάννη Αθανασιάδη και την επιτήρηση του αναπληρωτή καθηγητή κ. Περικλή Μήτκα. Το όνοµα της εφαρµογής είναι GenTool και ονοµάστηκε έτσι γιατί αποτελεί ένα ολοκληρωµένο εργαλείο προετοιµασίας και ανάλυσής γενετικών δεδοµένων. Η συγκεκριµένη µελέτη βασίστηκε σε προηγούµενες έρευνες που έγιναν µε στόχο την πρόβλεψη της συµπεριφοράς των πρωτεϊνών [WWH + 01]. Ο τρόπος µε τον οποίο αντιµετωπίστηκε το ζήτηµα της πρόβλεψης, είναι η δηµιουργία ενός δενδρικού µοντέλου αποφάσεων µε τη χρήση ενός σετ εκπαίδευσης και στη συνέχεια ο έλεγχος και η αξιοποίηση του από άγνωστες σε αυτό πρωτεΐνες. Η ανάγκη για χρήση µεθόδων εξόρυξης δεδοµένων και δένδρων αποφάσεων προέκυψε από το γεγονός ότι κάθε πρωτεΐνη αποτελείται από ένα συγκεκριµένο αριθµό µοτίβων τα οποία καθορίζουν τη συµπεριφορά της. Η αναγνώριση των ιδιοτήτων µιας πρωτεΐνης λοιπόν, θα

10 Εισαγωγή 10 έπρεπε να αποτελεί το συµπέρασµα αµέτρητων συνδυασµών καθώς κάποια µοτίβα είναι πιο ισχυρά από κάποια άλλα, επηρεάζοντας έτσι µε την παρουσία ή απουσία τους τον τρόπο µε τον οποίο αυτή αντιδρά. Για περισσότερες λεπτοµέρειες σχετικά µε τα µοτίβα, θα µπορούσε κανείς να ανατρέξει στο βιβλίο των Hudak J. & McClure, M.A. A Comparative Analysis of Computational Motif Detection Methods 4: (1999). Μια πρώτη µελέτη στην αναγνώριση των προτύπων των πρωτεϊνών πραγµατοποιήθηκε από τους Dayhoff M. O., Barker W. C., Hunt L. T. Establishing Homologies in Protein Sequences, Methods in Enzymology, 91, 524 (1983). Περιεχόµενα του συγγράµµατος Αρχικά, ο αναγνώστης, συναντά κάποια γενικά στοιχεία σχετικά µε την βιοπληροφορική και τον ρόλο της στη σύγχρονη εποχή. Πραγµατοποιούνται εκτενείς αναφορές στη σηµασία που έχει η έρευνα σε αυτόν τον τοµέα για τον άνθρωπο, αλλά και τις συνέπειες από την λανθασµένη εξέλιξή της. Έπειτα, ο αναγνώστης εισάγεται στο πρόβληµα που καλούµαστε να αντιµετωπίσουµε. Έτσι λοιπόν, παρουσιάζεται την περιγραφή του προβλήµατος, µε απλά λόγια και ορίζονται οι όροι που θα χρησιµοποιηθούν στη συνέχεια. Η απόσταση της θεωρητικής προσέγγισης του έργου από την επινόηση του κατάλληλου αλγορίθµου και την υλοποίηση του, δείχνει να µικραίνει µε την περιγραφή των απαιτήσεων που οδήγησαν στην δηµιουργία του συγκεκριµένου συστήµατος και µε την παρουσίαση των αναγκών κάθε χρήστη που χρήζουν κάλυψης. Κατόπιν, ο αναγνώστης έρχεται σε επαφή µε τη µεθοδολογία ανάπτυξης του συστήµατος και γνωρίζει τις τεχνολογίες που χρησιµοποιήθηκαν. Γίνεται σαφής η πρόθεση να περιγραφεί αναλυτικά ο αλγόριθµος που επινοήσαµε καθώς και να αποσαφηνιστούν οι σκέψεις που οδήγησαν στην επιλογή του. Θεωρούµε ότι αρκετό ενδιαφέρον παρουσιάζουν οι περιγραφές των ενδιάµεσων σταθµών που µεσολάβησαν µέχρι τη δηµιουργία του τελικού προϊόντος καθώς και η παρουσίαση των προβληµάτων που αντιµετωπίστηκαν σε όλη τη διάρκεια της υλοποίησης.

11 Εισαγωγή 11 Η όλη εργασία δε θα είχε καµία αξία, αν δεν γινόταν εκτενής αναφορά στα πειράµατα που πραγµατοποιήθηκαν, στα διάφορα στατιστικά στοιχεία που προέκυψαν, καθώς και σε µερικά σχόλια πάνω στα αποτελέσµατα. Απαραίτητη κρίνεται επίσης η αναφορά στα συµπεράσµατα που εξάγονται από το κεφάλαιο των πειραµάτων όπως και στους τρόπους βελτίωσής των αποτελεσµάτων. Με έναν οργανωµένο τρόπο, παρουσιάζονται επίσης, οι βέλτιστες δυνατές ρυθµίσεις για το καλύτερο δυνατό αποτέλεσµα. Στο τέλος του συγγράµµατος µπορεί κανείς να συναντήσει τη βιβλιογραφία που χρησιµοποιήθηκε καθώς και διάφορα παραρτήµατα που περιλαµβάνουν το εγχειρίδιο χρήσης της εφαρµογής, εικόνες της, τµήµατα κώδικα καθώς και τον πλήρη οδηγό εγκατάστασής του συστήµατος.

12 Κεφάλαιο 1. Περιγραφή του προβλήµατος 1.1. Εισαγωγή Ο όρος «βιοπληροφορική» δηµιουργήθηκε για να περιγράψει τη δηµιουργία εργαλείων πληροφορικής για την αξιοποίηση των δεδοµένων, που προέρχονται από τον χώρο της βιολογίας. Είναι µια σύνθετη επιστήµη και καθώς το αντικείµενο της Βιολογίας είναι εξαιρετικά ευρύ, έτσι και η επιστήµη της Βιοπληροφορικής είναι δύσκολο να οριστεί και να απαριθµηθούν οι τοµείς που καλύπτει. Εύκολα καταλαβαίνει κανείς ότι ο κλάδος αυτός γνώρισε ιδιαίτερη ανάπτυξη τα τελευταία χρόνια χάρη στην ευρεία εξέλιξη των υπολογιστών. Μερικά από τα επιτεύγµατα της βιοπληροφορικής είναι η αποκωδικοποίηση του γενετικού κώδικα του ανθρώπου (DNA) σε εξαιρετικά σύντοµο χρονικό διάστηµα, η ταχύτατη ανάπτυξη της βιοτεχνολογίας, αλλά και η κλωνοποίηση συγγενικών µε τον άνθρωπο οργανισµών. Ένας άλλος µεγάλος τοµέας της Βιοπληροφορικής είναι οι βάσεις δεδοµένων. Με την αποκωδικοποίηση του DNA και των πρωτεϊνών του ανθρώπου, αλλά και πάρα πολλών άλλων οργανισµών δηµιουργήθηκαν µεγάλες βάσεις δεδοµένων για την καταγραφή τους. Χαρακτηριστικός είναι ο αριθµός των βασικών δοµικών στοιχείων του DNA που είναι καταχωρηµένα στις

13 Κεφάλαιο 1. Περιγραφή προβλήµατος 13 τρεις µεγάλες βάσεις δεδοµένων (Genbank, EMBL, DDBJ), ο οποίος ξεπερνάει αυτήν την στιγµή τα 20 τρισεκατοµµύρια! 1.2. Η ανάγκη για κατηγοριοποίηση πρωτεϊνών Ένας άλλος τοµέας της Βιοπληροφορικής είναι η δοµική Βιολογία ή αλλιώς η παρουσίαση των δοµών διάφορων βιολογικών µακροµορίων. Να διευκρινίσουµε ότι η γνώση της δοµής στο χώρο των µακροµορίων, είναι αυτή που θα δώσει την απάντηση σε πάρα πολλές ασθένειες, καθώς οι περισσότερες οφείλονται σε προβληµατική λειτουργία των πρωτεϊνών, που σχετίζονται µε αυτές. Η λειτουργία µιας πρωτεΐνης είναι άµεσα συνδεδεµένη µε την δοµή της. Η Βιοπληροφορική ασχολείται τόσο µε την απεικόνιση της τρισδιάστατης δοµής, που έχει προκύψει από πειραµατικά δεδοµένα όσο και µε την πρόβλεψή της µε διάφορους αλγόριθµους, που έχει υποτεθεί ότι ισχύουν για τις δοµές των πρωτεϊνών. Οι πρωτεΐνες σαν δοµικό στοιχείο του ανθρώπινου σώµατος αποτελούν το 1/5 του βάρους του. Έτσι µετά το H 2 O οι πρωτεΐνες αποτελούν το πιο σηµαντικό υλικό του ανθρώπινου σώµατος. Μύες, δέρµα, τρίχες, νύχια ακόµα και το σύνολο του µατιού και φυσικά τα ένζυµα και ορισµένες ορµόνες είναι πρωτεϊνικής φύσης. Ακόµα και η άµυνα του οργανισµού, ο σχηµατισµός αντισωµάτων, η µεταφορά ουσιών όπως οξυγόνου, αλάτων και λιπαρών οξέων γίνεται στο ζωικό οργανισµό µε τις πρωτεΐνες. Οι πρωτεΐνες είναι υπεύθυνες για την οικοδόµηση και διατήρηση των ιστών του αίµατος ή και ακόµα για την παροχή ενέργειας. Οι πρωτεΐνες δοµούνται από αµινοξέα και µε την ακολουθία τους καθορίζουν και τη λειτουργικότητα τους. Ο αριθµός των αµινοξέων, που συµµετέχουν στη δοµή της πρωτεΐνης είναι διαφορετικός και εξαρτάται από το είδος αυτής. Από το συνολικό αριθµό των 20 αµινοξέων, που συµµετέχουν στο µέγιστο στη δοµή των πρωτεϊνών, τα 10 µπορούν να σχηµατισθούν από τον ανθρώπινο οργανισµό, ενώ τα υπόλοιπα 10 πρέπει να εισαχθούν µε τις τροφές. Τα αµινοξέα, που εισάγονται µε την τροφή, λέγονται απαραίτητα αµινοξέα. Απ όλα τα παραπάνω µπορούµε εύκολα να συµπεράνουµε την πολύ µεγάλη σηµασία, που έχουν οι πρωτεΐνες για τον άνθρωπο. Μέχρι τώρα η βιολογική δράση των πρωτεϊνών µπορούσε να γίνει γνώστη µόνο µέσω της

14 Κεφάλαιο 1. Περιγραφή προβλήµατος 14 διαδικασίας χρονοβόρων και πολυέξοδων πειραµάτων. Η βιοπληροφορική αναλαµβάνει να επιλύσει αυτό το πρόβληµα µε µεθόδους σαν και αυτήν που παρουσιάζεται παρακάτω Ο στόχος της εργασίας Ο στόχος της παρούσας διπλωµατικής εργασίας είναι η πρόβλεψη της λειτουργικής συµπεριφοράς των πρωτεϊνών το οποίο αποτελεί µέχρι και σήµερα ένα από τα πιο µεγάλα προβλήµατα της λειτουργικής γενετικής. Τα τελευταία χρόνια ποικιλία προγραµµατιστικών προσεγγίσεων έχουν αναπτυχθεί για την αναγνώριση µικρών αλυσίδων αµινοξέων, οι οποίες εµπεριέχονται σε οικογένειες συσχετιζόµενων πρωτεϊνών. Οι αλυσίδες αυτές ονοµάζονται µοτίβα και καθώς σε αυτά κυρίως οφείλεται η συµπεριφορά µιας πρωτεΐνης, χρησιµοποιούνται ευρέως για την πρόβλεψη της λειτουργίας αυτής. Έχουν ήδη αναπτυχθεί κάποιες βάσεις δεδοµένων, που περιέχουν τέτοια µοτίβα. Μερικές από τις πιο γνωστές είναι:! Prosite! Pfam! Prints Οι λειτουργίες, καθώς και ο συσχετισµός τους µε τα µοτίβα είναι αποθηκευµένες στις παραπάνω βάσεις δεδοµένων µε αποτέλεσµα να γνωρίζουµε την πιθανή λειτουργία των πρωτεϊνών, όπου περιέχονται. Γράφουµε πιθανή καθώς οι τελικές ιδιότητες που διέπουν µία πρωτεΐνη, είναι συνάρτηση πολλών µοτίβων όπου κάποια υπερισχύουν κάποιων άλλων. Έτσι λοιπόν, γίνεται αµέσως ορατή η ανάγκη δηµιουργίας εργαλείων, που θα µπορούν να ανακαλύπτουν οµοιότητες αλυσίδων και που θα µπορούν, κατ επέκταση, να προβλέπουν τη συµπεριφορά κάποιας πρωτεΐνης. Στην πράξη αλγόριθµοι εξόρυξης δεδοµένων εφαρµόζονται µε επιτυχία στην αναγνώριση αγνώστων πρωτεϊνών [WWH + 01]. Συνοψίζοντας, λοιπόν, οι στόχοι της παρούσας διπλωµατικής εργασίας είναι: 1. ηµιουργία λογισµικού προ-επεξεργασίας δεδοµένων Το λογισµικό αυτό θα έχει τη δυνατότητα να επεξεργάζεται τις τρεις µεγάλες βάσεις δεδοµένων που αφορούν στις πρωτεΐνες και να εξάγει ένα

15 Κεφάλαιο 1. Περιγραφή προβλήµατος 15 αρχείο µε τις πληροφορίες εκείνες που θα χρησιµοποιηθούν στη συνέχεια από τα προγράµµατα εξόρυξης δεδοµένων. Αυτή η διαδικασία ονοµάζεται προεπεξεργασία (preprocessing) και αποτελεί απαραίτητο βήµα για τη δηµιουργία του µοντέλου εξόρυξης δεδοµένων. 2. Χρήση εργαλείων εξόρυξης γνώσης για την εξαγωγή µοντέλων πρόβλεψης της συµπεριφοράς των πρωτεϊνών. Με τη χρήση εργαλείων εξόρυξης δεδοµένων όπως το WEKA (Waikato Environment for Knowledge Analysis) και ο SQL Analysis Server 2000 της Microsoft, θα δηµιουργηθούν µοντέλα γνώσης τα οποία θα χρησιµοποιηθούν για την πρόβλεψη συµπεριφορών των πρωτεϊνών. 3. ιεξαγωγή πειραµάτων και αποκόµιση χρήσιµων συµπερασµάτων. Με τη διεξαγωγή των πειραµάτων και την λήψη αποτελεσµάτων θα γίνει η αξιολόγηση της λειτουργικότητας του συστήµατος και της συνολικής προσφοράς της εργασίας γενικότερα Ορισµός του προβλήµατος Το βασικό πρόβληµα στο οποίο επιχειρείται να δοθεί λύση είναι το ακόλουθο: «δεδοµένης µίας βάσης δεδοµένων ή ενός σετ εκπαίδευσης αµινοξέων, που υπάρχουν σε πρωτεΐνες µε γνωστές ιδιότητες (οι οποίες έχουν προσδιοριστεί πειραµατικά), στόχος είναι η δηµιουργία ενός εργαλείου, το οποίο θα µπορεί να κατηγοριοποιεί νέες, άγνωστες πρωτεΐνες σε κάποια οικογένεια πρωτεϊνών (κλάση), γνωστή στο σετ εκπαίδευσης». Στο Σχήµα 1.1, παρουσιάζεται το διάγραµµα του τρόπου προσέγγισης του προβλήµατος. Για να είναι δυνατή η πρόβλεψη της λειτουργία της πρωτεΐνης, λοιπόν, απαιτείται η δηµιουργία ενός σετ δεδοµένων εκπαίδευσης (Training Data Set), το οποίο θα χρησιµοποιηθεί από τον αλγόριθµο του δέντρου αποφάσεων (Decision Tree Algorithm) για την κατασκευή του δέντρου. Στη φάση της αξιολόγησης χρήσης του δέντρου και της γνώσης που αυτό παρέχει, εισάγεται µια πρωτεΐνη εντελώς άγνωστη σε αυτό και ταξινοµείται ανάλογα µε τις ιδιότητες που την χαρακτηρίζουν.

16 Κεφάλαιο 1. Περιγραφή προβλήµατος 16 Σετ δεδοµένων εκπαίδευσης Σετ δεδοµένων δοκιµής Αξιολόγηση δέντρου αποφάσεων Αλγόριθµος δέντρου αποφάσεων Ταξινοµητής δέντρου αποφάσεων Άγνωστη πρωτεΐνη Πρόβλεψη λειτουργίας πρωτεΐνης Σχήµα 1.1 Βασικό διάγραµµα

17 Κεφάλαιο 2. Ανάλυση απαιτήσεων 2.1. Εισαγωγή Πρόκειται για τη σχεδίαση ενός ισχυρού και αξιόπιστου εργαλείου που θα ενσωµατώνει αρκετές λειτουργίες αναφορικά µε τη σύγκριση πρωτεϊνών, καθώς και την αναγνώρισή τους. Πιο συγκεκριµένα, το εν λόγω σύστηµα θα έχει τη δυνατότητα να δέχεται τον κώδικα µιας πρωτεΐνης και συγκρίνοντας τον µε τις κλάσεις συµπεριφορών που περιλαµβάνει, να εξάγει χρήσιµα συµπεράσµατα σχετικά µε τις ιδιότητες αυτής. Η επιλογή των κλάσεων, που θα παίρνουν µέρος σε κάθε έρευνα, θα γίνεται από τον χρήστη και το αποτέλεσµα της κάθε αναζήτησης θα είναι η συµπεριφορά, που θα παρουσιάζει η υπό εξέταση πρωτεΐνη. Για την δηµιουργία του παραπάνω συστήµατος θα χρησιµοποιηθεί το πρόγραµµα Gen-Miner, που αναπτύχθηκε από τον µεταπτυχιακό φοιτητή Ανδρέα Συµεωνίδη στο Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης, το WEKA (Waikato Environment for Knowledge Analysis) του πανεπιστηµίου Waikato της Νέας Ζηλανδίας καθώς και ο Analysis Manager του SQL Server 2000 της Microsoft.

18 Κεφάλαιο 2. Ανάλυση απαιτήσεων Απεικόνιση των δεδοµένων Το πρώτο βήµα στη διαδικασία αναγνώρισης της συµπεριφοράς των πρωτεϊνών, είναι η προετοιµασία του σετ δεδοµένων. Στην πλειοψηφία τους οι οδηγούµενοι από γεγονότα αλγόριθµοι αντιµετωπίζουν το κάθε στοιχείο (instance) ως ταξινοµηµένο τµήµα ενός συγκεκριµένου σετ γνωρισµάτων (attributes). Έτσι αρχικά απεικονίζεται κάθε πρωτεϊνική αλυσίδα µε τρόπο βασισµένο στον παραπάνω. Είναι σαφές ότι η επιλογή των γνωρισµάτων παίζει πολύ σηµαντικό ρόλο στη διαδικασία εξόρυξης δεδοµένων. Στην παρούσα περίπτωση οι πρωτεϊνικές αλυσίδες απεικονίζονται µε τη χρήση ενός κατάλληλου λεξικού ακολουθιών µοτίβων. Ας υποθέσουµε ότι το λεξικό περιλαµβάνει Ν µοτίβα. Κάθε πρωτεϊνική αλυσίδα περιέχει κάποιον περιορισµένο αριθµό αυτών. Κωδικοποιείται κάθε ακολουθία σαν ένα δυαδικό πρότυπο από N-bit µε το i-στο να παίρνει την τιµή 1 (YES), αν το αντίστοιχο µοτίβο υπάρχει στην αλυσίδα και την τιµή 0 (NO), αν αυτό απουσιάζει. Κάθε ακολουθία των N-bit συνοδεύεται από µία ετικέτα, χάρη στην οποία αναγνωρίζεται η λειτουργική οικογένεια της ακολουθίας. Το σετ εκπαίδευσης, εποµένως, δεν είναι τίποτε άλλο από µια συλλογή δυαδικών προτύπων των N-bit (Σχήµα 2.1 Απεικόνιση δεδοµένων). Πρωτεΐνη Χ Μοτίβα στην πρωτεΐνη Χ m3 m5 m6 N-bit δυαδικό πρότυπο Σχήµα 2.1 Απεικόνιση δεδοµένων

19 Κεφάλαιο 2. Ανάλυση απαιτήσεων Όψεις χρηστών Βιολόγοι Κάθε λογισµικό που αναπτύσσεται, έχει σαν στόχο την ευρεία αποδοχή του από κάποια οµάδα ατόµων. Στην περίπτωση της βιοπληροφορικής, τα διάφορα εργαλεία επιζητούν µια θέση στον υπολογιστή κάθε βιολόγου. Έτσι λοιπόν, οι βιολόγοι αποτελούν τη µεγαλύτερη κατηγορία χρηστών, καθώς είναι αυτοί που θα χρησιµοποιούν πιο συχνά το σύστηµα για επιστηµονικούς σκοπούς Μαθητές Εφόσον η βιολογία αποτελεί για χρόνια τώρα διδακτικό αντικείµενο στα σχολεία όλου του κόσµου, δεν είναι παράλογο να θεωρούµε τους µαθητές υποψήφιους χρήστες του λογισµικού. Μαζί µε τους µαθητές το σύστηµα είναι πιθανό να χρησιµοποιείται και από τους καθηγητές τους, ενώ θα προσφέρεται γνώση, που πιθανόν να ικανοποιήσει φοιτητές διαφόρων σχολών Προγραµµατιστές Μια τελευταία κατηγορία χρηστών είναι αυτή των προγραµµατιστών ευφυών συστηµάτων. Οι προγραµµατιστές θα µπορούν να αντλούν στοιχεία τόσο για την ανάλυση όσο και για την εξέλιξη του συστήµατος, όπως επίσης να αποκτούν τεχνογνωσία πάνω σε θέµατα βιοπληροφορικής Παρεχόµενες υπηρεσίες ηµιουργία δέντρου αποφάσεων Τα παραπάνω επιτυγχάνονται µέσω της δηµιουργίας ενός δέντρου αποφάσεων. Το δέντρο παραµένει στη διάθεση του χρήστη, για περαιτέρω µελέτη, ενώ παράλληλα του δίνεται η δυνατότητα να το αποθηκεύσει. Ο χρήστης έχει στην ουσία τη δυνατότητα να επιλέξει ανάµεσα σε δύο τρόπους υλοποίησης του δέντρου. Ο ένας είναι µέσω του WEKA ενώ ο άλλος είναι µέσω του SQL Analysis Server.

20 Κεφάλαιο 2. Ανάλυση απαιτήσεων Λειτουργικό και απλό Interface Η διεπαφή των χρηστών, δηµιουργήθηκε µε σκοπό να είναι απλή στη χρήση της, και κατανοητή ακόµη και στον λιγότερο καταρτισµένο χρήστη. Περιλαµβάνονται επεξηγήσεις πλήκτρων (tool tips), αλληλεπίδραση όπως αλλαγή χρώµατος πλήκτρων όταν ο δείκτης του ποντικιού βρίσκεται επάνω και πολλά άλλα Ενσωµάτωση πολλών εργαλείων σε ένα πρόγραµµα Όπως αναφέρθηκε και στην παράγραφο 1.3, στόχος της εργασίας ήταν η δηµιουργία ενός ολοκληρωµένου συστήµατος, το οποίο θα πραγµατοποιεί τόσο την προετοιµασία των δεδοµένων, όσο και την µετέπειτα αναζήτηση της άγνωστης πρωτεΐνης. Γι αυτό το λόγο ενσωµατώσαµε το πρόγραµµα εξόρυξης δεδοµένων WEKA. Στην Εικόνα 2.1, βλέπουµε το διάγραµµα ροής δεδοµένων του προγράµµατος. Από τη στιγµή που ο χρήστης εισάγει έναν έγκυρο κωδικό για τον SQL Server, έχει πρόσβαση στη δηµιουργία αρχείων εκπαίδευσης και ελέγχου που µπορούν να αξιοποιηθούν τόσο από τον SQL Analysis Server, όσο και από το σύστηµα WEKA. Εισαγωγή κωδικού χρήστη Επιλογή κλάσεων ηµιουργία αρχείου WEKA Επιλογή πρωτεϊνών ηµιουργία αρχείου SQL ηµιουργία SQL DATA Sets ηµιουργία WEKA DATA Sets Εικόνα 2.1 ιάγραµµα ροής δεδοµένων

21 Κεφάλαιο 2. Ανάλυση απαιτήσεων 21 Το γραφικό περιβάλλον του λογισµικού Η πρώτη εικόνα που εµφανίζεται στο χρήστη µετά την εκτέλεση του προγράµµατος, είναι το παράθυρο εισαγωγής ονόµατος χρήστη και κωδικού πρόσβασης για τη σύνδεση µε τον SQL Server. Έπειτα, αν τα στοιχεία είναι σωστά και ο χρήστης είναι εξουσιοδοτηµένος, εµφανίζεται η καρτέλα της προετοιµασίας των δεδοµένων (Preprocessing), η οποία περιλαµβάνει πλήκτρα εκτελέσεως των αποθηκευµένων διαδικασιών, επιλογής των επιθυµητών κλάσεων και πεδίο καταγραφής συµβάντων. Για να γίνουν καλύτερα κατανοητά όλα τα παραπάνω καθώς και το διάγραµµα ροής δεδοµένων, ο αναγνώστης παραπέµπεται στις εικόνες των διεπαφών του παραρτήµατος Β καθώς και στο εγχειρίδιο χρήσης του παραρτήµατος Α.

22 Κεφάλαιο 3. Μεθοδολογία ανάπτυξης 3.1. Εισαγωγή Σε αυτό το κεφάλαιο παρουσιάζεται ο τρόπος µε τον οποίο αποφασίστηκε να αντιµετωπιστεί το πρόβληµα, που εκτενώς αναλύθηκε στο κεφάλαιο 1. Πιο αναλυτικά, στην παράγραφο 3.2 συναντά κανείς τις τεχνολογίες που χρησιµοποιήθηκαν, ποιες δηλαδή ήταν οι γνώσεις, των οποίων η κτήση κρίθηκε απαραίτητη για την υλοποίηση του συστήµατος. Στην παράγραφο 3.3, παρουσιάζεται αναλυτικά ο αλγόριθµος που υλοποιήθηκε, ενώ στην παράγραφο 3.4 περιγράφεται η σχεδίαση της βάσης δεδοµένων που υλοποιήθηκε Τεχνολογίες που χρησιµοποιήθηκαν Borland JBuilder 6 Το σύστηµα ανάπτυξης εφαρµογών για Windows της Borland, JBuilder 6, κρίθηκε ως η βέλτιστη επιλογή για την ανάπτυξη του προγράµµατος, καθώς:! Βασίζεται στην γλώσσα προγραµµατισµού Java, η οποία µπορεί να εκτελείται σε οποιοδήποτε λειτουργικό σύστηµα µε τον ίδιο τρόπο.

23 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 23! Η Java είναι µία γλώσσα προγραµµατισµού που αναπτύχθηκε ιδιαίτερα τα τελευταία χρόνια και όπως πιστεύεται από πολλούς, είναι η γλώσσα του µέλλοντος.! Η χρήση της µηχανή WEKA (µία Java Implemented Data Mining µηχανή) µέσα από το GenTool, ήταν εφικτό µόνο µε την ανάπτυξη του προγράµµατός σε Java.! H έκδοση 6 του JBuilder είναι ιδιαίτερα βελτιωµένη και παρέχει πάρα πολλές ευκολίες για τη δηµιουργία συµπαγή και χωρίς σφάλµατα κώδικα.! Οι βιβλιοθήκες συναρτήσεων που έχουν αναπτυχθεί για την Java, είναι υπερµεγέθεις και αυτό θα διευκόλυνε το προγραµµατιστικό µας έργο, καθώς δε θα χρειαζόταν να γράψουµε υπερβολικά πολλές γραµµές κώδικα Microsoft SQL Server 2000 Η δηµιουργία µιας βάσης δεδοµένων κρίθηκε απαραίτητη για την γρήγορη και χωρίς σφάλµατα λειτουργία του προγράµµατος. Επιλέχθηκε ο SQL Server της Microsoft, καθώς:! Αποτελεί ένα από τα καλύτερα και πιο ολοκληρωµένα συστήµατα της αγοράς.! Είναι γνωστές οι δυνατότητές του και ικανοποιούν πλήρως τις απαιτήσεις της εφαρµογής.! Συνοδεύεται από πολύ καλή τεκµηρίωση, γεγονός το οποίο θα βοηθούσε ιδιαίτερα τόσο στη γρήγορη δηµιουργία, όσο και στην καλύτερη αξιοποίηση της βάσης.! Είναι ένα σύστηµα που χρησιµοποιείται για αρκετά χρόνια στο εργαστήριο Ευφυών Συστηµάτων και Τεχνολογίας Λογισµικού, τα µέλη του οποίου, µοιράζονται µε χαρά την γνώση και εµπειρία που έχουν αποκτήσει πάνω σε αυτό WEKA Data Miner Ενώ η προετοιµασία των δεδοµένων θα γινόταν µε τη χρήση του JBuilder 6 και του SQL Server 2000, το πρόγραµµα που επελέγη να χρησιµοποιηθεί για

24 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 24 την εξόρυξη των δεδοµένων ονοµάζεται WEKA (Waikato Environment for Knowledge Analysis) και επελέγη διότι:! Παρέχει πολύ µεγάλο αριθµό επιλογών τόσο για εξόρυξη δεδοµένων, όσο και για δηµιουργία δέντρων αποφάσεων.! Έχει αναπτυχθεί από το πανεπιστήµιο Waikato της Νέας Ζηλανδίας και ο κώδικάς του είναι διαθέσιµος µέσω του διαδικτύου [URL02].! Υπάρχει πλήθος εγχειριδίων και προσεγµένη τεκµηρίωση όλων των συναρτήσεων, που υλοποιούνται από την υπό συζήτηση µηχανή µε αποτέλεσµα να δίνεται η δυνατότητα εκµετάλλευσης όλων των ιδιαίτερων χαρακτηριστικών της Προετοιµασία των δεδοµένων Πριν δούµε, όµως, τον τρόπο µε τον οποίο θα προετοιµάζονται τα δεδοµένα µε σκοπό την εισαγωγή τους στη µηχανή WEKA, θα δούµε ποια µορφή έχουν αυτά και το τι ακριβώς εκφράζουν Η βάση δεδοµένων Prosite Η βάση δεδοµένων Prosite περιέχει πάνω από 1100 εγγραφές. Κάθε εγγραφή περιγράφει µια λειτουργία, κοινή σε ορισµένες πρωτεΐνες. Στο παρόν σύγγραµµα κάθε εγγραφή αντιστοιχεί σε µία κλάση πρωτεϊνών. Για παράδειγµα, η εγγραφή PDOC00662 αντιστοιχεί στην κλάση MCM family signature and profile. Για να διευκολύνουν την πλοήγηση σε αχανή δεδοµένα, αλλά και για να επιτρέψουν στους προγραµµατιστές να δηµιουργήσουν διάφορα εργαλεία βιοπληροφορικής, οι σχεδιαστές της Prosite βάσης δεδοµένων ταξινόµησαν τις εγγραφές τους σε ένα αρχείο (PROSITE.DAT) µε τον ακόλουθο τρόπο: i. Κάθε σειρά µπορεί να έχει από 6 έως 128 χαρακτήρες, όπου οι δύο πρώτοι αποτελούν τον τύπο της πληροφορίας που ακολουθεί στην υπόλοιπη σειρά, ii. Οι χαρακτήρες 3 έως 5 είναι κενοί για να διαχωρίζονται τα δεδοµένα από τις περιγραφές τους και iii. Οι υπόλοιποι 6 έως 128 χαρακτήρες καταλαµβάνονται από τα δεδοµένα της σειράς.

25 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 25 Στο Σχήµα 3.1 παρουσιάζεται η δοµή των εγγραφών στο αρχείο Prosite. Θα πρέπει να σηµειωθεί ότι ο τύπος ID Identification εµφανίζεται µόνο µία φορά για κάθε εγγραφή και είναι αυτός µε τον οποίο ξεκινά. Μία φορά µόνο εµφανίζονται επίσης οι τύποι AC Accession number, DT Date, DE Short description και DO Pointer the documentation file. Όλοι οι υπόλοιποι µπορούν να έχουν από µηδέν έως άπειρα στοιχεία για καθεµία εγγραφή. ID Identification AC Accession number DT Date DE Short description PA Pattern MA Matrix/profile RU Rule NR Numerical results CC Comments DR Cross references to SWISS PROT 3D Cross references to PDB DO Pointer the documentation file // Termination line Σχήµα 3.1 οµή εγγραφών στο αρχείο Prosite Για να γίνουν πιο κατανοητά τα παραπάνω, παραθέτουµε ένα δείγµα του αρχείου και πιο συγκεκριµένα αυτό της εγγραφής PDOC00325 (Σχήµα 3.2).! Η γραµµή ID (IDentification) είναι πάντα η πρώτη γραµµή µιας εγγραφής. Στη γενική της µορφή δέχεται δύο ορίσµατα: το όνοµα της εγγραφής και τον τύπο αυτής. Οι χαρακτήρες που επιτρέπονται, είναι οι Α Ζ (λατινικοί), 0 9 καθώς και ο χαρακτήρας υπογράµµισης _. Παραδείγµατα: ID ADH_ZINC; PATTERN, ID SULFATION; RULE, ID SH3; MATRIX.! Η γραµµή AC (ACcession number) είναι πάντα η δεύτερη γραµµή µιας εγγραφής και ορίζει τον αριθµό αντιστοίχισης, που σχετίζεται µε µία εγγραφή. Είναι ένας ιδιαίτερα σηµαντικός αριθµός, καθώς µερικές φορές επιβάλλεται η αλλαγή των ονοµάτων ID από έκδοση σε έκδοση, ο αριθµός αυτός παραµένει σταθερός. έχεται ένα όρισµα της µορφής

26 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 26 PSnnnnn, όπου οι χαρακτήρες PS αντιστοιχούν στη λέξη Prosite και οι χαρακτήρες nnnnn αντιστοιχούν σε έναν πενταψήφιο αριθµό. Παράδειγµα: AC PS00387 ID PPASE; PATTERN. AC PS00387; DT NOV-1990 (CREATED); NOV-1997 (DATA UPDATE); JUL-1998 (INFO UPDATE). DE Inorganic pyrophosphatase signature. PA D-[SGDN]-D-[PE]-[LIVMF]-D-[LIVMGAC]. NR /RELEASE=40.7,103373; NR /TOTAL=69(69); /POSITIVE=45(45); /UNKNOWN=0(0); /FALSE_POS=24(24); NR /FALSE_NEG=2; /PARTIAL=2; CC /TAXO-RANGE=A?EP?; /MAX-REPEAT=1; CC /SITE=1,magnesium; /SITE=3,magnesium; /SITE=6,magnesium; DR P87118, IPY2_SCHPO, T; P28239, IPY2_YEAST, T; Q9YBA5, IPYR_AERPE, T; DR O67501, IPYR_AQUAE, T; P21216, IPYR_ARATH, T; P19514, IPYR_BACP3, T; DR O05724, IPYR_BACST, T; P51064, IPYR_BARBA, T; P37980, IPYR_BOVIN, T; DR P57190, IPYR_BUCAI, T; Q18680, IPYR_CAEEL, T; Q9PLF1, IPYR_CHLMU, T; DR O84777, IPYR_CHLTR, T; O77460, IPYR_DROME, T; P17288, IPYR_ECOLI, T; DR P44529, IPYR_HAEIN, T; Q9ZLL5, IPYR_HELPJ, T; P56153, IPYR_HELPY, T; DR O23979, IPYR_HORVD, T; Q15181, IPYR_HUMAN, T; P13998, IPYR_KLULA, T; DR O34955, IPYR_LEGPN, T; O48556, IPYR_MAIZE, T; O26363, IPYR_METTH, T; DR P47593, IPYR_MYCGE, T; O69540, IPYR_MYCLE, T; P75250, IPYR_MYCPN, T; DR O06379, IPYR_MYCTU, T; O22537, IPYR_ORYSA, T; P57918, IPYR_PASMU, T; DR O13505, IPYR_PICPA, T; O77392, IPYR_PLAF7, T; Q9UY24, IPYR_PYRAB, T; DR O59570, IPYR_PYRHO, T; Q9RGQ1, IPYR_RHORU, T; Q9ZCW5, IPYR_RICPR, T; DR P19117, IPYR_SCHPO, T; Q43187, IPYR_SOLTU, T; Q9X8I9, IPYR_STRCO, T; DR P50308, IPYR_SULAC, T; P80507, IPYR_SYNY3, T; P37981, IPYR_THEAC, T; DR P77992, IPYR_THELI, T; P38576, IPYR_THETH, T; P00817, IPYR_YEAST, T; DR P19371, IPYR_DESVH, P; P82992, IPYR_RHOVI, P; DR Q9Z6Y8, IPYR_CHLPN, N; O05545, IPYR_GLUOX, N; DR Q06305, AER3_AERHY, F; Q06303, AER4_AERHY, F; Q06306, AER5_AERHY, F; DR P09167, AERA_AERHY, F; Q9X4Y1, AGPA_RHIME, F; Q44257, CBAB_COMTE, F; DR P12351, CYP1_YEAST, F; P28616, DNAJ_BORBU, F; Q9TU03, GDIS_BOVIN, F; DR P37693, HETM_ANASP, F; Q59171, HXKG_BRUAB, F; O77793, PA2Y_HORSE, F; DR P47712, PA2Y_HUMAN, F; P50393, PA2Y_RAT, F; P39303, PTXA_ECOLI, F; DR P55852, SMT3_ARATH, F; P55857, SMT3_ORYSA, F; P36100, T2EA_YEAST, F; DR P52494, TREA_CANAL, F; P03747, VTTB_BPT7, F; P24653, Y101_NPVOP, F; DR P37904, YCEI_ECOLI, F; Q09475, YP93_CAEEL, F; P70796, YTZ4_AGRVI, F; 3D 1FAJ; 1IGP; 1INO; 1IPW; 1JFD; 1MJW; 1MJZ; 1OBW; 2EIP; 1QEZ; 2PRD; 3D 1HUK; 1WGI; 1WGJ; 1YPP; 8PRK; 1HUJ; DO PDOC00325; // Σχήµα 3.2 είγµα εγγραφής αρχείου Prosite! Η γραµµή DT (DaTe) ορίζει την ηµεροµηνία εισαγωγής ή τελευταίας ενηµέρωσης µιας εγγραφής. Είναι πάντα η τρίτη γραµµή µιας εγγραφής και έχει τη µορφή: DT MMM-YYYY(CREATED);MMM-YYYY(DATA UPDATE);MMM-YYYY(INFO UPDATE) Όπου, ΜΜΜ είναι ο µήνας και ΥΥΥΥ είναι το έτος. Παράδειγµα:

27 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 27 DT NOV-1990 (CREATED); NOV-1997 (DATA UPDATE); JUL-1998 (INFO UPDATE).! Η γραµµή DE (DEscription) περιέχει περιγραφικές πληροφορίες για το περιεχόµενο της εγγραφής. Βρίσκεται πάντα στην τέταρτη σειρά και η µορφή της είναι: DE Description. Το πεδίο Description λαµβάνει τιµές σε απλά αγγλικά και δεν ακολουθεί κάποια συγκεκριµένη τυποποίηση. Παράδειγµα: DE Inorganic pyrophosphatase signature.! Η γραµµή ΡΑ (PAttern) περιέχει τον ορισµό ενός προτύπου PROSITE. Παράδειγµα: PA D-[SGDN]-D-[PE]-[LIVMF]-D-[LIVMGAC].! Η γραµµή ΜΑ (MAtrix) ορίζει την εγγραφή ενός προφίλ (ή πίνακα) PROSITE. Η πλήρης περιγραφή του συγκεκριµένου πεδίου δε θα παρουσιαστεί στο παρόν σύγγραµµα, καθώς η µελέτη του δεν κρίνεται απαραίτητη για την κατανόηση των περαιτέρω.! Η γραµµή NR (Numerical Results) περιέχει πληροφορίες σχετικά µε αποτελέσµατα, που ελήφθησαν από τη σάρωση ολόκληρης της τράπεζας δεδοµένων SWISS-PROT µε ένα πρότυπο. Παράδειγµα: NR /RELEASE=40.7,103373; NR /TOTAL=69(69);/POSITIVE=45(45);/UNKNOWN=0(0); /FALSE_POS=24(24); NR /FALSE_NEG=2; /PARTIAL=2;! Η γραµµή CC (Comments) περιέχει σχόλια διαφόρων ειδών. Παράδειγµα: CC /TAXO-RANGE=A?EP?; /MAX-REPEAT=1; CC /SITE=1,magnesium; /SITE=3,magnesium; /SITE=6,magnesium;! Οι γραµµές DR (Data bank Reference) χρησιµοποιούνται σαν δείκτες σε εγγραφές της SWISS-PROT, οι οποίες συλλέχθηκαν (ή όχι) από το πρότυπο, µε το οποίο αυτή σαρώθηκε. Η µορφή της γραµµής είναι: DR AC_NB,ENTRY_NAME,C; AC_NB,ENTRY_NAME,C; AC_NB,ENTRY_NAME,C; Όπου:

28 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 28 AC_NB είναι ο κωδικός αντιστοιχίας στις εγγραφές της SWISS-PROT, ENTRY_NAME είναι το όνοµα της SWISS-PROT εγγραφής και C είναι µία χαρακτηριστική σηµαία που µπορεί να πάρει µία από τις ακόλουθες τιµές: Τ για true positive, όταν η αλυσίδα περιέχεται στην υπό εξέταση οµάδα N για false negative, όταν η αλυσίδα ανήκει στην οµάδα που εξετάζεται, αλλά δεν κατέστη δυνατό να ανιχνευθεί στο πρότυπο ή το προφίλ P potential hit, όταν η αλυσίδα της πρωτεΐνης ανήκει στην οµάδα, αλλά δεν ανιχνεύθηκε διότι τα τµήµατα της αλυσίδας, που χρησιµοποιούνται ως «αποτύπωµα», δεν είναι διαθέσιµα στην τράπεζα δεδοµένων.? για κάποια άγνωστη πρωτεΐνη η οποία θα µπορούσε να ανήκει στην συγκεκριµένη οµάδα και F false positive, όταν η αλυσίδα της πρωτεΐνης δεν περιέχεται στην κατηγορία που εξετάζεται. Παραδείγµατα: DR P50308,IPYR_SULAC,T;P80507,IPYR_SYNY3,T;P37981,IPYR_THEAC,T; DR P77992,IPYR_THELI,T;P38576,IPYR_THETH,T;P00817,IPYR_YEAST,T; DR P19371,IPYR_DESVH,P;P82992,IPYR_RHOVI,P; DR Q9Z6Y8,IPYR_CHLPN,N;O05545,IPYR_GLUOX,N; DR Q06305,AER3_AERHY,F;Q06303,AER4_AERHY,F;Q06306,AER5_AERHY,F;! Η γραµµή DO (DOcumentation) περιλαµβάνει τον κωδικό δείκτη της εγγραφής στο έγγραφο τεκµηρίωσης του PROSITE. Στη συνέχεια του συγγράµµατος ο κωδικός τεκµηρίωσης θα αναφέρεται ως όνοµα κλάσης ή κωδικός κλάσης. Έχει τη µορφή: DO PDOCnnnnn; Παράδειγµα: DO PDOC00325; Οι υπόλοιπες βάσεις δεδοµένων Στην παράγραφο είδαµε τον τρόπο µε τον οποίο, είναι δοµηµένη η βάση δεδοµένων PROSITE. Σε αυτήν την παράγραφο θα εξεταστούν οι υπόλοιπες δύο βάσεις δεδοµένων, που θα χρησιµοποιηθούν και θα

29 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 29 πραγµατοποιηθεί αναφορά στα στοιχεία, που απαιτούνται για την προετοιµασία των δεδοµένων.! Η βάση δεδοµένων των ισχυρών µοτίβων Στη βάση δεδοµένων των µοτίβων περιέχεται η αναλυτική περιγραφή καθενός από αυτά, ποιες πρωτεΐνες περιέχουν αυτό το µοτίβο, αν και κατά πόσο η εµφάνιση της πρωτεΐνης είναι ορθή κατά Swiss prot. είγµα του αρχείου παρουσιάζεται στο Σχήµα 3.3. sw O00628 PEX7_HUMAN 323 D405387F7F14B prf PS50082 WD_REPEATS_ SEP sw O00629 IMA4_HUMAN 521 D98BC45002C9F57E prf PS50176 ARM_REPEAT SEP sw P57413 RSMC_BUCAI 338 E43516DDD22FA prf PS50193 SAM_BIND MAY sw P57415 MVIN_BUCAI 511 D95FF4B563410A9F prf PS50314 PHE_RICH SEP sw P57421 FLGD_BUCAI 236 E15EAA2D3D84F prf PS50321 ASN_RICH SEP sw P57426 FLGI_BUCAI 372 CCF74D2E1B prf PS50079 NLS_BP MAY sw P57428 FLGK_BUCAI 543 6A6F958F91F prf PS50321 ASN_RICH SEP sw P57429 RNE_BUCAI 902 C3FA00476E3C2E prf PS50126 S MAY Σχήµα 3.3 είγµα αρχείου ισχυρών µοτίβων! Η βάση δεδοµένων των ισχυρών προτύπων Η βάση δεδοµένων των ισχυρών προτύπων έχει ακριβώς τα ίδια χαρακτηριστικά µε αυτή των ισχυρών µοτίβων. Έτσι, περιέχει τον κωδικό του προτύπου, το όνοµα του, τις πρωτεΐνες, που το περιλαµβάνουν, καθώς και τα ονόµατα αυτών (Σχήµα 3.3).

30 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 30 sw P38647 GR75_MOUSE 679 3E58DC pat PS00297 HSP70_1 - - NOV sw P38650 DYHC_RAT C6ABDBEDF875D pat PS00017 ATP_GTP_A - - APR sw P38657 PDA3_BOVIN 505 A DC70A pat PS00194 THIOREDOXIN - - NOV sw P38658 ER60_SCHMA 484 D85606CFC5C269B pat PS00194 THIOREDOXIN - - NOV sw P38659 PDA4_RAT B66F3A4DE pat PS00194 THIOREDOXIN - - NOV sw P38660 PDA6_MESAU 439 E24CAECF5FFF5F8D pat PS00194 THIOREDOXIN - - NOV sw P38662 LECA_DOLLA 237 BEB7E84DC pat PS00308 LECTIN_LEGUME_ALPHA - - JUL sw P38667 PGK_NEUCR 418 5C0A97780B643EC pat PS00111 PGLYCERATE_KINASE - - JUL Σχήµα 3.4 είγµα αρχείου ισχυρών προτύπων οµή τελικού αρχείου WEKA Όπως αναφέρθηκε και στην αρχή του κεφαλαίου, το αποτέλεσµα της προετοιµασίας των δεδοµένων είναι η παραγωγή ενός τελικού αρχείου, που θα µπορεί να αξιοποιηθεί από τη µηχανή αναζήτησης WEKA. Αυτό έχει προέκταση.arff και η µορφή του ορίζεται από το ίδιο το πρόγραµµα. Έτσι, η πρώτη γραµµή του αρχείου περιλαµβάνει το όνοµα της σχέσης, για την οποία παρουσιάζονται τα δεδοµένα. Αν για παράδειγµα θέλαµε να παρουσιάσουµε µε τη µορφή.arff αρχείου τα δεδοµένα κάποιας µετεωρολογικής πρόβλεψης, ένα όνοµα σχέσης, το οποίο θα µπορούσε να χρησιµοποιηθεί, είναι weather. Στην περίπτωση των πρωτεϊνών, το βέλτιστο όνοµα κρίθηκε ότι είναι protein. Η σχέση αυτή συµβολίζεται µε την Η δεύτερη σειρά περιέχει τις πρωτεΐνες, των οποίων τα δεδοµένα εµφανίζονται πιο κάτω, ή αλλιώς τα γνωρίσµατα των πρωτεϊνών. Συµβολίζεται µε την Οι επόµενες σειρές περιέχουν τα υπόλοιπα γνωρίσµατα των δεδοµένων, καθώς και τις πιθανές τιµές τους. Συµβολίζονται και αυτά µε την και ο αριθµός τους ποικίλει µε την περίπτωση. Στο τέλος εµφανίζονται οι σειρές των δεδοµένων, στις οποίες υπάρχει αντιστοιχία ανάµεσα στα γνωρίσµατα, τις τιµές τους και τη σειρά εµφάνισης σε κάθε εγγραφή. Το τµήµα των δεδοµένων σε ένα.arff αρχείο εισάγει η ετικέτα

31 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης αλλά µονάχα µία φορά για το σύνολο των δεδοµένων. Στο Σχήµα 3.5 παραθέτουµε ένα τυπικό αρχείο που παράγει το υπό συζήτηση protein {P98140,Q04962,P00748,Q9R098,P22897,P11717,Q07113,P49260,P80964,P81019,P81121,P 02751,P04937,P02784,P04557,P08253,P33434,P33436,P52176,P14780,P41245,Q04756,P08 PS00023 PS50034 PS50240 PS50026 PS50070 PS00022 PS01253 PS00021 PS00134 PS00135 PS01186 PS50099 PS50231 PS50041 PS00615 PS00017 PS50079 PS50325 PS00687 PS50269 PS00024 PS00343 PS50319 PS50105 PS50276 CLASS P98140,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q04962,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,N O,NO,PDOC00022 P00748,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,N O,NO,PDOC00022 Q9R098,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P22897,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,YES,YES,YES,NO,NO,NO,NO,NO,NO,N O,NO,NO,PDOC00022 P11717,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,NO,NO,NO,N O,NO,PDOC00022 Q07113,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P49260,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q04756,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,N O,NO,PDOC00022 P08169,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P49259,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q9UBV2,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P07589,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022

32 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 32 P80964,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P81019,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P81121,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P02751,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,YES,NO,NO,NO,NO, NO,NO,PDOC00022 P04937,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,N O,NO,PDOC00022 P02784,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P04557,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P08253,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,YES,NO, NO,NO,PDOC00022 P33434,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P33436,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P52176,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P14780,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P41245,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q04756,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,N O,NO,PDOC00022 P08169,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P49259,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q9UBV2,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P07589,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P50282,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YE S,NO,PDOC00022 Q90611,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P50757,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 O18733,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,PDOC00022 P41246,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Σχήµα 3.5 είγµα τελικού αρχείου WEKA οµή τελικού αρχείου SQL Analysis Server Η χρήση των µεθόδων εξόρυξης που παρέχει ο SQL Analysis Server, αξιοποιήθηκαν µετά την υλοποίηση του αρχικού αλγορίθµου για το WEKA. Για τη διατήρηση της οµοιοµορφίας δεν πραγµατοποιήθηκαν σηµαντικές αλλαγές στην έξοδο του προγράµµατος. Αφαιρέθηκαν, όµως, τα πεδία που στερούταν

33 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 33 νοήµατος. είγµα του τελικού αρχείου για τον SQL Analysis Server, παρουσιάζεται στο Σχήµα 3.6. Αξίζει να σηµειωθεί, ότι για να µπορέσει να πραγµατοποιηθεί η εξόρυξη δεδοµένων, µε τη χρήση του SQL Analysis Server, απαιτείται η µεταφορά του παραγόµενου αρχείου σε ένα πίνακα στη βάση. Αυτό υλοποιείται µε τη χρήση του DTS (Data Transformation Packages). P80964,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P81019,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P81121,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P02751,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,YES,NO,NO,NO,NO, NO,NO,PDOC00022 P04937,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,N O,NO,PDOC00022 P02784,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P04557,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P08253,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,YES,NO, NO,NO,PDOC00022 P33434,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P33436,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P52176,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P14780,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P41245,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q04756,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,N O,NO,PDOC00022 P08169,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P49259,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Q9UBV2,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P07589,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P50282,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YE S,NO,PDOC00022 Q90611,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 P50757,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 O18733,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,YES,PDOC00022 P41246,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00022 Σχήµα 3.6 είγµα τελικού αρχείου για τον SQL Analysis Server

34 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης Ο Αλγόριθµος Όπως έχει αναφερθεί και παραπάνω, δύο από τους στόχους που τέθηκαν, είναι η προετοιµασία των δεδοµένων, µε τα οποία θα γίνει η εκπαίδευση του συστήµατος WEKA και η δυνατότητα αναζήτησης µιας πρωτεΐνης. Για να είναι εφικτό αυτό, πρέπει να προηγηθεί το στάδιο της προετοιµασίας το δεδοµένων, το οποίο σηµαίνει ότι από τα τρία αρχεία που αποτελούν τη βάση δεδοµένων (prosite.dat, pattern.dat, profile.dat) πρέπει να συντεθούν µε τέτοιο τρόπο ώστε να είναι δυνατή η λήψη του επιθυµητού αποτελέσµατος. Στο Κεφάλαιο 3.3, πραγµατοποιήθηκε αναλυτική παρουσίαση της µορφής των δεδοµένων, που θα χειρίζεται το σύστηµα, καθώς και της πηγής αυτών, ενώ στο παρόν κεφάλαιο θα εξεταστεί ο τρόπος που γίνεται ο συνδυασµός όλων αυτών των δεδοµένων Στοιχεία που χρειαζόµαστε! Στις γραµµές DR του αρχείου Prosite, βρίσκονται οι κωδικοί των πρωτεϊνών, τα ονόµατά τους και η χαρακτηριστική σηµαία ύπαρξης ή απουσίας αυτής στην κλάση για την οποία κατηγοριοποιήθηκε. Από τη συγκεκριµένη γραµµή πρέπει να διατηρηθούν ακριβώς τα παραπάνω στοιχεία. ηλαδή, κωδικός πρωτεΐνης, όνοµα και χαρακτηριστική σηµαία. Η κλάση, στην οποία ανήκει η κάθε πρωτεΐνη, εµφανίζεται στο τέλος κάθε εγγραφής και εισάγεται µε τη γραµµή DO. Με το αρχείο prosite.dat δηµιουργούµε έναν πίνακα στον SQL Server, µε τη βοήθεια των πακέτων DTS (Data Transformation Packages). Τα στοιχεία που τελικά αξιοποιούνται, τα αποµονώνονται µε τη βοήθεια µιας αποθηκευµένης διαδικασίας (βλ. Παρ ).! Από τα υπόλοιπα δύο αρχεία, (profile.dat, pattern.dat) οι πληροφορίες που χρειάζεται το σύστηµά, είναι πιο εύκολο να αποσπαστούν, καθώς είναι καλύτερα δοµηµένες. Έτσι, µε τη βοήθεια του DTS, δηµιουργούνται 2 πίνακες (έναν για το κάθε αρχείο), οι οποίοι περιλαµβάνουν τον κωδικό της πρωτεΐνης, το όνοµά της, τον κωδικό του προφίλ ή προτύπου, που περιλαµβάνει και τέλος το όνοµα αυτού. Στο κεφάλαιο 3.5 θα δούµε αναλυτικότερα τον τρόπο µε τον οποίο σχεδιάστηκε η βάση µε σκοπό την καλύτερη δυνατή εξυπηρέτηση των αναγκών του συστήµατος.

35 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης Ο αλγόριθµος στο µικροσκόπιο Έχοντας, λοιπόν, δηµιουργήσει τους πίνακες µε τα δεδοµένα που απαιτούνται, ξεκινά η επεξεργασία τους. Με τη χρήση του γραφικού περιβάλλοντος, που δηµιουργήθηκε στον JBuilder, εµφανίζονται στο χρήστη όλες οι διαθέσιµες κλάσεις της βάσης του prosite. Ο χρήστης επιλέγει ποιες από αυτές που εµφανίζονται στην οθόνη του, επιθυµεί να συµπεριλάβει στην έρευνά του. Στη συνέχεια, πιέζοντας το πλήκτρο «Update» εκτελούνται στη βάση ορισµένες πολύ βασικές διαδικασίες. Ας τις δούµε αναλυτικά: " Εισαγωγή των επιλεγµένων κλάσεων ση βάση Με αυτήν τη διαδικασία εισάγονται στον πίνακα SelectedClasses της βάσης µας όλες τις κλάσεις που επέλεξε ο χρήστης. " Εκτέλεση της [dbo].[sel_prot_proc] διαδικασίας Με την εκτέλεση της sel_prot_proc διαδικασίας ο SQL Server, επιλέγει τις πρωτεΐνες που ανήκουν στις κλάσεις που βρίσκονται στον πίνακα SelectedClasses και έχουν χαρακτηριστική σηµαία Τ ή Ν. Με αυτές δηµιουργεί ένα νέο πίνακα που λέγεται sel_proteins. " Εκτέλεση της [dbo].[selected_prof_pat_table2] διαδικασίας Η selected_prof_pat_table2 διαδικασία εισάγει στον πίνακα selected_prof_pat_table τα προφίλ και πρότυπα που περιέχονται στις πρωτεΐνες, οι οποίες υπάρχουν στον πίνακα sel_proteins. Όλα τα παραπάνω παρουσιάζονται γραφικά στο παρακάτω σχήµα (Σχήµα 3.7 Λογικό διάγραµµα αλγορίθµου).

36 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 36 Επιλογή κλάσεων Εισαγωγή στη Β Εκτέλεση sel_prot_proc Εκτέλεση selected_prof_pat_table2 ηµιουργία πινάκων: sel_proteins, selected_prof_pat_table Σχήµα 3.7 Λογικό διάγραµµα αλγορίθµου " Εκτέλεση της [dbo].[prot_exit] διαδικασίας Τελευταία, εκτελείται η prot_exit αποθηκευµένη διαδικασία. Με αυτήν πραγµατοποιούνται οι απαραίτητες συγκρίσεις και δηµιουργείται ο τελικός πίνακας, από τον οποίο εξάγονται στη συνέχεια τα δεδοµένα του του τελικού αρχείου WEKA ή ολόκληρο το αρχείο για τον Analysis Manager του SQL Server. Πιο συγκεκριµένα, χρησιµοποιούνται δύο δείκτες (cursors). Ο πρώτος σαρώνει τον πίνακα sel_proteins των επιλεγµένων πρωτεϊνών και ο δεύτερος τον πίνακα selected_prof_pat_table των επιλεγµένων προφίλ / προτύπων. Στη συνέχεια, µε ένα select ερώτηµα ανιχνεύεται η ύπαρξη του συνδυασµού 1 ης πρωτεΐνης 1 ου προφίλ, 1 ης πρωτεΐνης 2 ου προφίλ και ούτω καθ εξής. Σε περίπτωση που το select ερώτηµα δεν ανιχνεύσει την ύπαρξη του συνδυασµού, στον πίνακα prot_exit εισάγεται η τιµή NO σε αντίθετη περίπτωση εισάγεται η τιµή YES.

37 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 37 Επιπλέον, η διαδικασία αναλαµβάνει να εισάγει στην αρχή κάθε εγγραφής τον κωδικό της πρωτεΐνης, ενώ στο τέλος κάθε σετ εγγραφών την κλάση στην οποία ανήκει Χρήση αποθηκευµένων διαδικασιών (stored procedures) Οι αποθηκευµένες διαδικασίες αποτελούν για πολλούς το καλύτερο εργαλείο επεξεργασίας των δεδοµένων µιας βάσης. Για την αξιοποίηση όλων των δεδοµένων που ήταν διαθέσιµα, δηµιουργήθηκαν 10 αποθηκευµένες διαδικασίες. Η αναλυτική τους περιγραφή βρίσκεται στο κεφάλαιο 3.5. Εδώ θα γίνει µια απλή αναφορά στον αλγόριθµο που χρησιµοποιήθηκε, για τη δηµιουργία του τελικού πίνακα prosite.! dbo.new_prosite_t Ο DTS εισάγει σε πίνακα κάποιας βάσης δεδοµένα, που διαχωρίζονται µε κάποιο συγκεκριµένο τρόπο. Όπως είδαµε στο Σχήµα 3.1 τα πεδία του αρχείου διαχωρίζονται µε ερωτηµατικά στην ελληνική γλώσσα ή άνω τελείες στην αγγλική (semicolons ;). Το αποτέλεσµα του διαχωρισµού παρουσιάζεται πιο κάτω (Σχήµα 3.8 Μορφή αρχικού πίνακα Prosite). Από τις DR P11829,ACP1_ARATH,T P10352,ACP1_BRANA,T P52411,ACP1_CUPLA,T DR P02902,ACP1_HORVU,T P07854,ACP1_SPIOL,T P25701,ACP2_ARATH,T DR P17650,ACP2_BRANA,T P52412,ACP2_CUPLA,T P08817,ACP2_HORVU,T DR P23235,ACP2_SPIOL,T P25702,ACP3_ARATH,T P32887,ACP3_BRANA,T DR P52413,ACP3_CUPLA,T P15543,ACP3_HORVU,T P52414,ACP4_CUPLA,T DR P08971,ACP5_BRANA,T P20803,ACP_ANAVA,T O67611,ACP_AQUAE,T DR Q9GLP2,PRTC_PIG,? P41950,YLK2_CAEEL,? <NULL> DR O15943,CADN_DROME,F <NULL> <NULL> DO PDOC00010 Σχήµα 3.8 Μορφή αρχικού πίνακα Prosite τρεις στήλες του σχήµατος πρέπει να δηµιουργηθεί ένας πίνακας ο οποίος θα έχει τέσσερις στήλες και οι οποίες θα περιλαµβάνουν τα παρακάτω στοιχεία: Όνοµα κλάσης, Κωδικός πρωτεΐνης, Όνοµα πρωτεΐνης και Χαρακτηριστική σηµαία. Με τη βοήθεια συναρτήσεων επεξεργασίας κειµένου καταλήγουµε στον πίνακα new_prosite_table, ο οποίος αποτελείται από τα στοιχεία που προαναφέραµε. Παρουσιάζουµε δείγµα του παρακάτω (Σχήµα 3.9 είγµα τελικού πίνακα prosite). Ο πηγαίος κώδικας της διαδικασίας βρίσκεται στο παράρτηµα (Πηγαίος Κώδικας V. new_prosite_table).

38 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 38 PDOC01035 P33371 YOHI_ECOLI T PDOC01035 P42252 YCBT_BACSU T PDOC01035 O05523 YDIJ_BACSU T PDOC00806 P18501 HESB_ANASP T PDOC00806 P57452 Y371_BUCAI N Σχήµα 3.9 είγµα τελικού πίνακα prosite! dbo.sel_prot_proc Είναι η αποθηκευµένη διαδικασία, η οποία µε ένα inner join ερώτηµα, εισάγει στον πίνακα των επιλεγµένων πρωτεϊνών (sel_proteins) τις πρωτεΐνες αυτές που ανήκουν στις κλάσεις που έχει επιλέξει ο χρήστης και έχουν σηµαία Τ ή Ν (για περισσότερες λεπτοµέρειες πάνω στις χαρακτηριστικές σηµαίες, βλ Η βάση δεδοµένων Prosite). Ο πίνακας που επηρεάζει, είναι ο sel_proteins και ένα δείγµα του παρουσιάζεται στο Σχήµα Ο πηγαίος κώδικας αυτής της διαδικασίας, βρίσκεται στο παράρτηµα (Πηγαίος Κώδικας II. sel_prot_proc). O97972 O98668 O99821 P00332 P00374 P00381 P00392 P00452 PDOC00089 PDOC00142 PDOC00420 PDOC00313 PDOC00496 PDOC00496 PDOC00185 PDOC00089 Σχήµα 3.10 είγµα πίνακα sel_proteins! dbo.selected_prof_pat_table Με αυτή τη διαδικασία δηµιουργούµε τον πίνακα selected_prof_pat, ο οποίος περιλαµβάνει τα προφίλ/πρότυπα, που περιέχονται στις πρωτεΐνες του πίνακα sel_proteins. PS00014 PS00017 PS00017 PS00011 PS00012 Q9LKR3 O00139 O04716 P81428 P31171 Σχήµα 3.11 είγµα πίνακα selected_prof_pat

39 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 39 Ο πηγαίος κώδικας της παραπάνω διαδικασίας βρίσκεται στο παράρτηµα (Πηγαίος Κώδικας I. selected_prof_pat_table).! dbo.prot_exit Η διαδικασία αυτή δηµιουργεί τον πίνακα στήλη Prot_exit ο οποίος έχει όλα τα δεδοµένα εκείνα, τα οποία εγγράφονται στη συνέχεια στο του τελικού αρχείου. είγµα του πίνακα Prot_exit βρίσκεται στο Σχήµα Ο πηγαίος κώδικας της διαδικασίας είναι στο παράρτηµα (Πηγαίος Κώδικας IV. prot_exit). 1 O00139,YES,NO,NO,NO,YES,NO,NO,NO,NO,YES,PDOC P03246,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,NO,PDOC Q34667,YES,NO,NO,NO,NO,NO,NO,NO,YES,NO,NO,PDOC P04070,YES,YES,NO,NO,NO,NO,YES,NO,NO,NO,NO,NO,NO,PDOC P06109,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00013 Σχήµα 3.12 είγµα πίνακα Prot_exit! dbo.distinct stored procedures Πρόκειται για µία κατηγορία διαδικασιών, που χρησιµοποιούνται για τη δηµιουργία πινάκων µε µοναδικές distinct τιµές. Πήραν το όνοµά τους από τη χρήση του όρου distinct σε όλα τα ερωτήµατα επιλογής (select statements). Οι πηγαίοι κώδικές τους παρουσιάζονται στο παράρτηµα (Πηγαίος Κώδικας III. distinc_proc) Σχεδίαση της Βάσης εδοµένων Στην παράγραφο αυτή παρουσιάζεται η λογική σχεδίαση του σχήµατος της βάσης, που υλοποιήθηκε. Αρχικά, θα παρουσιαστούν οι σχέσεις και τα γνωρίσµατά τους. Στη συνέχεια, θα δοθούν κάποια παραδείγµατα πινάκων και θα αναφερθούν επιφανειακά οι αποθηκευµένες διαδικασίες, καθώς µε τη χρήση αυτών υλοποιούνται οι αλγόριθµοι της προηγούµενης παραγράφου. Τέλος, θα γίνει µία εκτίµηση του µεγέθους της βάσης.

40 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης Σχέσεις, πεδία ορισµού και τύποι δεδοµένων Prosite Class Code Protein Code Protein Name Flag Στη σχέση prosite (αντιστοιχεί στον πίνακα new_prosite_table στην πραγµατική βάση δεδοµένων) συναντά κανείς τα παρακάτω γνωρίσµατα: " Class Code: Είναι ο κωδικός της κλάσης κατά Swiss-Prot στην οποία αντιστοιχεί η πρωτεΐνη της πλειάδας. Είναι τύπου Varchar(10). " Protein Code: Το γνώρισµα αυτό περιλαµβάνει τον κωδικό της πρωτεΐνης κατά Swiss-Prot και είναι τύπου Varchar(10) επίσης. " Protein Name: Το όνοµα της πρωτεΐνης, που υπάρχει στην κλάση. Τύπος: Varchar(15). " Flag: Η χαρακτηριστική σηµαία της πρωτεΐνης της πλειάδας. Τύπος: Varchar(1). Profile Protein Code Protein Name Profile Code Profile Name Η σχέση profile δηµιουργήθηκε µε τη χρήση του DTS και περιλαµβάνει τα ακόλουθα πεδία: " Protein Code: Ο κωδικός της πρωτεΐνης κατά Swiss-Prot. Τύπος Varchar(10). " Protein Name: Το όνοµα της πρωτεΐνης. Τύπος Varchar(15). " Profile Code: Ο κωδικός του προφίλ. Τύπος Varchar(10). " Profile Name: Το όνοµα του προφίλ. Τύπος Varchar(15). Pattern Protein Code Protein Name Pattern Code Pattern Name Στη σχέση pattern, απαντώνται τα ακόλουθα πεδία: " Protein Code: Όπως και στις παραπάνω σχέσεις, ο κωδικός πρωτεΐνης κατά Swiss-Prot. Τύπος Varchar(10).

41 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 41 " Protein Name: Όνοµα πρωτεΐνης, τύπος Varchar(15). " Pattern Code: Κωδικός προτύπου. Τύπος Varchar(10). " Pattern Name: Όνοµα προτύπου. Τύπος Varchar(15). Selected Proteins Protein Code Class Code Η σχέση selected proteins δηµιουργήθηκε για να αποθηκεύει τις πρωτεΐνες που έχουν επιλεγεί από το χρήστη. Το όνοµά της στην πραγµατική βάση είναι sel_proteins και αποτελείται από δύο πεδία: " Protein Code: Ο κωδικός της πρωτεΐνης. Τύπος: Varchar(10). " Class Code: Ο κωδικός της κλάσης. Τύπος: Varchar(10). Selected Profiles Patterns Profile/Pattern Code Protein Code Η σχέση selected profiles/patterns περιέχει τα προφίλ και πρότυπα, που περιέχονται στις πρωτεΐνες που έχει επιλέξει ο χρήστης. Τα πεδία του είναι: " Profile/Pattern Code: Ο κωδικός του προφίλ ή προτύπου. Τύπος: Varchar(10). " Protein Code: Ο κωδικός της πρωτεΐνης. Τύπος: Varchar(10). Selected Classes Class Code Η σχέση selected classes έχει µόνο ένα πεδίο και λαµβάνει τις τιµές του από το τελικό πρόγραµµα. Είναι οι κλάσεις, που επιλέγει ο χρήστης να χρησιµοποιήσει στην ερευνά του. Γνώρισµα: " Class Code: Είναι ο κωδικός κλάσης και αποτελεί το πρωτεύον κλειδί του πίνακα. Ο τύπος του είναι Varchar(10). Prot Exit Row Prot Attr

42 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 42 Η σχέση prot exit είναι η σχέση εξόδου. Περιλαµβάνει το µεγαλύτερο µέρος των πληροφοριών εξόδου. Αποτελείται από δύο πεδία, τα: " Row: Είναι ο αριθµός γραµµής και αποτελεί το πρωτεύον κλειδί του πίνακα. Τύπος: bigint " Prot Attr: Είναι το διάνυσµα εξόδου. Τύπος: Text(16) Περιορισµοί ακεραιότητας Οι παραπάνω σχέσεις συνδέονται µε τους περιορισµούς ακεραιότητας, που παρουσιάζονται στο Σχήµα Prosite Class Code Protein Code Protein Name Flag Selected Proteins Protein Code Class Code Distinct Protein Protein Distinct Class Class

43 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 43 Profile Protein Code Protein Name Profile Code Profile Name Pattern Protein Code Protein Name Pattern Code Pattern Name Selected Profiles Patterns Profile/Pattern Code Protein Code Distinct Prof/Pat Prof/Pat Code Σχήµα 3.13 Περιορισµοί ακεραιότητας Παραδείγµατα πινάκων, ερωτηµάτων Έχοντας ήδη έρθει σε επαφή µε τις σχέσεις της βάσης, ο αναγνώστης µπορεί στη συνέχεια να γνωρίσει τον τρόπο µε τον οποίο οργανώνονται τα πολυάριθµα στοιχεία στους πίνακες. Σε αυτή την παράγραφο θα δοθούν κάποια παραδείγµατα των πινάκων µε πραγµατικά δεδοµένα, καθώς και παραδείγµατα ερωτηµάτων που γίνονται από την τελική εφαρµογή προς τη βάση. Αξίζει να σηµειωθεί ότι τα υπογραµµισµένα γνωρίσµατα είναι τα πρωτεύοντα κλειδιά.! Οι πίνακες και µερικές πλειάδες τους Ο Πίνακας 3.1 περιλαµβάνει τους κωδικούς όλων των κλάσεων, που υπάρχουν στο αρχείο prosite.dat. Η δηµιουργία ενός τέτοιου πίνακα κρίθηκε αναγκαία, καθώς µε τη βοήθειά του εµφανίζονται στο χρήστη τα ονόµατα (κωδικοί) των κλάσεων που µπορεί να επιλέξει (βλ. Πίνακας 3.1).

44 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 44 ηµιουργείται από την διαδικασία all_classes_proc (Πηγαίος Κώδικας VI. all_classes_proc). All Classes Class Code PDOC00022 PDOC00026 PDOC00056 PDOC00571 PDOC00593 PDOC50179 Πίνακας 3.1 Ο Πίνακας 3.2 αποτελείται, επίσης, από κωδικούς κλάσεων, µόνο που σε αυτόν τον πίνακα βρίσκονται οι κλάσεις, που θα εγγραφούν στο τελικό αρχείο. Είναι ένας δυναµικός πίνακας, ο οποίος ανανεώνεται σύµφωνα µε τις επιλογές του χρήστη ( ιεπαφή 1. Καρτέλα επεξεργασίας δεδοµένων). Distinct Class Class PDOC00022 PDOC00026 PDOC00056 PDOC00571 PDOC00593 PDOC50179 Πίνακας 3.2 Ο Πίνακας 3.3 περιέχει τους κωδικούς εκείνων των πρωτεϊνών, που βρίσκονται στις κλάσεις, που έχει επιλέξει ο χρήστης. Τα στοιχεία του τοποθετούνται αυτούσια στο protein του τελικού

45 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 45 αρχείου. ηµιουργείται από τη διαδικασία distinct_prot_proc (Πηγαίος Κώδικας III. distinc_proc). Distinct Protein Protein O06325 O07642 P04049 P05697 P05697 Q15283 Πίνακας 3.3 Στον πίνακα Distinct Prof/Pat (Πίνακας 3.4) εισάγονται οι κωδικοί των προφίλ/προτύπων που περιέχονται στις επιλεγµένες πρωτεΐνες. Έπειτα, ο πίνακας εγγράφεται στο τελικό αρχείο.arff στα χωρίς καµία αλλαγή, εφόσον ο χρήστης έχει επιλέξει την επεξεργασία µέσω WEKA. Η διαδικασία που τον δηµιουργεί, είναι η distinct_prof_pat_proc (Πηγαίος Κώδικας III. distinc_proc). Distinct Prof/Pat Prof/Pat Code PS00024 PS00118 PS50196 PS50214 PS50280 PS50817 Πίνακας 3.4 Ο Πίνακας 3.5 είναι ο πίνακας εισόδου δεδοµένων από τον χρήστη. Οι κλάσεις, που επιλέγονται από το χρήστη, εισάγονται σε αυτόν τον πίνακα.

46 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 46 Selected Classes Class Code PDOC00022 PDOC00026 PDOC00056 PDOC00571 PDOC00593 PDOC50179 Πίνακας 3.5 Για τον πίνακα Prot_Exit (Πίνακας 3.6) έχουν ειπωθεί πολλά. Θα υπενθυµίσουµε µόνο ότι θεωρείται ο τελικός πίνακας εξόδου και όχι άδικα, καθώς κατέχει τα στοιχεία του µεγαλύτερου τµήµατος του τελικού αρχείου όταν η επεξεργασία πρόκειται να γίνει µε τη χρήση του WEKA ενώ αποτελεί ολόκληρο το αρχείο που χρησιµοποιεί ο SQL Server όταν φυσικά πρόκειται να χρησιµοποιηθεί ο Analysis Manager για την επεξεργασία. Κάθε νέο τµήµα εγγραφών ξεκινά µε τον κωδικό της πρωτεΐνης και τελειώνει µε το όνοµα της κλάσης στην οποία περιέχεται η πρωτεΐνη της πλειάδας. ε δηµιουργείται από ένα απλό SQL ερώτηµα και γι αυτό, ο κώδικας, που τον δηµιουργεί, διατίθεται στο παράρτηµα (Πηγαίος Κώδικας IV. prot_exit). Prot Exit Row Prot Attr 1 O00139,YES,NO,NO,NO,YES,NO,NO,NO,NO,YES,PDOC P03246,NO,NO,NO,NO,NO,NO,YES,NO,NO,NO,NO,PDOC Q34667,YES,NO,NO,NO,NO,NO,NO,NO,YES,NO,PDOC P04070,YES,YES,NO,NO,NO,NO,YES,NO,NO,NO,NO,NO,PDOC P06109,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC P19540,YES,YES,NO,NO,NO,NO,NO,NO,NO,NO,NO,NO,PDOC00010 Πίνακας 3.6 Ο Πίνακας 3.7 δηµιουργείται από τη διαδικασία sel_prot_proc (Πηγαίος Κώδικας II. sel_prot_proc) και αποτελείται από τους κωδικούς των

47 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 47 επιλεγµένων από το χρήστη - πρωτεϊνών, καθώς και τους κωδικούς των κλάσεων στις οποίες ανήκουν. Sel Proteins Protein Code O06325 O07642 P04049 P05697 P05697 Class Code PDOC00022 PDOC00026 PDOC00056 PDOC00571 PDOC00593 Q15283 Πίνακας 3.7 PDOC50179 Ο Πίνακας 3.8 έχει δύο στήλες, ο συνδυασµός των οποίων αποτελεί το πρωτεύον κλειδί. Τα περιεχόµενά τους είναι ο κωδικός του προφίλ/προτύπου και ο κωδικός της πρωτεΐνης που το περιέχει. ηµιουργείται από τη διαδικασία selected_prof_pat_table2 (Πηγαίος Κώδικας I. selected_prof_pat_table). Selected Prof/Pat Prof_Pat_Code PS00024 PS00118 PS50196 PS50214 PS50280 ProtCode O06325 O07642 P04049 P05697 P05697 PS50817 Πίνακας 3.8 Q15283

48 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 48 Ο πίνακας των προτύπων (Πίνακας 3.9) δηµιουργείται µε τη βοήθεια του DTS, καθώς τα στοιχεία του πηγαίου αρχείου είναι χωρισµένα σε στήλες µε το σύµβολο. Pattern Protein Code Protein Name Pattern Code Pattern Name O03085 ATPB_VANDA PS00017 ATP_GTP_A O03169 ATP6_LATCH PS00449 ATPASE_A O03176 CYB_LATCH PS00193 CYTOCHROME_B_QO O17449 TBB1_MANSE PS00227 TUBULIN O17795 DHBX_CAEEL PS00061 ADH_SHORT O17795 DHBX_CAEEL PS00017 ATP_GTP_A Πίνακας 3.9 Για τον πίνακα των προφίλ (Πίνακας 3.10) εργαζόµαστε όπως ακριβώς και σε αυτόν των προτύπων. Με τη χρήση του DTS και του συµβόλου ως διαχωριστή (delimiter) δηµιουργούµε τον πίνακα Profile. Profile Protein Code Protein Name Profile Code Profile Name O00160 MY1F_HUMAN PS50096 IQ O00160 MY1F_HUMAN PS50079 NLS_BP O08579 EMD_MOUSE PS50324 SER_RICH O08579 EMD_MOUSE PS50079 NLS_BP O08581 CIW1_MOUSE PS50265 CHANNEL_PORE_K Q62893 AMH2_RAT PS50298 TGFB_RECEPTOR Πίνακας 3.10

49 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 49 Ενώ οι δύο προηγούµενοι πίνακες (Πίνακας 3.9 και Πίνακας 3.10) δεν παρουσίασαν δυσκολίες στην πλήρωσή τους µε στοιχεία, δε συνέβη το ίδιο και µε τον New Prosite Table (Πίνακας 3.11), ο οποίος απαιτεί την εκτέλεση της οµώνυµης αποθηκευµένης διαδικασίας (βλ. Πηγαίος Κώδικας V. new_prosite_table). New Prosite Table Class Code Protein Code Protein Name Flag PDOC01035 O83656 Y650_TREPA T PDOC01035 O05960 Y741_RICPR T PDOC00936 O14022 ATCY_SCHPO F PDOC00936 P57140 Y028_BUCAI N PDOC00639 P28526 GER2_HORVU P PDOC00351 Q9NZ56 FMN2_HUMAN? Πίνακας 3.11! Μερικά ερωτήµατα Κατά τη σχεδίαση της βάσης υλοποιήθηκαν µε τη µορφή αποθηκευµένων διαδικασιών το µεγαλύτερο µέρος των ερωτηµάτων, που µπορεί να υποβάλει κανείς. Έτσι, τα ερωτήµατα, που γίνονται από την εφαρµογή προς τη βάση, είναι ολιγάριθµα και αποτελούνται κυρίως από εντολές εκτέλεσης των αποθηκευµένων διαδικασιών. Ας δούµε κάποια παραδείγµατα: " «SELECT * FROM AllClasses» Με αυτό το ερώτηµα δηµιουργείται ένα σετ αποτελεσµάτων (ResultSet), το οποίο περιέχει όλους τους κωδικούς των κλάσεων µε τους οποίους πληρώνεται ο πίνακας επιλογής στην καρτέλα «Preprocessing». " «EXEC [Gen Database].[dbo].[sel_prot_proc]» Με αυτό το ερώτηµα εκτελείται η διαδικασία sel_prot_proc. Με παρόµοιες εντολές εκτελούνται και τις υπόλοιπες. " «SELECT * FROM Distinct_Protein» Με αυτήν την εντολή εισάγονται στην εφαρµογή µας τα δεδοµένα του πίνακα Distinct_Protein, τα οποία χρησιµοποιούνται για τη δηµιουργία των τελικών αρχείων.

50 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 50 " «SELECT ClassName FROM selectedclasses» Αξιοποιώντας κατάλληλα το παραπάνω ερώτηµα και µε τη χρήση ενός σετ αποτελεσµάτων µε ειδικό τρόπο, εισάγονται στον πίνακα selectedclasses τις επιλεγµένες από το χρήστη κλάσεις Εκτίµηση µεγέθους Κατά την υλοποίηση της βάσης τηρήθηκαν διάφορα στατιστικά στοιχεία σχετικά µε το µέγεθός της. Θα πρέπει να σηµειωθεί ότι µε κάθε νέα εκτέλεση του προγράµµατος σβήνονται όλα τα περιεχόµενα των πινάκων. Με άλλα λόγια το µέγεθος της βάσης δεν µπορεί να υπερβεί κάποια συγκεκριµένη τιµή. Στη συνέχεια, µε τη χρήση απλών υπολογισµών και έχοντας ως οδηγό τον τύπο του πεδίου κάθε πίνακα επιχειρείται µια εκτίµηση του µεγέθους της βάσης δεδοµένων, που σχεδιάστηκε. Ας δούµε αναλυτικά, λοιπόν, το προβλεπόµενο µέγεθος κάθε πίνακα σε bytes:! New Prosite Table Η κάθε σειρά του πίνακα αποτελείται από 35 το πολύ bytes. Αυτή τη στιγµή ο πίνακας περιλαµβάνει γραµµές. Η βάση δεδοµένων του Prosite όµως, ανανεώνεται κάθε δύο εβδοµάδες, εποµένως είναι λογικό να θεωρηθεί ότι σύντοµα θα περιλαµβάνει περίπου εγγραφές. Συνολικά: 35* = bytes.! Profile Η κάθε πλειάδα στον πίνακα profile µπορεί να απαιτεί 50 bytes κατά µέγιστο. Οι εγγραφές του αυτή τη στιγµή, υπολογίζονται στις Πραγµατοποιώντας την εκτίµηση για ένα σχετικά µικρό βάθος χρόνου υπολογίζεται ότι θα υπάρχουν εγγραφές. Εποµένως: 50* = bytes.! Pattern Στο συγκεκριµένο πίνακα η κάθε σειρά µπορεί να αποτελείται από 50 το πολύ bytes, όπως και στο πίνακα profile. Οι εγγραφές αυτή τη στιγµή

51 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 51 είναι Εποµένως, για σειρές: 50* = bytes.! Selected Proteins Ο µέγιστος αριθµός byte κάθε σειράς είναι 20. Όταν ο χρήστης επιλέξει όλες τις κλάσεις, ο πίνακας selected proteins δέχεται εγγραφές. Για απλοποίηση των υπολογισµών, θεωρούνται πλειάδες, εποµένως: 20* = bytes.! Selected Profiles Patterns Το µέγιστο των byte, που µπορεί να έχει κάποια σειρά είναι 20. Ο τρέχον αριθµός εγγραφών είναι Με µέγιστο τις εγγραφές: 20* = bytes.! Selected Classes Ο συγκεκριµένος πίνακας στήλη έχει σειρές των 10 κατά µέγιστο - byte. Στην παρούσα δοκιµή έχουν επιλέγει κλάσεις. Θεωρούνται για µία σωστή εκτίµηση: συνεπώς 10*1.500 = bytes.! Prot Exit Ο πίνακας prot exit στην πλήρη έκτασή του, έχει πλειάδες ενώ η καθεµία, έχει χαρακτήρες. Ο κάθε χαρακτήρας λογίζεται ως ένα byte εποµένως, το µέγεθος του πίνακα, θα είναι * = ! Distinct Class Σε αυτόν τον πίνακα αποθηκεύονται οι κλάσεις, που επέλεξε ο χρήστης και έχουν τουλάχιστον µία πρωτεΐνη. Αποτελείται από µία στήλη των 10 byte. Το σύνολο των εγγραφών αναµένεται στις κατά συνέπεια: 10*1.500 = bytes.! Distinct Protein Ο πίνακας αυτός περιέχει τις πρωτεΐνες, που έχουν επιλεγεί έµµεσα από το χρήστη. Αποτελείται από µία στήλη των 10 byte κατά µέγιστο και έχει

52 Κεφάλαιο 3. Μεθοδολογία Ανάπτυξης 52 συνολικά εγγραφές. Θεωρούνται για τον υπολογισµό, οπότε: 10* = bytes.! Distinct Prof/Pat Με την ίδια λογική, όπως και ο πίνακας των πρωτεϊνών, κάθε γραµµή αποτελείται από 10 byte το µέγιστο και σειρές. Αν θεωρηθούν 1.200, λαµβάνονται: 10*1.200 = bytes. Αθροίζοντας, λοιπόν, όλα τα παραπάνω γινόµενα υπολογίζεται ο αριθµός των byte, που θα καταλαµβάνει κατά µέγιστο η βάση που δηµιουργήθηκε. Έχουµε: = bytes = megabytes

53 Κεφάλαιο 4. Υλοποίηση 4.1. Εισαγωγή Έχοντας αναλύσει σε βάθος τον αλγόριθµο, που χρησιµοποιήθηκε, έχοντας εξετάσει λεπτοµερώς τη σχεδίαση της βάσης, που υλοποιήθηκε και έχοντας υπολογίσει τη µέγιστη δυνατή χωρητικότητα, που απαιτείται για την αποθήκευσή της, το επόµενο βήµα είναι η εξήγηση του τρόπου µε τον οποίο υλοποιήθηκε το σύστηµα και η αναφορά στα προβλήµατα, που αντιµετωπίστηκαν κατά τη διάρκεια αυτής. Στην παράγραφο 4.3, λοιπόν, θα γίνει αναφορά στα προβλήµατα, ενώ στην παράγραφο 4.4 θα δοθούν κάποια στοιχεία που θα µπορούσαν να χρησιµοποιηθούν από ανθρώπους που επιθυµούν την εξέλιξη του προγράµµατος. Θα πρέπει σε αυτό το σηµείο να αναφερθεί ότι η υλοποίηση διήρκεσε περίπου έξι µήνες στη διάρκεια των οποίων καταναλώθηκαν περίπου 45 κιλά στερεάς τροφής, 180 λίτρα υγρής, 1350 kwh ρεύµατος και 1500 µονάδες τηλεφωνικών κλήσεων προς το διαδίκτυο Στάδια υλοποίησης Σε αυτή την παράγραφο θα εξεταστούν τα σηµαντικότερα στάδια, που ακολούθησε η υλοποίηση του συστήµατος.

54 Κεφάλαιο 4. Υλοποίηση Μελέτη συγγραµµάτων, αναζήτηση στοιχείων Το πρώτο βήµα για την υλοποίηση του συστήµατος ήταν η µελέτη της γλώσσας προγραµµατισµού Java, καθώς σε αυτή θα γινόταν η ανάπτυξη του συστήµατος. Παράλληλα, για την εύρεση του βέλτιστου αλγορίθµου κρίθηκε απαραίτητη η ανάγνωση συγγραµµάτων σχετικών µε πρωτεϊνικά δεδοµένα γενικά και ειδικότερα η µελέτη της βάσης δεδοµένων Prosite [BAI 99]. 2. Εξοικείωση µε το περιβάλλον του JBuilder Στον πρακτικό κόσµο του ηλεκτρολόγου µηχανικού είναι γνωστή η απόσταση που υπάρχει ανάµεσα στην θεωρία και στην πράξη. Με άλλα λόγια, ήταν απαραίτητη η εξοικείωση µε το περιβάλλον ανάπτυξης, δηλαδή το πρόγραµµα της Borland, JBuilder 6. Στην εξοικείωση αυτή βοήθησε ιδιαίτερα η ανάπτυξη ενός καθ όλα λειτουργικού γραφικού περιβάλλοντος για την εφαρµογή Gen Miner [ΣΥΜ 01]. 3. Βελτιστοποίηση αλγορίθµου Η δηµιουργία του γραφικού περιβάλλοντος για το λογισµικό Gen Miner φανέρωσε την αδυναµία του να χειριστεί ένα πλήθος κλάσεων που ξεπερνάει τις 23. Γι αυτό, επιβλήθηκε η ανεύρεση ενός νέου τρόπου προετοιµασίας των δεδοµένων. Επινοήθηκε η µετατροπή των δεδοµένων από αρχεία σε πίνακες µε τη βεβαιότητα ότι θα προσέφερε ένα περιβάλλον γρηγορότερης εκτέλεσης και λιγότερο επιρρεπές σε σφάλµατα. Ονοµάζουµε αυτό το στάδιο «Βελτιστοποίηση αλγορίθµου» και όχι «Γένεση αλγορίθµου», καθώς αυτό που άλλαξε στη δεύτερη εκδοχή του ήταν κυρίως ο τρόπος αποθήκευσης των δεδοµένων και όχι αυτός της επεξεργασίας τους. Η κύρια λογική παρέµεινε ίδια. 4. Σχεδίαση της Βάσης εδοµένων Gen Database Εφόσον αποφασίστηκε η χρήση κάποιας βάσεως δεδοµένων για την εφαρµογή, έµενε η άρτια σχεδίασή της. Στην παράγραφο 3.5 αναπτύσσεται αναλυτικά και αιτιολογούνται οι επί µέρους επιλογές µας. Σηµαντικό ρόλο στη σχεδίαση της GenDatabase που θα διαβάσετε, διαδραµάτισε τόσο η αποκτηθείσα από το µάθηµα Βάσεων εδοµένων εµπειρία, όσο και η απλότητα των απαιτήσεων.

55 Κεφάλαιο 4. Υλοποίηση Υλοποίηση της Βάσης εδοµένων Μετά από πολλές ώρες µελέτης, σκέψης και σχεδιασµού έφτασε η πιο ενδιαφέρουσα στιγµή, αυτή της υλοποίησης της Gen Database. Με τη βοήθεια συναδέλφων και βιβλίων του «Εργαστηρίου Ευφυών Συστηµάτων & Λογισµικού» κατορθώθηκε τόσο την υλοποίηση της βάσης, όσο και την υλοποίηση και αποσφαλµάτωση των αποθηκευµένων διαδικασιών που απαιτούνται για τη λειτουργία της. 6. ηµιουργία µη λειτουργικού GUI Με την Gen Database έτοιµη και σε αναµονή κατασκευάστηκε ένα µη λειτουργικό γραφικό περιβάλλον. Στόχος ήταν η εµφύτευση στο πρόγραµµά εκείνης της οµορφιάς και λειτουργικότητας που θα µπορούσε να συναγωνιστεί εµπορικά πακέτα λογισµικού. 7. Πλήρης ανάπτυξη συστήµατος Από µόνο του ένα γραφικό περιβάλλον είναι σαφές ότι δεν µπορεί να έχει ιδιαίτερη χρησιµότητα. Σε αυτό το στάδιο προστέθηκε ο κώδικας που έρχεται σε επαφή µε την Gen Database και δηµιουργεί τόσο το τελικό αρχείο εκπαίδευσης, όσο και το αρχείο δοκιµής. Επιπλέον, προστέθηκε η δυνατότητα εκκίνησης του WEKA (Waikato Environment for Knowledge Analysis) µε αποτέλεσµα την παρουσίαση µιας ολοκληρωµένης πρότασης επεξεργασίας δεδοµένων πρωτεϊνικής φύσης. Τέλος, βελτιώθηκε η δηµιουργία των αρχείων ελέγχου τόσο για το WEKA όσο και για τον SQL Analysis Server. 8. Αποσφαλµάτωση προγράµµατος Ένα από τα µεγαλύτερα στάδια στην υλοποίηση ενός συστήµατος είναι η αποσφαλµάτωσή του. Είναι γενικά παραδεκτό ότι η αξιοπιστία ενός συστήµατος αποτελεί όχι µόνο κριτήριο αποδοχής από τους χρήστες, αλλά και δείκτη επαγγελµατισµού των ανθρώπων που το ανέπτυξαν. Αναφορικά στη περίπτωση του GenTool, η προσθήκη επιπλέον κώδικα µε στόχο την αύξηση της αξιοπιστίας κρίθηκε απαραίτητη. Είναι γνωστό ότι η αύξηση της αξιοπιστίας οδηγεί αναπόφευκτα στη µείωση της απόδοσης, αλλά είναι επίσης γνωστό ότι κανείς δε χρησιµοποιεί αναξιόπιστο λογισµικό. Τέλος, πρέπει να επισηµάνουµε το γεγονός ότι σε καµιά

56 Κεφάλαιο 4. Υλοποίηση 56 περίπτωση δεν έχει επιτευχθεί η πλήρης αποσφαλµάτωση του λογισµικού, έχουν αφαιρεθεί όµως, τα σφάλµατα µε τις βαρύτερες συνέπειες. 9. οκιµές Το τελευταίο στάδιο της υλοποίησης είναι αυτό των δοκιµών. Εδώ πραγµατοποιούνται εξονυχιστικά τεστ στο σύστηµά και ελέγχεται η αξιοπιστία και η ταχύτητά του Προβλήµατα που παρουσιάστηκαν Προβλήµατα αλγορίθµου Όπως αναφέρθηκε και στην προηγούµενη παράγραφο, η υλοποίηση του προγράµµατος προετοιµασίας δεδοµένων βασίστηκε σε κάποιο προϋπάρχον λογισµικό του εργαστηρίου «Ευφυών συστηµάτων και λογισµικού». Το όνοµά του είναι Gen Miner. Αναπτύχθηκε εξ ολοκλήρου σε Java από τον µεταπτυχιακό φοιτητή Ανδρέα Συµεωνίδη [ΣΥΜ 01]. " Εύρεση του κατάλληλου αλγορίθµου Πριν αποφασιστεί η υλοποίηση του αλγορίθµου, που παρουσιάστηκε στην παράγραφο 3.4, πραγµατοποιήθηκε µια προσπάθεια βελτίωσης του Gen Miner και πιο συγκεκριµένα δηµιουργήθηκε ένα γραφικό περιβάλλον γι αυτό. Στην πορεία διαπιστώθηκε ότι εξαιτίας του τρόπου µε τον οποίο αντιµετωπιζόταν οι βάσεις δεδοµένων δηµιουργούνταν διάφορα σφάλµατα θέσεων στην επεξεργασία τους µε αποτέλεσµα να απαιτείται επανασχεδιασµός του αλγορίθµου. Έτσι γεννήθηκε η ιδέα της σχεδίασης µιας βάσης δεδοµένων για το στάδιο της προετοιµασίας των δεδοµένων (preprocessing), η οποία θα µπορούσε να χρησιµοποιηθεί και από τη συνάρτηση προετοιµασίας του σετ ελέγχου (test set). Έπρεπε, λοιπόν, αρχικά να αποφασιστεί ο τρόπος µε τον οποίο θα δηµιουργούταν οι απαραίτητες σχέσεις στη βάση.

57 Κεφάλαιο 4. Υλοποίηση 57 " ηµιουργία των αρχικών πινάκων της βάσης Με άλλα λόγια, έπρεπε να βρεθεί κάποια µέθοδος µεταφοράς των δεδοµένων από τα τρία αρχεία, που αποτελούσαν τα δεδοµένα, (prosite.dat, profile.dat, pattern.dat) σε πίνακες της βάσης. Η λύση του DTS δόθηκε από τα µέλη του εργαστηρίου «Ευφυών συστηµάτων και λογισµικού» και ήταν αποτέλεσµα της τεχνογνωσίας και του άριστου πνεύµατος συνεργασίας που έχει αναπτυχθεί µε την πάροδο των χρόνων. " Επεξεργασία αρχικών πινάκων Ενώ η υπηρεσία µεταφοράς δεδοµένων του SQL Server λειτούργησε άψογα για τα αρχεία των προφίλ και προτύπων, η δοµή του αρχείου Prosite δεν της επέτρεψε να δηµιουργήσει τον πίνακα που επιθυµούσαµε. Για το λόγο αυτό επιστρατεύτηκαν οι συναρτήσεις επεξεργασίας κειµένου (string manipulation functions) του SQL Server και πραγµατοποιήθηκε µία αποθηκευµένη διαδικασία, που θα είχε σαν στόχο τη δηµιουργία του τελικού πίνακα (new_prosite_table). Ο κώδικας, που χρησιµοποιήθηκε, είναι διαθέσιµος στο παράρτηµα (Πηγαίος Κώδικας V. new_prosite_table). " «Φιλικότητα» ως προς το δίκτυο Σε µια εποχή όπου η κυριαρχία των δικτύων υπολογιστών και όχι µόνο είναι αδιαµφισβήτητη, θα ήταν λάθος να µην δοµηθεί το σύστηµά µε τέτοιο τρόπο ώστε να είναι «φιλικό» για το δίκτυο (Network friendly). Με άλλα λόγια, έπρεπε να αντιµετωπιστεί το πρόβληµα µεταφοράς τεράστιου όγκου δεδοµένων από τον διακοµιστή στην εφαρµογή και κατά συνέπεια τον πολύ µεγάλο χρόνο εκτέλεσης των διαδικασιών. Στην προσπάθειά επίλυσης του παραπάνω προβλήµατος υλοποιήθηκε µε τέτοιο τρόπο τη βάση ώστε να απαιτείται η µεταφορά του λιγότερου δυνατού όγκου δεδοµένων. Έτσι η επιλογή των κλάσεων από την εφαρµογή δηµιουργεί έναν πίνακα µε αυτές στη βάση και αυτή είναι η µοναδική µεταφορά δεδοµένων µέχρι την τελική λήψη των αποτελεσµάτων. Εποµένως, το µεγαλύτερο µέρος του φόρτου εργασίας για την προετοιµασία των δεδοµένων εναποτίθεται στον διακοµιστή SQL. Η εφαρµογή είναι υπεύθυνη για τη σωστή δηµιουργία των αρχείων εκπαίδευσης και ελέγχου

58 Κεφάλαιο 4. Υλοποίηση 58 µε την ακριβή δροµολόγηση των δεδοµένων και την εµφάνιση ενός όµορφου και λειτουργικού γραφικού περιβάλλοντος. " Τεράστιος όγκος δεδοµένων Βασιζόµενοι στην προηγούµενη λογική επιχειρήθηκε η εκτέλεση του δοκιµαστικό πρόγραµµα, που ετοιµάσαµε. Σύµφωνα µε τον αλγόριθµο θα δηµιουργούταν ο πίνακας (Prot_Exit), ο οποίος θα περιείχε τα δεδοµένα προς έξοδο, τα οποία θα συλλέγονταν από την εφαρµογή και θα διοχετευόταν στο τελικό αρχείο. Κατά την εκτέλεση, όµως, διαπιστώθηκε ότι ήταν αδύνατο ο SQL Server να χειριστεί έναν πίνακα γραµµών. Οι δοκιµές λάµβαναν χώρα σε ηλεκτρονικό υπολογιστή για οικιακή χρήση τελευταίας γενιάς µε χαρακτηριστικά:! Επεξεργαστής: AMD AthlonXP 1.5GHz! Μνήµη R.A.M.: 512 MB! Σκληρός δίσκος: 20 GB Οι πρώτες δοκιµές µε περισσότερες των 20 κλάσεων δεν κατέστη δυνατό να ολοκληρωθούν. Η τροποποίηση του αλγορίθµου, φάνταζε ήδη αναπόφευκτη. Έτσι και έγινε. Ως καλύτερη αντιµετώπιση του προβλήµατος, κρίθηκε η τροποποίηση των πεδίων του πίνακα Prot_Exit. Πιο συγκεκριµένα, πραγµατοποιήθηκε µετατροπή του πεδίου Prot_Attr ως τύπου text και αποθηκεύτηκαν εκεί όλα τα δεδοµένα που αρχικά δηµιουργούσαν τον τεράστιο αριθµό στηλών. " Σύνδεση µε τον JDBC Driver Μεγάλη δυσκολία παρουσιάστηκε, κατά την προσπάθεια σύνδεσης της εφαρµογής µε τον SQL Server. Ενώ το εγχειρίδιο χρήσης του JBuilder υποστήριζε ότι υπάρχουν οδηγοί για τον SQL Server της Microsoft, στην πράξη δε φάνηκε να ισχύει κάτι τέτοιο. Μετά από αρκετές ώρες πλοήγησης στο διαδίκτυο και διαδοχικές απογοητεύσεις από οδηγούς εταιριών, που απαιτούσαν αγορά για σωστή λειτουργία, χρησιµοποιήθηκε ο οδηγός (driver) της Microsoft [URL06].

59 Κεφάλαιο 4. Υλοποίηση Προβλήµατα ταχύτητας εκτέλεσης Στην προσπάθειά δηµιουργίας ενός όσο το δυνατό φιλικότερου προς το χρήστη συστήµατος, επιχειρήθηκε η µείωση της ταχύτητας εκτέλεσης του προγράµµατος στο ελάχιστο. Ο τρόπος µε τον οποίο δοµήθηκε ο αλγόριθµος της διαδικασίας prot_exit απαιτούσε την ύπαρξη πρωτεύοντος κλειδιού στον πίνακα εξόδου Prot_Exit (έτσι ώστε τα δεδοµένα να τοποθετηθούν µε την σειρά εξόδου στους πίνακες). Το γεγονός αυτό σε συνδυασµό µε κάποια προγραµµατιστική λεπτοµέρεια οδήγησαν στην υπερβολικά αργή εκτέλεση της διαδικασίας. Αξίζει να αναφερθεί ότι για να ολοκληρωθεί η εκτέλεση απαιτούνταν περίπου 13 ηµέρες! Όπως είναι φυσικό, το νούµερο είναι ιδιαίτερα απογοητευτικό και σαφώς απαγορευτικό για οποιαδήποτε δοκιµή. Τελικά αφαιρέθηκαν τα πρωτευόντων κλειδιά από τον πίνακα, καθώς είναι γνωστό ότι η εισαγωγή πλειάδων επιβραδύνεται σηµαντικά σε πίνακες µε δείκτες ή πρωτεύοντα κλειδιά (indexes or primary keys). Το πρόβληµα της σωστής σειράς εξόδου αντιµετωπίστηκε µε µια απλή ταξινόµηση. Η επιθυµητή διάρκεια εκτέλεσης, όµως, ήταν ακόµη πολύ µακριά. Μια προγραµµατιστική λεπτοµέρεια στη γλώσσα SQL, που ανακαλύφθηκε µετά από κόπο, ήταν τελικά η λύση του προβλήµατος. Με δυο λόγια, η χρήση ψευδωνύµου σε έναν πίνακα ενός SELECT ερωτήµατος (table alias) ήταν υπεύθυνο γι αυτήν την καθυστέρηση. Το αποτέλεσµα ήταν η βελτίωση της ταχύτητας εκτέλεσης κατά 300 ώρες ή 12,5 ηµέρες. Πιο απλά, το πρόγραµµα, πλέον, µπορούσε να εκτελείται σε 11 ώρες! 4.4. Προβλέψιµες βελτιώσεις επεκτάσεις Σε αυτήν την παράγραφο θα γίνει αναφορά στα σηµεία, που χρήζουν βελτίωσης και θα µπορούσαν να καλυφθούν στο µέλλον υνατότητα εκτέλεσης από τον παγκόσµιο ιστό Ένα χαρακτηριστικό, που θα µπορούσε να προστεθεί στο σύστηµα µελλοντικά, είναι αυτό της χρήσης µέσω του διαδικτύου. Πιο συγκεκριµένα, θα µπορούσε να δοθεί η δυνατότητα στο χρήστη να δηµιουργεί το σετ δοκιµής από

60 Κεφάλαιο 4. Υλοποίηση 60 το δίκτυο και να το υποβάλει στο αποθηκευµένο δέντρο. Με αυτόν τον τρόπο ο διαχειριστής του συστήµατος θα είναι υπεύθυνος για την συντήρηση και ανανέωση του δέντρου αποφάσεων, ενώ οι τελικοί χρήστες δε θα χρειάζεται να εγκαθιστούν ολόκληρη τη βάση δεδοµένων στο σύστηµά τους, ούτε καν την τελική εφαρµογή. Θα µπορούν να δηµιουργούν µε την πρωτεΐνη, που επιθυµούν, το προσωπικό σετ δοκιµής Μείωση χρόνου εκτέλεσης Ο µικρός χρόνος εκτέλεσης ενός προγράµµατος αποτελεί µη τελεστική απαίτηση. Έχει παρατηρηθεί πως, ανεξάρτητα του ποσοστού µείωσης του χρόνου, πάντα θα υπάρχει χώρος για περαιτέρω µείωση. Ένας καλός τρόπος βελτίωσης θα ήταν ίσως η παραλληλοποίηση των διαδικασιών, που εκτελούνται στον διακοµιστή της βάσης δεδοµένων. Ένας άλλος τρόπος θα µπορούσε να είναι η βελτίωση του αλγορίθµου δηµιουργίας των τελικών δεδοµένων Έξοδος σε XML Το σύστηµα, που σχεδιάστηκε, βασίζεται στην εφαρµογή WEKA και στον SQL Analysis Server σε ότι αφορά στο µέρος του data mining. Είναι σαφές, όµως, ότι, καθώς το WEKA είναι ένα µη επαγγελµατικό λογισµικό το οποίο στερείται της δυνατότητας επεξεργασίας πολύ µεγάλου όγκου δεδοµένων, περιορίζει αρκετά την προετοιµασία των δεδοµένων. Αυτό σηµαίνει ότι ο µέγιστος αριθµός κλάσεων, που µπορεί να αξιοποιήσει το WEKA, στην πλήρη έκτασή τους δεν ξεπερνά τον αριθµό των 30. Έτσι, εξάγοντας τα αποτελέσµατα του preprocessing σε XML πιθανότατα θα ήταν εφικτή η καλύτερη δυνατή επεξεργασία τους µε τη βοήθεια εµπορικών πακέτων λογισµικού για εξόρυξη δεδοµένων.

61 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 5.1. Εισαγωγή Το πρόγραµµά εκτελέστηκε αρκετές φορές µετά την ολοκλήρωσή του και τα αποτελέσµατά του χρησιµοποιήθηκαν τόσο για αποσφαλµάτωση όσο και για τη διεξαγωγή πειραµάτων και εξαγωγή χρήσιµων συµπερασµάτων. Στην επόµενη παράγραφο, περιγράφονται οι συνθήκες του κάθε πειράµατος, τους στόχους που ετέθησαν καθώς και τα αποτελέσµατα που ελήφθησαν. Στην παράγραφο 5.4 αναρτάται µία συζήτηση γύρω από τα αποτελέσµατα και την αξία τους, ενώ ταυτόχρονα προτείνονται τρόποι βελτίωσης πέρα από την παρούσα εφαρµογή Πειράµατα Εξαγωγή δέντρου µε τη χρήση 10 κλάσεων Στο συγκεκριµένο πείραµα, χρησιµοποιήθηκαν 10 κλάσεις πρωτεϊνών. Συµπεριλήφθηκαν οι σηµαντικότερες κλάσεις από όλες τις νουκλεϊκές οµάδες. Είναι οι παρακάτω: PDOC00662, PDOC00064, PDOC00670, PDOC50007, PDOC00154, PDOC00343, PDOC00561, PDOC00224, PDOC00791, PDOC00271.

62 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 62 Η διαδικασία του preprocessing διήρκησε 5 λεπτά και 45 δευτερόλεπτα. Το εξαγόµενο αρχείο χρησιµοποιήθηκε για την διαδικασία του Data Mining µέσω της µηχανής WEKA και ελήφθησαν τα παρακάτω αποτελέσµατα. Number of Leaves : 78 Size of the tree : 155 Time taken to build model: 6.88 seconds === Evaluation on training set === === Summary === Correctly Classified Instances % Incorrectly Classified Instances % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 1379 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC50007 === Confusion Matrix === a b c d e f g h i j <-- classified as a = PDOC b = PDOC c = PDOC d = PDOC e = PDOC f = PDOC g = PDOC h = PDOC i = PDOC j = PDOC50007 Αποτελέσµατα 5.1

63 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 63 Σχήµα 5.1 Απεικόνιση δέντρου αποφάσεων 10 κλάσεων

64 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 64 === Run information === Scheme: weka.classifiers.j48.j48 -C 1.0 -M 2 Relation: protein-weka.filters.attributefilter-v-r2-275 Instances: 1379 Attributes: 274 [list of attributes omitted] Test mode: user supplied test set: 1 instances Time taken to build model: 6.36 seconds === Evaluation on test set === === Summary === Correctly Classified Instances % Incorrectly Classified Instances 0 0 % Kappa statistic 1 Mean absolute error 0 Root mean squared error 0 Relative absolute error 0 % Root relative squared error 0 % Total Number of Instances 1 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC50007 === Confusion Matrix === a b c d e f g h i j <-- classified as a = PDOC b = PDOC c = PDOC d = PDOC e = PDOC f = PDOC g = PDOC h = PDOC i = PDOC j = PDOC50007 Αποτελέσµατα 5.2

65 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA Εξαγωγή δέντρου µε τη χρήση 20 κλάσεων Οι κλάσεις που επιλέχθηκαν για αυτό το πείραµα, είναι κατά 10 περισσότερες έτσι ώστε να δηµιουργηθεί καλύτερη γνώση και πιο µεγάλο δέντρο αποφάσεων, το οποίο θα οδηγούσε σε αποτελέσµατα µε µεγαλύτερο ποσοστό επιτυχίας. Οι κλάσεις που επιλέχθηκαν είναι οι παρακάτω: PDOC00020, PDOC00023, PDOC00027, PDOC00335, PDOC00340, PDOC00344, PDOC00552, PDOC00561, PDOC00564, PDOC00567, PDOC00789, PDOC00790, PDOC00793, PDOC00800, PDOC00803, PDOC50001, PDOC50006, PDOC Η διαδικασία του preprocessing διήρκησε 10 λεπτά και 13 δευτερόλεπτα και η εισαγωγή του παραγόµενου αρχείου στο WEKA, απέδωσε τα παρακάτω αποτελέσµατα: Number of Leaves : 93 Size of the tree : 185 Time taken to build model: 8.2 seconds === Evaluation on training set === === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC50017

66 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 66 === Summary === Correctly Classified Instances % Incorrectly Classified Instances % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 2174 === Confusion Matrix === a b c d e f g h i j k l m n o p q r s <-classified as a = PDOC b = PDOC c = PDOC d = PDOC e = PDOC f = PDOC g = PDOC h = PDOC i = PDOC j = PDOC k = PDOC l = PDOC m = PDOC n = PDOC o = PDOC p = PDOC q = PDOC r = PDOC s = PDOC50017 J48 pruned tree PS00024 = YES: PDOC00023 (24.0/9.0) PS00024 = NO PS50207 = YES: PDOC00803 (10.0/2.0) PS50207 = NO PS50261 = YES: PDOC00344 (9.0/1.0) PS50261 = NO PS50824 = YES: PDOC00023 (3.0) PS50824 = NO PS00034 = YES: PDOC00027 (13.0) PS00034 = NO PS50215 = YES: PDOC00351 (46.0/2.0) PS50215 = NO PS00062 = YES: PDOC00800 (3.0) PS00062 = NO PS50324 = YES: PDOC00027 (147.0/97.0) PS50324 = NO PS50246 = YES: PDOC00335 (3.0) PS50246 = NO PS50804 = YES: PDOC00027 (2.0) PS50804 = NO: PDOC00351 (1914.0/1371.0) Number of Leaves : 11 Size of the tree : 21 Time taken to build model: 0.98 seconds Αποτελέσµατα 5.3

67 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA Πείραµα µε χρήση 30 κλάσεων Σε αυτό το πείραµα, χρησιµοποιήθηκαν 30 κλάσεις, µε σκοπό να µελετηθεί ο τρόπος µε τον οποίο διαφοροποιούνται τα αποτελέσµατα. Number of Leaves : 128 Size of the tree : 255 Time taken to build model: 43.8 seconds === Evaluation on training set === === Summary === Correctly Classified Instances % Incorrectly Classified Instances % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 2599 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC PDOC00728 Αποτελέσµατα 5.4

68 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 68 / πρότυπα. Το παραγόµενο δέντρο, αποτελείται από 2599 πρωτεΐνες και 371 προφίλ 5.3. Συζήτηση Το πρώτο πείραµα Στο πρώτο πείραµα λοιπόν, δηµιουργήθηκε ένα σετ εκπαίδευσης, που αποτελείται από 1379 πρωτεΐνες, οι οποίες βρίσκονται σε 10 µόλις κλάσεις. Το δέντρο αποφάσεων δηµιουργήθηκε από το WEKA σε 7 περίπου δευτερόλεπτα και χρησιµοποιώντας ολόκληρο το σετ εκπαίδευσης σαν σετ ελέγχου, το ποσοστό επιτυχίας στην αναγνώριση των πρωτεϊνών, ήταν 80,13%. Περισσότερες λεπτοµέρειες, παρουσιάζονται στα Αποτελέσµατα 5.1. Στο Σχήµα 5.1 µπορούµε να δούµε µια απεικόνιση του δέντρου αποφάσεων που δηµιουργήθηκε για το συγκεκριµένο πείραµα. Στη συνέχεια, χρησιµοποιώντας και πάλι το GenTool, κατασκευάστηκε το αρχείο του σετ ελέγχου µίας πρωτεΐνης, για να διαπιστωθεί κατά πόσο µπορεί να ταξινοµηθεί σωστά. Τα αποτελέσµατα παρουσιάζονται στο σχήµα των αποτελεσµάτων (Αποτελέσµατα 5.2), όπου είναι σαφές ότι, η πρωτεΐνη που επιλέχθηκε τυχαία, ταξινοµήθηκε σωστά (correctly classified instances 1 100%). Επίσης, από τον πίνακα αβεβαιότητας (confusion matrix) διαπιστώνεται ότι η πρωτεΐνη ανήκει στην κλάση PDOC Σε κάθε περίπτωση, µπορούµε να δούµε τα διάφορα χρήσιµα στατιστικά στοιχεία για κάθε κλάση χωριστά. Αυτό που εξετάζουµε, είναι η ακρίβεια των αποτελεσµάτων και προκύπτει από τα ποσοστά που αναγράφονται στον σχετικό πίνακα Το δεύτερο πείραµα Στο δεύτερο πείραµα, χρησιµοποιήθηκαν 10 κλάσεις παραπάνω οι οποίες περιείχαν 2174 πρωτεΐνες συνολικά, σχεδόν διπλάσιο αριθµό από το προηγούµενο πείραµα. Το πλήρες δέντρο αποτελείται από 93 φύλλα και 185 επίπεδα. Η ακρίβεια της ταξινόµησης, φαίνεται στο πίνακα µε τίτλο «Detailed Accuracy By Class» της εικόνας των αποτελεσµάτων (Αποτελέσµατα 5.3).

69 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 69 Οι ρυθµίσεις που χρησιµοποιήθηκαν για την παραγωγή αυτού του δέντρου, έδωσαν το ποσοστό επιτυχίας 84,26% για όλες τις πρωτεΐνες. Κάτω ακριβώς από τον πίνακα αβεβαιότητας παρουσιάζεται µια µικρή έκδοση του δέντρου που αποδίδεται µε απλά γραφικά. Ήταν αδύνατο να παρουσιαστεί ολόκληρο το δέντρο σε αυτή τη µορφή καθώς το µέγεθός του κρίθηκε υπερβολικά µεγάλο Το τρίτο πείραµα Σε αυτό το πείραµα, χρησιµοποιήθηκαν, 30 κλάσεις, δεν παρατηρήθηκε όµως πολύ µεγάλη αύξηση στον αριθµό πρωτεϊνών. Έτσι, το WEKA έπρεπε να ταξινοµήσει 2599 πρωτεΐνες και το κατάφερε µε ποσοστό 74,49 %. Εδώ χρησιµοποιήθηκε µικρότερη τιµή ευαισθησίας αποκοπής οριακών τιµών (pruning) και εκεί αποδίδεται το σχετικά χαµηλό ποσοστό. Τα υπερβολικά µεγάλα νούµερα των 128 φύλλων και 255 επιπέδων του δέντρου, δεν επέτρεψαν την απεικόνισή τους. Θα πρέπει σε αυτό το σηµείο να τονισθεί ότι όπως φαίνεται ξεκάθαρα και από το χρόνο που απαιτήθηκε για να δηµιουργηθεί το µοντέλο (43,8 δευτερόλεπτα), το WEKA αντιµετωπίζει σοβαρά προβλήµατα επεξεργασίας µεγάλων αρχείων. Αξίζει να σηµειωθεί ότι στα παραπάνω προβλήµατα εντάσσεται και η αδυναµία του εργαλείου WEKA, να δεχτεί το σετ ελέγχου που εισήχθη, παρά το γεγονός ότι αποκλείστηκαν από τον έλεγχο περισσότερα από 50 προφίλ Συµπεράσµατα Το συµπέρασµα, που προκύπτει αβίαστα από τα πειράµατα µε το WEKA, είναι ότι η κατηγοριοποίηση των πρωτεϊνών µε τον αλγόριθµο, που προτείνεται, αποφέρει από πολύ καλά µέχρι άριστα ποσοστά επιτυχίας. Ο χρόνος που απαιτείται για την λήψη τους είναι σηµαντικά µικρός, αν αναλογιστεί κανείς ότι τα αρχεία που παράγονται περιέχουν περισσότερους από 2.5 εκατοµµύρια χαρακτήρες. Για τα πειράµατα του προηγούµενου κεφαλαίου, χρησιµοποιήθηκαν όλες οι δυνατότητες που παρείχε το WEKA. Έτσι, το πρώτο πείραµα διεξήχθη µε «κλάδεµα» (pruning) του δέντρου αποφάσεων και ευαισθησία 0.5 ή 50%. Ο χρόνος που χρειάστηκε για να χτιστεί το µοντέλο, ήταν πολύ µικρός (6,88

70 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 70 δευτερόλεπτα) και τα αποτελέσµατά που έδωσε στο ζήτηµα της κατηγοριοποίησης, ήταν ιδιαίτερα θετικά. Στο δεύτερο πείραµα, δεν «κλαδεύτηκε» το δέντρο. Ο χρόνος που απαιτήθηκε για την κατασκευή του δέντρου, ήταν πιο µεγάλος, όµως ανάλογα µεγαλύτερος ήταν και ο αριθµός των κλάσεων που χρησιµοποιήθηκαν για τον σχηµατισµό του. Όπως ήταν αναµενόµενο, το αποτέλεσµα ήταν αρκετά καλύτερο και η κατηγοριοποίηση µιας τυχαίας πρωτεΐνης, επιτυχής. Τέλος, στο τελευταίο πείραµα, παρουσιάζεται ένα δέντρο που λόγω των περιορισµών που επιβλήθηκαν, χτίστηκε µε λιγότερα προφίλ από ότι θα έπρεπε και µε περισσότερο «κλάδεµα». Έτσι, ετέθη η ευαισθησία κοντά στο µηδέν (0.05) και τα αποτελέσµατα είναι φυσικά χειρότερα από αυτά των δύο προηγούµενων. Μέσα από συνεχή ενασχόληση µε το WEKA, ανακαλύφθηκε ότι οι βέλτιστες ρυθµίσεις ποικίλλουν ανάλογα µε την περίπτωση. Γι αυτό το λόγο, παρουσιάζονται στον παρακάτω πίνακα (Πίνακας 5.1) οι βέλτιστες ρυθµίσεις τόσο για τη µέγιστη δυνατή ακρίβεια κατηγοριοποίησης, όσο και για την ταχύτερη δηµιουργία του µοντέλου. «Κλάδεµα» Ευαισθησία Μέγιστη δυνατή ακρίβεια κατηγοριοποίησης Όχι 1 Ταχύτερη δυνατή δηµιουργία του µοντέλου Ναι 0.25 Πίνακας 5.1 Ιδανικές ρυθµίσεις για το Waikato Tool 5.5. Περιορισµοί Πρέπει να γίνει σαφές ότι οι δυνατότητες του συστήµατος που υλοποιήθηκε δεν περιορίζονται στη δηµιουργία αρχείου για 30 κλάσεις µόνο. Υπενθυµίζεται ότι οι κλάσεις στο σύνολό τους είναι Σε ένα από τα πρώτα τεστ του τελικού προϊόντος που πραγµατοποιήθηκαν στην προετοιµασία των δεδοµένων έλαβαν µέρος 500 κλάσεις. Με απογοήτευση όµως διαπιστώθηκε ότι το εργαλείο που επρόκειτο να χρησιµοποιηθεί για την εξόρυξη των δεδοµένων δεν ήταν δυνατόν να αντιµετωπίσει ένα τόσο µεγάλο σετ εγγραφών. Εξήχθη

71 Κεφάλαιο 5. Εξόρυξη γνώσης Πειράµατα µε το WEKA 71 λοιπόν στο συµπέρασµα, ότι δυστυχώς ήταν αδύνατο να παραχθεί όλη η γνώση που απαιτείται για την ολοκληρωµένη αντιµετώπιση του προβλήµατος της κατηγοριοποίησης των πρωτεϊνών. Μερικοί από τους υπόλοιπους περιορισµούς που συνάντησε στο δρόµο της η παραπάνω υλοποίηση είναι οι παρακάτω:! Ο πολύ µεγάλος όγκος δεδοµένων, είχε σαν αποτέλεσµα την πολύ δύσκολη και χρονοβόρα επεξεργασία τους. ηµιουργείται άµεσα λοιπόν η ανάγκη, για υλικό επαγγελµατικών προδιαγραφών. Η δυνατότητα αυτή δεν υπήρξε µε αποτέλεσµα την αδυναµία λήψης κάποιου καλύτερου αποτελέσµατος.! Όπως αναφέρθηκε και νωρίτερα, καθώς το πρόγραµµα WEKA είναι αυτό που αξιοποιεί την προετοιµασία των δεδοµένων δηµιουργώντας το δενδρικό µοντέλο και εκπαιδεύοντάς το, τα πειράµατα υπέκυψαν αναγκαστικά στους περιορισµούς που είναι προφανές ότι έχει ένα µη εµπορικό προϊόν που δηµιουργήθηκε για εκπαιδευτικούς σκοπούς.

72 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server 6.1. Εισαγωγή ιαβάζοντας τα παραπάνω, ο προσεκτικός παρατηρητής, µπορεί εύκολα να κατανοήσει ότι οι περιορισµοί που τέθηκαν από το WEKA, δεν επέτρεψαν την πλήρη αξιοποίηση των δυνατοτήτων του συστήµατος προετοιµασίας δεδοµένων. Αποφασίστηκε, λοιπόν, η χρήση του SQL Analysis Server για την διεξαγωγή πειραµάτων µε περισσότερες κλάσεις και κατά συνέπεια, τη δηµιουργία πληρέστερου δέντρου αποφάσεων Πειράµατα ένδρο αποφάσεων 50 κλάσεων Το πρώτο πείραµα εξετάζει τη δηµιουργία ενός δένδρου αποφάσεων που παράγεται από 50 κλάσεις. Το GenTool χρειάστηκε 22 λεπτά για να επεξεργαστεί τα δεδοµένα και να δηµιουργήσει το τελικό.arff αρχείο. Εισήχθη ο πίνακας που δηµιουργήθηκε µέσω DTS στον SQL Analysis Server και δηµιουργήθηκε το δενδρικό µοντέλο αποφάσεων. Το διάγραµµά του παρουσιάζεται στην παρακάτω εικόνα (Εικόνα 6.1).

73 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server 73 Εικόνα 6.1 ένδρο αποφάσεων SQLServer, 50 κλάσεων Σε αυτό το σηµείο κρίνεται σκόπιµο να αποσαφηνιστεί ο τρόπος µε τον οποίο παράγει το δένδρο αποφάσεων ο SQL Analysis Server. Αρχικά, λοιπόν, ερευνά όλους τους πιθανούς συνδυασµούς µε σκοπό την εύρεση προτύπων. Στη συνέχεια, σύµφωνα µε τα δεδοµένα που έχει, υπολογίζει τις πιθανότητες κατηγοριοποίησης κάθε πρωτεΐνης σε συγκεκριµένη κλάση και δηµιουργεί ένα πιθανοτικό µοντέλο ταξινόµησης (Probabilistic Classification Tree). Αποφασίζει ποιο θα είναι το τελικό δένδρο, δηλαδή από πόσα φύλλα θα πρέπει να αποτελείται, σύµφωνα µε τις µεγαλύτερες πιθανότητες που έχει υπολογίσει. εν δίνεται η δυνατότητα στο χρήστη, να επιλέξει ποια θα πρέπει να είναι η ευαισθησία του αλγορίθµου και κατά συνέπεια δεν µπορεί να ρυθµίσει το µέγεθος του δένδρου. Επιλέγοντας κάποιο από τα φύλλα του δένδρου, εµφανίζεται στο δεξί τµήµα του παραθύρου, το ιστόγραµµα της εικόνας 6.2. Εκεί βλέπουµε τις πιθανότητες που υπολόγισε ο SQL Analysis Server για κάθε κλάση. Πιο απλά, σε περίπτωση που κάποια πρωτεΐνη περιέχει το επιλεγµένο πρότυπο / προφίλ (κάθε φύλλο είναι και ένα πρότυπο / προφίλ) το οποίο στην υπό εξέταση περίπτωση είναι το PS50157 και δεν περιέχει στην αλυσίδα της το προφίλ PS50071 έχει 36,29% πιθανότητες να ανήκει στην κλάση PDOC00027, 28,53% πιθανότητες να ανήκει στην κλάση PDOC00033 και ούτω καθ εξής. Στην εικόνα 6.3, παρουσιάζεται ο συγκεντρωτικός πίνακας αποτελεσµάτων. Εκεί, µπορούµε να δούµε πως ακριβώς ταξινοµήθηκαν οι πρωτεΐνες του σετ εκπαίδευσης.

74 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server 74 Εικόνα 6.2 Ιστόγραµµα 50 κλάσεων Εικόνα 6.3 Συγκεντρωτικός πίνακας πιθανοτήτων

75 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server ένδρο αποφάσεων 80 κλάσεων Η παραπάνω διαδικασία, επαναλήφθηκε και για 80 κλάσεις. Το δένδρο που δηµιουργήθηκε, βρίσκεται στην εικόνα 6.4. Το χρώµα του κάθε φύλλου, ορίζεται από το χρώµα της κλάσης µε την µεγαλύτερη πιθανότητα για το συγκεκριµένο προφίλ / πρότυπο. Εικόνα 6.4 ένδρο αποφάσεων 80 κλάσεων Το ιστόγραµµα της εικόνας 6.5, απεικονίζει την περίπτωση που το πρότυπο PS50071 υπάρχει στην αλυσίδα µιας πρωτεΐνης, αυτή ανήκει στην κλάση PDOC00033 µε πιθανότητα 43,83% και στην κλάση PDOC00027 µε πιθανότητα 26,54%. Εικόνα 6.5 Ιστόγραµµα 80 κλάσεων Τέλος, στην εικόνα 6.6 παρουσιάζεται ο πίνακας των ταξινοµηµένων πρωτεϊνών. Εκεί βλέπουµε ότι από τις 567 πρωτεΐνες που περιέχουν το

76 Κεφάλαιο 6. Πειράµατα µε τον SQL Analysis Server 76 πρότυπο PS50071, οι 283 ανήκουν στην κλάση PDOC00033 ποσοστό 43,83%, οι 171 στην κλάση PDOC00027 ποσοστό 26,54%, οι 101 στην κλάση PDOC00032 ποσοστό 15,74% ενώ οι υπόλοιπες είναι διάσπαρτες στις εναποµείναντες κλάσεις. Εικόνα 6.6 Πίνακας πιθανοτήτων 6.3. Συµπεράσµατα Το συµπέρασµα που προκύπτει αβίαστα από τη µελέτη των παραπάνω πειραµάτων αλλά και από τη γενικότερη ενασχόλησή του γράφοντος µε την εξόρυξη δεδοµένων µε τη χρήση του SQL Analysis Server, είναι ότι παρόλο που αποτελεί ένα εµπορικό πακέτο υψηλών δυνατοτήτων, στερείται της δυνατότητας να αντεπεξέλθει σε πολύ µεγάλες απαιτήσεις επεξεργασίας. Αυτό συµβαίνει για το λόγο ότι δεν µπορεί να διαχειριστεί πίνακες µε υπερβολικά µεγάλο αριθµό στηλών. Έτσι, όταν επιχειρήθηκε η δηµιουργία µοντέλου µε 200 κλάσεις (780 προφίλ) διαπιστώθηκε η αδυναµία που αναφέρεται παραπάνω. Σε όλα αυτά αξίζει να προστεθεί ότι δεν επιτρέπεται στο χρήστη η εισαγωγή στον πίνακα εξόρυξης όλων των προφίλ µε µία κίνηση, γεγονός το οποίο τον υποχρεώνει να τοποθετεί µία µία την κάθε στήλη. Γίνεται κατανοητό λοιπόν, ότι ο SQL Analysis Server, δεν αποτελεί το βέλτιστο εργαλείο εξόρυξης δεδοµένων.

77 Κεφάλαιο 7. Σύνοψη Γενικά συµπεράσµατα Ολοκληρώνοντας την ανάγνωση αυτής της διπλωµατικής εργασίας, ο αναγνώστης - µηχανικός, θα πρέπει εύκολα να µπορεί να επιχειρηµατολογήσει απέναντι στα εξής συµπεράσµατα: Αρχικά, σε ότι αφορά στο σύστηµα που αναπτύχθηκε, δεν είναι δύσκολο να διαπιστώσει κανείς ότι πρόκειται για µία εφαρµογή λειτουργική και εύχρηστη, χωρίς περίπλοκα µενού και πλήκτρα τοποθετηµένα χωρίς σειρά και χωρίς κάποια σαφή οµαδοποίηση. Πιστεύεται ότι οι επεξηγήσεις που εµφανίζονται λίγα δευτερόλεπτα µετά την αναµονή του δείκτη του ποντικιού πάνω από κάποιο πλήκτρο, βοηθούν ιδιαίτερα το χρήστη που διαθέτει µικρή έστω εµπειρία στη χρήση ηλεκτρονικών συσκευών. Όπως έχει αναφερθεί και παραπάνω, στο παράρτηµα Α, το οποίο αποτελεί τον οδηγό χρήσης του συστήµατος, αναλύονται διεξοδικά οι δυνατότητες του προγράµµατος και δίνονται τα απαραίτητα εφόδια στον οποιοδήποτε έστω και ελάχιστα µυηµένο στις διαδικασίες αναζήτησης συµπεριφορών βιολογικών δεδοµένων. Αυτό που δεν µπορεί να διαπιστώσει ο αναγνώστης, όσο προσεκτικά και αν πραγµατοποιήσει τη µελέτη του κειµένου, είναι: 1. η µεγάλη ταχύτητα µε την οποία εκτελούνται οι απαραίτητες διαδικασίες (εκτιµήσεις δείχνουν ότι η ταχύτητα δεν µπορεί να αυξηθεί περισσότερο από 10% µε τη χρήση των ίδιων εργαλείων ανάπτυξης),

78 Κεφάλαιο 7. Σύνοψη η αντοχή του συστήµατος σε λάθη (σε κανένα από τα τεστ που πραγµατοποιήθηκαν δεν έκλεισε από κάποιο σφάλµα που παρουσιάστηκε), 3. η φιλικότητά του ως προς το σύστηµα που το υποδέχεται (δεν απαιτεί την εγκατάσταση κάποιου προγράµµατος ή έστω κάποιων αρχείων στο σύστηµα που θα εκτελεστεί) 4. και τέλος η φιλικότητα ως προς το δίκτυο (δεν επιφορτίζει τη σύνδεση του µε τον διακοµιστή της βάσης δεδοµένων µεταφέροντας άσκοπα µεγάλο πλήθος εγγραφών πινάκων). Κατά δεύτερον, σε ότι αφορά στο άλλο µεγάλο µέρος της εργασίας, αυτό της εξόρυξης δεδοµένων (data mining), πρέπει να σηµειωθεί, ότι, επιλέχθηκε η πιο αποτελεσµατική και εύκολα κατανοητή µέθοδος για το συγκεκριµένο σετ δεδοµένων. Τα αποτελέσµατα που ελήφθησαν, ήταν ανάλογα των προσδοκιών και στόχων που ετέθησαν στην αρχή της εργασίας. Στο Κεφάλαιο 5, παρουσιάστηκαν εκτενώς οι τρόποι µε τους οποίους µπορεί κανείς να ρυθµίσει την ευαισθησία και κατά συνέπεια να επιδράσει δραστικά στην εκπαίδευση του δένδρου µε τη χρήση του WEKA, ενώ στο Κεφάλαιο 6 χρησιµοποιήθηκε ο SQL Analysis Server µε σκοπό να δοθεί η δυνατότητα σύγκρισης εµπορικού και µη λογισµικού. Μερικά από τα συµπεράσµατα που εύκολα µπορεί να εξάγει κανείς από όσα αναφέρονται σχετικά µε την εξόρυξη δεδοµένων και του δενδρικού µοντέλου που χρησιµοποιήθηκε, είναι τα παρακάτω: 1. η χρήση του δένδρου αποφάσεων για εξόρυξη δεδοµένων αποτελεί µία αξιόπιστη και συνάµα εύκολα υλοποιήσιµη λύση. Είναι ιδιαίτερα παραµετροποιήσιµη µπορεί να χρησιµοποιηθεί σε πληθώρα περιπτώσεων, 2. η αντιµετώπιση προβληµάτων µε εξαιρετικά µεγάλο αριθµό καταστάσεων (attributes στην περίπτωση µας προφίλ και πρότυπα) είναι µια ιδιαίτερα κοπιαστική διαδικασία η οποία απαιτεί ειδική µεταχείριση και 3. τέλος, η γνώση που παρέχεται µετά από την ενασχόληση µε ένα ζήτηµα, συχνά συµβαδίζει µε παλιές λαϊκές ρήσεις και γνωµικά. Στη δική µας περίπτωση θα ταίριαζε εκείνη που επισηµαίνει ότι ο καλός τεχνίτης γίνεται από τα εργαλεία που αυτός έχει.

79 Κεφάλαιο 7. Σύνοψη 79 Επίλογος Ρίχνοντας κανείς µια µατιά στις παραγράφους 5.5 και 4.3, µπορεί εύκολα να διαπιστώσει ότι οι συνθήκες αντιµετώπισης του ζητήµατος δεν ήταν οι βέλτιστες δυνατές. Το σύστηµα, όµως, που προέκυψε, είναι αξιόπιστο και βελτιστοποιηµένο σε ότι αφορά στην προετοιµασία των δεδοµένων στην πλήρη έκτασή τους δηλαδή µε τη χρήση όλων των 1100 κλάσεων. Η διαδικασία της εξόρυξης των δεδοµένων είναι ένα κοµµάτι που µπορεί να γίνει ξεχωριστά από την προετοιµασία τους και όποτε ο χρήστης το επιθυµήσει. Γι αυτό το σκοπό η έξοδος του προγράµµατος είναι τέτοια ώστε να µπορεί να χρησιµοποιηθεί από το µεγαλύτερο µέρος των εξειδικευµένων πακέτων λογισµικού. Κλείνοντας, θέλουµε να πιστεύουµε ότι η γνώση που περιέχεται στο παρόν σύγγραµµα, µπορεί να αποτελέσει ένα κόκκο άµµου σε µελλοντικά οικοδοµήµατα σοφίας. Όλοι µας ακούµε και όλοι µας φοβόµαστε τις αρνητικές συνέπειες της ραγδαίας ανάπτυξης στον τοµέα της βιοπληροφορικής και κυριότερα της γενετικής. Ας ευχηθούµε η λογική και η ηθική των µηχανικών να είναι παρούσα στις κρίσιµες αποφάσεις.

80 Βιβλιογραφία [EN 96] R. Elmasri, S.B. Navathe, Θεµελιώδεις Αρχές Συστηµάτων Βάσεων εδοµένων Τόµος Α, ίαυλος, Αθήνα, [EN 96] R. Elmasri, S.B. Navathe, Θεµελιώδεις Αρχές Συστηµάτων Βάσεων εδοµένων Τόµος Β, ίαυλος, Αθήνα, [FLA 99] David Flanagan, JAVA in a nutshell A Desktop Quick Reference, O Reilly, Sebastopol, CA, [SEI 01] Claude Seidman, Data Mining with Microsoft SQL Server 2000, Microsoft Press, Redmond, Washington, [IJ 01] Marc Israel, J. Steven Jones, SQL Server 2000 Design, Sybex, Alameda, CA, [WWH + 01] Dake Wang, Xiangyun Wang, Vasant Honavar and Drena L. Dobbs, Data Driven Generation of Decision Trees for Motif Based Assignment of Protein Sequences to Functional Families, Iowa State University, Ames, IA, [ΜΣΚ 01] Περικλής Α. Μήτκας, Ανδρέας Λ. Συµεωνίδης, ιονύσης. Κεχαγιάς, Gen Miner: Προετοιµασία γενετικών δεδοµένων για την εύρεση και το διαχωρισµό λειτουργικών οικογενειών µε βάση την πρωτεϊνική αλυσίδα, ΤΗΜΜΥ Α.Π.Θ., Θεσσαλονίκη, 2001 [BAI 99] Amos Bairoch, Prosite: A dictionary of protein sites and patterns User Manual, Swiss Institute of Bioinformatics, Geneva, 1999 [ΣΥΜ 01] Ανδρέας Λ. Συµεωνίδης, GEN_MINER: Instruction Manual, ΤΗΜΜΥ Α.Π.Θ., Θεσσαλονίκη 2001 [URL01] [URL02] [URL03] [URL04] [URL05] [URL06]

81 Παράρτηµα Α. Οδηγός χρήσης GenTool Α1. Εισαγωγή Σε αυτό το παράρτηµα, παρουσιάζεται ο ορθός τρόπος χρήσης του Gen Tool και βρίσκουν απάντηση κάποια συνήθη προβλήµατα που µπορεί να παρουσιαστούν κατά τη λειτουργία του. Α2. ηµιουργία της βάσης δεδοµένων Gen Database Για να µπορέσουµε να χρησιµοποιήσουµε το Gen Tool, είναι απαραίτητη η ύπαρξη µιας βάσης δεδοµένων ονόµατι Gen Database. Η δηµιουργία αυτής της βάσης, είναι εξαιρετικά απλή µε τη χρήση των αρχείων Create_All_Procedures.sql Create_All_Tables.sql (Πηγαίος Κώδικας VII. Create_All_Tables procedure) που βρίσκονται στο συνοδευτικό CD του συγγράµµατος. Μετά την εκτέλεση των παραπάνω ερωτηµάτων SQL και τη δηµιουργία των κατάλληλων πινάκων και διαδικασιών, πρέπει να εκτελεστούν οι διαδικασίες new_prosite_table (Πηγαίος Κώδικας V. new_prosite_table) και All_Classes (Πηγαίος Κώδικας VI. all_classes_proc). Αυτές, δηµιουργούν τους αντίστοιχους πίνακες, οι οποίοι είναι απαραίτητοι για την εκτέλεση των υπόλοιπων διαδικασιών και την ορθή λειτουργία του προγράµµατος. Αξίζει σε αυτό το σηµείο να υπογραµµίσουµε ότι για να µπορέσει να λειτουργήσει η Gen Database, είναι απαραίτητη η µεταφορά των τριών αρχείων που αποτελούν την βάση δεδοµένων prosite, µε τη χρήση του DTS. Α3. ηµιουργία δέντρου αποφάσεων Για να δηµιουργήσουµε το δέντρο αποφάσεων, ακολουθούµε τα παρακάτω βήµατα: 1. Κατά την εκκίνηση του προγράµµατος, εµφανίζεται το παράθυρο της εικόνας ΙΙΙ (βλ. Παράρτηµα Β, ιεπαφή 3. Αρχική διεπαφή σύνδεσης) στο οποίο αρχικά επιλέγουµε το όνοµα του SQL Server που θα χρησιµοποιήσουµε, το όνοµα του χρήστη που έχει πλήρη δικαιώµατα στη βάση δεδοµένων Gen Database καθώς και τον κωδικό εισόδου γι αυτόν τον χρήστη. Κάνουµε κλικ στο πλήκτρο OK και αν τα δεδοµένα εισόδου

82 Παράρτηµα Α. Οδηγός χρήσης GenTool 82 είναι σωστά, το πρόγραµµα εκκινεί. Με το πλήκτρο Cancel, η εφαρµογή κλείνει. 2. Μετά την εκκίνηση του προγράµµατος, το παράθυρο που παρουσιάζεται στην οθόνη µας, είναι αυτό της διεπαφής 1 (βλ. Παράρτηµα Β, ιεπαφή 1. Καρτέλα επεξεργασίας δεδοµένων). Εκεί, µε τα πλήκτρα που βρίσκονται στην κορυφή της καρτέλας, µπορούµε να επιλέξουµε όλες τις κλάσεις µοτίβα, µε το πλήκτρο All, καµία µε το πλήκτρο None, ή ακόµη να αντιστρέψουµε την επιλογή µας µε το πλήκτρο Invert. Επιλεγµένες κλάσεις, θεωρούνται αυτές οι οποίες έχουν τσεκαρισµένο το πεδίο Selected δίπλα στο όνοµά τους. 3. Στη συνέχεια, αφού έχουµε αποφασίσει ποιες κλάσεις θα συµπεριλάβουµε και τις έχουµε επιλέξει, κάνουµε κλικ στο πλήκτρο Update έτσι ώστε να ανανεωθούν οι απαραίτητοι πίνακες στη βάση. Αν δεν πιέσουµε το πλήκτρο Update το πλήκτρο Start δεν µπορεί να εκκινήσει τη διαδικασία. 4. Επιλέγουµε αν επιθυµούµε να εκκινήσει το πρόγραµµα WEKA και ανάλογα τσεκάρουµε το αντίστοιχο κιτίο επιλογής. Σε περίπτωση που ξεχάσουµε να το κάνουµε αυτό, µας δίνεται η δυνατότητα να εκτελέσουµε εκ των υστέρων το πρόγραµµα ανάλυσης δεδοµένων WEKA, µε το πλήκτρο Run WEKA. Η εφαρµογή διαθέτει επεξηγήσεις όλων των πλήκτρων (tool tips). Για να τις εµφανίσετε, αρκεί να αφήσετε τον δείκτη του ποντικιού σας επάνω στα πλήκτρα για ελάχιστα δευτερόλεπτα. 5. Στο κάτω µέρος της πρώτης καρτέλας ( ιεπαφή 1. Καρτέλα επεξεργασίας δεδοµένων) καταγράφονται όλα τα συµβάντα και λάθη που πραγµατοποιούνται από το πρόγραµµα. Α4. ηµιουργία σετ ελέγχου Η δηµιουργία των σετ ελέγχου, πραγµατοποιείται από τη δεύτερη καρτέλα, «Generate Data Sets» ( ιεπαφή 2. Καρτέλα δηµιουργίας DATA Set). Εκεί, για να δηµιουργηθούν τα Data Sets, πρέπει να ακολουθηθούν τα παρακάτω βήµατα:

83 Παράρτηµα Α. Οδηγός χρήσης GenTool Εκτέλεση της συνάρτησης Populate list µε την πίεση του αντίστοιχου πλήκτρου. Μετά την εκτέλεση της συνάρτησης, θα εµφανιστούν στη λίστα στο αριστερό τµήµα της καρτέλας, όλες οι πρωτεΐνες των οποίων τα στοιχεία είναι διαθέσιµα στη βάση δεδοµένων. 2. Στη συνέχεια επιλέγουµε τις πρωτεΐνες που επιθυµούµε να περιέχονται στο σετ ελέγχου και Πιέζουµε το πλήκτρο δηµιουργίας των Data Sets «Create files» που επιθυµούµε, ανάλογα µε το σύστηµα που θα χρησιµοποιήσουµε στη συνέχεια για την εξόρυξη δεδοµένων και περιµένουµε µέχρι να εµφανιστεί το µήνυµα επιβεβαίωσης «Files created». Το πρόγραµµα, θα δηµιουργήσει δύο αρχεία. Το ένα θα περιέχει όλες τις πρωτεΐνες που έχει επιλέξει ο χρήστης, ενώ το άλλο θα περιέχει όλες τις πρωτεΐνες που εµφανίστηκαν στη λίστα, πλην των πρωτεϊνών που έχει επιλέξει ο χρήστης. Για να δηµιουργήσετε ένα καινούριο αρχείο εκπαίδευσης πρέπει να επανεκκινήσετε την εφαρµογή.

84 Παράρτηµα Β. Εικόνες διεπαφών ιεπαφή 1. Καρτέλα επεξεργασίας δεδοµένων

85 Παράρτηµα B. Εικόνες διεπαφών 85 ιεπαφή 2. Καρτέλα δηµιουργίας DATA Set

86 Παράρτηµα B. Εικόνες διεπαφών 86 ιεπαφή 3. Αρχική διεπαφή σύνδεσης

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

Δευτεροταγείς βάσεις δεδομένων (Secondary databases) Δευτεροταγείς βάσεις δεδομένων (Secondary databases) Οι δευτεροταγείς (pattern) βάσεις δεδομένων (ΒΔ) περιέχουν τα αποτελέσματα από τις αναλύσεις των αλληλουχιών που βρίσκονται στις πρωτοταγείς πηγές πληροφόρησης.

Διαβάστε περισσότερα

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

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

Διαβάστε περισσότερα

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 20 Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Τεχνητή Νοηµοσύνη, B' Έκδοση - 1 - Ανακάλυψη Γνώσης σε

Διαβάστε περισσότερα

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βιοπληροφορική και Πολυµέσα. Ειρήνη Αυδίκου Αθήνα Βιοπληροφορική και Πολυµέσα Αθήνα 1.2.2009 ΠΕΡΙΕΧΟΜΕΝΑ 1. Πως σχετίζεται µε τα Πολυµέσα 2. Τι είναι η Βιοπληροφορική 3. Χρήσεις 4. Συµπεράσµατα 5. Βιβλιογραφία Βιοπληροφορική και Πολυµέσα 2 1. Τι είναι

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Τεχνικές κατασκευής δένδρων επιθεµάτων πολύ µεγάλου µεγέθους και χρήσης

Διαβάστε περισσότερα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ΤµήµαΕφαρµοσµένης Πληροφορικής Πανεπιστήµιο Μακεδονίας Θεσσαλονίκη Ιούνιος 2006 εισαγωγικού µαθήµατος προγραµµατισµού υπολογιστών.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ολοκληρωµένο Σύστηµα ιαχείρισης Ασφαλισµένου

Ολοκληρωµένο Σύστηµα ιαχείρισης Ασφαλισµένου Εγχειρίδιο Χρήστη: Ολοκληρωµένο Σύστηµα ιαχείρισης ΦΑΣΗ Α: Ηλεκτρονική Καταγραφή Παρακλινικών Εξετάσεων Έκδοση 0.02 Ιστορικό Αναθεωρήσεων Date [Ηµ/νία] Version Description Author Approved by Date of [Έκδοση]

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΟΜΑΔΑ Λ Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Τι είναι η βιοπληροφορική; Αποκαλείται ο επιστημονικός κλάδος ο οποίος προέκυψε από

Διαβάστε περισσότερα

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

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

Διαβάστε περισσότερα

Ησυµβολή των Έργων ΕΠΕΑΕΚ ΙΙ των Ακαδηµαϊκών Βιβλιοθηκών. Τίτλος Εργασίας: Πληροφοριακή Παιδεία και Ελληνική Ανώτατη Εκπαίδευση:

Ησυµβολή των Έργων ΕΠΕΑΕΚ ΙΙ των Ακαδηµαϊκών Βιβλιοθηκών. Τίτλος Εργασίας: Πληροφοριακή Παιδεία και Ελληνική Ανώτατη Εκπαίδευση: 1 ο Επιστηµονικό Συµπόσιο Πληροφοριακή Παιδεία και Ελληνική Ανώτατη Εκπαίδευση: Ησυµβολή των Έργων ΕΠΕΑΕΚ ΙΙ των Ακαδηµαϊκών Βιβλιοθηκών Τίτλος Εργασίας: Πληροφοριακή Παιδεία και Ελληνική Ανώτατη Εκπαίδευση:

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

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

Διαβάστε περισσότερα

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

Επιμορφωτικές Τηλεκπαιδεύσεις

Επιμορφωτικές Τηλεκπαιδεύσεις Επιμορφωτικές Τηλεκπαιδεύσεις Υπηρεσίες Πανελλήνιου Σχολικού Δικτύου Υπηρεσία Ηλεκτρονικής Σχολικής Τάξης (η-τάξη) Προεπισκόπηση Παρουσίασης Υπηρεσία Ηλεκτρονικής Σχολικής Τάξης (η-τάξη) Εισαγωγή Χαρακτηριστικά

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

2.2 Οργάνωση και ιοίκηση (Μάνατζµεντ -Management) 2.2.1. Βασικές έννοιες 2.2.2 Ιστορική εξέλιξη τον µάνατζµεντ.

2.2 Οργάνωση και ιοίκηση (Μάνατζµεντ -Management) 2.2.1. Βασικές έννοιες 2.2.2 Ιστορική εξέλιξη τον µάνατζµεντ. 2.2 Οργάνωση και ιοίκηση (Μάνατζµεντ -Management) 2.2.1. Βασικές έννοιες Έχει παρατηρηθεί ότι δεν υπάρχει σαφής αντίληψη της σηµασίας του όρου "διοίκηση ή management επιχειρήσεων", ακόµη κι από άτοµα που

Διαβάστε περισσότερα

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

Διαβάστε περισσότερα

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ 8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ Στόχος του εργαστηρίου αυτού είναι να δείξει πώς τα εργαστήρια με τα δεδομένα της ICAP μπορούν να υλοποιηθούν χωρίς τη χρήση SQL Server, χρησιμοποιώντας μόνον Excel και Rapid

Διαβάστε περισσότερα

Ασκήσεις 1 & 2. Βάσεις Δεδομένων. Εργαλεία Αναζήτησης ClustalW & Blast

Ασκήσεις 1 & 2. Βάσεις Δεδομένων. Εργαλεία Αναζήτησης ClustalW & Blast Ασκήσεις 1 & 2 Βάσεις Δεδομένων Εργαλεία Αναζήτησης ClustalW & Blast Μοριακή Προσομοίωση Εισαγωγή: Δομική Βάση Βιολογικών Φαινομένων Η αξιοποίηση του πλήθους των δομικών στοιχείων για την εξαγωγή βιολογικά

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ σ. 2 Α. ΕΡΕΥΝΑ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ Ε ΟΜΕΝΩΝ 2

ΕΙΣΑΓΩΓΗ σ. 2 Α. ΕΡΕΥΝΑ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ Ε ΟΜΕΝΩΝ 2 1 Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΕΙΣΑΓΩΓΗ σ. 2 Α. ΕΡΕΥΝΑ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ Ε ΟΜΕΝΩΝ 2 Β. ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΕΥΝΑ 1. Γενικά Έννοιες.. 2 2. Πρακτικός Οδηγός Ανάλυσης εδοµένων.. 4 α. Οδηγός Λύσεων στο πλαίσιο

Διαβάστε περισσότερα

Βασικά ζητήματα μιας βάσης δεδομένων

Βασικά ζητήματα μιας βάσης δεδομένων Τριαντάφυλλος Πριμηκύρης* Βασικά ζητήματα μιας βάσης δεδομένων Τι είναι μια βάση δεδομένων; Ας ξεκινήσουμε με κάτι πολύ απλό! Όλοι έχετε έναν τηλεφωνικό κατάλογο. Ο κατάλογος αυτός είναι μια χειροκίνητη

Διαβάστε περισσότερα

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 CubisLITE Client Οδηγίες Χρήσεως Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 1 ΠΕΡΙΕΧΟΜΕΝΑ Γενικά 1. Τι είναι ο CubisLITE Server 2. Τι είναι ο

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

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

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ Δ.Π.Μ.Σ: «Εφαρμοσμένες Μαθηματικές Επιστήμες» 2008

Διαβάστε περισσότερα

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό, 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή 1. εδοµένα, Πληροφορίες και Υπολογιστές 2. Πώς φτάσαµε στους σηµερινούς υπολογιστές 3. Το υλικό ενός υπολογιστικού συστήµατος 4. Το λογισµικό ενός υπολογιστικού συστήµατος

Διαβάστε περισσότερα

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

Διαβάστε περισσότερα

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

Διαβάστε περισσότερα

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας 1. Εισαγωγή Σχολιασµός των εργασιών της 16 ης παράλληλης συνεδρίας µε θέµα «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» που πραγµατοποιήθηκε στο πλαίσιο του 4 ου Πανελλήνιου Συνεδρίου «ιδακτική

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Η έννοια πρόβληµα Ανάλυση προβλήµατος Με τον όρο πρόβληµα εννοούµε µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Μερικά προβλήµατα είναι τα εξής:

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ. Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ. Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης ΠΕΡΙΕΧΌΜΕΝΑ Περιεχόµενα Περιεχόµενα... - 1 - Εισαγωγή... - 2 - Σηµείο πρόσβασης και αναγνώριση

Διαβάστε περισσότερα

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον» 1. Κύκλος ζωής λογισμικού Ο κύκλος ζωής λογισμικού είναι οι φάσεις (τα στάδια) από τις οποίες διέρχεται μία εφαρμογή λογισμικού, από την σύλληψη της ιδέας, τη διαδικασία κατασκευής / ανάπτυξης, τη λειτουργία

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ. Παύλος Αντωνίου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ Παύλος Αντωνίου Με μια ματιά: Εισαγωγή στη Βιολογία Ευθυγράμμιση Ακολουθιών Αναζήτηση ομοίων ακολουθιών από βάσεις δεδομενων Φυλογενετική πρόβλεψη Πρόβλεψη

Διαβάστε περισσότερα

περιεχόμενα παρουσίασης

περιεχόμενα παρουσίασης Ανάλυση Απαιτήσεων περιεχόμενα παρουσίασης Δημιουργία μοντέλου Προσεγγίσεις Μοντελοποίησης Μοντελοποίηση δεδομένων Διαγράμματα ροής δεδομένων Μη διαγραμματικά μοντέλα ανάλυσης Διαγράμματα δραστηριότητας

Διαβάστε περισσότερα

ΚΑΝΟΝΙΣΜΟΣ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ

ΚΑΝΟΝΙΣΜΟΣ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ ΚΑΝΟΝΙΣΜΟΣ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Η διπλωµατική εργασία στο τµήµα μηχανικών σχεδίασης προϊόντων και συστημάτων Η ιπλωµατική Εργασία ( Ε) εκπονείται από τους τελειόφοιτους του Τμήματος προκειμένου να αποκτήσουν

Διαβάστε περισσότερα

Οδηγίες για τη διδασκαλία µαθηµάτων Πληροφορικής του Ενιαίου Λυκείου

Οδηγίες για τη διδασκαλία µαθηµάτων Πληροφορικής του Ενιαίου Λυκείου Οδηγίες για τη διδασκαλία µαθηµάτων Πληροφορικής του Ενιαίου Λυκείου Εγγραφο Γ2/4769/4-9-1998 ΣΧΕΤ. 2794/23-6-98 έγγραφο του Παιδαγωγικού Ινστιτούτου Σας αποστέλλουµε οδηγίες για τη διδασκαλία των µαθηµάτων

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

(6) : : 17 60 40 . .

(6) :      :     17 60 40 . . ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΓΙΑ ΠΛΗΡΩΣΗ ΜΙΑΣ ΚΕΝΗΣ ΘΕΣΗΣ ΒΟΗΘΟΥ ΛΕΙΤΟΥΡΓΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΟ ΗΜΟ ΛΕΥΚΩΣΙΑΣ Θέµα: Ειδικό

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΙΑΧΕΙΡΙΣΗ ΠΕΡΙΓΡΑΦΙΚΩΝ ΣΤΟΙΧΕΙΩΝ---------------------------------------------------------- 3

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΙΑΧΕΙΡΙΣΗ ΠΕΡΙΓΡΑΦΙΚΩΝ ΣΤΟΙΧΕΙΩΝ---------------------------------------------------------- 3 ΥΠΟΥΡΓΕΙΟ ΑΝΑΠΤΥΞΗΣ ΕΘΝΙΚΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΓΙΑ ΤΗΝ ΕΝΕΡΓΕΙΑ Ο ΗΓΟΣ ΧΡΗΣΗΣ ΈΡΓΟ ΕΠΕ 3.4.9. ΙΑΝΟΥΑΡΙΟΣ 2003 ΠΕΡΙΕΧΟΜΕΝΑ 1 ΙΑΧΕΙΡΙΣΗ ΠΕΡΙΓΡΑΦΙΚΩΝ ΣΤΟΙΧΕΙΩΝ----------------------------------------------------------

Διαβάστε περισσότερα

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα «Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα Σεμινάριο 8: Χρήση Μηχανικής Μάθησης στην Εξαγωγή Πληροφορίας Ευάγγελος Καρκαλέτσης, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο

Διαβάστε περισσότερα

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua. Μέρος Β /Στατιστική Μέρος Β Στατιστική Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.gr/gpapadopoulos) Από τις Πιθανότητες στη Στατιστική Στα προηγούμενα, στο

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

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

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

Λογισµικό για το µάθηµα της βιολογίας Α και Γ Γυµνασίου. Τεχνικό Εγχειρίδιο Χρήσης για τον Μαθητή

Λογισµικό για το µάθηµα της βιολογίας Α και Γ Γυµνασίου. Τεχνικό Εγχειρίδιο Χρήσης για τον Μαθητή Λογισµικό για το µάθηµα της βιολογίας Α και Γ Γυµνασίου Τεχνικό Εγχειρίδιο Χρήσης για τον Μαθητή Περιεχόµενα Πρόλογος για τον µαθητή...2 1. Το µενού πλοήγησης...3 2. Κουµπιά / εντολές πλοήγησης...4 3.

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

1 Ανάλυση Προβλήματος

1 Ανάλυση Προβλήματος 1 Ανάλυση Προβλήματος 1.1 Η Έννοια Πρόβλημα Τι είναι δεδομένο; Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή, με μία από τις πέντε αισθήσεις του. Τι είναι επεξεργασία

Διαβάστε περισσότερα

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Άκουσµα. ιαδικτυακό λογισµικό για την εξάσκηση στη δεξιότητα της κατανόησης προφορικού λόγου. Εγχειρίδιο χρήσης

Άκουσµα. ιαδικτυακό λογισµικό για την εξάσκηση στη δεξιότητα της κατανόησης προφορικού λόγου. Εγχειρίδιο χρήσης Άκουσµα ιαδικτυακό λογισµικό για την εξάσκηση στη δεξιότητα της κατανόησης προφορικού λόγου Εγχειρίδιο χρήσης Περιεχόµενα 1 Το λογισµικό «Άκουσµα»... 3 2 Πλοήγηση στο λογισµικό... 3 2.1 Επιλογή χρήστη...

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 5.1 Πρόβλημα και Υπολογιστής Τι ονομάζουμε πρόβλημα; Πρόβλημα θεωρείται κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0 Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών Τµήµα Μεθοδολογίας, Ιστορίας & Θεωρίας της Επιστήµης ιαπανεπιστηµιακό Πρόγραµµα Μεταπτυχιακών Σπουδών «Βασική και Εφαρµοσµένη Γνωσιακή Επιστήµη» Σύντοµο Εγχειρίδιο

Διαβάστε περισσότερα

Document Scanning System Ιανουάριος, 2014

Document Scanning System Ιανουάριος, 2014 Document Scanning System Ιανουάριος, 2014 Το DSS, είναι ένα ολοκληρωμένο συστημα διαχείρισης ψηφιοποίησης εγγράφων, αφού εκτός από την διαδικασία ψηφιοποίησης των εγγράφων, αρχειοθετεί και μία σειρά δεδομένων

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

FROM TESTOTA.REGISTRY

FROM TESTOTA.REGISTRY ΟΤΑ Επιχειρησιακή Νοηµοσύνη Ενότητα: Βc1.1.3 Επιχειρησιακή Νοηµοσύνη και Τεχνολογίες της Πληροφορικής και των Επικοινωνιών (BI & IT) Πρακτική Άσκηση (επίπεδο 1): Στόχος της άσκησης είναι η εµβάθυνση στην

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο

Διαβάστε περισσότερα

h t t p s : / / k p p. c t i. g r

h t t p s : / / k p p. c t i. g r Οδηγός Αξιοποίησης Υποστηρικτικού Υλικού για την προετοιμασία του μαθητή Απευθύνεται σε εκπαιδευτικούς που αναλαμβάνουν την υποστήριξη μαθητών και στους μαθητές που ενδιαφέρονται να προετοιμαστούν για

Διαβάστε περισσότερα

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ Αθανάσιος Γαγάτσης Τµήµα Επιστηµών της Αγωγής Πανεπιστήµιο Κύπρου Χρήστος Παντσίδης Παναγιώτης Σπύρου Πανεπιστήµιο

Διαβάστε περισσότερα

ΠΡΟΣΚΛΗΣΗ ΕΚ ΗΛΩΣΗΣ ΕΝ ΙΑΦΕΡΟΝΤΟΣ στα Σεµινάρια του Εργαστηρίου Προηγµένων Εκπαιδευτικών Τεχνολογιών και Εφαρµογών Κινητών Συσκευών

ΠΡΟΣΚΛΗΣΗ ΕΚ ΗΛΩΣΗΣ ΕΝ ΙΑΦΕΡΟΝΤΟΣ στα Σεµινάρια του Εργαστηρίου Προηγµένων Εκπαιδευτικών Τεχνολογιών και Εφαρµογών Κινητών Συσκευών ΠΡΟΣΚΛΗΣΗ ΕΚ ΗΛΩΣΗΣ ΕΝ ΙΑΦΕΡΟΝΤΟΣ στα Σεµινάρια του Εργαστηρίου Προηγµένων Εκπαιδευτικών Τεχνολογιών και Εφαρµογών Κινητών Συσκευών Προθεσµίες δηλώσεων συµµετοχής 7 και 28 Ιανουαρίου 2018 Με το πέρας των

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

Διαβάστε περισσότερα

Αναμόρφωση Προπτυχιακού Προγράμματος Σπουδών

Αναμόρφωση Προπτυχιακού Προγράμματος Σπουδών ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Αναμόρφωση Προπτυχιακού Προγράμματος Σπουδών ΠΕ 4 ΑΝΑΠΤΥΞΗ ΚΑΙ ΠΡΟΣΑΡΜΟΓΗ ΕΝΤΥΠΟΥ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Μια βάση δεδομένων είναι μια οργανωμένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευμένες σε κάποιο αποθηκευτικό μέσο (π.χ σκληρό δίσκο). Οι πληροφορίες τις οποίες καταχωρούμε και

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Εργασία 1η Classification

Αναγνώριση Προτύπων Εργασία 1η Classification ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Αναγνώριση Προτύπων Εργασία 1η Classification Κιντσάκης Αθανάσιος 6667 Μόσχογλου Στυλιανός 6978 30 Νοεμβρίου,

Διαβάστε περισσότερα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

SGA Διαχείριση Πρωτόκολλου

SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου SGA Διαχείριση Πρωτόκολλου 1. SGA Διαχείριση Πρωτοκόλλου... 2 1.1. Καινοτομία του προσφερόμενου προϊόντος... 2 1.2. Γενικές αρχές του προσφερόμενου συστήματος... 2 1.3. Ευκολία

Διαβάστε περισσότερα

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

Διαβάστε περισσότερα

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

ΚΥΚΛΟΣ ΣΤΑΤΙΣΤΙΚΗΣ ΕΡΕΥΝΑΣ ΚΥΚΛΟΣ ΣΤΑΤΙΣΤΙΚΗΣ ΕΡΕΥΝΑΣ Βασίλης Καραγιάννης Η παρέμβαση πραγματοποιήθηκε στα τμήματα Β2 και Γ2 του 41 ου Γυμνασίου Αθήνας και διήρκησε τρεις διδακτικές ώρες για κάθε τμήμα. Αρχικά οι μαθητές συνέλλεξαν

Διαβάστε περισσότερα

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

Διαβάστε περισσότερα

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

Διαβάστε περισσότερα

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Συστήματα Υποστήριξης Αποφάσεων Τα Συστήματα Υποστήριξης Αποφάσεων (Σ.Υ.Α. - Decision Support Systems, D.S.S.) ορίζονται ως συστήματα

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΑΠΟΦΑΣΕΩΝ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ Ενημερωτικό Φυλλάδιο Αθήνα, Οκτώβριος 2016 Εργαστήριο

Διαβάστε περισσότερα

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

Διαβάστε περισσότερα

Σενάριο 18: Ραβδογράμματα Πληθυσμού

Σενάριο 18: Ραβδογράμματα Πληθυσμού Σενάριο 18: Ραβδογράμματα Πληθυσμού Φύλλο Εργασίας Τίτλος: Ραβδογράμματα Πληθυσμού Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

Διαβάστε περισσότερα