Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

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

Download "Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης"

Transcript

1 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Διπλωματική εργασία Μεθοδολογία σύγκρισης πρωτεϊνικών ακολουθιών σε υποδομές μεγάλης κλίμακας Εκπόνηση: Όλγα Βρούσγου ΑΕΜ: 6904 Επιβλέποντες: Καθηγητής Περικλής Α. Μήτκας Δρ. Φώτης Ε. Ψωμόπουλος Απρίλιος

2 2

3 Diploma Thesis Title Design and Implementation of a Grid Computing Framework For Enabling Large-Scale Comparative Genomics Processes Abstract In the era of Big Data in Life Sciences, efficient processing and analysing of vast amounts of sequence data is becoming an ever daunting challenge. Among such analyses, sequence alignment is one of the most commonly used procedures, as it provides useful insights on the functionality and relationship of the involved entities. At the same time however, it is one of the most common computational bottlenecks in several bioinformatics workflows, especially when combined with the construction of families and phylogenetic profiles (simple sequence alignment between ~0.5 million proteins, can take up to a week on a single computer). We have designed and implemented a time-efficient distributed modular application for sequence alignment, phylogenetic profiling and clustering of protein sequences, by utilizing the European Grid Infrastructure. Specifically, the application comprises three main components; (a) BLAST alignment, (b) construction of phylogenetic profiles based on the produced alignment scores and (c) clustering of entities using the MCL algorithm. These modules have been selected as they represent a common aspect of a vast majority of bionformatics workflows. It is important to note that the modules can be combined independently, and ultimately provide 4 different modes of operation. We have evaluated the application through several different scenarios, ranging from targeted investigations of enzymes participating in selected pathways against a custom database to produce functional groups, to large scale comparisons at the pangenome level. In all cases, the optimal utilization of the Grid with regards to the respective modules, allowed us to achieve significant speedup to the order of 14.1x. Olga Vrousgou Aristotle University of Thessaloniki Faculty of Engineering School of Electrical & Computer Engineering Information Processing Laboratory 3

4 Διπλωματική Εργασία Τίτλος Μεθοδολογία Σύγκρισης Πρωτεϊνικών Ακολουθιών σε Υποδομές Μεγάλης Κλίμακας Περίληψη Την εποχή που τα Big Data έχουν εισχωρήσει στον κλάδο της Υπολογιστικής Βιολογίας, η αποτελεσματική επεξεργασία και ανάλυση μεγάλων συνόλων γονιδιακών δεδομένων αποτελεί πραγματική πρόκληση. Από το σύνολο των μεθόδων ανάλυσης, αυτή της σύγκρισης αλληλουχιών είναι η πιο συχνά χρησιμοποιούμενη, καθώς παρέχει χρήσιμα αποτελέσματα όσον αφορά τις σχέσεις και τις λειτουργίες των εμπλεκόμενων οντοτήτων. Ωστόσο, ταυτόχρονα αποτελεί πηγή μεγάλων χρονικών καθυστερήσεων σε πολλές εργασίες της Βιοπληροφορικής, ειδικά όταν συνδυάζεται με την κατασκευή οικογενειών και φυλογενετικών προφίλ (απλή σύγκριση αλληλουχιών, ανάμεσα σε ~0.5 εκατομμυρίων πρωτεϊνών, μπορεί να διαρκέσει μέχρι και μια εβδομάδα αν εκτελεστεί σε ένα υπολογιστικό σύστημα). Σχεδιάστηκε μια γρήγορη, κατανεμημένη, σπονδυλωτή εφαρμογή, η οποία εκτελεί σύγκριση αλληλουχιών, κατασκευή φυλογενετικών προφίλ και ομαδοποίηση πρωτεϊνικών ακολουθιών, αξιοποιώντας την υποδομή πλέγματος υπολογιστών που προσφέρει το European Grid Infrastructure. Η εφαρμογή αποτελείται από τρεις σπονδύλους: (a) σύγκριση BLAST, (b) κατασκευή φυλογενετικών προφίλ βασισμένη στα αποτελέσματα της σύγκρισης (c) ομαδοποίηση οντοτήτων χρησιμοποιώντας τον αλγόριθμο MCL. Επιλέχθηκαν αυτές οι ενότητες, καθώς είναι αντιπροσωπευτικές για ένα μεγάλο αριθμό εργασιών της Βιοπληροφορικής. Σημειώνεται ότι οι ενότητες αυτές μπορούν να συνδυαστούν ανεξάρτητα μεταξύ τους, προσφέροντας 4 διαφορετικές εκδοχές εκτέλεσης. Η εφαρμογή αξιολογήθηκε μέσω διαφόρων σεναρίων ελέγχου, όπως συγκεκριμένη ανάλυση ενζύμων που συμμετέχουν σε επιλεγμένα μεταβολικά μονοπάτια έναντι γνωστής βάσης, ώστε να παραχθούν λειτουργικές ομάδες, καθώς και μεγάλης κλίμακας συγκρίσεων σε παν-γονιδιακό επίπεδο. Σε κάθε περίπτωση, η βέλτιστη χρήση του Grid, σε συνδυασμό με τις αντίστοιχες ενότητες, είχαν ως αποτέλεσμα να επιτευχθεί επιτάχυνση της τάξης του 14.1x. Όλγα Βρούσγου Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών 4

5 5

6 Ευχαριστήριες Θα ήθελα να ευχαριστήσω θερμά τον Καθηγητή Περικλή Α. Μήτκα που μου εμπιστεύθηκε την εκπόνηση της διπλωματικής εργασίας, καθώς και για την επιστημονική εποπτεία και καθοδήγηση καθ όλη τη διάρκεια των φοιτητικών μου χρόνων. Ιδιαίτερα θερμές ευχαριστίες οφείλω και στον μεταδιδακτορικό ερευνητή Φώτη Ε. Ψωμόπουλο, για την άρτια και άμεση καθοδήγηση, ενθάρρυνση και έμπνευση που μου παρείχε. Ευχαριστώ επίσης τον υποψήφιο διδάκτορα Αθανάσιο Κιντσάκη, για την παροχή σημαντικών δεδομένων, καθώς και για την ανταλλαγή απόψεων όσον αφορά το παρόν θέμα. Ακόμα, θα ήθελα να ευχαριστήσω τον Γιάννη Μεντεκίδη για την συνεισφορά του στο κείμενο. Τέλος, οφείλω ένα μεγάλο ευχαριστώ στην οικογένεια και τους φίλους μου, που με στήριξαν καθ όλη τη διάρκεια των σπουδών μου. 6

7 Περιεχόμενα 1 Εισαγωγή Βιοπληροφορική Συνοπτική περιγραφή του προβλήματος Στόχοι της διπλωματικής Μεθοδολογία Διάρθρωση της διπλωματικής Θεωρητικό υπόβαθρο Αλγόριθμος BLAST Φυλογενετικά προφίλ Clustering πρωτεϊνών μέσω του αλγορίθμου MCL Πλέγματα Υπολογιστών (Grid computing) HellasGrid Περιγραφή του προγράμματος Γενική περιγραφή του προγράμματος Αναλυτική περιγραφή του προγράμματος Η είσοδος του προγράμματος Τα βήματα του προγράμματος Βήμα 1: Η προετοιμασία του parametric job Βήμα 2: Η εκτέλεση του parametric job Βήμα 3: Η παρακολούθηση του parametric job Βήμα 4: Η προετοιμασία του επόμενου job ή job collection Βήμα 5: Η εκτέλεση του επόμενου job ή job collection Βήμα 6: Η παρακολούθηση του επόμενου job ή job collection Βήμα 7: Συλλογή των αρχείων εξόδου Η έξοδος του προγράμματος Χρησιμοποιώντας το HellasGrid στο μέγιστο Η διεπαφή του χρήστη με το πρόγραμμα Πολυπλοκότητα του προγράμματος Πολυπλοκότητα του αλγορίθμου BLAST Πολυπλοκότητα αλγορίθμου MCL Πολυπλοκότητα κατασκευής φυλογενετικών προφίλ Πολυπλοκότητα επιλογής Πολυπλοκότητα επιλογής Πολυπλοκότητα επιλογής Πολυπλοκότητα επιλογής Πολυπλοκότητα επιλογής

8 4 Αποτελέσματα Πειραματικός έλεγχος του συστήματος Περιγραφή του test dataset Database File Query File Χρόνοι εκτέλεσης κάθε ενότητας Ενότητα BLAST Ενότητα φυλογενετικών προφίλ Ενότητα simple MCL clustering Ενότητα Phylogenetic Profile MCL clustering Χρόνοι και αποτελέσματα ανά επιλογή Σενάρια ελέγχου Αποτελέσματα επιλογής Αποτελέσματα επιλογής Αποτελέσματα επιλογής Αποτελέσματα επιλογής Κλιμάκωση από επίπεδο ελέγχου σε επίπεδο παραγωγής Αποτελέσματα επιπέδου παραγωγής Περιγραφή του dataset Χρόνοι εκτέλεσης κάθε ενότητας Συμπεράσματα και μελλοντικές επεκτάσεις Συμπεράσματα Μελλοντικές επεκτάσεις Βιβλιογραφία Παράρτημα Α - Ορολογία Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος Οδηγίες εγκατάστασης του προγράμματος Πρόσβαση στο HellasGrid Εισαγωγή προγράμματος στο UI του χρήστη Δομή των αρχείων Οδηγίες χρήσης του προγράμματος Είσοδος Εκτέλεση Έξοδος Το λογισμικό του προγράμματος Λίστα Σχημάτων Σχήμα Χρονοδιάγραμμα των σημαντικότερων γεγονότων στους τομείς της Βιολογίας, των υπολογιστών και της Βιοπληροφορικής...13 Σχήμα Τεχνική ευθυγράμμισης δυο ακολουθιών...18 Σχήμα Ευθυγράμμιση αλληλουχιών μέσω του αλγορίθμου BLAST...19 Σχήμα Έξοδος του αλγορίθμου BLAST

9 Σχήμα Γραφική παράσταση των βημάτων του αλγορίθμου MCL...22 Σχήμα Η αρχιτεκτονική του Grid...25 Σχήμα Μορφή ενός αρχείου jdl για την εκτέλεση του run.exe προγράμματος...28 Σχήμα FASTA αρχείο με δύο αλληλουχίες του οργανισμού Escherichia coli...32 Σχήμα Γενική ροή του προγράμματος...33 Σχήμα Διάγραμμα ροής αλγορίθμου του κάθε parametric job...38 Σχήμα E-values ανάμεσα στο query sequence leua και 4 database sequences σε abc μορφή Σχήμα Identities ανάμεσα στο query sequence leua και 4 database sequences σε abc μορφή Σχήμα Δυαδικά φυλογενετικά προφίλ έξι query sequences και ενός γονιδίου, σε μορφή abc Σχήμα Επεκτεταμένα φυλογενετικά προφίλ δύο query sequences και τεσσάρων γονιδίων, σε μορφή abc Σχήμα Επεκτεταμένα φυλογενετικά προφίλ δύο query sequences και τεσσάρων γονιδίων, σε κανονική μορφή Σχήμα Διάγραμμα ροής του δεύτερου τύπου job...45 Σχήμα Διάγραμμα ροής του ελέγχου των parametric job...51 Σχήμα Χρόνοι εκτέλεσης του αλγορίθμου BLAST και της κατασκευή των φυλογενετικών προφίλ, για σταθερό αρχείο βάσης (bacillus.faa seq.)...67 Σχήμα Χρόνοι εκτέλεσης του αλγορίθμου BLAST και της κατασκευή των φυλογενετικών προφίλ, για σταθερό αρχείο βάσης (~5.366 seq.)...68 Σχήμα Διάγραμμα σύγκρισης των χρόνων εκτέλεσης κάθε ενότητας, για εκτέλεση all-vs-all του αρχείου bacillus.faa, στην περίπτωση τους διαμοιρασμένου query file για δύο περιπτώσεις: 500 job (837 seq. per job) και 100 job (4.185 seq. per job). Module 1: BLAST, Module 2: Phylogenetic Profiles, Module 3: Simple MCL, Module 4: MCL of Phylogenetic Profiles...71 Σχήμα Τα simple MCL cluster του σεναρίου leucine για την επιλογή Σχήμα Χρόνοι εκτέλεσης της επιλογής 1 για το σενάριο leucine...74 Σχήμα Χρόνοι εκτέλεσης της επιλογής 1 για το σενάριο bacillus Σχήμα Επεκτεταμένα φυλογενετικα προφίλ του σεναρίου leucine...76 Σχήμα Χρόνοι εκτέλεσης της επιλογής 2 για το σενάριο leucine...77 Σχήμα Χρόνοι εκτέλεσης της επιλογής 2 για το σενάριο bacillus Σχήμα Χρόνοι εκτέλεσης της επιλογής 3 για τα σενάρια leucine και bacillus Σχήμα Τα simple MCL cluster του σεναρίου leucine για την επιλογή Σχήμα Χρόνοι εκτέλεσης της επιλογής 4 για το σενάριο leucine...81 Σχήμα Χρόνοι εκτέλεσης της επιλογής 4 για το σενάριο bacillus...82 Σχήμα μέσοι χρόνοι εκτέλεσης της επιλογής 5 για 100, 200, 300, 400, 500 και 78 job. Ως 500/1 παρουσιάζεται η εκτέλεση της επιλογής με 500 job τα οποία έχουν υποβληθεί ως 1 parametric job Σχήμα Μέσοι χρόνοι εκτέλεσης της επιλογής 5 για 100, 200, 300, 400 και 500 job. Ως 500/1 παρουσιάζεται η εκτέλεση της επιλογής με 500 job τα οποία έχουν υποβληθεί ως 1 parametric job

10 Σχήμα Διάγραμμα των επιταχύνσεων που προσφέρει το πρόγραμμα, σε σχέση με τον σειριακό χρόνο για την περίπτωση του διαμοιρασμού του query file. Total Net.: επιτάχυνση για μηδενικό χρόνο αναμονής. Total Real: πραγματική επιτάχυνση του προγράμματος...86 Σχήμα Διάγραμμα των επιταχύνσεων που προσφέρει το πρόγραμμα, σε σχέση με τον σειριακό χρόνο για την περίπτωση του διαμοιρασμού του database file. Total Net.: επιτάχυνση για μηδενικό χρόνο αναμονής. Total Real: πραγματική επιτάχυνση του προγράμματος...87 Σχήμα 4.3 1: Ταξονομικό δέντρο του plants pangenome...95 Σχήμα Χρόνοι εκτέλεσης all-vs-all του plants pangenome...96 Σχήμα Ομαδοποιημένοι χρόνοι ολοκλήρωσης των job, κατά την εκτέλεση all-vs-all του plants pangenome Σχήμα Επεκτεταμένα φυλογενετικά προφίλ των πρωτεϊνών της βάσης plants pangenome...99 Σχήμα Tο εργαλείο proxy-tools Σχήμα Δομή των αρχείων του προγράμματος (file structure) Σχήμα Database file από πρωτεΐνες τριών οργανισμών, BAMY-XXX, BANT-A02 και BANTAMA Σχήμα Gene map file, περιέχει τα id των τριών οργανισμών της βάσης του σχήματος Σχήμα Tο αρχείο Input.txt Σχήμα Kατάσταση στην οποία βρίσκονται 289 job Λίστα Πινάκων Πίνακας Διαδυκά φυλογενετικά προφίλ...21 Πίνακας Επεκτεταμένα φυλογενετικά προφίλ...21 Πίνακας Αποτελέσματα του BLAST σε matrix: identities...23 Πίνακας Αποτελέσματα του BLAST σε matrix: e-values...23 Πίνακας Αποτελέσματα του BLAST σε matrix: τροποποιημένα e-values...23 Πίνακας Οργανισμοί του γένους bacillus που συμμετέχουν στο αρχείο βάσης bacillus.faa Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου BLAST για διάφορους συνδυασμούς αρχείων query - database Πίνακας ρόνοι κατασκευής φυλογενετικών προφίλ για διάφορους συνδυασμούς αρχείων query - database Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου MCL για διάφορους συνδυασμούς αρχείων query - database Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου MCL επί των φυλογενετικών προφίλ για διάφορους συνδυασμούς αρχείων query - database...70 Πίνακας Χαρακτηριστικά των σεναρίων ελέγχου για την εκτέλεση all-vs-all του αρχείου bacillus.faa Πίνακας Οργανισμοί της βάσης plants pangenome...89 Πίνακας Χρόνοι εκτέλεσης της επιλογής 5, (all-vs-all) για το σενάριο plants pangenome

11 Λίστα Αλγορίθμων Αλγόριθμος 1 Kατασκευή φυλογενετικού προφίλ από διαμοιρασμένη βάση...41 Αλγόριθμος 2 Κατασκευή φυλογενετικού προφίλ από διαμοιρασμένο query

12 Εισαγωγή 1 Εισαγωγή 1.1 Βιοπληροφορική Στην αυγή του 20ου αιώνα η Βιολογία πέτυχε πρωτόγνωρη ανάπτυξη. Η ανακάλυψη της δομής του DNA το 1953 από τους J. D. Watson και F. Crick και η πρώτη ολοκληρωμένη αναπαράσταση αλληλουχίας πρωτεΐνης, της ινσουλίνης, από τον F. Sanger, ήταν η αρχή της έκρηξης δεδομένων στον τομέα της γενετικής. Το 1977, αλληλουχία DNA καταγράφεται για πρώτη φορά. Παράλληλα επιτυγχάνεται η πρώτη χαρτογράφηση ολόκληρου γονιδιώματος στο εργαστήριο του Sanger. Το 1988 ξεκινάει η μεγαλύτερη και ακριβότερη βιολογική αποστολή που έχει γίνει ποτέ, η χαρτογράφηση του ανθρώπινου γονιδιώματος (The Human Genome Project), με πρωτεργάτη τον J. D. Watson, η οποία ολοκληρώνεται το 2003 με την χαρτογράφηση του 92% του ανθρώπινου γονιδιώματος. Νέες τεχνολογίες για παραγωγή αλληλουχιών (Next Generation Sequencing), είχαν, και έχουν ακόμα, ως αποτέλεσμα την γρήγορη και φτηνή παραγωγή δεδομένων γονιδιακών αλληλουχιών, φτάνοντας στο σημείο όπου η ανακάλυψη και καταγραφή καινούργιων γονιδίων και πρωτεϊνών να επιτυγχάνεται ταχύτερα από την δυνατότητα επεξεργασίας και ανάλυσης τους. Επόμενο είναι ο κόσμος της Βιολογίας να έρθει αντιμέτωπος με νέες προκλήσεις για αποθήκευση, επεξεργασία και ανάλυση του μεγάλου αριθμού δεδομένων που είχε στα χέρια της [3][5]. Ταυτόχρονα, η ραγδαία εξελισσόμενη επιστήμη των υπολογιστών άρχισε να γίνεται αναγκαία σε ολοένα και περισσότερους τομείς. Φυσικό επόμενο ήταν ο τομέας των υπολογιστών να εισχωρήσει και στον κλάδο της Βιολογίας, γεννώντας την επιστήμη της Βιοπληροφορικής. Σήμερα δεν υφίσταται πρακτικά Βιολογία χωρίς την χρήση των υπολογιστών. Η Βιοπληροφορική του χθες έχει γίνει η Βιολογία του σήμερα. Συνέπεια αυτού είναι οι ιατρικές ανακαλύψεις του μέλλοντος να εξαρτώνται σε μεγάλο βαθμό από την δυνατότητα της επεξεργασίας και ανάλυσης μεγάλων σετ γονιδιακών δεδομένων, τα οποία συνεχίζουν να αυξάνονται όσο μειώνεται το κόστος της παραγωγής αλληλουχιών. Χρήση της Βιοπληροφορικής μπορεί να δώσει ευκολότερα εκτιμήσεις στα αποτελέσματα βιολογικών και ιατρικών πειραμάτων. Επομένως, η ανάπτυξη της τεχνολογίας στους τομείς του Big Data και της Βιοπληροφορικής καθιστά ιδιαίτερα πιθανή την συμμετοχή της στην κατανόηση, διάγνωση και θεραπεία ασθενειών[3]. Πιο αυστηρά, ως Βιοπληροφορική αναφέρεται η χρήση υπολογιστικών, μαθηματικών και στατιστικών μοντέλων για την επίλυση προβλημάτων της Βιολογίας[2]. Η έννοια της Βιοπληροφορικής συχνά συγχέεται με την έννοια της Υπολογιστικής Βιολογίας. Ωστόσο η δεύτερη έννοια είναι πιο ευρεία και αφορά την χρήση υπολογιστικών πόρων για την μελέτη βιολογικών διεργασιών σε όλους τους τομείς της Βιολογίας. Η Βιοπληροφορική στοχεύει περισσότερο στην διαχείριση και εξαγωγή συμπερασμάτων που αφορούν γενετικές πληροφορίες [1][4]. 12

13 Εισαγωγή Σημαντικός στόχος της Βιοπληροφορικής είναι η σύγκριση πρωτεϊνικών ακολουθιών, η ανίχνευση πρωτεϊνικών οικογενειών, και ο καθορισμός των λειτουργιών τους[6][7]. Ιστορικά, η μέθοδος για την ανακάλυψη των λειτουργιών και των ομοιοτήτων ανάμεσα σε πρωτεΐνες περιλαμβάνει εκτεταμένες γενετικές και βιοχημικές αναλύσεις[8]. Ως εκ τούτου, έχουν αναπτυχθεί εργαλεία και θεωρήματα για την ευκολότερη εξαγωγή συμπερασμάτων, μερικά εκ των οποίων παρουσιάζονται στην παρούσα διπλωματική εργασία. Σχήμα Χρονοδιάγραμμα των σημαντικότερων γεγονότων στους τομείς της Βιολογίας, των υπολογιστών και της Βιοπληροφορικής 1.2 Συνοπτική περιγραφή του προβλήματος Μια από τις πρωταρχικές διαδικασίες σε μελέτες της Βιοπληροφορικής είναι η σύγκριση ακολουθιών, γνωστή και ως ομοιότητα ακολουθιών (sequence similarity). Τέτοιες ακολουθίες μπορεί να είναι είτε πρωτεϊνικές (αμινοξέα) είτε DNA/RNA (νουκλεοτιδικές). Αποτέλεσμα των συγκρίσεων αυτών είναι η εκτίμηση πρωτεϊνικών λειτουργιών και πρωτεϊνικών οικογενειών. Κοινό πρόβλημα της διαδικασίας είναι η απαίτηση απαγορευτικά μεγάλου χρόνου για μεγάλα σύνολα δεδομένων. 13

14 Εισαγωγή Για την αντιμετώπιση αυτού του προβλήματος έχουν αναπτυχθεί εργαλεία σε παράλληλα συστήματα. Ωστόσο η ραγδαία αύξηση των δεδομένων με την πάροδο του χρόνου έχει ως αποτέλεσμα ο όγκος τους να φτάνει σε σημείο που να υπερβαίνει τις δυνατότητες ενός μεμονωμένου υπολογιστικού συστήματος. Για αυτό το λόγο λοιπόν κρίνεται απαραίτητη η ανάπτυξη τεχνικών για την εφαρμογή σύγκρισης ακολουθιών σε μεγάλα σύνολα δεδομένων και σε εύλογο χρονικό διάστημα, αξιοποιώντας κατανεμημένα περιβάλλοντα, τα οποία με την σειρά τους μπορούν να επεκταθούν δυναμικά. Ένα τέτοιο περιβάλλον είναι αυτό του Πλέγματος Υπολογιστών (Grid Computing). 1.3 Στόχοι της διπλωματικής Στόχος της παρούσας διπλωματικής εργασίας είναι η ανάπτυξη ενός προγράμματος το οποίο θα εκτελείται σε περιβάλλον Πλέγματος Υπολογιστών (Grid computing). Θα παρέχει, μέσω μιας φιλικής προς το χρήστη διεπαφής, τη δυνατότητα σύγκρισης πρωτεϊνικών ακολουθιών μέσω του αλγορίθμου BLAST σε μεγάλα σύνολα δεδομένων, καθώς και της ομαδοποίησης τους μέσω του αλγορίθμου MCL, και της εξαγωγής των φυλογενετικών τους προφίλ. Το πρόγραμμα καλείται να παρέχει την δυνατότητα επιλογής των διαδικασιών που θα εκτελεστούν, και να τις εκτελεί αυτοματοποιημένα. Ταυτόχρονα καλείται να μειώσει αισθητά τον απαιτούμενο χρόνο εκτέλεσης τους, καθώς και να έχει την ικανότητα να δεχτεί οσοδήποτε μεγάλο σύνολο δεδομένων. Τέλος, επιθυμητή είναι η παραγωγή αποτελεσμάτων σε τέτοια μορφή ώστε να μπορούν να χρησιμοποιηθούν περαιτέρω από τον χρήστη ή από συνεργαζόμενα προγράμματα. Συνοψίζοντας, η τελική εφαρμογή θα πρέπει να παρέχει την δυνατότητα εκτέλεσης ενός συνόλου γνωστών διεργασιών πάνω σε πρωτεϊνικές ακολουθίες εύκολα και γρήγορα. 1.4 Μεθοδολογία Η είσοδος της εφαρμογής είναι ένα αρχείο κειμένου στο οποίο προσδιορίζονται: τα αρχεία που περιέχουν τις υπό εξέταση ακολουθίες και τις ακολουθίες της βάσης που επιθυμεί να επεξεργαστεί ο χρήστης ένα αρχείο που περιλαμβάνει τα αναγνωριστικά ID των γονιδίων των οποίων οι πρωτεΐνες συγκροτούν το αρχείο βάσης τιμές που δηλώνουν τις επιθυμίες του χρήστη ως προς το αν: 14 θα εκτελεστεί ομαδοποίηση των πρωτεϊνών

15 Εισαγωγή θα εκτελεστεί κατασκευή των φυλογενετικών τους προφίλ και βάσει ποιών χαρακτηριστικών θα κατασκευαστούν επεκτεταμένα ή δυαδικά φυλογενετικά προφίλ την διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη ώστε να ενημερωθεί μέσω για το πέρας των εργασιών. Η εφαρμογή αποφασίζει τον αριθμό των εργασιών που θα υποβληθούν στο HellasGrid (βλ. κεφάλαιο 2.5) και εκτελεί τη σύγκριση των πρωτεϊνικών ακολουθιών μέσω του αλγορίθμου BLAST (βλ. κεφάλαιο 2.1), καθώς και την κατασκευή των φυλογενετικών τους προφίλ (βλ. κεφάλαιο 2.2) κατανεμημένα, καθώς το σύνολο των δεδομένων κατανέμεται στις εργασίες. Ανάλογα με το μέγεθος των αρχείων και τις λειτουργίες που θα εκτελεστούν, κατανέμει είτε το αρχείο βάσης είτε το αρχείο που περιλαμβάνει τις πρωτεΐνες υπό εξέταση. Το πρόγραμμα παρακολουθεί την εξέλιξη των εργασιών και υποβάλει εκ νέου όσες εργασίες απέτυχαν, φροντίζοντας ώστε να μην υπάρχει απώλεια δεδομένων. Στην συνέχεια, υποβάλει εκ νέου εργασία στο HellasGrid, όπου λαμβάνει χώρα η ομαδοποίηση των πρωτεϊνών από τον επιλεγμένο αλγόριθμο, βάσει των αποτελεσμάτων του αλγορίθμου ΒLAST ή βάσει των φυλογενετικών προφίλ των πρωτεϊνών. Επιπλέον εκτελείται και η παραγωγή των ολοκληρωμένων φυλογενετικών προφίλ, καθώς κάθε εργασία παρήγαγε τα φυλογενετικά προφίλ των υπό εξέταση πρωτεϊνών κατανεμημένα. Σε κάθε βήμα τα αποτελέσματα των εργασιών αποθηκεύονται στους HellasGrid. Τέλος, το πρόγραμμα συλλέγει τα αποτελέσματα και τα στο user interface του χρήστη. Για ευκολία ανάγνωσης των αναπτύχθηκαν parser scripts τα οποία δίνουν την δυνατότητα στο εξετάσει τα αποτελέσματα ανάλογα με τις ανάγκες του. πόρους του αποθηκεύει δεδομένων, χρήστη να 1.5 Διάρθρωση της διπλωματικής Στο κεφάλαιο 2 παρουσιάζεται το θεωρητικό υπόβαθρο της διπλωματικής εργασίας, οι αλγόριθμοι που χρησιμοποιεί καθώς και η υποδομή στην οποία αναπτύχθηκε. Στο κεφάλαιο 3 παρουσιάζεται γενικά και αναλυτικά το πρόγραμμα που αναπτύχθηκε, περιγράφεται η είσοδος, η ροή και η έξοδος του προγράμματος, καθώς και η πολυπλοκότητα του. Στο κεφάλαιο 4 παρουσιάζονται τα πειράματα που πραγματοποιήθηκαν, τα συμπεράσματα της διπλωματικής εργασίας και οι μελλοντικές επεκτάσεις του προγράμματος. 15

16 Εισαγωγή Ακολουθεί το κεφάλαιο 5 με την βιβλιογραφία που χρησιμοποιήθηκε και δύο παραρτήματα. Στο παράρτημα Α γίνεται σύντομη αναφορά σε όρους της βιολογίας. Στο παράρτημα Β δίνονται σαφείς οδηγίες για την εγκατάσταση και χρήση του προγράμματος, καθώς και αναφορά στο λογισμικό που χρησιμοποιεί. 16

17 Θεωρητικό υπόβαθρο 2 Θεωρητικό υπόβαθρο Ο αναγνώστης που δεν είναι εξοικειωμένος με όρους της βιολογίας παραπέμπεται στο παράρτημα Α όπου γίνεται σύντομη αναφορά στους βασικούς όρους που θα χρησιμοποιηθούν. Ένα από τα συχνότερα προβλήματα που αντιμετωπίζει η Βιοπληροφορική, είναι ο καθορισμός της λειτουργίας άγνωστων πρωτεϊνών. Αυτό το επιτυγχάνει μέσω της συσχέτισης τους με πρωτεΐνες των οποίων η λειτουργία είναι σαφώς ορισμένη. Σύμφωνα με τη βιβλιογραφία, πρωτεΐνες που είναι λειτουργικά ή εξελικτικά εξαρτημένες, συνήθως συμμετέχουν σε κοινό μεταβολικό μονοπάτι, βιολογική διεργασία ή φυσιολογική λειτουργία, και συχνά παρουσιάζουν ομόλογα στο ίδιο υποσύνολο οργανισμών. Υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί να επιτευχθεί συσχετισμός μεταξύ πρωτεϊνών. Στην παρούσα διπλωματική θα συναντήσουμε: σύγκριση της ομοιότητας των αμινοξεϊκών ακολουθιών δύο πρωτεϊνών σύγκριση της ομοιότητας των φυλογενετικών προφίλ δύο πρωτεϊνών τον σχηματισμό οικογενειών πρωτεϊνών (clustering) βασισμένο σε ένα από τα παραπάνω κριτήρια Στην συνέχεια θα εξετάσουμε με περισσότερη λεπτομέρεια τα εργαλεία που χρησιμοποιούνται για την ανάπτυξη αυτών των μεθόδων. 2.1 Αλγόριθμος BLAST Η σύγκριση των αλληλουχιών πρωτεϊνών που ανακαλύφθηκαν πρόσφατα, με βάσεις που περιλαμβάνουν αλληλουχίες πρωτεϊνών που είναι ήδη γνωστές (sequence similarity), είναι το πρώτο βήμα για την σύναψη σχέσεων, λειτουργικών και εξελικτικών, στις νέες πρωτεΐνες. Κάτι τέτοιο είναι φυσικά υπολογιστικά πολύπλοκο και χρονοβόρο και γι αυτό το λόγο έχουν σχεδιαστεί κατάλληλα εργαλεία[11]. Το πλέον διαδεδομένο και ευρέως χρησιμοποιούμενο εργαλείο είναι το BLAST - Basic Local Alignment Search Tool. Το BLAST ευθυγραμμίζει και συγκρίνει (alignment and comparison) μια ή περισσότερες αλληλουχίες προς εξέταση με μια βάση αλληλουχιών. Πριν τον BLAST, οι αλγόριθμοι ευθυγράμμισης χρησιμοποιούσαν τεχνικές δυναμικού προγραμματισμού με αποτέλεσμα να είναι ακριβοί υπολογιστικά και χρονικά, όπως οι αλγόριθμοι των Needleman-Wunsch και Smith-Waterman [13]. Περιληπτικά, ο τρόπος που λειτουργούν οι τεχνικές ευθυγράμμισης είναι ότι συγκρίνουν τα κληρονομικά υπόλοιπα (γράμματα της ακολουθίας ή residues) των 17

18 Θεωρητικό υπόβαθρο ευθυγραμμισμένων αλληλουχιών μεταξύ τους, και ανάλογα με το αν βρεθεί αντιστοιχία, αναντιστοιχία ή έλλειψη γράμματος (gap) σε μια από τις δύο αλληλουχίες, προσθέτουν ή αφαιρούν βαθμούς στο συνολικό σκορ τις σύγκρισης. Αν το σκορ τις σύγκρισης είναι αξιόλογο, τότε θεωρούν ότι έχει βρεθεί αντιστοιχία (hit) ανάμεσα στις δύο αλληλουχίες (Σχήμα 2.1 1). Σχήμα Τεχνική ευθυγράμμισης δυο ακολουθιών [14] Ο αλγόριθμος BLAST αυξάνει την ταχύτητα ευθυγράμμισης μειώνοντας τον αριθμό των αναζητήσεων και τον χώρο αναζήτησης. Αντί να συγκρίνει ολόκληρες τις αλληλουχίες μεταξύ τους χρησιμοποιεί μικρές λέξεις (words) υποαλληλουχιών. Ο χρήστης έχει την δυνατότητα να ορίσει το μέγεθος των λέξεων αυτών (w), και τρία σκορ (threshold - T, cutoff score - S, lower threshold score X) [12]. Ο αλγόριθμος φτιάχνει μια λίστα όλων των πιθανών λέξεων (words) μεγέθους w, τα οποία έχουν ένα σκορ ομοιότητας μεγαλύτερο από Τ με τις λέξεις μεγέθους w της υπό εξέτασης ακολουθίας (query sequence). Αυτές οι λέξεις ονομάζονται neighborhood words. Στην συνέχεια ευθυγραμμίζει κάθε αλληλουχία της βάσης με κάθε neighborhood word. Αν η ευθυγράμμιση ενός neighborhood word με μια περιοχή μιας αλληλουχίας βάσης θεωρηθεί σημαντική, τότε δίνει έναυσμα στο να ξεκινήσει τοπική ευθυγράμμιση ανάμεσα στην αλληλουχία υπό εξέταση και την αλληλουχία της βάσης. Η ευθυγράμμιση επεκτείνεται ώστε να περιλαμβάνει ολόκληρη την αλληλουχία υπό εξέταση. Αν η δεύτερη ευθυγράμμιση πετύχει σκορ μεγαλύτερο από S, τότε η σύγκριση θεωρείται επιτυχής και ο αλγόριθμος θεωρεί ότι είναι πιθανό να υπάρχει ομολογία ανάμεσα στις δύο αλληλουχίες. Αν το σκορ πέσει κάτω από την τιμή Χ, τότε η συγκεκριμένη αναζήτηση σταματάει [23] (Σχήμα 2.1 2). 18

19 Θεωρητικό υπόβαθρο Σχήμα Ευθυγράμμιση αλληλουχιών μέσω του αλγορίθμου BLAST [14] Δεδομένου ότι απαιτεί την ευθυγράμμιση μεταξύ ενός αριθμού λέξεων που υπερβαίνουν ένα κατώφλι T για να επεκτείνει την ευθυγράμμιση, ο αλγόριθμος BLAST έχει ως αποτέλεσμα να χρειάζονται λιγότερες συγκρίσεις, μειώνοντας έτσι τον χρόνο αναζήτησης. Οι παράμετροι w, T, S, X καθορίζουν την ταχύτητα και την ευαισθησία της αναζήτησης. Ο αλγόριθμος BLAST δέχεται ως είσοδο αρχεία FASTA (βλ. κεφαλαιο 3.2.1), και έχει την δυνατότητα να παρέχει την έξοδο του σε διάφορες μορφές (HTML, txt, etc). Η μορφή εξόδου που χρησιμοποιείται στην παρούσα διπλωματική εργασία παρουσιάζεται στο σχήμα Σχήμα Έξοδος του αλγορίθμου BLAST Όπως βλέπουμε παρέχονται διάφορες πληροφορίες για την κάθε ευθυγράμμιση. Θα εστιάσουμε την προσοχή μας σε δύο δείκτες, το identity και το e-value. 19

20 Θεωρητικό υπόβαθρο Ο δείκτης identity μας πληροφορεί για το κατά πόσο δύο αλληλουχίες έχουν τα ίδια γράμματα στο ίδιο σημείο, και δίνεται συνήθως ως ποσοστό. Όσο μεγαλύτερος είναι ο δείκτης, τόσο περισσότερο μοιάζουν οι δύο αλληλουχίες που συγκρίνονται Ωστόσο, χρήση του identity θέλει προσοχή καθώς για αλληλουχίες με μέγεθος μεγαλύτερο από 100 γράμματα περίπου, είναι πιθανό δύο ασυσχέτιστες βιολογικά αλληλουχίες να έχουν καλό δείκτη identity. Ο δείκτης e-value είναι ένα μέτρο της στατιστικής σημασίας της κάθε ευθυγράμμισης Δείχνει τον αριθμό των επιτυχημένων αναζητήσεων (hits) που θα περίμενε να δει κανείς τυχαία σε μια συγκεκριμένη βάση αλληλουχιών. Όσο μικρότερο είναι το e-value τόσο πιο σημαντική θεωρείται η ευθυγράμμιση. Δεδομένου ότι είναι στατιστικό μέτρο χρησιμοποιείται κυρίως ως κατώφλι στις αναζητήσεις. Ο αλγόριθμος BLAST και η είσοδος του έχουν τέτοια μορφή που τον καθιστούν εξαιρετικά παραλληλοποιήσιμο αλγόριθμο (embarrassingly parallel). Ως εκ τούτου έχουν αναπτυχθεί παραλλαγές του BLAST ώστε να εκτελείται παράλληλα μέσω MPI, CUDA κ.α.. Χρησιμοποιώντας την παράλληλη φύση του θα δούμε παρακάτω πως μπορούν μεγάλα σύνολα δεδομένων να εκτελεστούν ταχύτερα σε περιβάλλον πλέγματος υπολογιστών. 2.2 Φυλογενετικά προφίλ Από την λειτουργία του αλγορίθμου BLAST καθώς και των δεικτών που παρέχει, βλέπουμε ότι η ομοιότητα μεταξύ δύο ακολουθιών μπορεί να είναι τυχαίο γεγονός και να μην σηματοδοτεί κάποια βιολογική συσχέτιση ανάμεσα τους. Χρήζει λοιπόν σημασίας η ανάπτυξη μεθόδων για περαιτέρω αξιολόγηση των αποτελεσμάτων του. Μια από αυτές τις μεθόδους είναι η κατασκευή φυλογενετικών προφίλ. Το φυλογενετικό προφίλ μιας πρωτεΐνης είναι ένα διάνυσμα το οποίο κωδικοποιεί την παρουσία ή απουσία (ομολογία ή μη) της πρωτεΐνης μέσα σε μια σειρά από καλά ορισμένα γονίδια. Στην περίπτωση που έχουμε στην διάθεση μας n γονίδια, το διάνυσμα του φυλογενετικού προφίλ θα έχει μέγεθος n εγγραφών, ένα για κάθε γονίδιο. Αν βρεθεί ομόλογο ανάμεσα στην πρωτεΐνη και στο i-οστό γονίδιο, τότε η θέση i του διανύσματος θα είναι διάφορη του μηδενός. Στην περίπτωση που δεν βρεθεί ομόλογο τότε θα είναι μηδέν [6]. Στο σημείο αυτό, πρέπει να ορίσουμε το πότε θεωρούμε ότι έχει βρεθεί ομολογία ανάμεσα στη πρωτεΐνη και στο γονίδιο. Έχοντας προηγηθεί αναζήτηση BLAST ανάμεσα στην αλληλουχία της πρωτεΐνης και στις γνωστές αλληλουχίες πρωτεϊνών του γονιδίου, θεωρούμε παρουσία ομολόγου την περίπτωση που βρεθούν επιτυχείς ευθυγραμμίσεις (hits) ανάμεσα στην πρωτεΐνη και σε πρωτεΐνες του γονιδίου. Το φυλογενετικό προφίλ μπορεί να έχει δύο μορφές. Μία είναι η μορφή δυαδικού διανύσματος με εισόδους 1 ή 0 στην περίπτωση που βρούμε έστω και μία επιτυχημένη ευθυγράμμιση ή καμία (Πίνακας 2.2 1). Η άλλη μορφή είναι αυτή του διανύσματος με εισόδους ακεραίους 20

21 Θεωρητικό υπόβαθρο διάφορους του μηδενός ή 0 όπου ο ακέραιος προσμετρά το πόσες επιτυχημένες ευθυγραμμίσεις βρέθηκαν ανάμεσα στην πρωτεΐνη υπό εξέταση και στις πρωτεΐνες του γονιδίου (Πίνακας 2.2 2). Η δεύτερη μορφή αναφέρεται ως επεκτεταμένο φυλογενετικό προφίλ. Πίνακας Διαδυκά φυλογενετικά προφίλ πρωτεΐνη/γονίδιο γονίδιο 1 γονίδιο 2 γονίδιο 3 πρωτεΐνη πρωτεΐνη πρωτεΐνη Πίνακας Επεκτεταμένα φυλογενετικά προφίλ πρωτεΐνη/γονίδιο γονίδιο 1 γονίδιο 2 γονίδιο 3 πρωτεΐνη πρωτεΐνη πρωτεΐνη Στη συνέχεια οι πρωτεΐνες μπορούν να ομαδοποιηθούν ανάλογα με την ομοιότητα που υπάρχει ανάμεσα στα φυλογενετικά τους προφίλ. Όμοια προφίλ δείχνουν συσχετισμένη κληρονομικότητα. Επομένως η λειτουργία άγνωστων πρωτεϊνών είναι πιθανό να είναι παρόμοια με την λειτουργία γνωστών πρωτεϊνών που ανήκουν στην ίδια ομάδα (cluster)[6][8]. 21

22 Θεωρητικό υπόβαθρο 2.3 Clustering πρωτεϊνών μέσω του αλγορίθμου MCL Δύο διαδεδομένες μέθοδοι για να συσχετιστούν μεταξύ τους πρωτεΐνες, είναι να ομαδοποιηθούν με βάση: τα αποτελέσματα της σύγκρισης των πρωτεϊνικών τους ακολουθιών (identity ή e-value) τα φυλογενετικά προφίλ τους Στην συνέχεια παρουσιάζεται ένας αλγόριθμος για ομαδοποίηση (clustering) των παραπάνω αποτελεσμάτων. Ο αλγόριθμος MCL[7] (Markov Cluster Algorithm) είναι σχεδιασμένος ώστε να προσπελαύνει απλούς ή σταθμισμένους γράφους. Φυσικές συστάδες μέσα σε ένα γράφο χαρακτηρίζονται από πολλές ακμές ανάμεσα στους κόμβους της συστάδας. Ως αποτέλεσμα τυχαίες βόλτες, ή αλλιώς προσπελάσεις, μέσα στον γράφο δεν θα οδηγούν συχνά από τον κόμβο μιας συστάδας στον κόμβο μιας άλλης, αλλά θα περιορίζονται στο εσωτερικό της συστάδας. Ο MCL σχηματίζει τις συστάδες στους γράφους υπολογίζοντας τις πιθανότητες των τυχαίων περιπάτων μέσα στον γράφο χρησιμοποιώντας στοχαστικούς πίνακες (ή πίνακες Markov) που καταλαβαίνουν την μαθηματική έννοια των τυχαίων περιπάτων μέσα σε ένα γράφο (Σχήμα 2.3 1). Σχήμα Γραφική παράσταση των βημάτων του αλγορίθμου MCL[15] Για την επίτευξη ομαδοποίησης βασισμένη στα αποτελέσματα του αλγορίθμου BLAST ή βασισμένη στα φυλογενετικά προφίλ, μορφοποιούμε τα αποτελέσματα ώστε να σχηματίζουν πίνακα. Στην περίπτωση που χειριζόμαστε τα απλά αποτελέσματα του αλγορίθμου BLAST, το στοιχείο i,j του πίνακα είναι ο δείκτης ομοιότητας (identity ή e-value) ανάμεσα στις αλληλουχίες i και j. Στην περίπτωση των φυλογενετικών προφίλ, το στοιχείο i,j φανερώνει παρουσία ή απουσία ομολόγου ανάμεσα στην i-οστή πρωτεΐνη και το j-οστό γονίδιο. 22

23 Θεωρητικό υπόβαθρο Μορφοποιώντας τα αποτελέσματα σε πίνακα, ο MCL θεωρεί τις ομοιότητες των αλληλουχιών ως ένα γράφο, όπου οι κόμβοι είναι οι πρωτεΐνες ή τα γονίδια και οι ακμές είναι ο δείκτης που φανερώνει την ομοιότητα μεταξύ των κόμβων. Πίνακας Αποτελέσματα του BLAST σε matrix: identities πρωτεΐνη/πρωτεΐνη πρωτεΐνη Α πρωτεΐνη Β πρωτεΐνη C πρωτεΐνη D πρωτεΐνη πρωτεΐνη Πίνακας Αποτελέσματα του BLAST σε matrix: e-values πρωτεΐνη/πρωτεΐνη πρωτεΐνη Α πρωτεΐνη Β πρωτεΐνη C πρωτεΐνη Α πρωτεΐνη Β e-06 πρωτεΐνη C 6e Πίνακας Αποτελέσματα του BLAST σε matrix: τροποποιημένα e-values πρωτεΐνη/πρωτεΐνη πρωτεΐνη Α πρωτεΐνη Β πρωτεΐνη C πρωτεΐνη A e πρωτεΐνη B e πρωτεΐνη C e+38 Οι πίνακες 2.2 1, 2.2 2, και είναι παραδείγματα πινάκων που μπορεί να χρησιμοποιήσει ο αλγόριθμος MCL. Στην ειδική περίπτωση όπου χρησιμοποιείται ο δείκτης e-value για την ομοιότητα ανάμεσα στις αλληλουχίες, χρειάζεται κάποια προ- επεξεργασία των τιμών πριν εφαρμοστεί ο MCL. Έχει ήδη αναφερθεί ότι όσο μικρότερο είναι το e-value, τόσο πιο σημαντική θεωρείται η ευθυγράμμιση. Όμως για τον MCL όσο μεγαλύτερη είναι η τιμή της αντιστοιχίας, δηλαδή το βάρος της ακμής ανάμεσα σε δύο κόμβους, τόσο πιθανότερο είναι να καταλήξουν αυτοί οι κόμβοι στην ίδια συστάδα. Επομένως πρέπει να αναστρέψουμε την τιμή των e-value. Αυτό γίνεται εφαρμόζοντας τον αρνητικό λογάριθμο του 10 σε κάθε e-value: 23

24 Θεωρητικό υπόβαθρο log 10 (e value) (1) Στα e-value που έχουν τιμή μηδέν αντιστοιχίζεται μια πολύ μεγάλη τιμή (συγκριτικά άπειρη). Στους πίνακες και μπορούμε να δούμε τα e-value της BLAST σύγκρισης τριών πρωτεϊνών μεταξύ τους (all-vs-all) καθώς και την επεξεργασία που υφίστανται. 2.4 Πλέγματα Υπολογιστών (Grid computing) Θα δοθεί αρχικά ένας ορισμός του Grid και στην συνέχεια θα ακολουθήσει εμβάθυνση στην λειτουργία του. Το Grid είναι ένα σύστημα που συντονίζει πόρους που δεν υπόκεινται σε κεντρικό έλεγχο, χρησιμοποιώντας πρωτόκολλα και διεπαφές που είναι ανοιχτά και γενικής χρήσεως, ούτως ώστε να παρέχει σημαντική ποιότητα υπηρεσιών, Ian Foster[19] Το πρόβλημα που καλείται να λύσει το Grid είναι o συντονισμός του διαμοιρασμού πόρων δυναμικά, μεταξύ των λεγόμενων virtual organisations (VO), με στόχο την συνεργατική επίλυση προβλημάτων μέσω του internet. Με τον όρο διαμοιραζόμενοι πόροι δεν εννοούνται μόνο αποθηκευτικοί, αλλά και υπολογιστικοί (cycles), πόροι λογισμικού (software), και άλλοι που χρειάζονται για επίλυση μεγάλων προβλημάτων[16][17]. Ο διαμοιρασμός των πόρων είναι ελεγχόμενος. Οι πάροχοι και οι καταναλωτές των πόρων καθορίζουν επακριβώς το τι μοιράζονται, το τι χρειάζονται και υπό ποιες συνθήκες θα ακολουθείται ο διαμοιρασμός. Ένα σύνολο ατόμων ή/και οργανισμών που ακολουθούν αυτούς τους κανόνες διαμοιρασμού σχηματίζουν τα virtual organisations. Η δημιουργία, διαχείριση και εκμετάλλευση των δυναμικών σχέσεων ανάμεσα στα VO χρειάζεται μια δομημένη αρχιτεκτονική. Στο σχήμα φαίνονται τα πέντε επίπεδα της αρχιτεκτονικής που ακολουθεί το Grid[16]. 24

25 Θεωρητικό υπόβαθρο Σχήμα Η αρχιτεκτονική του Grid[16] Fabric layer Το επίπεδο Fabric παρέχει τους πόρους (υπολογιστικούς, αποθηκευτικούς, πόρους δικτύου, αισθητήρες κ.α.) τους οποίους καλείται να διαχειριστεί το Grid μέσω πρωτοκόλλων. Οι συνιστώσες του επιπέδου αυτού εκτελούν τοπικά συγκεκριμένες ενέργειες ως αποτέλεσμα της κατανομής εργασιών από υψηλότερα επίπεδα. Connectivity layer Το επίπεδο Connectivity καθορίζει τα βασικά πρωτόκολλα για επικοινωνία και πιστοποίηση, τα οποία χρειάζονται για συναλλαγές μέσω διαδυκτίου. Τα επικοινωνιακά πρωτόκολλα επιτρέπουν την ανταλλαγή δεδομένων μεταξύ των πόρων του επιπέδου Fabric. Τα πρωτόκολλα πιστοποίησης παρέχουν ασφαλείς μηχανισμούς για την επικύρωση της ταυτότητας των χρηστών και των πόρων. Resource Το επίπεδο Resource χρησιμοποιεί τα πρωτόκολλα του επίπεδου Connectivity για να καθορίσει πρωτόκολλα τα οποία χρειάζονται για την ασφαλή διαπραγμάτευση, παρακολούθηση και έλεγχο των κοινόχρηστων εργασιών σε μεμονωμένους πόρους. Τα πρωτόκολλα αυτά καλούν λειτουργίες από το επίπεδο Fabric ώστε να προσκομίσουν πρόσβαση και έλεγχο πάνω σε τοπικούς πόρους. Collective Ενώ το επίπεδο Resource ασχολείται με αλληλεπιδράσεις του Grid με ένα συγκεκριμένο/μεμονωμένο πόρο, το επίπεδο αυτό περιέχει πρωτόκολλα και 25

26 Θεωρητικό υπόβαθρο υπηρεσίες που δεν σχετίζονται με ένα μεμονωμένο πόρο, αλλά είναι πιο καθολικά και καθορίζουν τις αλληλεπιδράσεις ανάμεσα σε πολλούς πόρους. Applications Το τελευταίο επίπεδο της αρχιτεκτονικής αποτελείται από τις εφαρμογές χρηστών που λειτουργούν μέσα σε κάποιο VO. Οι εφαρμογές μπορούν να χρησιμοποιήσουν υπηρεσίες από όλα τα επίπεδα. Σε κάθε επίπεδο υπάρχουν καλά ορισμένα πρωτόκολλα που ελέγχουν και επιτρέπουν την πρόσβαση σε συγκεκριμένες υπηρεσίες: διαχείριση πόρων, πρόσβαση σε δεδομένα κ.α.. Συνοψίζοντας, βλέπουμε ότι τα βασικά συστατικά του επιπέδου Fabric χρησιμοποιούν τα πρωτόκολλα του επιπέδου Connectivity για επικοινωνία και ασφάλεια. Χρησιμοποιούν επίσης τα πρωτόκολλα του επιπέδου Resource για έρευνα της καθολικής κατάστασης, και για κατανομή και διαχείριση των πόρων. Επιπλέον, κάθε εφαρμογή χρησιμοποιεί μίξεις των υπηρεσιών του επιπέδου Collective για την εκτέλεση συγκεκριμένων εργασιών. Για την διαχείριση μεγάλου αριθμού ανεξάρτητων εργασιών μέσα στο περιβάλλον ενός VO, το Grid ακολουθεί τις ενεργές εργασίες καθώς και αυτές που εκκρεμούν και εντοπίζει τους κατάλληλους πόρους που απαιτεί η κάθε εργασία. Τέλος, το Grid εντοπίζει και ανταποκρίνεται στις επικείμενες αποτυχίες των εργασιών. Για μια πιο αφηρημένη εικόνα, μπορούμε να πούμε ότι το Grid αποτελείται από τις ακόλουθες τρεις δομές[18]: το υπολογιστικό Grid (computing Grid), μια συλλογή από πολλά υπολογιστικά συστήματα που χρησιμοποιούνται για την εκτέλεση πολύπλοκων πακέτων λογισμικού και για την επίλυση προβλημάτων εφαρμογών (application problems) το Grid δεδομένων (data Grid), μια συλλογή από πολλά αποθηκευτικά συστήματα, ικανά να κρατήσουν μεγάλο όγκο δεδομένων το Grid συνεργασίας (collaboration Grid), μια συλλογή από συστήματα συνεργασίας, χρησιμοποιούμενα από διάφορες ομάδες που δουλεύουν πάνω σε ένα κοινό πρόβλημα και ότι μπορούν να διακριθούν τα παρακάτω τρία τεχνολογικά επίπεδα: 26 από πλευράς υλικού το Grid αποτελείται από επεξεργαστές, σκληρούς δίσκους και συνδέσεις δικτύου, προσφέροντας στους χρήστες μεγάλη υπολογιστική ισχύ και αποθηκευτικό χώρο από πλευράς εφαρμογών, αποτελείται από τις εφαρμογές που εκτελούν οι χρήστες και από τις εφαρμογές που είναι διαθέσιμες στις υποδομές του από πλευράς λογισμικού, αποτελεί το middleware που βρίσκεται ανάμεσα στο χρήστη και στο Grid και δεν είναι ευθέως προσβάσιμο από τον χρήστη.

27 Θεωρητικό υπόβαθρο Το middleware εξετάζει τους διαθέσιμους πόρους, αποφασίζει που θα αποθηκευτούν τα δεδομένα, που θα εκτελεστούν τα προγράμματα και χειρίζεται ζητήματα ασφάλειας και πιστοποίησης 2.5 HellasGrid Θα παρατεθούν μερικές πληροφορίες για το HellasGrid [21][22], στο οποίο εκπονήθηκε η παρούσα διπλωματική εργασία, καθώς και σύντομη αναφορά σε όρους που χρησιμοποιούνται για την υποβολή εργασιών σε πλέγματα υπολογιστών. Το HellasGrid είναι η μεγαλύτερη υποδομή για Grid computing στην περιοχή της Νοτιοανατολικής Ευρώπης, και το βιωσιμότερο πλέγμα σε Ευρωπαϊκό επίπεδο. Παρέχει High Performance Computing και High Throughput Computing υπηρεσίες σε Ελληνικά εκπαιδευτικά και ερευνητικά κέντρα. Πρόσβαση στο HellasGrid παρέχεται μετά από εγγραφή του χρήστη στο Southern Eastern European (SEE) Virtual Organisation. Για την υποβολή εργασιών, ή αλλιώς job, στο HellasGrid, πρέπει να έχει εκδοθεί λογαριασμός χρήστη και να είναι εγκατεστημένο έγκυρο πιστοποιητικό στο user interface του. Στην συνέχεια χρειάζεται να δημιουργηθεί proxy certificate με κατάλληλες εντολές. Αυτό επιτρέπει στον χρήστη να εκτελεί εργασίες στο Grid για συγκεκριμένο χρονικό διάστημα. Με το proxy certificate να είναι έγκυρο, ο χρήστης μπορεί να χρησιμοποιήσει πλέον τους υπολογιστικούς και αποθηκευτικούς πόρους που του παρέχονται, και να υποβάλλει job. Ένα job καλείται να τρέξει κάποιο script ή εκτελέσιμο πρόγραμμα. Η υποβολή ενός job σε υπολογιστικό πόρο, ή αλλιώς Computer Element (CE), γίνεται μέσω μιας Domain Specific Language (DSL) που λέγεται Job Description Language ή jdl. Η γλώσσες DSL, όπως η jdl, είναι απλά ένα ενδιάμεσο βήμα για την εκτέλεση του αρχικού κώδικα του χρήστη σε κάποιο άλλο υπολογιστικό πόρο. Παράδειγμα ενός αρχείου jdl φαίνεται στο σχήμα 2.5 1, όπου υποβάλλεται ένα εκτελέσιμο αρχείο ονόματος run.exe. 27

28 Θεωρητικό υπόβαθρο Σχήμα Μορφή ενός αρχείου jdl για την εκτέλεση του run.exe προγράμματος[21] Βλέπουμε ότι ένα jdl αρχείο δεν καθορίζει μόνο το πρόγραμμα που θα εκτελεστεί, αλλά και τις παραμέτρους εισόδου του καθώς και τα αρχεία στα οποία θα αποθηκευτούν το standard output και το standard error που παράγει. Το standard output και το standard error εμφανίζονται συνήθως στο terminal του μηχανήματος όπου εκτελείται. Στα πεδία Input και Output Sandbox καθορίζονται τα αρχεία ή τα εκτελέσιμα προγράμματα που βρίσκονται στο UI του χρήστη και μπορεί να χρησιμοποιήσει το job, καθώς και τα αρχεία που θα επιστραφούν από αυτό αντίστοιχα. Τέλος μπορεί να οριστεί το VO στο οποίο ανήκει ο χρήστης. Κι άλλοι παράμετροι μπορούν να καθοριστούν, όπως ο χρόνος που θα κάνει το πρόγραμμα να εκτελεστεί ή η επιθυμία να εκτελεστεί το πρόγραμμα σε κάποιο συγκεκριμένο Computer Element, κ.α.. Μετά από την σύνταξη του αρχείου jdl, το job υποβάλλεται και εκτελείται στο Grid. Εργαλεία υπάρχουν για την παρακολούθηση της κατάστασης ενός job. Οι καταστάσεις στις οποίες μπορεί να βρίσκεται είναι: 28 Ready: το job είναι έτοιμο να υποβληθεί σε κάποιο CE Waiting: το job περιμένει να υποβληθεί σε κάποιο CE Submitted: το job έχει υποβληθεί σε κάποιο CE Scheduled: το job έχει δρομολογηθεί σε κάποιο CE και περιμένει την σειρά του για να εκτελεστεί Running: το job εκτελείται σε κάποιο CE Done (Success): το job έχει τερματίσει με κατάσταση εξόδου μηδέν (επιτυχώς) Done (Exit Code!=0): το job έχει τερματίσει με κατάσταση εξόδου διάφορη του μηδενός (ανεπιτυχώς)

29 Θεωρητικό υπόβαθρο Cancelled: έχει ακυρωθεί η υποβολή του job στο CE στο οποίο είχε ανατεθεί Cleared: τα αποτελέσματα του job έχουν ανακτηθεί από τον χρήστη Μετά το πέρας της εκτέλεσης ενός job, ο χρήστης μπορεί να ανακτήσει τα δεδομένα που παρήγαγε το πρόγραμμα με την εκτέλεση του, δηλαδή πιθανά παραγόμενα αρχεία ή, απλά, το standard output του προγράμματός. Τέλος, το HellasGrid παρέχει την δυνατότητα αποθήκευσης και ανάκτησης δεδομένων σε αποθηκευτικούς πόρους, ή αλλιώς Storage Elements, του HellasGrid. Στην περίπτωση που πρέπει να εκτελεστούν πολλές εργασίες, ο χρήστης μπορεί να υποβάλλει: 29 job collection, όπου υποβάλλονται ταυτόχρονα διαφορετικές εργασίες μέσω ενός κοινού jdl αρχείου parametric job, όπου υποβάλλονται ταυτόχρονα, μέσω ενός jdl αρχείου, διαφορετικές εκδοχές της ίδιας εργασίας (ίδιος κώδικας), και κάθε εκδοχή δέχεται διαφορετική παράμετρο εισόδου dag jobs, όπου υποβάλλονται μέσω ενός κοινού jdl αρχείου απλά jobs που πρέπει να εκτελεστούν με συγκεκριμένη σειρά, αν π. χ. η έξοδος κάπου job αποτελεί είσοδο για το επόμενο

30 Περιγραφή του προγράμματος 3 Περιγραφή του προγράμματος 3.1 Γενική περιγραφή του προγράμματος Παρακάτω περιγράφεται η γενική ροή του προγράμματος που αναπτύχθηκε, ώστε να γίνει εύκολα αντιληπτό το πρόβλημα που επιλύει. Στόχος του προγράμματος είναι η εκτέλεση αλγορίθμων σύγκρισης ακολουθιών σε μεγάλα σύνολα δεδομένων εύκολα και γρήγορα, καθώς και η παροχή αποτελεσμάτων σε μορφή που να είναι περαιτέρω επεξεργάσιμη. Από τον χρήστη ζητείται: αρχείο με τις ακολουθίες των υπό εξέταση πρωτεϊνών που θα συγκριθούν με μια βάση πρωτεϊνών, και το οποίο θα αναφέρεται ως query file από εδώ και στο εξής αρχείο με τις ακολουθίες πρωτεϊνών των γονιδίων που θα αποτελέσουν την βάση δεδομένων για την σύγκριση, το οποίο θα αναφέρεται ως database file από εδώ και στο εξής επιπλέον πληροφορίες για το τι ακριβώς επιθυμεί ο χρήστης να εκτελεστεί, στις οποίες θα γίνει αναλυτική αναφορά παρακάτω Κάποιες ενέργειες εκτελούνται από την εφαρμογή εξ ορισμού, χωρίς να τις απαιτήσει ο χρήστης. Το αρχείο που θα αποτελέσει την βάση πρέπει να μετατραπεί σε κατάλληλη μορφή. Επομένως εκτελούνται ενέργειες πάνω στο database file και δημιουργείται βάση που μπορεί να δεχτεί ο αλγόριθμος BLAST. Στην συνέχεια εκτελείται ο αλγόριθμος BLAST ο οποίος συγκρίνει τις αλληλουχίες των πρωτεϊνών του query file (query sequences) με τις αλληλουχίες των πρωτεϊνών των γονιδίων της βάσης (database sequences). Από την έξοδο του BLAST συλλέγονται οι πληροφορίες που ο χρήστης θεωρεί σημαντικές. Αυτές οι πληροφορίες είναι κάποιος δείκτης ομοιότητας (identity ή e-value) ανάμεσα σε δύο ακολουθίες, καθώς και το ποιες ακολουθίες είναι αυτές (protein identifiers). Επομένως συλλέγονται και φυλάσσονται οι πληροφορίες αυτές για κάθε query sequence ως προς κάθε database sequence. Περαιτέρω ο χρήστης έχει την δυνατότητα να επιλέξει μια από τις παρακάτω 5 λειτουργίες: 1. εκτέλεση του αλγορίθμου MCL ώστε να δημιουργηθούν clusters πρωτεϊνών ανάλογα με τα αποτελέσματα της σύγκρισης των ακολουθιών τους (identity ή e-value) 2. κατασκευή των φυλογενετικών προφίλ των query sequences, παρουσιάζοντας την παρουσία ή απουσία ομολόγων ανάμεσα σε αυτά και τα γονίδια της βάσης 30

31 Περιγραφή του προγράμματος 3. κατασκευή των φυλογενετικών προφίλ των query sequences καθώς και την εκτέλεση του αλγορίθμου MCL ώστε να δημιουργηθούν clusters ανάλογα με τα αποτελέσματα των φυλογενετικών προφίλ 4. εκτέλεση όλων των παραπάνω ενεργειών και παρουσίαση και των τριών αποτελεσμάτων των περιπτώσεων 1 και 3 5. ίδιο με την περίπτωση 4 με την διαφορά ότι ο χρήστης έχει την δυνατότητα εκτέλεσης all-vs-all, όπου το query file και το database file είναι ίδια Ο λόγος που το all-vs-all δεν ενσωματώθηκε στην τέταρτη επιλογή αλλά εκτελείται ξεχωριστά, είναι γιατί χρήζει διαφορετικής αντιμετώπισης λόγου του μεγάλου αριθμού των συγκρίσεων BLAST που θα εκτελεστούν, όπως θα φανεί παρακάτω. Ακολουθεί αναλυτική περιγραφή του προγράμματος που αναπτύχθηκε. 3.2 Αναλυτική περιγραφή του προγράμματος Ακολουθεί αναλυτική περιγραφή του προγράμματος, της εισόδου και της εξόδου του, και περιγράφεται η παραλληλοποίηση σε πλέγμα υπολογιστών (HellasGrid) του προβλήματος που περιγράφηκε Η είσοδος του προγράμματος Το πρόγραμμα, δεδομένου ότι θα εκτελέσει σίγουρα αναζήτηση BLAST, δέχεται ως είσοδο το query και το database file με την μορφή FASTA αρχείων. Τα αρχεία FASTA (συχνά αναφέρονται και ως αρχεία faa), είναι αρχεία κειμένου και έχουν συγκεκριμένη μορφή, η οποία χρησιμοποιείται για την αναπαράσταση νουκλεοτιδικών ή πεπτιδικών αλληλουχιών. Τα νουκλεοτίδια και τα αμινοξέα παριστάνονται χρησιμοποιώντας συγκεκριμένα γράμματα (residues). Μια αλληλουχία σε μορφή FASTA αποτελείται από μια γραμμή με την περιγραφή και το διακριτικό (sequence identifier) της αλληλουχίας, ακολουθούμενη από γραμμές που αποτελούν την ίδια την αλληλουχία. Η πρώτη γραμμή, που περιέχει τις πληροφορίες της ακολουθίας, αλλά όχι την ίδια την ακολουθία, γίνεται διακριτή από το σύμβολο > στην αρχή της. Επομένως κάθε φορά που εμφανίζεται το σύμβολο αυτό, σηματοδοτείται καινούργια ακολουθία. Στο σχήμα βλέπουμε ένα αρχείο FASTA που περιέχει δύο ακολουθίες. 31

32 Περιγραφή του προγράμματος Σχήμα FASTA αρχείο με δύο αλληλουχίες του οργανισμού Escherichia coli Το query file και το database file έχουν την δυνατότητα να είναι το ίδιο αρχείο, και στην περίπτωση αυτή γίνεται σύγκριση all-vs-all. Είναι συχνό φαινόμενο ο χρήστης να παρέχει βάση η οποία αποτελείται από πρωτεΐνες πολλών οργανισμών. Είναι επομένως απαραίτητο να παρέχει και ένα αρχείο κειμένου με μία στήλη, όπου σε κάθε γραμμή αναγράφεται και το αναγνωριστικό (id) του κάθε οργανισμού που συμμετέχει στην βάση. Αυτό το id περιέχεται και στο αναγνωριστικό της κάθε πρωτεΐνης του οργανισμού αυτού. Για παράδειγμα, αν το id ενός οργανισμού είναι ΑΑΝΟ_ΧΧΧ_VD_PP_01, τότε το id μιας πρωτεΐνης μπορεί να είναι AANO_XXX_VD_PP_01_ Το αρχείο αυτό θα αναφέρεται ως gene map file. Το πρόγραμμα δέχεται επίσης ως είσοδο: έναν αριθμό από το 1 έως και το 5 που σηματοδοτεί το ποιες λειτουργίες επιθυμεί ο χρήστης να εκτελεστούν, όπως αναφέρθηκε παραπάνω (βλ. κεφάλαιο 3.1) ένα γράμμα I ή E που καθορίζει το αν θα επεξεργαστούν τα αποτελέσματα του BLAST βάση του δείκτη identity ή του δείκτη e-value ένα γράμμα F ή C που καθορίζει το αν θα κατασκευαστεί δυαδικό ή επεκτεταμένο φυλογενετικό προφίλ Τέλος, δίνει στο χρήστη τη δυνατότητα να εισάγει και την διεύθυνση του ηλεκτρονικού του ταχυδρομείου και να ενημερωθεί μέσω όταν το πρόγραμμα ολοκληρώσει τις εργασίες του Τα βήματα του προγράμματος 32

33 Περιγραφή του προγράμματος Στο σχήμα βλέπουμε την βασική ροή του προγράμματος, όπου είναι αριθμημένα τα βήματα που ακολουθεί. Σχήμα Γενική ροή του προγράμματος 33

34 Περιγραφή του προγράμματος Βήμα 1: Η προετοιμασία του parametric job Αρχικά το πρόγραμμα καθορίζει το database file. Στην περίπτωση που το database file δεν αποτελεί ένα αρχείο αλλά πολλαπλά αρχεία, όπου το κάθε αρχείο περιλαμβάνει τις πρωτεΐνες ενός γονιδίου/οργανισμού, τότε το πρόγραμμα εκτελεί την συγχώνευση τους. Στην συνέχεια, υπολογίζεται ο αριθμός των job που θα εκτελεστούν, καθώς και το τι πληροφορίες χρειάζεται να έχουν. Η απόφαση αυτή λαμβάνεται με βάση τη λειτουργία επέλεξε ο χρήστης (1-5). Ανάλογα με τη λειτουργία του προγράμματος, το κάθε job θα εκτελέσει αναζήτηση BLAST είτε με ένα κομμάτι του query file ως προς ολόκληρο το database file, είτε με ολόκληρο το query file ως προς ένα κομμάτι του database file. Στην πρώτη περίπτωση έχουμε παραλληλοποίηση του προβλήματος διαμοιράζοντας το query file, και στην δεύτερη έχουμε παραλληλοποίηση του προβλήματος διαμοιράζοντας το database file, σε job που τρέχουν παράλληλα. Αν ο χρήστης επιθυμεί να εκτελέσει μόνο MCL clustering με τα αποτελέσματα του BLAST (επιλογή 1) τότε ακολουθείται η τακτική του διαμοιρασμού του query file. Αν ο χρήστης επιθυμεί να παραχθούν τα φυλογενετικά προφίλ των ακολουθιών του query file (επιλογές 2, 3 και 4), τότε ακολουθείται η τακτική του διαμοιρασμού του database file. Στην ειδική περίπτωση που ο χρήστης επιθυμεί να εκτελέσει αναζήτηση όπου το query file και το database file είναι ίδια, δηλαδή στην περίπτωση all-vs-all (επιλογή 5), τότε ακολουθείται πάλι η τακτική του διαμοιρασμού του query file, παρόλο που και σε αυτή την περίπτωση θα υπολογιστούν και τα φυλογενετικά προφίλ. Όταν διαμοιράζεται το query file, αν είναι μικρό (λιγότερες από k ακολουθίες) χωρίζεται σε τόσα κομμάτια όσες και οι ακολουθίες που περιέχει, και επομένως το κάθε job συγκρίνει μια ακολουθία ενάντια σε ολόκληρη την βάση. Αν το query file είναι μεγάλο (περισσότερες από k ακολουθίες), τότε χωρίζεται σε k ίσα κομμάτια με ki ακολουθίες, και κάθε job συγκρίνει αυτές τις k i ακολουθίες ενάντια σε ολόκληρη την βάση. Στην πρώτη περίπτωση εκτελούνται παράλληλα n job, όπου n ο αριθμός των ακολουθιών στο query sequence, ενώ στην δεύτερη εκτελούνται παράλληλα k job. Όταν διαμοιράζεται το database file, τότε χωρίζεται σε τόσα κομμάτια όσοι και οι οργανισμοί που συμμετέχουν στην βάση. Επομένως αν έχουμε n οργανισμούς, τότε θα τρέξουν παράλληλα n job, όπου το i-οστό job θα έχει ως βάση τις πρωτεΐνες του i-οστού οργανισμού (i από 1 μέχρι και n). Οι επιλογές αυτές θα γίνουν πιο ξεκάθαρες στο κεφάλαιο 4, όπου παρουσιάζονται τα αποτελέσματα της εκτέλεσης του προγράμματος, και αφού έχει ακολουθήσει επεξήγηση όλων των βημάτων του αλγορίθμου καθώς και της πολυπλοκότητας του. 34

35 Περιγραφή του προγράμματος Όταν ακολουθείται διαμοιρασμός της βάσης και ταυτόχρονα επιλέγεται αξιολόγηση των αποτελεσμάτων του BLAST βάσει του e-value, είναι απαραίτητο να γνωρίζουμε το συνολικό αριθμό των γραμμάτων των αλληλουχιών που περιέχονται στην βάση. Ο αριθμός αυτός χρειάζεται ώστε ο δείκτης e-value να μην αλλοιωθεί από το σπάσιμο της βάσης. Όπως έχει αναφερθεί, το e-value μιας ευθυγράμμισης είναι ένα στατιστικό μέγεθος που φανερώνει την προσδοκία να υπάρχει hit ανάμεσα στην εξεταζόμενη αλληλουχία και σε κάποια ακολουθία της βάσης κατά τύχη. Πιο συγκεκριμένα το e-value κάθε ευθυγράμμισης υπολογίζεται από τον τύπο: λ S E=K m n e (2) όπου S είναι το cutoff score και τα Κ και λ είναι οι λεγόμενες σταθερές KarlinAltschul. Το m και n είναι το λεγόμενο effective length του query sequence και του database sequence αντίστοιχα. Τα m και n με την σειρά τους υπολογίζονται χρησιμοποιώντας τα πραγματικά μήκη των ακολουθιών της βάσης και του query sequence, καθώς και του συνολικού αριθμού, Ν, των ακολουθιών της βάσης [20]. Κάθε αναζήτηση που γίνεται με σπασμένη βάση, χρειάζεται την πληροφορία που παρέχει ολόκληρη η βάση. Εκτελείται επομένως μια ψευδό- σύγκριση BLAST ανάμεσα σε κενή ακολουθία ως προς ολόκληρη την βάση, ώστε να συλλέξει τον αριθμό των συνολικών γραμμάτων της βάσης. Ο αριθμός αυτός θα δοθεί στην συνέχεια σαν παράμετρος στην αναζήτηση BLAST που θα επεξεργαστεί ένα κομμάτι της βάσης. Κάθε job που εκτελείται χρειάζεται κάποιες πληροφορίες για την συνολική εικόνα του προγράμματός. Γι αυτό το σκοπό, δημιουργείται ένα αρχείο κειμένου που περιλαμβάνει: 35 τον αριθμό των job που θα εκτελεστούν παράλληλα το όνομα του query file το όνομα του database file το όνομα του gene map file το αν θα χρησιμοποιήσουμε τον δείκτη identity ή τον δείκτη e-value από τα αποτελέσματα του BLAST το αν θα κατασκευάσουμε δυαδικά ή επεκτεταμένα φυλογενετικά προφίλ τον αριθμό των γραμμάτων της βάσης, αν είναι απαραίτητο

36 Περιγραφή του προγράμματος Το αρχείο αυτό, μαζί με τα αρχεία που ονοματίζει, συμπιέζονται και αποθηκεύονται στο HellasGrid ώστε να είναι προσβάσιμα από όλα τα job. Αποθηκεύονται επίσης στο HellasGrid κάποια εκτελέσιμα προγράμματα, όπως το makeblastdb και το blastp, τα οποία χρησιμοποιούνται από τα job. Τέλος, κατασκευάζεται το jdl αρχείο και υποβάλλεται το parametric job στο HellasGrid. 36

37 Περιγραφή του προγράμματος Βήμα 2: Η εκτέλεση του parametric job Στο δεύτερο βήμα βλέπουμε την εκτέλεση ενός parametric job. Στο σχήμα βλέπουμε το διάγραμμα ροής του αλγορίθμου που εκτελεί το κάθε job. 37

38 Περιγραφή του προγράμματος Σχήμα Διάγραμμα ροής αλγορίθμου του κάθε parametric job 38

39 Περιγραφή του προγράμματος Το κάθε job: 1. κατεβάζει από το HellasGrid τον φάκελο που περιέχει τα αρχεία εισόδου μορφής FASTA και τις πληροφορίες που χρειάζεται, καθώς και τον φάκελο που περιέχει τα εκτελέσιμα προγράμματα του BLAST (makeblastdb και blastp) 2. ανάλογα με τις επιλογές του χρήστη και την παράμετρο (_PARAM_) που του έχει ανατεθεί, επιλέγει το κομμάτι του query file ή του database file που του αντιστοιχεί 3. μετατρέπει το αρχείο της βάσης σε μορφή κατάλληλη για να την δεχτεί ο αλγόριθμος BLAST ( blastable ) μέσω του προγράμματος makeblastdb 4. εκτελεί τον αλγόριθμο BLAST (blastp) που είναι και η πιο χρονοβόρα διαδικασία του job. Αν η σύγκριση γίνεται ως προς ένα κομμάτι της βάσης, τότε δίνεται ως παράμετρος ο συνολικός αριθμός των γραμμάτων ολόκληρης της βάσης (dbsize) 5. ο αλγόριθμος είναι πλέον έτοιμος να συλλέξει τις πληροφορίες που χρειάζεται από τα αποτελέσματα της σύγκρισης BLAST και να τα φέρει σε μορφή πίνακα όπως αναφέρθηκε στο κεφάλαιο 2.3. Ο πίνακας που κατασκευάζει είναι σε abc μορφή. Είναι δηλαδή ένα αρχείο κειμένου που έχει τρεις στήλες. Η πρώτη στήλη περιέχει τα id των query sequences, η δεύτερη στήλη περιέχει τα id των database sequences, και η τρίτη τον βαθμό ομοιότητας που έχουν οι αλληλουχίες κάθε γραμμής μεταξύ τους, μέσω του δείκτη identity ή e-value. Επομένως κάθε γραμμή του αρχείου μπορεί να θεωρηθεί ως το στοιχείο i,j ενός πίνακα με την πρώτη στήλη να φανερώνει την θέση i, την δεύτερη στήλη να φανερώνει την θέση j, και η τρίτη στήλη να είναι η τιμή της θέσης i,j. Στα σχήματα και βλέπουμε δύο δείγματα τέτοιων αρχείων/πινάκων, ένα με δείκτη e-value και ένα με δείκτη identity. Τα αρχεία αυτά ονομάζονται αρχεία μορφής abc. Τα abc αρχεία που περιέχουν τις ανεπεξέργαστες πληροφορίες των αποτελεσμάτων του BLAST θα ονομάζονται raw abc αρχεία από εδώ και στο εξής. Σχήμα E-values ανάμεσα στο query sequence leua και 4 database sequences σε abc μορφή 39

40 Περιγραφή του προγράμματος Σχήμα Identities ανάμεσα στο query sequence leua και 4 database sequences σε abc μορφή Όπως παρουσιάστηκε και στην γενική περιγραφή του αλγορίθμου, τα ως εδώ βήματα εκτελούνται πάντα, ανεξάρτητα από τις επιλογές του χρήστη. Στο σημείο αυτό, αν ο χρήστης έχει επιλέξει την εκτέλεση μόνο του αλγορίθμου MCL (επιλογή 1) το job συμπιέζει και αποθηκεύει στο HellasGrid το raw abc αρχείο που παρήγαγε, και τερματίζει. Για τις υπόλοιπες επιλογές του χρήστη (2-5), εκτελεί βήματα για την κατασκευή των φυλογενετικών προφίλ των query sequences. Αυτό γίνεται με έναν από τους παρακάτω δύο τρόπους: 1. Για τις επιλογές 2-4, το κάθε job έχει εκτελέσει σύγκριση BLAST με ολόκληρο το query file ως προς ένα κομμάτι του database file. Αυτό το κομμάτι του database file περιέχει τις πρωτεΐνες που αντιστοιχούν σε ένα μοναδικό οργανισμό. Στην περίπτωση αυτή, το πρώτο βήμα για την κατασκευή των φυλογενετικών προφίλ των query sequences, τα οποία προφίλ αρχικά κατασκευάζονται ως abc αρχείο/πίνακα, είναι να βρεθεί το προφίλ τους με μήκος διανύσματος 1, καθώς το κάθε job εξετάζει βάση με πληροφορίες ενός οργανισμού. Το abc αρχείο, το οποίο θα αναφέρεται ως phylogenetic abc αρχείο, έχει στην πρώτη στήλη τα id των query sequences και στην δεύτερη το id του οργανισμού που εξετάζει το εκάστοτε job. H τρίτη στήλη θα είναι είτε 1 ή 0 στην περίπτωση του δυαδικού φυλογενετικού προφίλ, είτε ακέραιος (διάφορος του μηδενός) ή 0 στην περίπτωση του επεκτεταμένου φυλογενετικού προφίλ. Αν κατασκευάζεται δυαδικό φυλογενετικό προφίλ, αρκεί να βρεθεί έστω και μία γραμμή στο raw abc αρχείο που να περιέχει το i-οστό query sequence για να εισαχθεί η τιμή 1 στην αντίστοιχη i-οστή γραμμή του phylogenetic abc αρχείου, καθώς υπάρχει ομολογία (hit). Στην δεύτερη περίπτωση μετράται ο αριθμός των γραμμών του raw abc αρχείου που περιέχουν το i-οστό query sequence, και η τιμή αυτή μπαίνει στην αντίστοιχη i-οστή γραμμή του phylogenetic abc αρχείου. Σε κάθε περίπτωση μπαίνει η τιμή μηδέν αν δεν βρεθεί καμία γραμμή που να περιέχει το query sequence στην πρώτη στήλη του raw abc αρχείου. Το phylogenetic abc αρχείο θα έχει τόσες γραμμές όσες και ο αριθμός των query sequences. Παράδειγμα τέτοιου αρχείου φαίνεται στο σχήμα

41 Περιγραφή του προγράμματος Ο αλγόριθμος σε ψευδογλώσσα για την κατασκευή του φυλογενετικού προφίλ με διαμοιρασμένη βάση φαίνεται παρακάτω: Αλγόριθμος 1 Kατασκευή φυλογενετικού προφίλ από διαμοιρασμένη βάση Αλγόριθμος 1: Είσοδος: raw abc αρχείο Έξοδος: phylogenetic abc αρχείο geneid = το id του γονιδίου της υπό εξέτασης βάσης Για κάθε query sequence i : hits = ο αριθμός των hits ανάμεσα στο i -οστό query sequence και στο geneid Αν hits = 0 : print: query_sequenceid[ i ] geneid 0 αλλιώς: Αν επεκτεταμένο φυλογενετικό προφίλ : print: query_sequenceid[ i ] geneid hits αλλιώς αν δυαδικό φυλογενετικό προφίλ : print: query_sequenceid[ i ] geneid 1 τέλος_αν τέλος_αν τέλος Σχήμα Δυαδικά φυλογενετικά προφίλ έξι query sequences και ενός γονιδίου, σε μορφή abc Είναι προφανές ότι για να κατασκευαστούν ολοκληρωμένα τα φυλογενετικά προφίλ των query sequences και να έχουν μήκος διανύσματος n, όπου n ο αριθμός των οργανισμών που συμμετέχουν στην βάση, πρέπει να συλλεγούν και να συγχωνευτούν τα phylogenetic abc αρχεία όλων των επιμέρους job. Αυτό το βήμα θα εκτελεστεί αργότερα (βλ. Βήμα 5)

42 Περιγραφή του προγράμματος Στην επιλογή 5 (all-vs-all) το εκάστοτε job έχει εκτελέσει σύγκριση BLAST με ένα κομμάτι του query file ως προς ολόκληρη την βάση. Επομένως, για κάθε ακολουθία του query file, μπορεί να κατασκευαστεί ολοκληρωμένο το φυλογενετικό του προφίλ ως διάνυσμα μεγέθους n, όπου n ο αριθμός των οργανισμών που συμμετέχουν στην βάση. Αυτό γίνεται κατασκευάζοντας τα προφίλ όπως περιγράφηκε παραπάνω, αλλά με το επιπλέον βήμα ότι κάθε φορά που ελέγχουμε ένα query sequence πρέπει να εκλέξουμε την παρουσία ή απουσία ομολόγου μεταξύ αυτού και όλων των οργανισμών της βάσης, και όχι μόνο με ένα οργανισμό. Αφού κατασκευαστεί το phylogenetic abc αρχείο για τα query sequences που επεξεργάζεται το εκάστοτε job, όπως φαίνεται στο σχήμα 3.2 7, μπορεί να κατασκευαστεί και το φυλογενετικό τους προφίλ σε κανονική μορφή, όπως παρουσιάστηκε στο κεφάλαιο 2.2 και όπως φαίνεται στο σχήμα Το αρχείο αυτό θα αναφέρεται ως canonical phylogenetic αρχείο. Ο αλγόριθμος σε ψευδογλώσσα για την κατασκευή του φυλογενετικού προφίλ με διαμοιρασμένο query file φαίνεται παρακάτω: Αλγόριθμος 2 Κατασκευή φυλογενετικού προφίλ από διαμοιρασμένο query Αλγόριθμος 2: Είσοδος: raw abc αρχείο Έξοδος: phylogenetic abc αρχείο Για κάθε query sequence i : Για κάθε database gene j : geneid=database_geneid[ j ] hits = ο αριθμός των hits ανάμεσα στο i -οστό query sequence και στο geneid Αν hits = 0 : print: query_sequenceid[ i ] geneid 0 αλλιώς: Αν επεκτεταμένο φυλογενετικό προφίλ : print: query_sequenceid[ i ] geneid hits αλλιώς δυαδικό φυλογενετικό προφίλ : print: query_sequenceid[ i ] geneid 1 τέλος_αν τέλος_αν τέλος τέλος 42

43 Περιγραφή του προγράμματος Σχήμα Επεκτεταμένα φυλογενετικά προφίλ δύο query sequences και τεσσάρων γονιδίων, σε μορφή abc Σχήμα Επεκτεταμένα φυλογενετικά προφίλ δύο query sequences και τεσσάρων γονιδίων, σε κανονική μορφή Τέλος, το job συμπιέζει και αποθηκεύει στο HellasGrid είτε το phylogenetic abc αρχείο, είτε το canonical phylogenetic αρχείο που παρήγαγε, και τερματίζει Βήμα 3: Η παρακολούθηση του parametric job Ο βασικός κορμός του αλγορίθμου περιμένει και ελέγχει τα job που τρέχουν παράλληλα, ώστε όταν τερματίσουν να συνεχίσει την ροή του. Μπαίνει επομένως σε ατέρμονα βρόγχο και ελέγχει συνεχώς την κατάσταση στην οποία βρίσκονται. Συχνό φαινόμενο όταν υποβληθεί μεγάλος αριθμός από job στο HellasGrid, είναι να παραμένουν κάποια σε κατάσταση scheduled για αρκετό καιρό. Αφού τερματίσουν όσα job ήταν σε κατάσταση εκτέλεσης, το πρόγραμμα ελέγχει για το αν, σε αυτό το χρονικό διάστημα, δεν έχουν υποβληθεί όλα τα job στο HellasGrid και παραμένουν κάποια σε κατάσταση scheduled, ή υπάρχουν job τα οποία απέτυχαν και δεν κατάφεραν να παράξουν και να αποθηκεύσουν στο HellasGrid τα αρχεία που ζητούνται. Τα job που βρίσκονται σε κατάσταση scheduled ακυρώνονται (cancelled), και μαζί με όσα απέτυχαν υποβάλλονται εκ νέου στο 43

44 Περιγραφή του προγράμματος HellasGrid ως νέο parametric job, και ξεκινάει η διαδικασία ελέγχου από την αρχή. Αυτό επαναλαμβάνεται μέχρις ότου να εκτελεστούν και να τερματίσουν επιτυχώς όλα τα job. Έτσι διασφαλίζεται η ακεραιότητα των αποτελεσμάτων, και ταυτόχρονα γίνεται προσπάθεια για την ταχύτερη υποβολή των job στο HellasGrid, ακυρώνοντας και επανα- υποβάλλοντας αυτά τα οποία κόλλησαν σε κατάσταση scheduled και πιθανόν να παρέμεναν σε αυτή την κατάσταση για αρκετό καιρό Βήμα 4: Η προετοιμασία του επόμενου job ή job collection Μετά την επιτυχή εκτέλεση του parametric job, το πρόγραμμα εξετάζει τα επόμενα του βήματα. Στις περιπτώσεις που θα εκτελεστεί μόνο MCL clustering ή θα υπολογιστούν και θα επεξεργαστούν μόνο τα φυλογενετικά προφίλ, υποβάλλεται ένα απλό job (επιλογές 1-3). Στην περίπτωση που θα εκτελεστεί και απλό MCL clustering και θα κατασκευαστούν τα φυλογενετικά προφίλ, θα υποβληθεί ένα job collection το οποίο θα υποβάλλει δύο job, ένα για την εκτέλεση του MCL clustering και ένα για τον υπολογισμό και την επεξεργασία των φυλογενετικών προφίλ (επιλογές 4 και 5). Στο βήμα αυτό κατασκευάζονται τα απαραίτητα jdl αρχεία και υποβάλλονται στο HellasGrid Βήμα 5: Η εκτέλεση του επόμενου job ή job collection Στο βήμα αυτό βλέπουμε την εκτέλεση του δεύτερου σετ job/job collection. Στο σχήμα βλέπουμε το διάγραμμα ροής του αλγορίθμου που ακολουθεί ένα τέτοιο job. 44

45 Περιγραφή του προγράμματος Σχήμα Διάγραμμα ροής του δεύτερου τύπου job 45

46 Περιγραφή του προγράμματος Ο αλγόριθμος ενός τέτοιου job δέχεται ως είσοδο μια παράμετρο που λέγεται filetype. Αυτή η παράμετρος καθορίζει το αν θα κατεβάσει από το HellasGrid τα raw abc αρχεία ή τα phylogenetic abc αρχεία που παρήγαγαν και αποθήκευσαν τα προηγούμενα job. Επομένως θα εκτελεστεί μία από τις παρακάτω δύο περιπτώσεις: 1. Όταν τα αρχεία που θα συλλέξει είναι τα raw abc αρχεία, τότε το job θα εκτελέσει MCL clustering σε αυτά τα αρχεία αφού πρώτα τα συγχωνεύσει. Πριν την εκτέλεση του αλγορίθμου MCL, γίνεται έλεγχος για το αν έχει επιλεγεί τα raw data να είναι βασισμένα στο δείκτη e-value ή του identity. Αν έχει επιλεγεί ο δείκτης e-value, τότε προηγείται επεξεργασία των raw abc αρχείων ώστε να αντιστραφούν τα e-value όπως περιγράφηκε στο κεφάλαιο a. Όταν τα αρχεία που θα συλλέξει είναι τα phylogenetic abc αρχεία, τότε το job μπορεί να εκτελέσει MCL clustering στα φυλογενετικά προφίλ αν το έχει ζητήσει ο χρήστης (επιλογή 3), αφού πρώτα τα συγχωνεύσει. b. Είτε έχει επιλεγεί εκτέλεση του MCL είτε όχι, ο αλγόριθμος συνεχίζει και παράγει ένα αρχείο που περιέχει όλα τα φυλογενετικά προφίλ όλων των query sequences σε κανονική μορφή. i. Αν τα αρχεία των φυλογενετικών προφίλ έχουν κατασκευαστεί από τα parametric job μέσω από την επιλογή διαμοιρασμένης βάσης (επιλογές 2-4), τότε το τρέχον job έχει στην διάθεση του τα phylogenetic abc αρχεία. Για να παράγει το αρχείο που θα περιέχει τα φυλογενετικά προφίλ σε κανονική μορφή, αρκεί να τα συγχωνεύσει και στην συνέχεια να τα φέρει σε κανονική μορφή (canonical phylogenetic αρχεία). ii. Αν τα αρχεία των φυλογενετικών προφίλ έχουν κατασκευαστεί από τα parametric job μέσω από την επιλογή διαμοιρασμένου query file (επιλογή 5), τότε τα job που εκτελέστηκαν προηγουμένως έχουν ήδη παράξει τα canonical phylogenetic αρχεία. Το τρέχον job πρέπει απλά να τα κατεβάσει και να τα συγχωνεύσει σε ένα κοινό αρχείο. Τα αρχεία mcl που περιέχουν τα clusters υπόκεινται σε μια μικρή μεταεπεξεργασία, όπου αντιστοιχίζεται ένα αριθμητικό id σε κάθε cluster, και αφαιρούνται τα clusters που έχουν μόνο ένα στοιχείο. Το job στην συνέχεια συμπιέζει και αποθηκεύει στο HellasGrid τα αρχεία που παρήγαγε και τερματίζει. Βλέπουμε ότι για τις επιλογές 4 και 5, όπου ο χρήστης θέλει να πραγματοποιηθεί και MCL clustering στα raw data που παρήγαγε ο αλγόριθμος BLAST, αλλά θέλει και να παράγει/επεξεργαστεί τα φυλογενετικά προφίλ των query sequences, το πρόγραμμα υποβάλει ένα job collection με δύο job. Και τα δύο job εκτελούν τον 46

47 Περιγραφή του προγράμματος αλγόριθμο που περιγράφηκε σε αυτό το βήμα, αλλά με διαφορετική παράμετρο εισόδου filetype. Έτσι το ένα job θα εκτελέσει MCL clustering ενώ το άλλο θα εκτελέσει την παραγωγή των φυλογενετικών προφίλ σε κανονική μορφή (και ίσως και το clustering τους). Η εκδοχή αυτή του job collection είναι και αυτή που απεικονίζεται στο σχήμα Βήμα 6: Η παρακολούθηση του επόμενου job ή job collection Ο βασικός κορμός του αλγορίθμου πρέπει πάλι να περιμένει να τερματίσει το δεύτερο κομμάτι που εκτελείται στο HellasGrid. Ακολουθεί την ίδια λογική που ακολουθήθηκε και για το parametric job στο βήμα 3, με την διαφορά ότι πλέον παρακολουθεί ένα ή δύο job. Επομένως η διαχείριση και επανα- υποβολή τους είναι ευκολότερη Βήμα 7: Συλλογή των αρχείων εξόδου Ο αλγόριθμος είναι πλέον έτοιμος να ανακτήσει τα αποτελέσματα του δεύτερου σκέλους εργασιών από το HellasGrid. Και πάλι, ανάλογα με τις επιλογές του χρήστη και τα αρχεία που παρήχθησαν, ανακτά (κατεβάζει) από το HellasGrid τα αποτελέσματα, τα αποσυμπιέζει και τα αποθηκεύει στο user interface του χρήστη. Παράγει ένα μικρό report με πληροφορίες για την εκάστοτε εκτέλεση. Το report αυτό αποστέλνεται μέσω στον χρήστη, αν έχει εισάγει την διεύθυνση του ηλεκτρονικού του ταχυδρομείου στο αρχικό input αρχείο Η έξοδος του προγράμματος Το σημαντικό κριτήριο για την έξοδο, είναι να παράγει αρχεία τα οποία μπορεί ο χρήστης να τα επεξεργαστεί περαιτέρω Επομένως η έξοδος είναι σε μορφή αρχείων κειμένου. Η έξοδος που παράγεται ανάλογα με την επιλογή του χρήστη (1-5) είναι: 1. το αρχείο mcl που περιέχει τα clusters πρωτεϊνών, και το οποίο δημιουργήθηκε από τα αποτελέσματα της αναζήτησης BLAST (raw abc αρχεία) 2. το αρχείο που περιέχει τα φυλογενετικά προφίλ των query sequences σε κανονική μορφή (canonical phylogenetic profiles) 3. το αρχείο που περιέχει τα φυλογενετικά προφίλ των query sequences σε κανονική μορφή (canonical phylogenetic profiles) καθώς και το αρχείο mcl 47

48 Περιγραφή του προγράμματος που περιέχει τα clusters των πρωτεϊνών και των γονιδίων της βάσης, τα οποία clusters δημιουργήθηκαν βάσει των φυλογενετικών προφίλ (phylogenetic abc αρχεία) 4. συνδυασμένες οι έξοδοι των επιλογών 1 και 3 5. το αρχείο mcl που περιέχει τα clusters πρωτεϊνών, και το οποίο δημιουργήθηκε από τα αποτελέσματα της αναζήτησης BLAST (raw abc αρχεία) και το αρχείο που περιέχει τα φυλογενετικά προφίλ των query sequences σε κανονική μορφή (canonical phylogenetic profiles) Όταν το πρόγραμμα επεξεργάζεται μεγάλα σετ δεδομένων, αναμενόμενο είναι και τα αρχεία εξόδου να είναι μεγάλα σε όγκο και να περιλαμβάνουν πολύ πληροφορία. Για το λόγο αυτό αναπτύχθηκαν script ώστε η πρόσβαση του χρήση στα δεδομένα εξόδου να διευκολύνεται. Τα script αυτά παρουσιάζονται παρακάτω. 1. Ο χρήστης επιθυμεί να εντοπίσει το cluster μιας συγκεκριμένης πρωτεΐνης ή τα cluster στα οποία συμμετέχει ένα συγκεκριμένο γονίδιο. Δίνοντας το αντίστοιχο protein identifier ή genome identifier, του επιστρέφεται το αριθμητικό id του/των cluster. 2. Ο χρήστης επιθυμεί να εντοπίσει τα cluster που έχουν συγκεκριμένο αριθμό στοιχείων. Δίνοντας το επιθυμητό πλήθος, του επιστρέφονται τα αριθμητικά id των cluster αυτών. 3. Ο χρήστης επιθυμεί να εντοπίσει τα cluster που έχουν στοιχεία τα οποία ανήκουν σε έναν και μόνο οργανισμό. Δίνοντας το gene map αρχείο που περιέχει τα αναγνωριστικά id των οργανισμών της βάσης, του επιστρέφεται μια λίστα με τα αριθμητικά id των cluster που έχουν στοιχεία τα οποία ανήκουν μόνο σε έναν οργανισμό, για όλους τους οργανισμούς της λίστας. 4. Ο χρήστης επιθυμεί να εντοπίσει τα cluster που έχουν μοναδικά στοιχεία από κάθε οργανισμό, δηλαδή δεν υπάρχουν στο cluster δύο (ή περισσότερα) στοιχεία που να ανήκουν στον ίδιο οργανισμό. Δίνοντας το gene map αρχείο, του επιστρέφονται τα αριθμητικά id των cluster αυτών. 5. Ο χρήστης επιθυμεί να εντοπίσει τα cluster που έχουν ακριβώς ένα στοιχείο από κάθε οργανισμό. Δίνοντας το gene map αρχείο, του επιστρέφονται τα αριθμητικά id των cluster αυτών. 6. Ο χρήστης επιθυμεί να συλλέξει τα στοιχεία ενός συγκεκριμένου cluster. Δίνοντας το αριθμητικό id του cluster για το οποίο ενδιαφέρεται, του επιστρέφονται τα στοιχεία του cluster αυτού. 7. Ο χρήστης επιθυμεί να συλλέξει τις αλληλουχίες των στοιχείων που συμμετέχουν σε ένα cluster. Δίνοντας το αριθμητικό id του cluster για το οποίο ενδιαφέρεται, και το αρχείο που περιέχει όλες τις αλληλουχίες που 48

49 Περιγραφή του προγράμματος υπέστησαν ομαδοποίηση (query ή/και database file), του επιστρέφεται ένα FASTA αρχείο που περιέχει τις αλληλουχίες όλων των στοιχείων του cluster. Αν το cluster περιέχει γονίδια και όχι (μόνο) αλληλουχίες πρωτεϊνών, τότε στο FASTA αρχείο συμπεριλαμβάνονται όλες οι πρωτεΐνες του οργανισμού/γονιδίου αυτού. 8. Ο χρήστης επιθυμεί να συλλέξει τα φυλογενετικά προφίλ των στοιχείων ενός cluster. Δίνοντας το αριθμητικό id του cluster που επιθυμεί, καθώς και το αρχείο που περιέχει όλα τα φυλογενετικά προφίλ (canonical phylogenetic αρχείο), του επιστρέφεται ένα αρχείο που περιέχει τα φυλογενετικά προφίλ των στοιχείων του cluster. 9. Ο χρήστης επιθυμεί να εντοπίσει το φυλογενετικό προφίλ μιας συγκεκριμένης πρωτεΐνης. Δίνοντας το protein identifier που επιθυμεί, του επιστρέφεται το αντίστοιχο φυλογενετικό προφίλ. Τέλος, αναπτύχθηκαν δύο script τα οποία χειρίζονται τα αρχεία που παρήγαγαν και αποθήκευσαν τα job στο HellasGrid. Τα αρχεία αυτά αποτελούνται από τα raw abc αρχεία των συγκρίσεων BLAST, τα phylogenetic abc αρχεία, και τα φυλογενετικά προφίλ σε κανονική μορφή. Ο χρήστης έχει την δυνατότητα είτε να διαγράψει αυτά τα αρχεία, είτε να τα κατεβάσει στο user interface του και να τα επεξεργαστεί περαιτέρω. 3.3 Χρησιμοποιώντας το HellasGrid στο μέγιστο Η χρήση μιας υποδομής όπως το HellasGrid προσφέρει αναμφισβήτητα αισθητή επιτάχυνση στους χρόνους εκτέλεσης του προγράμματος, όταν τα σετ δεδομένων είναι μεγάλα. Ωστόσο, κάθε εκτέλεση στο HellasGrid εξαρτάται από παράγοντες όπως η τρέχουσα κίνηση στο Grid και τους διαθέσιμους πόρους. Συχνά παρουσιάζονται προβλήματα σε κάποιο πόρο ή περιπτώσεις συντήρησης ή απλά αυξημένη χρήση του Grid από τους υπόλοιπους χρήστες του. Επιπλέον, όπως έχει αναφερθεί, στην περίπτωση υποβολής μεγάλου αριθμού job μέσω ενός parametric job, η εκτέλεση κωλύεται, καθώς μεγάλος αριθμός από job παραμένει σε κατάσταση scheduled μέχρις ότου να τερματίσουν τα job που εκτελούνται και να επανα- υποβληθούν. Στην περίπτωση που κάθε job κάνει αρκετές ώρες ή και μερικές μέρες να τερματίσει, αυτό έχει ως αποτέλεσμα μια ψευδό- παράλληλη εκτέλεση των εργασιών, καθώς o χρόνος αναμονής του κάθε job, από την ώρα που θα υποβληθεί μέχρι και την ώρα που θα αρχίσει να εκτελείται είναι μεγάλος (in queue time). Για το λόγο αυτό, αντί να υποβάλλεται ένας μεγάλος αριθμός από job μέσω ενός μόνο parametric job, ακολουθήθηκε η τακτική της υποβολής πολλών parametric job, κάθε ένα το οποίο υποβάλει από 50 job. Επιπλέον, τέθηκαν υπό παρακολούθηση τα scheduled job, ώστε αν μετά το πέρας 12 ωρών δεν έχουν αρχίσει ακόμα να εκτελούνται, τότε να ακυρώνονται και να επανα- υποβάλλονται. 49

50 Περιγραφή του προγράμματος Ταυτόχρονα, αν πριν το πέρας 12 ωρών ένα parametric job έχει job σε κατάσταση success, και ταυτόχρονα κάποια είναι σε κατάσταση scheduled, τότε και στη περίπτωση αυτή ακυρώνονται και επανα- υποβάλλονται. Όταν έχουν απομείνει να εκτελούνται λιγότερα από 4 parametric job, ο έλεγχος των scheduled job γίνεται κάθε 2 ώρες. Με τη τακτική αυτή όχι μόνο παραμένουν λιγότερη ώρα στην ουρά τα job, αλλά ταυτόχρονα αποφεύγεται ένα άλλο φαινόμενο που παρατηρείται στο HellasGrid: κατά την ταυτόχρονη υποβολή πολλών job, συχνά αυτά διανέμονται σε ένα πόρο του Grid. Με την επανα- υποβολή τους, συχνά πετυχαίνεται να υποβληθούν σε διαφορετικό πόρο, ο οποίος δεν θα είναι τόσο απασχολημένος, και θα μπορέσει να εξυπηρετήσει γρηγορότερα τις εργασίες. Το διάγραμμα ροής του αλγορίθμου ελέγχου των parametric job εμφανίζεται στο σχήμα

51 Περιγραφή του προγράμματος Σχήμα Διάγραμμα ροής του ελέγχου των parametric job 51

52 Περιγραφή του προγράμματος 3.4 Η διεπαφή του χρήστη με το πρόγραμμα Το πρόγραμμα που αναπτύχθηκε απαιτεί από τον χρήστη πολύ βασικές γνώσεις περιβάλλοντος Linux. Ο χρήστης αναμένεται να έχει δημιουργήσει λογαριασμό στο HellasGrid, να μπορεί να κάνει log in στο user interface του και να δημιουργήσει proxy certificate (βλ. παράρτημα Β). Απαιτεί την ικανότητα περιήγησης σε φακέλους, εκτέλεσης απλών προγραμμάτων μέσω command line, και γνώση κάποιου απλού text editor. Ο μέσος χρήστης του προγράμματος BLAST αναμένεται ούτως ή άλλως να είναι εξοικειωμένος με την εκτέλεση προγραμμάτων από command line. Το πρόγραμμα απαιτεί από τον χρήστη να κατεβάσει τα εκτελέσιμα αρχεία, να τα εισάγει στο UI του, μαζί με τα αρχεία FASTA τα οποία επιθυμεί να επεξεργαστεί, και να συμπληρώσει ένα απλό δομημένο txt αρχείο το οποίο του παρέχεται (βλ. παράρτημα Β). Στην συνέχεια απαιτεί από το χρήστη να εκτελέσει το πρόγραμμα, δίνοντας του ως όρισμα το αρχείο txt. Το πρόγραμμα ενημερώνει συνεχώς τον χρήστη για την πορεία του και δεν απαιτεί κάτι παραπάνω από αυτόν. Ενημερώνει τον χρήστη για το πέρας της εκτέλεσης του μέσω μηνύματος στο ηλεκτρονικό του ταχυδρομείο αν αυτός το επιθυμεί. Τα αποτελέσματα συλλέγονται και αποθηκεύονται σε ένα αρχείο, μαζί με ένα report με τα στοιχεία της εκάστοτε εκτέλεσης. Αναπτύχθηκαν μικροί parsers που επιτρέπουν στον χρήστη να διαχειριστεί εύκολα αρχεία εξόδου, πάλι με απλή εκτέλεση. Η αυτοματοποιημένη φύση του προγράμματος, μαζί με τις αναλυτικές οδηγίες που παρέχονται στο παράρτημα Β για την εγκατάσταση και εκτέλεση του, δίνει την δυνατότητα να χρησιμοποιηθεί ακόμα και από χρήστες που δεν είναι ιδιαίτερα εξοικειωμένοι με περιβάλλοντα Linux. 3.5 Πολυπλοκότητα του προγράμματος Η πολυπλοκότητα του αλγορίθμου εξαρτάται σε μεγάλο βαθμό από το μέγεθος των αρχείων εισόδου και από τις λειτουργίες που θα εκτελέσει. Η πιο χρονοβόρα εργασία που εκτελεί είναι η αναζήτηση BLAST η οποία θα παρουσιαστεί πρώτη. Θα ακολουθήσει η ανάλυση της πολυπλοκότητας του αλγορίθμου MCL καθώς και της κατασκευής φυλογενετικών προφίλ. Τέλος, θα παρουσιαστεί η πολυπλοκότητα του αλγορίθμου για όλες τις επιλογές λειτουργίας του (1-5). Τα μεγέθη που θα χρησιμοποιηθούν αναπαρίστανται ως εξής: 52 Ν: αριθμός αλληλουχιών στο query file M: αριθμός αλληλουχιών στο database file

53 Περιγραφή του προγράμματος L: το μέσο μήκος ενός query sequence K: αριθμός γονιδίων/οργανισμών που συγκροτούν το αρχείο της βάσης R: συνολικός αριθμός των γραμμάτων (residues) των αλληλουχιών της βάσης P: αριθμός τμημάτων στον οποίο διαχωρίζεται το query file w: μέγεθος των neighborhood words W: πλήθος των neighborhood words n: αριθμός κόμβων που εξετάζει ο MCL αλγόριθμος Πολυπλοκότητα του αλγορίθμου BLAST Η πολυπλοκότητα του αλγορίθμου BLAST, όπως παρουσιάζεται στη σχετική βιβλιογραφία[23], θα μπορούσε να εκτιμηθεί ότι είναι Ο(Ν*Μ). Αυτό προκύπτει από το γεγονός ότι πρέπει να συγκριθούν όλες οι αλληλουχίες του query file με όλες τις αλληλουχίες του database file. Στην πραγματικότητα, και όπως είδαμε στο κεφάλαιο 2.1, η πολυπλοκότητα του αλγορίθμου είναι μικρότερη από Ο(Ν*Μ), καθώς δεν συγκρίνονται ολόκληρες όλες οι αλληλουχίες του query file αλλά μόνο αυτές των οποίων τα neighborhood words πέτυχαν αξιόλογη ομοιότητα με περιοχές των ακολουθιών της βάσης, αλλά και από αυτές τις αλληλουχίες, μόνο όσες δεν σταμάτησαν να συγκρίνονται επειδή το σκορ τους έπεσε κάτω από την τιμή Χ. Επομένως η πολυπλοκότητα εξαρτάται και από το μέγεθος w των λέξεων, από τον αριθμό αλληλουχιών στο query file και από το μήκος κάθε αλληλουχίας, καθώς ο αριθμός των neighborhood words (W) μεγέθους w που θα παράγει ένα query file ποικίλει ανάλογα, και από τις τιμές Τ και X των σκορ. Πρέπει να σημειωθεί εδώ, ότι για κάθε αλληλουχία υπό εξέταση (query sequence) προηγείται μια προ επεξεργασία η οποία είναι ανεξάρτητη του μεγέθους της βάσης. Για την παραγωγή των neighborhood words της κάθε λέξης ενός query sequence, συγκρίνονται όλες οι πιθανές λέξεις μεγέθους w με όλες τις λέξεις του query sequence. Αν το query sequence έχει μήκος L τότε αποτελείται από L-w+1 λέξεις. Όλες οι πιθανές λέξεις μήκους w είναι 20w, δεδομένου ότι οι πρωτεϊνικές αλληλουχίες περιγράφονται μέσα από ένα σύνολο 20 γραμμάτων. Επομένως για κάθε query sequence χρειάζεται να εκτελεστούν (L-w+1)*20w συγκρίσεις με πολυπλοκότητα Ο(L*20w). Αν θέσουμε W το σύνολο των neighborhood words που εξάγονται από ένα συγκεκριμένο query file, και R το σύνολο των γραμμάτων (residues) των αλληλουχιών της βάσης, η πολυπλοκότητα του αλγορίθμου μπορεί να παρασταθεί ως: 53

54 Περιγραφή του προγράμματος a W +b N +c W N /20 w (3) όπου a, b, c είναι σταθερές. Εξετάζοντας το αν είναι προτιμότερο να διαμοιραστεί το query file ή το database file όταν εκτελείται παράλληλα ο αλγόριθμος BLAST, και επιλέγοντας την περίπτωση όπου το query file είναι ίδιο με το database file (all-vs-all) και έχει Μ αριθμό αλληλουχιών και R αριθμό γραμμάτων, παρατηρούμε τα εξής: διαμοιράζοντας το query file σε P κομμάτια και θεωρώντας σταθερό το μήκος των query sequences L, κάθε σύγκριση BLAST θα πρέπει να εκτελέσει προ επεξεργασία πολυπλοκότητας O[(Μ/P)*(L*20w)] η οποία θα παράξει W/P neighborhood words για κάθε κομμάτι του query file. Στην συνέχεια θα εκτελέσει τον βασικό κορμό των συγκρίσεων πολυπλοκότητας Ο[(W*Ν)/P] διαμοιράζοντας το database file σε P κομμάτια και θεωρώντας σταθερό το μήκος των query sequences L, κάθε σύγκριση BLAST θα πρέπει να εκτελέσει προ επεξεργασία πολυπλοκότητας O[Μ*(L*20w)] η οποία θα παράξει W neighborhood words. Στην συνέχεια θα εκτελέσει τον βασικό κορμό των συγκρίσεων πολυπλοκότητας Ο[(W*N)/P]. Από τα παραπάνω συμπεραίνουμε διαμοιραστεί το query file. ότι είναι χρονικά οικονομικότερο να Πολυπλοκότητα αλγορίθμου MCL Ο αλγόριθμος MCL, όπως παρουσιάζεται στη σχετική βιβλιογραφία [15], έχει πολυπλοκότητα Ο(n*k2), όπου n είναι ο αριθμός των κόμβων του γράφου που εξετάζει και k μια σταθερά που εκφράζει τον μέγιστο αριθμό πόρων που αντιστοιχίζει ο αλγόριθμος σε κάθε κόμβο. Δεδομένου ότι η είσοδος του αλγορίθμου είναι σε μορφή αραιού πίνακα, μπορούμε να θεωρήσουμε τον μέγιστο αριθμό (k) δεδομένων κάθε κόμβου ως τον μέγιστο αριθμό μη μηδενικών εισόδων κάθε στήλης του πίνακα, διατηρώντας έτσι χαμηλή πολυπλοκότητα. Σκεπτόμενοι τα αποτελέσματα που μας δίνει ο αλγόριθμος BLAST ή τα φυλογενετικά προφίλ, αντιστοιχίζουμε τους κόμβους ( n) με πρωτεΐνες ή γονίδια, και τα δεδομένα που αντιστοιχούν σε κάθε κόμβο ως τον δείκτη που φανερώνει την ομοιότητα μεταξύ των πρωτεϊνών ή/και των γονιδίων. Επομένως ως n θέτουμε το συνολικό αριθμό των εξεταζόμενων πρωτεϊνών (ή γονιδίων) του query και του database file που σημειώνουν hit, δεδομένου ότι ο αλγόριθμος MCL δεν ενδιαφέρεται για τις εισόδους που είναι μηδέν, και δεδομένου ότι ο αλγόριθμος BLAST δεν καταγράφει τις ανεπιτυχείς συγκρίσεις. Βλέπουμε επομένως ότι η ταχύτητα του αλγορίθμου MCL εξαρτάται σε μεγάλο βαθμό από τον βαθμό ομολογίας των εξεταζόμενων πρωτεϊνών, και ισχύει n < N*M. 54

55 Περιγραφή του προγράμματος Πολυπλοκότητα κατασκευής φυλογενετικών προφίλ Η πολυπλοκότητα κατασκευής των φυλογενετικών προφίλ υπολογίζεται παρακάτω. Για την κατασκευή των φυλογενετικών προφίλ θα θεωρήσουμε ότι έχουμε query file μεγέθους Ν sequences και database file μεγέθους Μ sequences. Θεωρούμε επίσης ότι όλες οι ευθυγραμμίσεις του αλγορίθμου BLAST ήταν επιτυχείς, και επομένως το raw abc αρχείο που θα παραχθεί θα έχει N*M γραμμές, μία για κάθε επιτυχημένη ευθυγράμμιση (ακραία περίπτωση). Θεωρούμε ότι οι Μ πρωτεΐνες του database file προέρχονται από Κ οργανισμούς/γονίδια. Για την κατασκευή του φυλογενετικού προφίλ ενός query sequence θα γίνουν Κ αναζητήσεις τύπου grep μέσα στο αρχείο μεγέθους N*M. Επομένως για Ν query sequences θα γίνουν Ν*Κ αναζητήσεις στο αρχείο μεγέθους Ν*Μ. Η πολυπλοκότητα που προκύπτει είναι Ο(Ν2*Κ*Μ). Εξετάζοντας την περίπτωση όπου έχει διαμοιραστεί το query file σε P τμήματα και η εκτέλεση του BLAST και της κατασκευής των φυλογενετικών προφίλ γίνεται παράλληλα, ένα raw abc αρχείο έχει μέγεθος (Ν/P)*Μ γραμμών. Δεδομένου ότι για κάθε query sequence θα εξεταστεί η παρουσία ή απουσία ομολόγου με το κάθε γονίδιο (σύνολο Κ γονίδια), και δεδομένου N/P query sequences, θα εκτελεστούν (Ν/P)*Κ αναζητήσεις στο αρχείο μεγέθους (Ν/P)*Μ. Η πολυπλοκότητα που 2 προκύπτει είναι Ο[(Ν/P) *Κ*Μ]. Εξετάζοντας την περίπτωση όπου έχει διαμοιραστεί το database file σε Κ τμήματα (ένα κομμάτι για κάθε οργανισμό) και η εκτέλεση του BLAST και της κατασκευής των φυλογενετικών προφίλ γίνεται παράλληλα, και αν θεωρήσουμε ότι οι πρωτεΐνες ανά οργανισμό είναι σταθερές, δηλαδή Μ/Κ, τότε ένα raw abc αρχείο έχει μέγεθος Ν*(Μ/Κ). Δεδομένου ότι το κομμάτι του database file που εξετάζεται αντιπροσωπεύει ένα μόνο οργανισμό/γονίδιο, τότε για Ν query sequences θα εκτελεστούν Ν αναζητήσεις στο αρχείο μεγέθους Ν*(Μ/Κ). Η πολυπλοκότητα που προκύπτει είναι Ο[Ν2*(Μ/Κ)]. Βλέπουμε από τις δύο αυτές πολυπλοκότητες, ότι στην γενική περίπτωση όπου το Ν είναι αρκετά μικρότερο από το Μ, δεδομένου ότι οι αναζητήσεις τύπου grep αυξάνουν γραμμικά με το μέγεθος του database file, ακόμη και στην περίπτωση που P=Ν συμφέρει η περίπτωση του διαμοιρασμού του database file, καθώς η αναζητήσεις τύπου grep είναι πιο χρονοβόρες για Κ αναζητήσεις σε αρχείο μεγέθους Μ, παρά για Ν2 αναζητήσεις σε αρχείο μεγέθους Μ/Κ. Θα εξετάσουμε και την περίπτωση all-vs-all, όπου το query file και το database file είναι ίδια με μέγεθος Μ query sequences. Η πρώτη πολυπλοκότητα γίνεται επομένως Ο[(M/P)2*Κ*Μ] ή Ο[(M3*Κ)/P2] και η δεύτερη γίνεται Ο[Μ2*(Μ/Κ)] ή Ο[Μ3/Κ]. Για P>Κ όπως συμβαίνει συνήθως σε αυτές τις περιπτώσεις, βλέπουμε ότι συμφέρει να διαμοιραστεί το query file. 55

56 Περιγραφή του προγράμματος Πολυπλοκότητα επιλογής 1 Με την επιλογή αυτή εκτελείται σύγκριση BLAST ανάμεσα στο query file και στο database file με την τεχνική του διαμοιρασμού του query file. Παράγονται μόνο raw abc αρχεία από το parametric job και στην συνέχεια υπόκεινται σε MCL clustering. Επιλέχθηκε διαμοιρασμός του query file καθώς δεν θα κατασκευαστούν τα φυλογενετικά προφίλ και είναι η πιο γρήγορη μέθοδος. Για query file μεγέθους Ν, database file μεγέθους Μ και διαμοιρασμό του query file σε P ίσα κομμάτια προκύπτει για κάθε parametric job (P στο σύνολο) πολυπλοκότητα: BLAST θεωρώντας απλοποιημένη πολυπλοκότητα: Ο[(Ν/P)*Μ] Για το job που θα εκτελέσει το MCL clustering προκύπτει πολυπλοκότητα: MCL clustering: Ο[(N+Μ)k2] Συνολική πολυπλοκότητα: Ο[(N+Μ)k2 + (Ν/P)*Μ] Σειριακή πολυπλοκότητα: Ο[(N+Μ)k2 + Ν*Μ] Πολυπλοκότητα επιλογής 2 Με την επιλογή αυτή εκτελείται σύγκριση BLAST ανάμεσα στο query file και στο database file με την τεχνική του διαμοιρασμού του database file. Παράγονται raw abc αρχεία και phylogenetic abc αρχεία από το parametric job. Επιλέχθηκε διαμοιρασμός του database file καθώς θα κατασκευαστούν τα φυλογενετικά προφίλ. Για query file μεγέθους Ν, database file μεγέθους Μ και διαμοιρασμό του database file σε K κομμάτια, όσοι και οι οργανισμοί που συμμετέχουν στο σχηματισμό της βάσης, προκύπτει για κάθε parametric job (Κ στο σύνολο) πολυπλοκότητα: BLAST θεωρώντας απλοποιημένη πολυπλοκότητα: Ο[Ν*(Μ/Κ)] Κατασκευής φυλογενετικών προφίλ: Ο[Ν2*(Μ/Κ)] Συνολική πολυπλοκότητα: Ο[Ν*(Μ/Κ) + Ν2*(Μ/Κ)] Σειριακή πολυπλοκότητα: Ο[Ν*Μ + Ν2*Κ*Μ] 56

57 Περιγραφή του προγράμματος Πολυπλοκότητα επιλογής 3 Με την επιλογή αυτή εκτελείται σύγκριση BLAST ανάμεσα στο query file και στο database file με την τεχνική του διαμοιρασμού του database file. Παράγονται raw abc αρχεία και phylogenetic abc αρχεία από το parametric job. Επιλέχθηκε διαμοιρασμός του database file καθώς θα κατασκευαστούν τα φυλογενετικά προφίλ. Στη συνέχεια τα phylogenetic abc αρχεία υπόκεινται σε MCL clustering. Για query file μεγέθους Ν, database file μεγέθους Μ και διαμοιρασμό του database file σε K κομμάτια, όσοι και οι οργανισμοί που συμμετέχουν στο σχηματισμό της βάσης, προκύπτει για κάθε parametric job (Κ στο σύνολο) πολυπλοκότητα: BLAST θεωρώντας απλοποιημένη πολυπλοκότητα: Ο[Ν*(Μ/Κ)] Κατασκευής φυλογενετικών προφίλ: Ο[Ν2*(Μ/Κ)] Για το job που θα εκτελέσει το MCL clustering προκύπτει πολυπλοκότητα: MCL clustering: Ο[(N+Κ)*k2] Συνολική πολυπλοκότητα: Ο[Ν*(Μ/Κ) + Ν2*(Μ/Κ) + (N+Κ)*k2] Σειριακή πολυπλοκότητα: Ο[Ν*Μ + Ν2*Κ*Μ + (N+Κ)*k2] Πολυπλοκότητα επιλογής 4 Με την επιλογή αυτή εκτελείται σύγκριση BLAST ανάμεσα στο query file και στο database file με την τεχνική του διαμοιρασμού του database file. Παράγονται raw abc αρχεία και phylogenetic abc αρχεία από το parametric job. Επιλέχθηκε διαμοιρασμός του database file καθώς θα κατασκευαστούν τα φυλογενετικά προφίλ. Στη συνέχεια τα phylogenetic abc αρχεία και τα raw abc αρχεία υπόκεινται σε MCL clustering παράλληλα. Για query file μεγέθους Ν, database file μεγέθους Μ και διαμοιρασμό του database file σε K κομμάτια, όσοι και οι οργανισμοί που συμμετέχουν στο σχηματισμό της βάσης, προκύπτει για κάθε parametric job (Κ στο σύνολο) πολυπλοκότητα: BLAST θεωρώντας απλοποιημένη πολυπλοκότητα: Ο[Ν*(Μ/Κ)] Κατασκευής φυλογενετικών προφίλ: Ο[Ν2*(Μ/Κ)] Για τα job που θα εκτελέσουν MCL clustering προκύπτει πολυπλοκότητα: 57

58 Περιγραφή του προγράμματος MCL clustering για τα raw abc αρχεία: Ο[(Ν+M)*k2] MCL clustering για τα phylogenetic abc αρχεία: Ο[(Ν+Κ)*k2] Συνολική πολυπλοκότητα: Ο[Ν*(Μ/Κ) + Ν2*(Μ/Κ) + 2*(Ν+Κ)*k2] Σειριακή πολυπλοκότητα: Ο[Ν*Μ + Ν2*Κ*Μ + 2*(Ν+Μ)*k2] Πολυπλοκότητα επιλογής 5 Με την επιλογή αυτή εκτελείται σύγκριση BLAST all-vs-all ανάμεσα στο query file και στο database file τα οποία είναι ίδια, με την τεχνική του διαμοιρασμού του query file. Επιλέχθηκε διαμοιρασμός του query file καθώς ο χρόνος εκτέλεσης του BLAST αλλά και των φυλογενετικών προφίλ στην περίπτωση all-vs-all είναι εξαιρετικά μεγαλύτερος αν ακολουθηθεί η τακτική του διαμοιρασμού της βάσης. Παράγονται raw abc αρχεία και phylogenetic abc αρχεία από το parametric job, και στη συνέχεια τα raw abc αρχεία υπόκεινται σε MCL clustering. Για query file και database file μεγέθους Μ, σύνολο K οργανισμών που συμμετέχουν στην βάση και διαμοιρασμό του query file σε P ίσα κομμάτια, προκύπτει για κάθε parametric job (P στο σύνολο) πολυπλοκότητα: BLAST θεωρώντας απλοποιημένη πολυπλοκότητα: Ο[(Μ/P)*Μ] ή Ο[Μ2/P] Κατασκευής φυλογενετικών προφίλ: Ο[(Μ/P)2*Κ*Μ] ή Ο[(Μ/P)2*Κ*Μ] ή Ο[(Μ3/P)*Κ] Για τα job που θα εκτελέσουν MCL clustering προκύπτει πολυπλοκότητα: MCL clustering για τα raw abc αρχεία: Ο[Μ*k2] Συνολική πολυπλοκότητα: Ο[Μ2/P + (Μ3/Χ)*P + Μ*k2] ή Ο[Μ3/P] Σειριακή πολυπλοκότητα: Ο[Μ2 + Μ3*Κ + Μ*k2] ή Ο[Μ3] Συνολική πολυπλοκότητα στην περίπτωση διαμοιρασμού βάσης: Ο[Μ*k2 + Μ2*(Μ/K) + Μ*(Μ/K)] ή Ο[Μ3/K] 58

59 Περιγραφή του προγράμματος Κάνοντας χρήση της απλοποιημένης πολυπλοκότητας του αλγορίθμου BLAST, φαινομενικά η πολυπλοκότητα με την τεχνική του διαμοιρασμού του query file και με την τεχνική του διαμοιρασμού του database file είναι σχεδόν ίσες. Όμως, λαμβάνοντας υπόψιν την προ επεξεργασία που εκτελεί ο αλγόριθμος BLAST, όπως περιγράφηκε παραπάνω, καθώς και το ότι συνήθως ισχύει P > K, τότε μπορούμε να φτάσουμε στο συμπέρασμα ότι συμφέρει περισσότερο η τεχνική του διαμοιρασμού του query file. Συνήθως ισχύει ότι P > K, καθώς το Κ περιορίζεται από τον αριθμό των οργανισμών που συμμετέχουν στη βάση, ενώ το P εξαρτάται από τον χρήστη και μπορεί να κλιμακωθεί ανάλογα με τις ανάγκες του. Οι περιπτώσεις στις οποίες δεν ισχύει είναι αυτές για πολύ μικρό query file, με αριθμό πρωτεϊνών μικρότερο από Κ. 59

60 Αποτελέσματα 4 Αποτελέσματα Στο κεφάλαιο αυτό παρουσιάζονται τα πειραματικά αποτελέσματα της εφαρμογής. Εξετάστηκε τόσο η ορθότητα των αποτελεσμάτων της κάθε επιλογής όσο και η απόδοση από άποψη χρόνου εκτέλεσης στο HellasGrid. 4.1 Πειραματικός έλεγχος του συστήματος Ο έλεγχος της ορθής λειτουργίας του προγράμματος έγινε με την εκτέλεση των επιλογών από το 1 έως και το Περιγραφή του test dataset Database File Το αρχείο βάσης που χρησιμοποιήθηκε ονομάζεται bacillus.faa. Το bacillus αποτελεί γένος βακτηρίων, και περιέχει μη- παρασιτικά καθώς και παρασιτικά παθογενή είδη. Πολλά είδη bacillus μπορούν να εκκρίνουν μεγάλο αριθμό ενζύμων. Χρησιμοποιείται ευρέως σε τομείς της έρευνας, της βιομηχανίας και της ιατρικής. Το είδος B. anthracis, προκαλεί την ασθένεια anthrax, το B. cereus, προκαλεί τροφική δηλητηρίαση. Το είδος B. thuringiensis είναι παθογόνο για τα έντομα και χρησιμοποιείται στη απεντόμωση. Το B. amyloliquefaciens αποτελεί πηγή φυσικής αντιβιοτικής πρωτεΐνης. Το αρχείο bacillus.faa περιέχει 16 γονιδιώματα. Κάθε γονιδίωμα στη συνέχεια περιέχει πολλαπλά στελέχη (variants) τα οποία στο σύνολο τους μετράνε 78 οργανισμούς: Πίνακας Οργανισμοί του γένους bacillus που συμμετέχουν στο αρχείο βάσης bacillus.faa A/A Genome Variants B. amyloliquefaciens Bacillus amyloliquefaciens B. anthracis Bacillus anthracis a B. anthracis Bacillus anthracis ames ancestor No. of sequences Identifier BAMY-XXX BANT-A02 BANT-AMA

61 Αποτελέσματα 4 B. anthracis Bacillus anthracis ames B. anthracis Bacillus anthracis cdc BANT-AME BANT-CDC 6 B. anthracis Bacillus anthracis sterne 5284 BANT-STE 7 Β. cereus Bacillus cereus 03bb BCER-03B 8 Β. cereus Bacillus cereus w 5641 BCER Β. cereus Bacillus cereus BCER Β. cereus Bacillus cereus ah BCER-H71 11 Β. cereus Bacillus cereus ah BCER-H72 12 Β. cereus Bacillus cereus ah BCER-H73 13 Β. cereus Bacillus cereus ah BCER-H18 14 Β. cereus Bacillus cereus ah BCER-H60 15 Β. cereus Bacillus cereus ah BCER-H62 16 Β. cereus Bacillus cereus ah BCER-H67 17 Β. cereus Bacillus cereus ah BCER-H82 18 Β. cereus Bacillus cereus atcc Bacillus cereus atcc Bacillus cereus atcc Bacillus cereus atcc Β. cereus Β. cereus Β. cereus BCER-A76 BCER-A87 BCER-A79 BCER-A42 22 Β. cereus Bacillus cereus b Β. cereus Bacillus cereus bdrd bcer Β. cereus Bacillus cereus bdrd st Β. cereus Bacillus cereus bdrd st Β. cereus Bacillus cereus bdrd st Β. cereus Bacillus cereus bgsc 6e BCER-6E1 28 Β. cereus Bacillus cereus cytotoxis 5810 BCER-CYT 29 Β. cereus Bacillus cereus f BCER-F65 30 Β. cereus Bacillus cereus g BCER-G98 61 BCER-B42 BCER-BCE BCER-ST1 BCER-ST4 BCER-ST6

62 Αποτελέσματα 31 Β. cereus Bacillus cereus m BCER-M12 32 Β. cereus Bacillus cereus mm BCER-MM1 33 Β. cereus Bacillus cereus mm BCER-MM3 34 Β. cereus Bacillus cereus q BCER-Q1X 35 Β. cereus Bacillus cereus r BCER-R30 36 Β. cereus Bacillus cereus rock BCER-R15 37 Β. cereus Bacillus cereus rock BCER-R3X 38 Β. cereus Bacillus cereus rock BCER-R28 39 Β. cereus Bacillus cereus rock BCER-R29 40 Β. cereus Bacillus cereus rock BCER-R42 41 Β. cereus Bacillus cereus rock BCER-R44 42 Β. cereus Bacillus cereus rock BCER-R18 43 Β. cereus Bacillus cereus rock BCER-R2X 44 Β. cereus Bacillus cereus var anthracis 5778 Bacillus cereus zk 5641 BCER-ANT 45 Β. cereus 46 Bacillus clausii Bacillus clausii 4087 BCLA-XXX 47 Β. halodurans Bacillus halodurans 4334 BHAL-XXX 48 B. licheniformis Bacillus licheniformis goettingen B. licheniformis Bacillus licheniformis novozymes B. megaterium Bacillus megaterium atcc B. megaterium Bacillus megaterium dsm Bacillus mycoides dsm B. mycoides BCER-ZKX BLIC-GOE BLIC-NOV BMEG-ATC BMEG-DSM BMYC-DSM 53 B. mycoides Bacillus mycoides rock B. mycoides Bacillus mycoides rock B. pseudofirmus Bacillus pseudofirmus B. pseudomycoides Bacillus pseudomycoides 5885 BMYC-PSE 57 B. pumilus Bacillus pumilus 3681 BPUM-XXX 58 B. selenitireducens Bacillus selenitireducens 498 BSEL-XXX 59 B. subtilis Bacillus subtilis 4185 B. thuringiensis Bacillus thuringiensis atcc BMYC-R4X BMYC-R17 BFIR-PSE BSUB-XXX BTHU-ATC 6490

63 Αποτελέσματα 61 B. thuringiensis Bacillus thuringiensis bgsc 4aj B. thuringiensis Bacillus thuringiensis bgsc 4aw1 andalous B. thuringiensis Bacillus thuringiensis bgsc 4ba1 pondicheri B. thuringiensis Bacillus thuringiensis bgsc 4bd1 huazhong B. thuringiensis Bacillus thuringiensis bgsc 4cc1 pulsiensis B. thuringiensis Bacillus thuringiensis bgsc 4y1 tochigiensis B. thuringiensis Bacillus thuringiensis bmb B. thuringiensis Bacillus thuringiensis bt B. thuringiensis Bacillus thuringiensis B. thuringiensis Bacillus thuringiensis ibl Bacillus thuringiensis ibl Bacillus thuringiensis konkukian 6323 Bacillus thuringiensis t Bacillus thuringiensis t03a001 kurstaki 6583 Bacillus thuringiensis t04001 sotto 6028 Bacillus thuringiensis t13001 pakistani 4798 B. tusciae Bacillus tusciae 3150 B. weihenstephanensis Bacillus weihenstephanensis B. thuringiensis B. thuringiensis B. thuringiensis B. thuringiensis B. thuringiensis B. thuringiensis Total 63 BTHU-4AJ BTHU-4AW BTHU-4BA BTHU-4BD BTHU-4CC BTHU-4YI BTHU-BMB BTHU-BT4 BTHU-XXX BTHU-IB2 BTHU-IB4 BTHU-KON BTHU-T01 BTHU-T03 BTHU-T04 BTHU-T BTUS-XXX BWEI-XXX

64 Αποτελέσματα Query File Χρησιμοποιήθηκαν δύο αρχεία ερωτημάτων. Το πρώτο ονομάζεται leucinepathway.fasta και περιέχει 24 αλληλουχίες πρωτεϊνών του οργανισμού Escherichia coli οι οποίες συμμετέχουν στο μεταβολικό μονοπάτι της Βιοσύνθεσης της Λευκίνης. Το δεύτερο ονομάζεται bacillus5.faa και περιέχει τις αλληλουχίες των 5 πολυπληθέστερων οργανισμών του αρχείου bacillus.faa (B_thuringiensis_ibl200, B_thuringiensis_ibl4222, B_thuringiensis_t04001_sotto, B_thuringiensis_bgsc_4aj1, B_thuringiensis_t01001) συνόλου αλληλουχιών. Χρησιμοποιήθηκαν δύο query file καθώς το leucinepathway.fasta αποτελείται από αρκετά μικρό αριθμό query sequences, και οι χρόνοι εκτέλεσης δεν θα είναι αρκετά αντιπροσωπευτικοί, αντίθετα με το αρχείο bacillus5.faa. Για να επιτευχθεί σύγκριση μεταξύ των αποτελεσμάτων, ακολουθήθηκε η εξής τακτική: Αν το σύνολο των query sequences είναι μικρότερο από 500, τότε το query file διαμοιράζεται σε όσα κομμάτια όσα και τα query sequences, και επομένως θα εκτελεστεί αντίστοιχος αριθμός από job. Αν το σύνολο των query sequences είναι μεγαλύτερο από 500, τότε θα διαμοιράζεται σε 500 κομμάτια και θα εκτελεστούν 500 job (βλ. κεφάλαιο ). Ο αριθμός 500, επιλέχθηκε τυχαία μεγάλος, ώστε ο χρόνος εκτέλεσης πολύ μεγάλων σετ δεδομένων να είναι λογικός, όπως θα δούμε παρακάτω. 64

65 Αποτελέσματα Χρόνοι εκτέλεσης κάθε ενότητας Αρχικά θα παρουσιαστούν οι χρόνοι εκτέλεσης κάθε ξεχωριστής ενότητας του προγράμματος: BLAST, Phylogenetic Profiles, Simple MCL clustering, Phylogenetic MCL clustering Ενότητα BLAST Στον παρακάτω πίνακα παρουσιάζονται οι χρόνοι εκτέλεσης του αλγορίθμου BLAST. Στους χρόνους εκτέλεσης συμπεριλαμβάνεται και ο χρόνος δημιουργίας της βάσης σε κατάλληλη μορφή ( blastable ). Εκτελέστηκε το πρόγραμμα με διάφορους αριθμούς από job ανά εκτέλεση ώστε να φανεί η κλιμάκωση του χρόνου εκτέλεσης για τρία διαφορετικά μεγέθη βάσεων, καθώς μεγαλώνει ο αριθμός των query sequences. Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου BLAST για διάφορους συνδυασμούς αρχείων query database 65 Avg. Run Time No. Query Sequences No. Database Sequences 1,17 min ,45 min ,79 min ,01 min ,99 min ,11 min ,15 min ,98 min ,25 min ,16 min ,66 min ,908 min ,640 min ,75 min 24 ~5.366

66 Αποτελέσματα 65,77 min ~ ,30 min ~ ,25 min ~ ,61 hours ~ ,05 hours Ενότητα φυλογενετικών προφίλ Στον παρακάτω πίνακα παρουσιάζονται οι χρόνοι εκτέλεσης της κατασκευής των φυλογενετικών προφίλ. Οι εκτελέσεις είναι οι αντίστοιχες του πίνακα των εκτελέσεων BLAST. Πίνακας ρόνοι κατασκευής φυλογενετικών προφίλ για διάφορους συνδυασμούς αρχείων query database 66 Avg. Run Time No. Query Sequences No. Database Sequences 70,79 sec min ,82 min ,88 min ,56 min ,98 min ,78 min ,88 min ,85 min ,55 min ,41 min ,645 min ,879 min

67 Αποτελέσματα 1 min 24 ~ ,22 min ~ ,44 min ~ ,86 min ~ ,54 hours ~ ,21 hours Στο παρακάτω σχήμα παρουσιάζονται οι χρόνοι εκτέλεσης του αλγορίθμου BLAST και της κατασκευής των φυλογενετικών προφίλ. Χρησιμοποιήθηκε σταθερή βάση (bacillus.faa) και αυξάνεται ο αριθμός των query sequences κατά περίπου 1000 seq.. Σχήμα Χρόνοι εκτέλεσης του αλγορίθμου BLAST και της κατασκευή των φυλογενετικών προφίλ, για σταθερό αρχείο βάσης (bacillus.faa seq.) 67

68 Αποτελέσματα Και οι δύο ρυθμοί αύξησης μπορούν να χαρακτηριστούν σχεδόν γραμμικοί για μικρό αριθμό από query sequences. Γρήγορα όμως αυτό αλλάζει, και ειδικά για την περίπτωση των φυλογενετικών προφίλ, ο οποίος είναι μεγαλύτερος από τον ρυθμό αύξησης του αλγορίθμου BLAST. Η κλιμάκωση των χρόνων του αλγορίθμου ΒLAST είναι πιο αργοί, αλλά γίνονται πιο έντονοι μετά από τα query sequences. Στο σχήμα παρουσιάζονται και πάλι οι χρόνοι εκτέλεσης των αλγορίθμων ΒLAST και φυλογενετικών προφίλ, αλλά για μικρότερη βάση (~ seq.) καθώς αυξάνει ο αριθμός των query sequences. Σχήμα Χρόνοι εκτέλεσης του αλγορίθμου BLAST και της κατασκευή των φυλογενετικών προφίλ, για σταθερό αρχείο βάσης (~5.366 seq.) Βλέπουμε ότι για βάση μικρότερου μεγέθους, οι χρόνοι εκτέλεσης αυξάνουν βραδύτερα και είναι αρκετά ικανοποιητικοί, ακόμα και για μεγάλο αριθμό από query sequences. Γι' αυτό το λόγο, προτιμάται ο διαχωρισμός του database file, όταν έχουμε query file το οποίο να είναι μεν μεγάλο σε μέγεθος, αλλά όχι τόσο όσο η βάση (όπως η περίπτωση all-vs-all). 68

69 Αποτελέσματα Ενότητα simple MCL clustering Στον πίνακα παρουσιάζονται οι χρόνοι εκτέλεσης του αλγορίθμου MCL, όταν βασίζεται στα απλά αποτελέσματα του αλγορίθμου BLAST για να εκτελέσει την ομαδοποίηση. Δεν παρουσιάζονται περισσότερες διακυμάνσεις του query file, καθώς το κομμάτι αυτό εκτελείται μετά την συλλογή όλων των δεδομένων σε ένα σύστημα. Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου MCL για διάφορους συνδυασμούς αρχείων query database Avg. Run Time No. Query Sequences No. Database Sequences Clusters 2 sec ,11 min ,4 min ,31 min ,8 min Όπως φαίνεται ο αλγόριθμος MCL είναι γρήγορος, ειδικά σε σύγκριση με τους χρόνους εκτέλεσης BLAST και των φυλογενετικών προφίλ. Χαρακτηριστική είναι η περίπτωση του all-vs-all με το αρχείο bacillus.faa ( vs ). Παρατηρούμε ότι ένα job κατά μέσο όρο, είτε είναι διαμοιρασμένο το query file είτε το database file, κάνει από μία μέχρι και αρκετές ώρες να εκτελεστεί. Αντίθετα ο αλγόριθμος MCL δεν ξεπερνά τις δύο ώρες για την επεξεργασία όλων των δεδομένων. Εξετάστηκε και η περίπτωση της εκτέλεσης του σε διαμοιρασμένα δεδομένα. Οι χρόνοι εκτέλεσης ωστόσο δεν ήταν ικανοποιητικοί, καθώς τα cluster που παράγονται δεν φέρουν την ίδια πληροφορία με αυτά που παράγονται καθολικά. Ως εκ τούτου τα αποτελέσματα χρειάζονται μετα-επεξεργασία η οποία είναι αρκετά χρονοβόρα. Στην περίπτωση του διαμοιρασμένου query file, τα στοιχεία της βάσης θα ανήκουν σε παραπάνω από ένα cluster, αφού υπολογίζονται ξεχωριστά. Η ένωση των cluster θα περιλαμβάνει την εύρεση των στοιχείων της βάσης που ανήκουν σε παραπάνω από ένα cluster, και στη συνέχεια από τον έλεγχο των identity ή e-value των αντίστοιχων hit ώστε να αποφασιστεί σε ποιο cluster θα πρέπει να ανήκουν. Στην περίπτωση all-vs-all με το αρχείο bacillus.faa, η διαδικασία αυτή μπορεί να διαρκέσει μέχρι και 21 ώρες. 69

70 Αποτελέσματα Αντίστοιχη διαδικασία πρέπει να εκτελεστεί και στην περίπτωση του διαμοιρασμένου database file. Εδώ όμως τα query file θα ανήκουν σε παραπάνω από ένα cluster, και θα πρέπει να συγχωνευτούν τα cluster αυτά. Με τα μικρά αποτελέσματα της σύγκρισης του query file leucinepathway.fasta (24 seq.) με το bacillus.faa η διαδικασία αυτή μπορεί να διαρκέσει μέχρι και 3.5 ώρες. Βλέπουμε πως η απόδοση του αλγορίθμου MCL είναι ικανοποιητική με την εκτέλεση του στα δεδομένα καθολικά. Γι αυτό το λόγο δεν κρίθηκε απαραίτητη η εκτέλεση του με παράλληλο τρόπο Ενότητα Phylogenetic Profile MCL clustering Στον πίνακα παρουσιάζονται οι χρόνοι εκτέλεσης του αλγορίθμου MCL, αντίστοιχοι με αυτούς του πίνακα 4.1.4, όταν η ομαδοποίηση βασίζεται στα φυλογενετικά προφίλ των πρωτεϊνών. Πίνακας Χρόνοι εκτέλεσης του αλγορίθμου MCL επί των φυλογενετικών προφίλ για διάφορους συνδυασμούς αρχείων query - database Avg. Run Time No. Query Sequences No. Database Sequences Clusters 0,022 min ,12 min ,6 min ,41 min ,3 min Αυτό που μπορούμε να παρατηρήσουμε γενικά για τον αλγόριθμο MCL, και από τους δύο πίνακες (4.1.4 και 4.1.5), είναι ότι ο χρόνος εκτέλεσης δεν εξαρτάται αποκλειστικά από το μέγεθος των δεδομένων, αλλά από το πόσο πυκνές θα είναι οι σχέσεις μεταξύ των πρωτεϊνών. Όσα περισσότερα hit βρεθούνε, ή όσο πιο πολλές τιμές έχουν τα φυλογενετικά προφίλ, τόσο πιο πυκνός θα είναι και ο γράφος τον οποίο επεξεργάζεται ο MCL. Στο παρακάτω σχήμα παρίστανται οι χρόνοι εκτέλεσης για τις 4 ενότητες που παρουσιάστηκαν παραπάνω. Παρουσιάζεται η περίπτωση της εκτέλεσης all-vs-all του αρχείου bacillus.faa με την επιλογή 5 (διαμοιρασμένο query file) για 500 job και 100 job. 70

71 Αποτελέσματα Σχήμα Διάγραμμα σύγκρισης των χρόνων εκτέλεσης κάθε ενότητας, για εκτέλεση all-vs-all του αρχείου bacillus.faa, στην περίπτωση τους διαμοιρασμένου query file για δύο περιπτώσεις: 500 job (837 seq. per job) και 100 job (4.185 seq. per job). Module 1: BLAST, Module 2: Phylogenetic Profiles, Module 3: Simple MCL, Module 4: MCL of Phylogenetic Profiles Βλέπουμε ότι η εκτέλεση του MCL πάνω στα αποτελέσματα των φυλογενετικών προφίλ είναι εξαιρετικά χρονοβόρα σε σχέση με τις υπόλοιπες ενότητες. Οι υπόλοιπες τρεις ενότητες έχουν κοντινούς χρόνους εκτέλεσης, με το χρόνο παραγωγής των φυλογενετικών προφίλ να αυξάνει με ταχύτερο ρυθμό, καθώς αυξάνει ο αριθμός των query sequences, απ ότι ο χρόνος εκτέλεσης του αλγορίθμου BLAST. Και στις δύο περιπτώσεις ο χρόνος εκτέλεσης του MCL είναι ίδιος, όπως είναι αναμενόμενο, καθώς εκτελείται στο σύνολο των δεδομένων Χρόνοι και αποτελέσματα ανά επιλογή Στο κεφάλαιο αυτό θα παρουσιαστούν οι χρόνοι εκτέλεσης και τα αποτελέσματα κάθε επιλογής (1-4) για δύο σενάρια ελέγχου. Για κάθε επιλογή παρουσιάζονται δύο pie charts (ένα για κάθε σενάριο) που δείχνουν τις απαιτήσεις χρόνου για την εκτέλεση κάθε ενότητας, καθώς και τον μέσο χρόνο αναμονής κάθε job πριν την εκτέλεση του στο HellasGrid. Τα αποτελέσματα που θα παρουσιαστούν θα είναι μόνο αυτά του πρώτου σεναρίου, καθώς το μικρό μέγεθος του query file προσφέρεται για κάτι τέτοιο. Τέλος, τα χρησιμοποιούμενα αρχεία (query και database files) καθώς και τα αποτελέσματα των σεναρίων ελέγχου, βρίσκονται στο GitHub μαζί με τον κώδικα του προγράμματος (βλ. Παράρτημα Β). 71

72 Αποτελέσματα Σενάρια ελέγχου Για τον πειραματικό έλεγχο του συστήματος επιλέχθηκαν δύο σενάρια. Αυτά είναι: 1. query: leucinepathway.fasta ( seq.) (24 seq.) - database: bacillus.faa 1. διαμοιρασμός query file (option1): i. 1 query sequence ii database seuquences iii. 24 παράλληλα job b. διαμοιρασμός database file (option 2-4): i. 24 query sequences ii. 78 διαφορετικά database sequences (max: 6693 min: 498) iii. 78 παράλληλα job 2. query: bacillus5.faa ( seq.) - database: bacillus.faa ( seq.) a. διαμοιρασμός query file (option 1): i. 65 query sequences ii database seuquences iii. 500 παράλληλα job b. διαμοιρασμός database file (option 2-4): i query sequences ii. 78 διαφορετικά database sequences (max: 6693 min: 498) iii. 78 παράλληλα job 72

73 Αποτελέσματα Αποτελέσματα επιλογής 1 Στην επιλογή αυτή, διαμοιράστηκε το query file, εκτελέστηκε παράλληλη σύγκριση BLAST ανάμεσα στο query file και στο database file, και τα αποτελέσματα ομαδοποιήθηκαν σε clusters από τον αλγόριθμο MCL. Το τελικό αρχείο εξόδου θα είναι αυτό που περιέχει τα clusters των πρωτεϊνών. Για το σενάριο leucine βρέθηκαν συνολικά 19 clusters. Στο παρακάτω σχήμα φαίνεται η συμμετοχή του κάθε είδους bacillus, στο cluster που ανήκει κάθε μια από τις πρωτεΐνες του query file. Το μωβ χρώμα υποδεικνύει παρουσία ενώ το μπλε απουσία του είδους στο cluster της αντίστοιχης πρωτεΐνης. Ο αριθμός των πρωτεϊνών του αντίστοιχου γονιδίου που συμμετέχουν σε κάθε ένα cluster, σημειώνεται σε κάθε κελί. Οι πρωτεΐνες του οργανισμού Ε. Coli που φέρνουν κάποιο χαρακτηριστικό δίπλα στο όνομα τους (*, %, #) ανήκουν στο ίδιο cluster. Για το σενάριο bacillus5 βρέθηκαν συνολικά 5433 clusters. Σχήμα Τα simple MCL cluster του σεναρίου leucine για την επιλογή 1 Στα παρακάτω σχήματα παρουσιάζονται οι χρόνοι εκτέλεσης του BLAST, του MCL και του μέσου χρόνου αναμονής για κάθε job, για τα δύο σενάρια ελέγχου. 73

74 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 1 για το σενάριο leucine 74

75 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 1 για το σενάριο bacillus5 Παρατηρούμε ότι το μεγαλύτερο ποσοστό του χρόνου καταναλώνεται στο time in queue του κάθε job Αποτελέσματα επιλογής 2 Στην επιλογή αυτή, διαμοιράστηκε το database file, εκτελέστηκε παράλληλη σύγκριση BLAST ανάμεσα στο query file και στο database file, και από τα αποτελέσματα κατασκευάστηκαν τα φυλογενετικά προφίλ των πρωτεϊνών του query file. Το τελικό αρχείο εξόδου θα είναι αυτό που περιέχει τα φυλογενετικά προφίλ. Στο παρακάτω σχήμα παρουσιάζονται τα επεκτεταμένα φυλογενετικά προφίλ των query πρωτεϊνών για το σενάριο leucine. Στον κατακόρυφο άξονα παρίστανται οι πρωτεΐνες και στον οριζόντιο οι 78 οργανισμοί της βάσης. Όσο το χρώμα πλησιάζει το μπλε φανερώνει απουσία γονιδίου, ενώ αντίστοιχα το κόκκινο παρουσία. Επιλέχθηκε η κατασκευή επεκτεταμένων φυλογενετικών προφίλ, καθώς περιέχουν περισσότερη πληροφορία. 75

76 Αποτελέσματα Σχήμα Επεκτεταμένα φυλογενετικα προφίλ του σεναρίου leucine Ανάμεσα στα σχήματα (4.1 4 και 4.1 7) μπορούμε να εντοπίσουμε ομοιότητες. Η 13η πρωτεΐνη (lpd), που ξεχωρίζει ως πιο έντονα κόκκινη στο σχήμα 4.1 7, παρατηρούμε ότι έχει μεγάλες τιμές στα αντίστοιχα κελιά στου σχήματος Ακόμη, εντοπίζεται εύκολα η αντιστοιχία της έντονα μπλε περιοχής ανάμεσα στα δύο σχήματα, τόσο για τις πρωτεΐνες sdhc και sdhd, αλλά και για το γονίδιο BSEL το οποίο δεν έχει έντονη παρουσία σε καμία πρωτεΐνη. Παρακάτω παρουσιάζονται οι χρόνοι εκτέλεσης του BLAST, της κατασκευής των φυλογενετικών προφίλ, και του μέσου χρόνου αναμονής κάθε job, για κάθε σενάριο ελέγχου. 76

77 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 2 για το σενάριο leucine Σχήμα Χρόνοι εκτέλεσης της επιλογής 2 για το σενάριο bacillus5 77

78 Αποτελέσματα Στη συγκεκριμένη περίπτωση βλέπουμε ότι ο χρόνος εκτέλεσης του αλγορίθμου BLAST, αλλά και της κατασκευής των φυλογενετικών προφίλ για το σενάριο bacillus5, έχει αυξηθεί σημαντικά σε σχέση με την επιλογή 1, ενώ αντίστοιχα για το σενάριο 1 δεν παρουσιάζει αξιοσημείωτη διαφορά. Ο λόγος είναι ότι έχουμε περάσει πλέον στην περίπτωση του διαμοιρασμού της βάσης έναντι του διαμοιρασμού του query file. Επομένως το query file στο σενάριο 2 έχει αυξηθεί από 65 sequences σε seq. ενώ στο σενάριο 1 έχει αυξηθεί από 1 σε 24 seq. Αντίθετα, η βάση έχει μειωθεί από seq. σε ~5.366 seq. για κάθε job. Ωστόσο η αύξηση του query file βλέπουμε ότι επηρεάζει περισσότερο τα αποτελέσματα απ ότι η μείωση του database file Αποτελέσματα επιλογής 3 Στην επιλογή αυτή, διαμοιράστηκε το database file, εκτελέστηκε παράλληλη σύγκριση BLAST ανάμεσα στο query file και στο database file, και από τα αποτελέσματα κατασκευάστηκαν τα φυλογενετικά προφίλ των πρωτεϊνών του query file. Στη συνέχεια, τα αποτελέσματα των φυλογενετικών προφίλ χρησιμοποιήθηκαν ώστε να παραχθούν cluster πρωτεϊνών μέσω του MCL. Τα τελικά αρχεία εξόδου θα είναι τα φυλογενετικά προφίλ καθώς και τα cluster των πρωτεϊνών. Για το σενάριο leucine σχηματίστηκε ένα cluster το οποίο περιέχει στοιχεία από όλα τα είδη του γένους bacillus της βάσης. Για το σενάριο bacillus5 σχηματίστηκε επίσης 1 cluster. Τα φυλογενετικά προφίλ και για τα δύο σενάρια, είναι ίδια με αυτά της επιλογής 2, όπως ήταν αναμενόμενο. Παρακάτω παρουσιάζονται οι χρόνοι εκτέλεσης του BLAST, κατασκευής φυλογενετικών προφίλ, εκτέλεσης MCL, και του μέσου χρόνου αναμονής κάθε job, για κάθε σενάριο ελέγχου. 78

79 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 3 για τα σενάρια leucine και bacillus5 Και για τα δύο σενάρια, βλέπουμε ότι οι χρόνοι για εκτέλεση BLAST και για τα φυλογενετικά προφίλ, είναι σχεδόν ίδιοι, όπως αναμενόταν, καθώς υποβλήθηκε ο ίδιος αριθμός από job. Μικρές αποκλίσεις οφείλονται στο ότι κάθε εκάστοτε εκτέλεση του προγράμματος εξυπηρετείται από τυχαίους πόρους του HellasGrid, οι οποίοι διαφέρουν μεταξύ τους. Το αξιοσημείωτο σε αυτή την περίπτωση είναι ο μέσος χρόνος αναμονής στο σενάριο leucine, ο οποίος έχει αυξηθεί κατά 2000% ενώ ο αριθμός των job παρέμεινε ίδιος. Ο λόγος είναι ότι κατά τη συγκεκριμένη εκτέλεση υπήρχε μεγάλη κίνηση στο HellasGrid, με αποτέλεσμα μεγάλους χρόνους αναμονής στην ουρά για εκτέλεση. Από το παράδειγμα αυτό φαίνεται ότι ο συνολικός χρόνος εκτέλεσης του προγράμματος διαφέρει από εκτέλεση σε εκτέλεση, και επαφίεται στην εξυπηρετικότητα που έχει το Grid εκείνη τη στιγμή Αποτελέσματα επιλογής 4 Στην επιλογή αυτή, διαμοιράστηκε το database file, εκτελέστηκε παράλληλη σύγκριση BLAST ανάμεσα στο query file και στο database file, και από τα αποτελέσματα κατασκευάστηκαν τα φυλογενετικά προφίλ των πρωτεϊνών του query file. Στη συνέχεια τα αποτελέσματα τόσο του BLAST όσο και τα φυλογενετικά προφίλ, χρησιμοποιήθηκαν ώστε να παραχθούν cluster πρωτεϊνών μέσω του αλγορίθμου MCL. Τα τελικά αρχεία εξόδου θα είναι τα φυλογενετικά προφίλ καθώς δύο αρχεία με τις πρωτεΐνες να σχηματίζουν διαφορετικά cluster. Και στα δύο σενάρια ελέγχου, τα φυλογενετικά προφίλ που κατασκευάστηκαν είναι ίδια με αυτά των προηγούμενων επιλογών (2 και 3). Αντίστοιχα, τα cluster 79

80 Αποτελέσματα που σχηματίστηκαν βασισμένα στα φυλογενετικά προφίλ, θα είναι ίδια με αυτά τις επιλογής 3. Αυτό το οποίο διαφέρει στην επιλογή αυτή, είναι τα αποτελέσματα του απλού MCL clustering. Για το σενάριο leucine, βρέθηκαν 24 cluster έναντι των 19 που σχηματίστηκαν με την εκτέλεση της επιλογής 1. Αντίστοιχα, για το σενάριο bacillus5 βρέθηκαν 6007 cluster έναντι των Κάτι τέτοιο είναι αναμενόμενο ωστόσο. Στην επιλογή 4, με το διαμοιρασμό του database file, ο αλγόριθμος BLAST χειρίζεται μικρότερη βάση. Έτσι, μπορεί να παρουσιάσει περισσότερα hit στην έξοδο του, απ ότι στην περίπτωση του διαμοιρασμού του query file. Με την τακτική της διαμοιρασμένης βάσης, καταλήγουμε με περισσότερη πληροφορία, και στη συνέχεια με περισσότερα cluster. Σχήμα Τα simple MCL cluster του σεναρίου leucine για την επιλογή 4 Στα παρακάτω σχήματα παρουσιάζονται οι χρόνοι εκτέλεσης του BLAST, κατασκευής φυλογενετικών προφίλ, εκτέλεσης απλού MCL, MCL φυλογενετικών προφίλ, και του μέσου χρόνου αναμονής κάθε job, για κάθε σενάριο ελέγχου. 80

81 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 4 για το σενάριο leucine 81

82 Αποτελέσματα Σχήμα Χρόνοι εκτέλεσης της επιλογής 4 για το σενάριο bacillus Από το σχήμα παρατηρούμε το ίδιο φαινόμενο με αυτό που παρουσιάστηκε στο σχήμα της επιλογής 3. Μπορούμε να συμπεράνουμε ότι οι χρόνοι αναμονής σε σχέση με τους χρόνους εκτέλεσης για πολύ μικρά query file είναι ασύμφορος. Σε αυτές τις περιπτώσεις είναι προτιμότερο να εκτελείται το πρόγραμμα σειριακά. Από το σχήμα , είναι ενδιαφέρον να παρατηρήσουμε αρχικά τον μέσο χρόνο αναμονής σε σχέση με το μέσο χρόνο εκτέλεσης BLAST και φυλογενετικών προφίλ. Γίνεται πλέον φανερό, ότι ακόμα και με την εισαγωγή καθυστέρησης από το HellasGrid, συμφέρει όλο και περισσότερο η χρήση του παράλληλου προγράμματος. Αυτό φαίνεται άλλωστε και από τα σχήματα και που παρουσιάζουν την επιτάχυνση που προσφέρει το HellasGrid. Το δεύτερο που αξίζει να παρατηρηθεί, είναι ο μεγάλος χρόνος εκτέλεσης του απλού MCL σε σχέση με τον χρόνο εκτέλεσης του στην περίπτωση της διαμοιρασμένης βάσης (επιλογή 1, σχήμα 4.1 5). Αυτό συμβαίνει, όπως είπαμε, γιατί ο MCL στην περίπτωση αυτή, έχει περισσότερη πληροφορία για να επεξεργαστεί. 82

83 Αποτελέσματα 4.2 Κλιμάκωση από επίπεδο ελέγχου σε επίπεδο παραγωγής Από τα αποτελέσματα του προηγούμενου κεφαλαίου, γίνεται φανερό ότι πρέπει να δοθεί έμφαση στις δύο πρώτες ενότητες του προγράμματος, δηλαδή στην εκτέλεση του BLAST και στην κατασκευή των φυλογενετικών προφίλ. Οι δύο ενότητες που εκτελούν τον αλγόριθμο MCL δεν επηρεάζονται από τον αριθμό των job που υποβάλλονται. Ο χρόνος εκτέλεσης τους είναι σταθερός για συγκεκριμένη είσοδο, και μπορεί να επηρεαστεί μόνο από τους πόρους του μηχανήματος στο οποίο θα τύχει να εκτελεστούν. Στο κεφάλαιο αυτό θα παρουσιαστεί η απόδοση του προγράμματος για την επιλογή 5, all-vs-all. Το αρχείο που επιλέχθηκε είναι το bacillus.faa, και θα αποτελέσει και το query και το database file. Καθώς το αρχείο περιέχει ικανοποιητικά μεγάλο αριθμό από αλληλουχίες ( ) εξετάστηκε η εκτέλεση all-vs-all σε 7 εκδοχές: Πίνακας Χαρακτηριστικά των σεναρίων ελέγχου για την εκτέλεση all-vs-all του αρχείου bacillus.faa A/A No. jobs No. parametric jobs No. query seq. No. database seq ~5366 Οι εκτελέσεις 1-5 αποτελούν την ίδια εκτέλεση αλλά με διαφορετικό αριθμό από υποβαλλόμενα job. Έτσι, καθώς μεγαλώνει ο αριθμός των job στον οποίο διαμοιράζεται το query file, μικραίνει ο αριθμός των συγκρίσεων που θα εκτελεστούν, και επομένως ο χρόνος του προγράμματος. Στις εκτελέσεις αυτές, υποβλήθηκαν parametric job, με 50 job το κάθε ένα (βλ. κεφάλαιο 3.3). Η εκτέλεση 6 είναι ίδια με την 5η εκτέλεση, με την διαφορά ότι αντί να υποβληθούν τα 500 job μέσω 10 parametric job, υποβλήθηκαν ως ένα parametric job. Τέλος, η 7η εκτέλεση είναι πάλι all-vs-all αλλά κάνοντας χρήση της τακτικής του διαμοιρασμού του database file έναντι του query file. 83

84 Αποτελέσματα Γίνεται, με αυτό το τρόπο, εύκολη η παρατήρηση των χρόνων εκτέλεσης του προγράμματος σε σχέση με τον αριθμό job που υποβάλλονται, καθώς και τον χρόνο παραμονής τους σε κατάσταση scheduled (in queue time). Στο σχήμα παρουσιάζονται οι μέσοι χρόνοι εκτέλεσης για τις 7 εκδοχές του πίνακα 4.2.1, καθώς και οι μέσοι χρόνοι αναμονής του κάθε job στην ουρά. Σχήμα μέσοι χρόνοι εκτέλεσης της επιλογής 5 για 100, 200, 300, 400, 500 και 78 job. Ως 500/1 παρουσιάζεται η εκτέλεση της επιλογής με 500 job τα οποία έχουν υποβληθεί ως 1 parametric job Αξιοσημείωτος είναι ο μεγάλος χρόνος εκτέλεσης της περίπτωσης all-vs-all με διαμοιρασμένη βάση (78 job). Ταυτόχρονα γίνεται φανερός ο λόγος που επιλέγεται ο διαμοιρασμός του query file στην περίπτωση all-vs-all. Όπως αναφέρθηκε και στο κεφάλαιο της πολυπλοκότητας (βλ. κεφ ), στην επιλογή all-vs-all συμφέρει περισσότερο να διαμοιραστεί το query file, καθώς, συνήθως, μπορεί να διαμοιραστεί σε περισσότερα κομμάτια απ ότι μπορεί να διαμοιραστεί το database file. Ο διαμοιρασμός του database file περιορίζεται στον αριθμό των οργανισμών που περιέχονται στην βάση του. Αν διαμοιραστεί με διαφορετικό τρόπο, η μετα- επεξεργασία που θα πρέπει γίνει για να εξαχθούν τα φυλογενετικά προφίλ δεν συμφέρει από άποψη χρόνου. 84

85 Αποτελέσματα Σχήμα Μέσοι χρόνοι εκτέλεσης της επιλογής 5 για 100, 200, 300, 400 και 500 job. Ως 500/1 παρουσιάζεται η εκτέλεση της επιλογής με 500 job τα οποία έχουν υποβληθεί ως 1 parametric job. Στο σχήμα βλέπουμε ξανά τους χρόνους εκτέλεσης που παρουσιάστηκαν στο σχήμα 4.2 1, αλλά χωρίς την επιλογή της διαμοιρασμένης βάσης. Εύκολα παρατηρούμε πως μικραίνει ο χρόνος εκτέλεσης του προγράμματος καθώς αυξάνει ο αριθμός των job, και επομένως μικραίνει το μέγεθος των συγκρίσεων που πρέπει να εκτελέσει η κάθε εργασία. Συγχρόνως παρατηρούμε ότι αυξάνει ο μέσος χρόνος αναμονής στην ουρά για κάθε job, καθώς το HellasGrid έχει να διαχειριστεί περισσότερες εργασίες. Ο χρόνος αναμονής στην ουρά, εξαρτάται σε μεγάλο βαθμό και από τον χρόνο εκτέλεσης του κάθε job. Όσο μεγαλύτερος ο χρόνος εκτέλεσης του εκάστοτε job, τόσο μεγαλύτερη πιθανότητα έχει να αυξηθεί και ο χρόνος αναμονής στην ουρά. Ιδανικό είναι να βρεθεί η χρυσή τομή ανάμεσα στο μέσο χρόνο εκτέλεσης και στο μέσο χρόνο αναμονής στην ουρά. Ανάμεσα στις δύο τελευταίες περιπτώσεις του σχήματος 4.2 2, εκτέλεση 500 job μέσω 10 parametric job, και εκτέλεση 500 job μέσω ενός parametric job, βλέπουμε ότι μειώνεται αισθητά ο χρόνος αναμονής στην ουρά στην περίπτωση που υποβληθούν 10 parametric job. Αυτό συμβαίνει γιατί η διαχείριση τους γίνεται πιο εύκολη, και η επανα- υποβολή των scheduled job γίνεται πιο συχνά. Τέλος, στα παρακάτω σχήματα, βλέπουμε την επιτάχυνση που επιτυγχάνεται με την χρήση του προγράμματος, σε σχέση με την σειριακή του εκτέλεση. Στο σχήμα αναπαρίσταται η επιτάχυνση για τις επιλογές 1 και 5 (διαμοιρασμένο query), ενώ στο σχήμα για τις επιλογές 2 έως 4 (διαμοιρασμένο database). Εξετάστηκε το σενάριο bacillus5, και το all-vs-all της βάσης bacillus. 85

86 Αποτελέσματα Σχήμα Διάγραμμα των επιταχύνσεων που προσφέρει το πρόγραμμα, σε σχέση με τον σειριακό χρόνο για την περίπτωση του διαμοιρασμού του query file. Total Net.: επιτάχυνση για μηδενικό χρόνο αναμονής. Total Real: πραγματική επιτάχυνση του προγράμματος 86

87 Αποτελέσματα Σχήμα Διάγραμμα των επιταχύνσεων που προσφέρει το πρόγραμμα, σε σχέση με τον σειριακό χρόνο για την περίπτωση του διαμοιρασμού του database file. Total Net.: επιτάχυνση για μηδενικό χρόνο αναμονής. Total Real: πραγματική επιτάχυνση του προγράμματος 87

88 Αποτελέσματα Η επιτάχυνση που επιτυγχάνεται είναι 8.2 για το σενάριο bacillus5 με διαμοιρασμένο query και επιτάχυνση 28.7 για διαμοιρασμένο database. Αντίθετα, για την περίπτωση all-vs-all του bacillus, επιτυγχάνεται επιτάχυνση 14.6 για διαμοιρασμένο query, ενώ 2.3 για διαμοιρασμένη βάση. Όσον αφορά τις επιταχύνσεις των μεμονωμένων ενοτήτων, βλέπουμε ότι σε κάθε περίπτωση, μικρότερο query οδηγεί σε μεγαλύτερες επιταχύνσεις και του BLAST και των φυλογενετικών προφίλ. Ωστόσο, στην περίπτωση που έχουμε query μικρότερο από την βάση (bacillus5), ο μικρός αριθμός των εργασιών οδηγεί συνολικά σε καλύτερη επιτάχυνση. Ακόμα, βασισμένοι στο σχήμα (ρυθμός αύξησης αλγορίθμων για μικρή βάση), η επιλογή της διαμοιρασμένης βάσης μπορεί να κάνει scale ομαλότερα, όσο κάνει scale το query file. Μέχρι ενός σημείου όμως. Για την επιλογή all-vs-all, ο διαμοιρασμός του query file φέρει μεγαλύτερες επιταχύνσεις, τόσο συνολικά, όσο και για κάθε ενότητα. 88

89 Αποτελέσματα 4.3 Αποτελέσματα επιπέδου παραγωγής Περιγραφή του dataset Για τον έλεγχο του προγράμματος σε επίπεδο παραγωγής, χρησιμοποιήθηκε η βάση plants pangenome. Η βάση αυτή αποτελείται από στοιχεία του φύλου (phylum) Cyanobacteria, και ενός κλάδου ευκαρυωτικών οργανισμών, του. Τα κυανοβακτήρια αποτελούν υποκατηγορία βακτηρίων, και συγκεκριμένα αυτών που φωτοσυνθέτουν. Θεωρούνται ως πιθανοί πρώτοι οργανισμοί στη Γη οι οποίοι παρείχαν οξυγόνο με φωτοσύνθεση. Τα στοιχεία του συνθέτονται από πράσινα φύκια (green algae), τα οποία είναι κυρίως στοιχεία νερού, και από φυτά της στεριάς (embryophytes). Υπάρχουν περισσότερα από είδη από. Αποτελούνται από δύο κλάδους, τα Χλωρόφυτα (Chlorophyta) και τα Στρεπτόφυτα (Streptophyta). Στο παρακάτω πίνακα παρουσιάζονται οι οργανισμοί που συμμετέχουν στη βάση και κάποια χαρακτηριστικά τους. Πίνακας Οργανισμοί της βάσης plants pangenome A/A Organism Type 1 Acaryochloris marina 2 Anabaena cylindrica 3 Anabaena sp Anabaena variabilis 5 Arthrospira platensis 6 Calothrix sp. PCC 7507 Chamaesiphon minutus PCC 6605 Cyanobacteria 7 Chroococcidiopsis thermalis PCC 7203 Cyanobacteria 8 Crinalium epipsammum PCC 9333 Cyanobacteria 9 10 Cyanobacterium aponinum 11 Cyanobacterium stanieri No. of Proteins Cyanobacteria 8172 AMAR_MBI_CB_UP_0 1_ 5797 ACYL_ATC_CB_UP_01 _ 4476 ANAB_S90_CB_UP_0 1_ 5634 AVAR_ATC_CB_UP_01 _ 6009 APLA_NIE_CB_UP_01 _ 5924 CALO_P75_CB_UP_01 _ 5815 CMIN_P66_CB_UP_0 1_ 5740 CTHE_P72_CB_UP_0 1_ 4697 CEPI_P93_CB_UP_01 _ 3415 CAPO_P10_CB_UP_01 _ 2831 CSTA_A29_CB_UP_01 Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria 89 Cyanobacteria Identifier

90 Αποτελέσματα _ Cyanobacteria 12 Cyanobium gracile 13 Cyanothece sp. Cylindrospermum stagnale PCC 7417 Cyanobacteria 14 Dactylococcopsis salina PCC 8305 Cyanobacteria Geitlerinema sp. PCC Gloeobacter kilaueensis JS1 18 Gloeobacter violaceus 19 Gloeocapsa sp. PCC Halothece sp. 21 Leptolyngbya sp. PCC Microcoleus sp. PCC Microcystis aeruginosa 24 Nodularia spumigena CCY Nostoc azollae 26 Nostoc punctiforme 27 Nostoc sp. 28 Oscillatoria acuminata PCC Oscillatoria nigro-viridis PCC 7112 Cyanobacteria 30 Oscillatoriales cyanobacterium JSC-12 Cyanobacteria 31 Pleurocapsa sp. PCC Prochlorococcus marinus 3261 CGRA_A27_CB_UP_0 1_ 6559 CYAN_P78_CB_UP_01 _ 6200 CSTA_P74_CB_UP_01 _ 3305 DSAL_P83_CB_UP_01 _ 3813 GEIT_P74_CB_UP_01 _ 4462 GKIL_JS1_CB_UP_01_ 4406 GVIO_P74_CB_UP_01 _ 5003 GLEO_P74_CB_UP_01 _ 3701 HALO_P74_CB_UP_0 1_ 4153 LEPT_P73_CB_UP_01 _ 6397 MICR_P71_CB_UP_01 _ 5981 MAER_NIE_CB_UP_0 1_ 5211 NSPU_CCY_CB_UP_0 1_ 3646 NAZO_S07_CB_UP_0 1_ 6573 NPUN_ATC_CB_UP_0 1_ 6070 NOST_P72_CB_UP_0 1_ 5755 OACU_PCC_CB_UP_0 1_ 6276 ONIG_PCC_CB_UP_0 1_ 4673 OCYA_JSC_CB_UP_01 _ 4255 PLEU_PCC_CB_UP_0 1_ 2985 PMAR_M33_CB_UP_0 Cyanobacteria Cyanobacteria 90 Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria

91 Αποτελέσματα 1_ Cyanobacteria 33 Pseudanabaena sp. PCC Rivularia sp. PCC Stanieria cyanosphaera 36 Synechococcus elongatus 37 Synechococcus sp. 38 Thermosynechococcus elongatus 39 Trichodesmium erythraeum 40 Amborella trichopoda 41 Arabidopsis lyrata subsp. Lyrata 42 Arabidopsis thaliana 43 Beta vulgaris 44 Brassica rapa 45 Capsella rubella 46 Carica papaya 47 Chlamydomonas reinhardtii 48 Citrullus lanatus 49 Citrus sinensis 50 Cucumis melo 51 Eucalyptus grandis 52 Fragaria vesca 3824 PSEU_PCC_CB_UP_0 1_ 6617 RIVU_PCC_CB_UP_01 _ 4751 SCYA_ATC_CB_UP_01 _ 2657 SELO_PCC_CB_UP_0 1_ 3541 SYNE_A67_CB_UP_01 _ 2451 TELO_BP1_CB_UP_01 _ 4342 TERY_IMS_CB_UP_01 _ ATRI_XXX_VD_UP_01 _ ALYR_XXX_VD_UP_01 _ ATHA_XXX_VD_UP_0 1_ BVUL_XXX_VD_PL_01 _ BRAP_XXX_VD_PL_01 _ CRUB_XXX_VD_PL_0 1_ CPAP_XXX_VD_PL_01 _ CREI_XXX_VD_PL_01 _ CLAN_XXX_VD_PL_0 1_ CSIN_XXX_VD_PL_01 _ CMEL_XXX_VD_PL_0 1_ EGRA_XXX_VD_PL_0 1_ FVES_XXX_VD_PL_01 _ Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria Cyanobacteria 91

92 Αποτελέσματα 53 Glycine max 54 Gossypium raimondii 55 Lotus japonicus 56 Malus domestica 57 Manihot esculenta 58 Medicago truncatula 59 Oryza sativa subsp. Japonica 60 Ostreococcus lucimarinus 61 Populus trichocarpa 62 Prunus persica 63 Ricinus communis 64 Solanum lycopersicum 65 Solanum tuberosum 66 Thellungiella parvula 67 Theobroma cacao 68 Vitis vinifera 69 Zea mays 70 Brachypodium distachyon 71 Hordeum vulgare 72 Musa acuminata 73 Musa acuminata subsp. Malaccensis GMAX_XXX_VD_UP_0 1_ GRAI_XXX_VD_PL_01 _ LJAP_XXX_VD_PL_01_ MDOM_XXX_VD_PL_ 01_ MESC_XXX_VD_PL_0 1_ MTRU_XXX_VD_PL_0 1_ OSAT_JAP_VD_UP_01 _ 7769 OLUC_XXX_VD_PL_0 1_ PTRI_XXX_VD_UP_01 _ PPER_XXX_VD_PL_01 _ RCOM_XXX_VD_UP_0 1_ SLYC_XXX_VD_UP_01 _ STUB_XXX_VD_UP_0 1_ TPAR_XXX_VD_PL_01 _ TCAC_XXX_VD_PL_01 _ VVIN_XXX_VD_UP_01 _ ZMAY_XXX_VD_PL_0 1_ BDIS_XXX_VD_UP_01 _ HVUL_XXX_VD_PL_0 1_ MACU_XXX_VD_PL_0 1_ MACU_MAL_VD_UP_ 01_ 92

93 Αποτελέσματα 74 Oryza sativa ssp. indica 75 Setaria italica 76 Sorghum bicolor 77 Bathycoccus prasinos 78 Chlorella sp NC64A 79 Coccomyxa sp. C Micromonas pusilla strain CCMP Ostreococcus sp RCC Oryza sativa 83 Ostreococcus tauri 84 Volvox carteri 85 Aureococcus anophagefferens 86 Ectocarpus siliculosus 87 Thalassiosira pseudonana 88 Fragilariopsis cylindrus 89 Phaeodactylum tricornutum 90 Cyanidioschyzon merolae 91 Brassica rapa subsp. Pekinensis 92 Hordeum vulgare var. distichum 93 Micromonas sp. 94 Oryza brachyantha OSAT_IND_VD_PL_01 _ SITA_XXX_VD_UP_01 _ SBIC_XXX_VD_PL_01 _ 7884 BPRA_XXX_VD_PP_01 _ 9791 CHLO_NC6_VD_PP_0 1_ 9994 COCC_C16_VD_PP_0 1_ MPUS_CCM_VD_PP_ 01_ 7492 OSTE_RCC_VD_PP_0 1_ OSAT_XXX_VD_PP_01 _ 7970 OTAU_XXX_VD_UP_0 1_ VCAR_XXX_VD_PP_01 _ AANO_XXX_VD_PP_0 1_ ESIL_XXX_VD_PP_01_ TPSE_XXX_VD_PP_01 _ FCYL_XXX_VD_PP_01 _ PTRI_XXX_VD_PP_01 _ 4988 CMER_XXX_VD_PP_0 1_ BRAP_PER_VD_UP_0 1_ HVUL_DIS_VD_UP_0 1_ MICR_RCC_VD_UP_0 1_ OBRA_XXX_VD_UP_0 1_ 93

94 Αποτελέσματα 95 Oryza glaberrima 96 Physcomitrella patens subsp. Patens 97 Triticum aestivum 98 Triticum urartu Total OGLA_XXX_VD_UP_0 1_ PPAT_XXX_VD_UP_01 _ TAES_XXX_VD_UP_01 _ TURA_XXX_VD_UP_0 1_

95 Αποτελέσματα 95 Σχήμα 4.3 1: Ταξονομικό δέντρο του plants pangenome

96 Αποτελέσματα Χρόνοι εκτέλεσης κάθε ενότητας Για τον έλεγχο του προγράμματος σε επίπεδο παραγωγής, εκτελέστηκε all-vs-all με dataset το plants pangenome. Ως all-vs-all, εκτελέστηκε η επιλογή 5, όπου διαμοιράστηκε το query αρχείο σε 500 ίσα κομμάτια. Το κάθε job εκτέλεσε σύγκριση BLAST και κατασκεύασε φυλογενετικά προφίλ, για query ίσο με sequences έναντι ολόκληρης της βάσης, δηλαδή sequences (~2M). Στο παρακάτω διάγραμμα παρουσιάζονται οι χρόνοι εκτέλεσης της κάθε ενότητας. Οι χρόνοι, όπως είναι λογικό, είναι αρκετά αυξημένοι σε σχέση με τα σενάρια που έχουμε συναντήσει μέχρι τώρα. Για λόγους σύγκρισης με τα υπόλοιπα σενάρια, χρησιμοποιήθηκαν και εδώ 500 job. Ωστόσο, σε περιπτώσεις τόσο μεγάλων δεδομένων εισόδου, είναι προτιμότερο να χωρίζονται σε περισσότερα από 500 job. Η καθυστέρηση που θα εισάγει μεγαλύτερος αριθμός από job, πιθανόν να αξίζει την μείωση των χρόνων εκτέλεσης του BLAST και των φυλογενετικών προφίλ. Σχήμα Χρόνοι εκτέλεσης all-vs-all του plants pangenome Στο pie chart του σχήματος 4.3 3, παρουσιάζονται ομαδοποιημένα οι συνολικοί χρόνοι εκτέλεσης των 500 εργασιών. Μπορούμε να δούμε, ότι το 91.6% των job ολοκληρώνεται μέσα σε 8.6 ημέρες. Το υπόλοιπο 8.4% ολοκληρώνεται μετά το πέρας ημερών. Όπως κάθε παράλληλο πρόγραμμα, έτσι και αυτό δεν μπορεί 96

97 Αποτελέσματα να είναι πιο γρήγορο από την πιο αργή του εργασία. Στη συγκεκριμένη περίπτωση, επαφίεται στη τύχη. Αν οι πιο αργές εργασίες τύχει να εκτελεστούν πρώτες στο HellasGrid, μπορεί να σημειωθεί μείωση του συνολικού χρόνου. Αντίθετα, αν οι πιο αργές εργασίες έχουν μεγάλο χρόνο αναμονής, θα καθυστερήσει και ο τελικός χρόνος εκτέλεσης. Σχήμα Ομαδοποιημένοι χρόνοι ολοκλήρωσης των job, κατά την εκτέλεση all-vs-all του plants pangenome 97

98 Αποτελέσματα Στον πίνακα παρουσιάζονται πιο αναλυτικά οι χρόνοι εκτέλεσης και αναμονής: Πίνακας Χρόνοι εκτέλεσης της επιλογής 5, (all-vs-all) για το σενάριο plants pangenome Plants Pangenome - Option jobs avg BLAST Time: hours avg Phyl. P. Time: hours max BLAST Time: hours max Phyl. P. Time: hours min BLAST Time: hours min Phyl. P. Time: 4.92 hours avg Job Total Time: hours avg Time In Queue: hours max Job Total Time: hours min Time In Queue: 1 min min Job Total Time: hours max Time In Queue: hours Total Time: hours Στο παρακάτω σχήμα παρουσιάζονται τα επεκτεταμένα φυλογενετικά προφίλ των ~2Μ πρωτεϊνών του plants pangenome. 98

99 Σχήμα Επεκτεταμένα φυλογενετικά προφίλ των πρωτεϊνών της βάσης plants pangenome Στον κατακόρυφο άξονα παρίστανται οι πρωτεΐνες ενώ στον οριζόντιο οι 98 οργανισμοί που συμμετέχουν στη βάση του plants pangenome. Με μαύρο χρώμα παρίστανται οι μηδενικές τιμές των προφίλ, ενώ κλιμακώνεται η τιμή τους από το άσπρο μέχρι και το κόκκινο χρώμα. Μπορούμε με αυτό το τρόπο εύκολα να διακρίνουμε ποιοί οργανισμοί αντιστοιχίζονται περισσότερο με ποιές πρωτεΐνες, και αντίστροφα. 99

100 Συμπεράσματα και μελλοντικές επεκτάσεις 5 Συμπεράσματα και μελλοντικές επεκτάσεις 5.1 Συμπεράσματα Παρατηρώντας τα αποτελέσματα του κεφαλαίου 4, αλλά και από την περιγραφή του προγράμματος στο κεφάλαιο 3, συμπεραίνουμε ότι το πρόγραμμα που αναπτύχθηκε λειτουργεί αυτοματοποιημένα, και προσφέρει στο χρήστη δυνατότητες σύγκρισης πρωτεϊνικών δομών για μεγάλα σύνολα δεδομένων. Επιτυγχάνει αισθητή επιτάχυνση που ξεπερνά το 1400% για συγκρίσεις της τάξης του ~0.5 εκατομμυρίου πρωτεϊνών. Καθιστά επίσης, ικανή την εξαγωγή συμπερασμάτων για ογκώδη σύνολα δεδομένων (~ 2 εκατομμυρίων πρωτεϊνών), τα οποία θα ήταν αδύνατο να εξαχθούν σε εύλογο χρονικό διάστημα, χωρίς την χρήση κάποιας παράλληλης υποδομής. Αξίζει να παρατηρήσουμε ότι η υποδομή στην οποία εκτελείται το πρόγραμμα αποτελεί σημαντικό παράγοντα στους τελικούς χρόνους εκτέλεσης, καθώς μπορεί να τους αυξήσει σημαντικά. Ωστόσο, ακόμα και για μεγάλες καθυστερήσεις κατά τη χρήση Υπολογιστικών Πλεγμάτων, η επιτάχυνση είναι και πάλι συμφέρουσα σε σχέση με την σειριακή εκτέλεση των αλγορίθμων που χρησιμοποιούνται Καθώς η Υπολογιστική Βιολογία, και οι Επιστήμες Ζωής γενικότερα, έχει πλέον εισέλθει στην εποχή των Μεγάλων Δεδομένων (Big Data) η ανάγκη για υπολογισμούς πάνω σε μεγάλες συλλογές δεδομένων σε εύλογο χρονικό διάστημα είναι επιτακτική και άμεση. Η ανάγκη αυτή αποτελεί ακόμα μια ένδειξη της σημασίας υποδομών υπολογισμών μεγάλης κλίμακας όπως αυτή του HellasGrid. Σε αυτό το σημείο αξίζει να σημειωθεί ότι τα χαρακτηριστικά και το μέγεθος των δεδομένων εισόδου επηρεάζουν σε σημαντικό βαθμό τα τελικά αποτελέσματα και τους χρόνους εκτέλεσης του προγράμματος. Η πολυπλοκότητα, και συνεπώς οι χρόνοι εκτέλεσης των αλγορίθμων BLAST και MCL είναι αρκετά δύσκολο να υπολογιστούν καθώς αποτελούν συνάρτηση πολλών παραμέτρων, οι οποίοι δύσκολα μπορούν να εκτιμηθούν. Το μέγεθος της βάσης αναφοράς, του αρχείου αναζήτησης(query), αλλά και της πιθανής σχέσης που μπορεί να έχουν, παίζουν καθοριστικό ρόλο. Πρέπει να γίνεται επομένως από τον χρήστη σωστή επιλογή των εκδοχών που θα εκτελέσει, καθώς οι διαφορετικές επιλογές (1-5) μπορεί να οδηγήσουν σε διαφορετικούς χρόνους και αποτελέσματα. 100

101 Συμπεράσματα και μελλοντικές επεκτάσεις 5.2 Μελλοντικές επεκτάσεις Ένα από τα σημαντικότερα επόμενα βήματα που πρέπει να γίνουν, όσον αφορά την παρούσα μεθοδολογία, είναι η σχεδίαση ενός αλγορίθμου, που θα υπολογίζει το βέλτιστο αριθμό και τρόπο με τον οποίο θα διαμοιράζονται τα δεδομένα εισόδου. Κάτι τέτοιο απαιτεί εκτενή πειράματα για μεγάλη ποικιλία εισόδων. Πολύ σημαντική επέκταση, αποτελεί και η ανάπτυξη ενός user interface μέσω του οποίου ο χρήστης να μπορεί να συνδέεται αυτόματα στην εφαρμογή και στο HellasGrid και να εκτελεί τα πειράματα που επιθυμεί, χωρίς την χρήση command line, και χωρίς απαραίτητα να έχει λογαριασμό στο HellasGrid. Ακόμα, η παράσταση των αποτελεσμάτων με γραφικό τρόπο, θα έδινε στο χρήστη μεγαλύτερη ευχέρεια στην εξαγωγή συμπερασμάτων. Τέλος, η αντικατάσταση του εργαλείου BLAST με MPI-BLAST, θα μπορούσε ενδεχομένως να προσφέρει επιπλέον επιτάχυνση στο πρόγραμμα. 101

102 Βιβλιογραφία 6 Βιβλιογραφία [1] Computational Biology & Bioinformatics A gentle Overview, Achuthsankar S Nair, January 2007 [2] Bioinformatics Organization wiki 1 [3] Big Data, Hadoop and cloud computing in genomics, Aisling O Driscoll, Jurate Daugelaite, Roy D. Sleator, Journal of Biomedical Informatics, 2013 [4] Bioinformatics: The Machine Learning Approach, Baldi, Pierre, Brunak, Soren, 2001 [5] Bioinformatics Web - Comprehensive educational resource on Bioinformatics, Suresh Kumar, [6] Assigning protein functions by comparative genome analysis: Protein phylogenetic profiles, Matteo Pellegrini, Edward M. Marcotte, Michael J. Thompson, David Eisenberg, Todd O. Yeates, 1999 [7] An efficient algorithm for large-scale detection of protein families, A. J. Enright, S. Van Dongen, C. A. Ouzounis, 2002 [8] A combined algorithm for genome-wide prediction of protein function, Edward M. Marcotte, Matteo Pellegrini, Michael J. Thompson, David Eisenberg, Todd O. Yeates, 1999 [9] An Introduction to Genetic Analysis, Eighth edition, Anthony J.F. Griffiths, Susan R. Wessler, Richard C. Lewontin, William M. Gelbart, David T. Suzuki, Jeffrey H. Miller [10] Encyclopaedia Britannica 3 [11] mblast: Keeping up with the Sequencing Explosion for (Meta) Genome Analysis, Davis C, Kota K, Baldhandapani V, Gong W, Abubucker S, et al., 2013 [12] Basic Local Alignment Search Tool (BLAST), Lobo, I, 2008 [13] Identification of common molecular subsequences, Smith TF, Waterman MS.,

103 Βιβλιογραφία [14] BLAST Help, Jan Fassler, Ph.D. and Peter Cooper, Ph.D., [15] MCL - a cluster algorithm for graphs 5 [16] The Anatomy of the Grid, Enabling Scalable Virtual Organisations, Ian Foster, Carl Kesselman, Steven Tuecke, 2001 [17] Cluster, Grid and Cloud Computing: A Detailed Comparison, Naidila Sadashiv, S. M Dilip Kumar, 2011 [18] What is Grid Computing, Vasilis Gkamas, [19] What is the Grid? A Three Point Checklist, Ian Foster, 2002 [20] BLAST Scoring Parameters, E. Michael Gertz, 2005 [21] HellasGrid 7 [22] HellasGrid wiki 8 [23] Basic Local Alignment Search Tool, Stephen F. Altschul, Warren Gish, Webb Miller Eugene W. Myers and David J. Lipman, 1990 This work used the European Grid Infrastructure (EGI) through the National Grid Infrastructures NGI_GRNET HellasGRID

104 Παράρτημα Α - Ορολογία 7 Παράρτημα Α - Ορολογία Γονίδιο (gene): Γονίδιο είναι η τομή του μορίου της νηματοειδούς διπλής έλικας που ονομάζεται δεσοξυριβονουκλεϊκό οξύ ή αλλιώς DNA. Η ανακάλυψη των γονιδίων και η κατανόηση της μοριακής δομής και της λειτουργίας τους είναι το αντικείμενο μελέτης της γενετικής. Τα προϊόντα των περισσότερων γονιδίων είναι πρωτεΐνες. Γονιδίωμα (genome): Γονιδίωμα είναι το γενετικό υλικό ενός οργανισμού. Αποτελείται από αλληλουχίες μορίων DNA οργανωμένες σε χρωμοσώματα. Κάθε χρωμόσωμα σε ένα γονιδίωμα περιέχει συγκεκριμένα γονίδια. Γονιδιωματική (genomics): Η μελέτη της δομής, της λειτουργίας και της εξέλιξης ολόκληρων γονιδιωμάτων. Βιοπληροφορική (bioinformatics): Η χρήση υπολογιστικών, μαθηματικών και στατιστικών μοντέλων για την ανάλυση των πληροφοριών που περιέχονται στα γονίδια. Πρωτεΐνη (protein): Οι πρωτεΐνες είναι τα κύρια μακρομόρια ενός οργανισμού. Η αλληλουχία των αμινοξέων μιας πρωτεΐνης βρίσκεται κωδικοποιημένη μέσα σε ένα γονίδιο. Μεγάλη πλειονότητα των δομών σε ένα κύτταρο αποτελούν πρωτεΐνη, ή αποτελούν προϊόν πρωτεΐνης, γεγονός που καθιστά την μελέτη της δομής και της λειτουργίας των πρωτεϊνών κεντρικής σημασίας. Αλληλουχία αμινοξέων (amino-acid sequence): Ένα μόριο πρωτεΐνης αποτελείται από αμινοξέα ενωμένα ώστε να σχηματίσουν μακριές αλυσίδες. Υπάρχουν 20 διαφορετικά αμινοξέα που εμφανίζονται φυσικά σε πρωτεΐνες. Εξέλιξη (evolution): Εξέλιξη είναι η θεωρία της Βιολογίας που υποστηρίζει ότι τα διάφορα είδη οργανισμών έχουν την προέλευση τους σε κοινούς απογόνους, και πως οι διακριτές αλλαγές οφείλονται σε τροποποιήσεις από γενιά σε γενιά. Η εξέλιξη των ειδών στο σύνολο τους είναι αποτέλεσμα του ότι διάφοροι τύποι οργανισμών βίωσαν διαφορετικές συνθήκες διαβίωσης και αναπαραγωγής, με αποτέλεσμα να διαφέρουν με την πάροδο του χρόνου. Ομόλογο/ομολογία (homologous/homology): Στη Βιολογία, ως ομολογία ονομάζεται η ομοιότητα της δομής, της φυσιολογίας ή της ανάπτυξης των διαφόρων ειδών οργανισμών, η οποία (ομοιότητα) βασίζεται στην κοινή καταγωγή τους από έναν κοινό εξελικτικό πρόγονο. Μεταβολικό μονοπάτι (metabolic pathway): Μεταβολικό μονοπάτι είναι μια σειρά από συνδεδεμένες χημικές αντιδράσεις που λαμβάνουν 104

105 Παράρτημα Α - Ορολογία χώρα στο εσωτερικό του κυττάρου, και μεταβάλλουν βήμα-προς-βήμα ένα συγκεκριμένο μόριο σε ένα νέο προϊόν. Βιβλιογραφία: [9][10] 105

106 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος 8 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος 8.1 Οδηγίες εγκατάστασης του προγράμματος Πρόσβαση στο HellasGrid Το πρώτο βήμα για την χρήση του προγράμματος είναι η δημιουργία λογαριασμού στο HellasGrid. Γενικές πληροφορίες για το HellasGrid μπορούν να βρεθούν εδώ: HellasGrid9 Οδηγίες για την απόκτηση πρόσβασης στις υπηρεσίες του HellasGrid μπορούν να βρεθούν εδώ: AccessHellasGrid10 Πληροφορίες για την σύνδεση στις υποδομές του HellasGrid, την σύνδεση σε προσωπικό User Interface, την έκδοση proxy certificate και υποβολής εργασιών, μπορούν να βρεθούν εδώ: WikiHellasGrid11 Ο χρήστης καλείται να αποκτήσει λογαριασμό στο HellasGrid και να συνδεθεί στο user interface του. Αν ο χρήστης βρίσκεται σε περιβάλλον Windows, μπορεί να χρησιμοποιήσει κάποιο εργαλείο για την σύνδεση του στο HellasGrid, όπως το PuTTY12 ή το MobaXterm13 που διανέμονται δωρεάν. Αν ο χρήστης βρίσκεται σε περιβάλλον Linux, τότε αρκεί η χρήση ενός terminal για την σύνδεση του στο HellasGrid. Στην συνέχεια καλείται να εκδώσει proxy certificate. Ο συνιστώμενος τρόπος για την έκδοση του proxy certificate είναι μέσω της χρήσης του proxy-tools. Πληκτρολογώντας την εντολή proxy-tools και στην συνέχεια enter, εμφανίζεται στην οθόνη το παρακάτω εργαλείο (βλ. Σχήμα 8.1 1):

107 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος Σχήμα Tο εργαλείο proxy-tools Ο χρήστης παραπέμπεται να ενεργοποιήσει την επιλογή 1. Get a voms proxy και στην συνέχεια να ενεργοποιήσει την επιλογή 2. Get a myproxy, πατώντας ΟΚ σε κάθε πεδίο και μετακινούμενος από πεδίο σε πεδίο με την χρήση των βελών του πληκτρολογίου Στην συνέχεια, παραπέμπεται να ενεργοποιήσει και την επιλογή 4. Auto- renew voms proxy, και να κάνει Exit. Με αυτές τις επιλογές, ο χρήστης θα έχει ενεργό proxy certificate για 28 ημέρες, χωρίς να χρειάζεται να το ανανεώνει χειροκίνητα Εισαγωγή προγράμματος στο UI του χρήστη Μετά το πέρας των βημάτων αυτών, ο χρήστης μπορεί να κατεβάσει τα αρχεία του προγράμματος από εδώ: BPM14 Διαλέγοντας την επιλογή που παρέχει το GitHub, Download Zip, θα αποθηκευτούν όλα τα αρχεία στον υπολογιστή του χρήστη, με το όνομα BPMmaster.zip. Ο χρήστης μπορεί να εισάγει το αρχείο αυτό στο user interface του με τους παρακάτω τρόπους: 1. αν ο χρήστης βρίσκεται σε περιβάλλον Linux, τότε με την χρήση ενός terminal μπορεί να ανεβάσει το αρχείο μέσω sftp. Ανοίγοντας ένα terminal στον φάκελο στον οποίο βρίσκεται το αρχείο και στην συνέχεια πληκτρολογώντας sftp username@host (π.χ. sftp olgavrou@ui.afroditi.hellasgrid.gr) και έπειτα εκτελώντας την εντολή

108 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος put BPM-master.zip ο χρήστης μπορεί πλέον να δει το αρχείο BPMmaster.zip στο UI του. 2. αν ο χρήστης βρίσκεται σε περιβάλλον Windows τότε μπορεί να εκτελέσει drag and drop αν χρησιμοποιεί mobaxterm, όπως φαίνεται εδώ15, ή την εντολή psftp στην περίπτωση που χρησιμοποιεί PuTTY, όπως περιγράφεται εδώ16. Χρησιμοποιώντας την εντολή cd, μέσα από το UI του, ο χρήστης καλείται να μετακινηθεί στο φάκελο όπου βρίσκεται το BPM-master.zip αρχείο και να το αποσυμπιέσει πληκτρολογώντας unzip BPM-master.zip. Ο χρήστης μπορεί πλέον να προσπελάσει τον φάκελο BPM-master. 8.2 Δομή των αρχείων Στο σχήμα 8.2 1, φαίνεται η δομή του αρχείου BPM-master. Στο πρώτο επίπεδο βρίσκεται ο φάκελος BPM που περιλαμβάνει τα εκτελέσιμα αρχεία του προγράμματος. Στο δεύτερο επίπεδο βρίσκεται ο φάκελος BPM. Αποθηκευμένα σε αυτόν βλέπουμε τέσσερα βασικά script, BPM.sh, MasterScript.sh, JobScript.sh και SecondJobScript.sh. Οι ροές των τριών τελευταίων αυτών script, φαίνονται στα αντίστοιχα διαγράμματα ροών που κεφαλάιου 3. Στο επίπεδο αυτό βρίσκεται και το αρχείο Input.txt το οποίο θα αποτελέσει την είσοδο του προγράμματος. Το script BPM.sh είναι το script εκκίνησης. Ελέγχει το Input.txt αρχείο και καλεί το MasterScript.sh. Το MasterScript.sh είναι αυτό το οποίο ελέγχει την ροή όλου του προγράμματος, υποβάλλει job, τα παρακολουθεί και τέλος συλλέγει την έξοδο του προγράμματος. Το JobScript.sh εκτελείται από τα parametric job, ενώ το SecondJobScript.sh εκτελείται από την δεύτερη παρτίδα job/job collection. Τέλος βλέπουμε τέσσερις φακέλους. Ο φάκελος HandleJobs περιέχει όλα τα script τα οποία παρακολουθούν και ελέγχουν job, ο φάκελος MakeFiles περιέχει τα script τα οποία κατασκευάζουν αρχεία τα οποία χρησιμοποιεί το πρόγραμμα, όπως το αρχείο jdl των job, ο φάκελος tools περιέχει τα εκτελέσιμα αρχεία του αλγορίθμου BLAST, blastp και makeblastdb, script για την αποθήκευση και αφαίρεση αρχείων στο HellasGrid, καθώς και script τα οποία χρησιμοποιούνται από τα parametric job για την επιλογή κομματιού του query ή του database file. Τέλος, ο φάκελος ParseOutput περιέχει τα script τα οποία μπορεί να εκτελέσει ο χρήστης, και τα οποία του δίνουν μεγαλύτερο έλεγχο πάνω στα αποτελέσματα του προγράμματος. Κατά την εκτέλεση του προγράμματος παράγονται δύο φάκελοι οι οποίοι αποθηκεύονται στο τρίτο επίπεδο. Στο φάκελο SessionFolder_<timestamp>, αποθηκεύονται αρχεία τα οποία δημιουργούνται και χρειάζονται κατά την

109 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος εκάστοτε εκτέλεση του προγράμματος, όπως τα αρχεία jdl, το Info αρχείο, και προσωρινά αρχεία. Αντιγράφονται και τα database και query files σε αυτόν τον φάκελο. Στο φάκελο Output_<timestamp> αποθηκεύεται η έξοδος του προγράμματος και ένα αρχείο που περιέχει πληροφορίες για την εκάστοτε εκτέλεση (Report.txt). 109

110 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος Σχήμα Δομή των αρχείων του προγράμματος (file structure) 110

111 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος 8.3 Οδηγίες χρήσης του προγράμματος Είσοδος Ο χρήστης αρχικά καλείται να ανεβάσει στο UI του, με τον ίδιο τρόπο που αναφέρθηκε στο υποκεφάλαιο 8.1.2, τα εξής αρχεία: 1. database file. Το database file μπορεί να έχει μια από τις παρακάτω δύο μορφές a. ένα αρχείο (συμπιεσμένο ή μη) το οποίο να περιλαμβάνει όλες τις πρωτεΐνες των οργανισμών που θα εξεταστούν, μαζί με το αναγνωριστικό τους id. Για παράδειγμα, η πρώτη πρωτεΐνη του οργανισμού BAMY-XXX θα μπορούσε να σημειώνεται ως BAMY-XXX Παράδειγμα ενός τέτοιου αρχείου παρουσιάζεται στο Σχήμα b. ένας φάκελος (συμπιεσμένος ή μη) στον οποίο βρίσκονται αποθηκευμένα αρχεία FASTA, όπου κάθε ένα αρχείο περιλαμβάνει τις πρωτεΐνες ενός οργανισμού που θα συμμετέχει στην βάση. Οι πρωτεΐνες πρέπει και πάλι να καταγράφονται μαζί με το αναγνωριστικό τους id, όπως περιγράφηκε παραπάνω. Για παράδειγμα, θα μπορούσε να περιλαμβάνει ένα αρχείο που περιέχει τις πρωτεΐνες του οργανισμού AANO_XXX_VD_PP, ονόματι AANO_XXX_VD_PP_01.fasta και ένα αρχείο που περιλαμβάνει τις πρωτεΐνες του οργανισμού EGRA_XXX_VD_PL, ονόματι EGRA_XXX_VD_PL_01.fasta. 2. query file. Αν θα εκτελεστεί η περίπτωση all-vs-all όπου τα query και database files είναι ίδια, τότε δεν χρειάζεται ο χρήστης να ανεβάσει κάποιο αρχείο. Σε κάθε άλλη περίπτωση, πρέπει να ανεβάσει ένα αρχείο (συμπιεσμένο ή μη) το οποίο να περιέχει τις υπό εξέταση πρωτεΐνες, μαζί με το αναγνωριστικό τους id. 3. gene map file. Πρόκειται για το αρχείο που απαριθμεί τα id των οργανισμών που συμμετέχουν στην βάση. Τα id αυτά βρίσκονται και στα αναγνωριστικά id των αντίστοιχων πρωτεϊνών του οργανισμού. Παράδειγμα ενός τέτοιου αρχείου παρουσιάζεται στο σχήμα 8.3 2, το οποίο αντιστοιχεί στο database file του σχήματος Τα αρχεία αυτά πρέπει να βρίσκονται στην ίδια τοποθεσία με το script BPM.sh, δηλαδή μέσα στο φάκελο BPM. Στο φάκελο του προγράμματος, BPM, βρίσκεται ένα αρχείο, το Input.txt. Το αρχείο αυτό θα δοθεί ως όρισμα στο πρόγραμμα. Ο χρήστης καλείται να το 111

112 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος συμπληρώσει κατάλληλα, πριν παρουσιάζεται στο σχήμα εκτελέσει το πρόγραμμα. Το αρχείο αυτό Σχήμα Database file από πρωτεΐνες τριών οργανισμών, BAMY-XXX, BANT-A02 και BANT-AMA Σχήμα Gene map file, περιέχει τα id των τριών οργανισμών της βάσης του σχήματος 3 112

113 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος Σχήμα Tο αρχείο Input.txt Ζητείται να προσδιοριστούν επακριβώς τα ονόματα των φακέλων ή των αρχείων που θα αποτελέσουν το query file, το database file και το gene map file, όπως βρίσκονται στο UI του χρήστη. Για το database file καλείται να συμπληρωθεί είτε το πεδίο ready_database για είσοδο της μορφής 1.a, είτε το πεδίο raw_database για είσοδο της μορφής 1.b (βλ. παραπάνω). Αν δεν αρμόζει κάποιο πεδίο μπορεί να αφεθεί κενό, π.χ. το query_file στην επιλογή 5. Καλείται ακόμα να συμπληρωθεί το πεδίο option, το οποίο καθορίζει το ποιες λειτουργίες θα εκτελεστούν, όπως περιγράφεται στο κεφάλαιο 3.1. Το πεδίο I_or_E καθορίζει το ποιόν δείκτη από τα αποτελέσματα του αλγορίθμου BLAST θα λάβει υπ όψιν του το πρόγραμμα. Το Ι σηματοδοτεί το δείκτη identity, ενώ το E το δείκτη e-value. Αν το πεδίο αφεθεί κενό, τότε λαμβάνει υπ όψιν του το δείκτη identity. Αντίστοιχα, το πεδίο F_or_C καθορίζει το αν θα κατασκευαστούν τα δυαδικά ή τα επεκτεταμένα φυλογενετικά προφίλ. Το F σηματοδοτεί δυαδικά προφίλ (found) ενώ το C επεκτεταμένα προφίλ (count). Αν το πεδίο αφεθεί κενό, τότε κατασκευάζονται τα δυαδικά φυλογενετικά προφίλ. Τέλος, το πεδίο είναι προαιρετικό, και αν συμπληρωθεί τότε αποστέλλεται στον χρήστη μετά την επιτυχή εκτέλεση του προγράμματος Εκτέλεση Η εκτέλεση του προγράμματος γίνεται μέσα στο φάκελο BPM πληκτρολογώντας πρώτα chmod +x BPM.sh, ώστε να γίνει εκτελέσιμο το πρόγραμμα, στη συνέχεια 113

114 Παράρτημα Β - Οδηγίες εγκατάστασης και χρήστης του προγράμματος./bpm.sh Input.txt και τέλος enter. Στην οθόνη θα εμφανίζονται τα στάδια στα οποία βρίσκεται ο αλγόριθμος. Το μεγαλύτερο μέρος του χρόνου εκτέλεσης δαπανάται συνήθως στην εκτέλεση των parametric job. Για το λόγο αυτό ανανεώνεται και εμφανίζεται η κατάσταση τους περίπου κάθε ένα λεπτό, όπως φαίνεται στο σχήμα 8.3 4, ώστε ο χρήστης να γνωρίζει για την εξέλιξη τους. Σχήμα Kατάσταση στην οποία βρίσκονται 289 job Η εκτέλεση του προγράμματος συνιστάται να γίνει μέσω ενός screen session, καθώς πιθανή διακοπή στην τοπική σύνδεση του χρήστη με το HellasGrid θα τερματίσει την εκτέλεση του προγράμματος. Για να ξεκινήσει screen session, αρκεί να πληκτρολογηθεί η εντολή screen -R <screen name>, όπου <screen name> ένα τυχαίο όνομα. Στη συνέχεια ο χρήστης μπορεί να εκτελέσει το πρόγραμμα και είτε να παρακολουθεί την εξέλιξη του, είτε να κάνει detach από το screen session και να επιστρέψει σε αυτό όποτε επιθυμεί. Για να κάνει detach αρκεί να πληκτρολογήσει ctrl+a και στη συνέχεια ctrl+d. Για να δει λίστα με τα τρέχον screen session αρκεί να πληκτρολογήσει screen -ls, και για να γίνει attach σε detached screen session, αρκεί να πληκτρολογήσει screen -r <screen name>. Με την χρήση του εργαλείου screen, ο χρήστης μπορεί να εκτελεί το πρόγραμμα με μεγάλα σετ δεδομένων, χωρίς να χρειάζεται να έχει ανοιχτό το τερματικό του, και χωρίς να ανησυχεί για διακοπές στην σύνδεση του Έξοδος Η έξοδος του προγράμματος αποθηκεύεται στην ίδια τοποθεσία στην οποία εκτελέστηκε, στο φάκελο BPM, σε φάκελο ονόματος Output_<timestamp>, όπου <timestamp> η χρονική στιγμή που ξεκίνησε η εκτέλεση του προγράμματος. Ο φάκελος περιλαμβάνει, ανάλογα με την επιλογή 1-5: 1. το αρχείο Report.txt το οποίο περιέχει πληροφορίες για την εκάστοτε εκτέλεση, όπως: 114

ΑΣΚΗΣΗ 4η Αναζήτηση οµοιοτήτων σε βάσεις δεδοµένων ακολουθιών

ΑΣΚΗΣΗ 4η Αναζήτηση οµοιοτήτων σε βάσεις δεδοµένων ακολουθιών ΑΣΚΗΣΗ 4η Αναζήτηση οµοιοτήτων σε βάσεις δεδοµένων ακολουθιών ΕΙΣΑΓΩΓΗ Η αναζήτηση οµοιοτήτων σε βάσεις δεδοµένων ακολουθιών (database similarity searching) αποτελεί µια από τις συχνότερα χρησιµοποιούµενες

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

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων Σε αυτό το κεφάλαιο παρουσιάζουµε 2 βασικούς αλγορίθµους σύγκρισης ακολουθιών Βιολογικών εδοµένων τους BLAST & FASTA. Οι δυο αλγόριθµοι

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

Βιοπληροφορική Ι (ΜΕΡΟΣ Α) Βιοπληροφορική Ανάλυση Γονιδιωμάτων. Εισαγωγή στης Βιολογικές Βάσεις Δεδομένων

Βιοπληροφορική Ι (ΜΕΡΟΣ Α) Βιοπληροφορική Ανάλυση Γονιδιωμάτων. Εισαγωγή στης Βιολογικές Βάσεις Δεδομένων Βιοπληροφορική Ι (ΜΕΡΟΣ Α) Βιοπληροφορική Ανάλυση Γονιδιωμάτων Εισαγωγή στης Βιολογικές Βάσεις Δεδομένων Η επιστήμη της Βιολογίας έχει μετατραπεί τα τελευταία χρόνια σε μια υπερπλούσια σε πληροφορίες επιστήμη.

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

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment Σκοπός της άσκησης αυτής είναι η εξοικείωση με ένα πραγματικό περιβάλλον Grids. Θα χρησιμοποιήσετε

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

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

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Α.Μ. 123/04 ΕΠΙΒΛΕΠΩΝ: ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ ΘΕΣΣΑΛΟΝΙΚΗ, ΙΟΥΝΙΟΣ 2007 Περιεχόμενα

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

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική εργασία Κλιμακούμενη πλατφόρμα κατασκευής και επέκτασης φυλογενετικών προφίλ με χρήση Πλέγματος

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

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

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

LALING/PLALING :

LALING/PLALING : 1. Άρθρα- δημοσιεύσεις Scopus DBLP Pubmed Google Scholar 2. Αναζήτηση νουκλεοτιδίου- πρωτεΐνης Entrez : http://www.ncbi.nlm.nih.gov/nuccore/ Uniprot (πρωτεΐνης): http://www.uniprot.org/ Blast : http://blast.ncbi.nlm.nih.gov/blast.cgi

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

ΑΣΚΗΣΗ 3η Στοίχιση ακολουθιών βιολογικών µακροµορίων

ΑΣΚΗΣΗ 3η Στοίχιση ακολουθιών βιολογικών µακροµορίων ΑΣΚΗΣΗ 3η Στοίχιση ακολουθιών βιολογικών µακροµορίων ΕΙΣΑΓΩΓΗ Ένας από τους πρωταρχικούς στόχους της σύγκρισης των ακολουθιών δύο µακροµορίων είναι η εκτίµηση της οµοιότητάς τους και η εξαγωγή συµπερασµάτων

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

Πρόβλημα. Σύνολο γνωστών αλληλουχιών

Πρόβλημα. Σύνολο γνωστών αλληλουχιών BLAST Πρόβλημα Άγνωστη αλληλουχία Σύνολο γνωστών αλληλουχιών Η χρήση ενός υπολογιστή κι ενός αλγόριθμου είναι απαραίτητη για την ανακάλυψη της σχέσης μιας αλληλουχίας με τις γνωστές υπάρχουσες Τί είναι

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

Βιοπληροφορική. Blast/PSI-Blast 3o εργαστήριο

Βιοπληροφορική. Blast/PSI-Blast 3o εργαστήριο Βιοπληροφορική Blast/PSI-Blast 3o εργαστήριο Αναζήτηση οµόλογων ακολουθιών σε βάσεις δεδοµένων (i) Οµόλογες ακολουθίες πιθανόν να έχουν παρόµοιες λειτουργίες. Ακολουθία επερώτησης (query sequence) Υποκείµενες

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

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

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

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Διπλωματική Εργασία Μεταπτυχιακού Προγράμματος στην Εφαρμοσμένη Πληροφορική Κατεύθυνση: Συστήματα Υπολογιστών

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Βιοπληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοπληροφορική Ενότητα 12: Αναζήτηση ομοιοτήτων έναντι βάσεων δεδομένων με τη χρήση ευρετικών αλγορίθμων Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr

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

Βιοπληροφορική Ι. Παντελής Μπάγκος. Παν/µιο Στερεάς Ελλάδας

Βιοπληροφορική Ι. Παντελής Μπάγκος. Παν/µιο Στερεάς Ελλάδας Βιοπληροφορική Ι Παντελής Μπάγκος Παν/µιο Στερεάς Ελλάδας Λαµία 2006 1 Βιοπληροφορική Ι Εισαγωγή: Ορισµός της Βιοπληροφορικής, Υποδιαιρέσεις της Βιοπληροφορικής, Τα είδη των δεδοµένων στη Βιοπληροφορική.

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

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Σχολή Επικοινωνίας και Μέσων Ενημέρωσης Πτυχιακή εργασία Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Εύρος Χριστοδούλου Λεμεσός, Μάιος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΚΟΙΝΩΝΙΑΣ

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

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

Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Περιεχόμενα Παρουσίασης Βιολογικό υπόβαθρο Το κεντρικό αξίωμα Σύνοψη της Βιοπληροφορικής Ερευνητικές περιοχές Πηγές πληροφοριών Τι είναι η Βιοπληροφορική Βιο Πληροφορική μοριακή

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

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου Θέματα διπλωματικών εργασιών σε συστοιχίες παράλληλης εξυπηρέτησης εφαρμογών Διαδικτύου Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής

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

ΦΥΣΙΚΗ ΑΝΘΡΩΠΟΛΟΓΙΑ. Πρωτεύοντα ΙΙΙ Χρήση µοριακών δεδοµένων

ΦΥΣΙΚΗ ΑΝΘΡΩΠΟΛΟΓΙΑ. Πρωτεύοντα ΙΙΙ Χρήση µοριακών δεδοµένων ΦΥΣΙΚΗ ΑΝΘΡΩΠΟΛΟΓΙΑ Πρωτεύοντα ΙΙΙ Χρήση µοριακών δεδοµένων Φυλογένεση Η φυλογένεσης αφορά την ανεύρεση των συνδετικών εκείνων κρίκων που συνδέουν τα διάφορα είδη µεταξύ τους εξελικτικά, σε µονοφυλετικές

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

Βιοπληροφορική. Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (1/2) 1ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ.

Βιοπληροφορική. Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (1/2) 1ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Βιοπληροφορική Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (1/2) 1ΔΩ Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Θηραίου Μαθησιακοί Στόχοι Αναφορά στις παραλλαγές του BLAST. Εξοικείωση με τη

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

Βιοπληροφορική. Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ.

Βιοπληροφορική. Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Βιοπληροφορική Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Θηραίου Μαθησιακοί Στόχοι Κατανόηση της αναγκαιότητας των ευριστικών αλγορίθμων

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

Βιοπληροφορική. Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ.

Βιοπληροφορική. Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Βιοπληροφορική Ενότητα 8: Αναζήτηση Ομοιοτήτων σε Βάσεις Δεδομένων Ακολουθιών, 2 ΔΩ Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Θηραίου Μαθησιακοί Στόχοι Κατανόηση της αναγκαιότητας των ευριστικών αλγορίθμων

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

ΗΥ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. Περίληψη Συνεισφοράς

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

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

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

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

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

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

ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ

ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ Σελίδα 1 Αναζήτηση ομοιοτήτων Δεδομένα Ακολουθία επερώτησης (query sequence) Ακολουθίες στη Βάση Δεδομένων (subject sequences) Αναζήτηση Μέθοδοι δυναμικού

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

Πτυχιακή Εργασία ηµιουργία Εκπαιδευτικού Παιχνιδιού σε Tablets Καλλιγάς ηµήτρης Παναγιώτης Α.Μ.: 1195 Επιβλέπων καθηγητής: ρ. Συρµακέσης Σπύρος ΑΝΤΙΡΡΙΟ 2015 Ευχαριστίες Σ αυτό το σηµείο θα ήθελα να

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

Κατα ζέυγη στοίχιση και στατιστική σημαντικότητα αυτής

Κατα ζέυγη στοίχιση και στατιστική σημαντικότητα αυτής ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Κατα ζέυγη στοίχιση και στατιστική σημαντικότητα αυτής Παντελής Μπάγκος 1 Διάλεξη 2 Αναζήτηση ομοιότητας και κατά ζεύγη στοίχιση ακολουθιών 2 Κατά ζεύγη στοίχιση ακολουθιών Από τα πιο

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

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

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

Περιοχές με ακραία σύσταση / χαμηλή πολυπλοκότητα

Περιοχές με ακραία σύσταση / χαμηλή πολυπλοκότητα Περιοχές με ακραία σύσταση / χαμηλή πολυπλοκότητα Vasilis Promponas Bioinformatics Research Laboratory Department of Biological Sciences University of Cyprus Σύνοψη Βασικές έννοιες XNU SEG LCRs και αναζητήσεις

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

Εισαγωγή στη Σχεδίαση Λογισμικού

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

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

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

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

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

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

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

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

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

Βιοπληροφορική. Μαργαρίτα Θεοδωροπούλου. Πανεπιστήμιο Θεσσαλίας, Λαμία 2016

Βιοπληροφορική. Μαργαρίτα Θεοδωροπούλου. Πανεπιστήμιο Θεσσαλίας, Λαμία 2016 Βιοπληροφορική Μαργαρίτα Θεοδωροπούλου Πανεπιστήμιο Θεσσαλίας, Λαμία 2016 Βιοπληροφορική Εισαγωγή στη Μοριακή Βιολογία, Γενωμική και Βιοπληροφορική. Βάσεις Βιολογικών Δεδομένων. Ακολουθίες Πρωτεϊνών και

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

ΒΙΟ230 - Εισαγωγή στην Υπολογιστική Βιολογία Πρακτικό Εργαστήριο: Basic Local Alignment Search Tool BLAST

ΒΙΟ230 - Εισαγωγή στην Υπολογιστική Βιολογία Πρακτικό Εργαστήριο: Basic Local Alignment Search Tool BLAST ΒΙΟ230 - Εισαγωγή στην Υπολογιστική Βιολογία Πρακτικό Εργαστήριο: Basic Local Alignment Search Tool BLAST Στέλλα Ταμανά, Βασίλης Προμπονάς Λευκωσία 2016-2018 Περίληψη (Overview) Κατά τη διάρκεια αυτού

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

TreeTOPS. ένα εισαγωγικό παιχνίδι για τα φυλογενετικά δέντρα. Teacher s Guide. ELLS European Learning Laboratory for the Life Sciences

TreeTOPS. ένα εισαγωγικό παιχνίδι για τα φυλογενετικά δέντρα. Teacher s Guide. ELLS European Learning Laboratory for the Life Sciences TreeTOPS ένα εισαγωγικό παιχνίδι για τα φυλογενετικά δέντρα Teacher s Guide ELLS European Learning Laboratory for the Life Sciences 1 Γενικός σκοπός Το συγκεκριμένο παιχνίδι έχει ως στόχο να εισάγει τους

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

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Στην προηγούμενη Εκπαιδευτική Μονάδα παρουσιάστηκαν ορισμένα χρήσιμα παραδείγματα διαδεδομένων εργαλείων για τον χρονοπρογραμματισμό

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

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

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με

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

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

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική εργασία Παράλληλη υλοποίηση του αλγορίθμου MCL με χρήση πόρων του Cloud (εφαρμογή σε μεγάλης κλίμακας

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Σελίδα 1 Αναζήτηση πληροφορίας σε βιολογικές ΒΔ Αναζήτηση δεδομένων στην UniProt Καταγράψτε το μήκος της αμινοξικής ακολουθίας (Sequence length), τη λειτουργία (Function)

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

Περίληψη Λαμπρόπουλος

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΔΟΥΒΛΕΤΗΣ ΧΑΡΑΛΑΜΠΟΣ ΕΠΙΒΛΕΠΟΝΤΕΣ ΚΑΘΗΓΗΤΕΣ Μαργαρίτης Κωνσταντίνος Βακάλη

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας

Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας Περίληψη (τυπική έκταση: 2-3 παράγραφοι) Η Περίληψη συνοψίζει την εργασία και τα κύρια ευρήματα αυτής με τέτοιον τρόπο, ώστε

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

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

ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ

ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ Αναζήτηση οµοιοτήτων ΑΝΑΖΗΤΗΣΗ ΟΜΟΙΟΤΗΤΩΝ ΣΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΟΛΟΥΘΙΩΝ Σελίδα 1 εδοµένα Ακολουθία επερώτησης (query sequence) Ακολουθίες στη Βάση εδοµένων (subject sequences) Αναζήτηση Μέθοδοι δυναµικού

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

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

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

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

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)

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

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

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

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

Βιοπληροψορική, συσιημική βιολογία και εξατομικευμένη θεραπεία

Βιοπληροψορική, συσιημική βιολογία και εξατομικευμένη θεραπεία Βιοπληροψορική, συσιημική βιολογία και εξατομικευμένη θεραπεία Φραγκίσκος Κολίσης Καθηγητής Βιοτεχνολογίας, Σχολή Χημικών Μηχανικών ΕΜΠ, Διευθυντής Ινστιτούτου Βιολογικών Ερευνών και Βιοτεχνολογίας, EIE

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

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 22 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων

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

Βιοπληροφορική. Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (2/2) 1ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ.

Βιοπληροφορική. Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (2/2) 1ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Βιοπληροφορική Ενότητα 10: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Blast, (2/2) 1ΔΩ Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Θηραίου Μαθησιακοί Στόχοι Αναφορά στις παραλλαγές του BLAST. Εξοικείωση με τη

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

ΚΕΦΑΛΑΙΟ 5. Matlab GUI για FWSVM και Global SVM

ΚΕΦΑΛΑΙΟ 5. Matlab GUI για FWSVM και Global SVM ΚΕΦΑΛΑΙΟ 5 Matlab GUI για FWSVM και Global SVM Προκειμένου να γίνουν οι πειραματικές προσομοιώσεις του κεφαλαίου 4, αναπτύξαμε ένα γραφικό περιβάλλον (Graphical User Interface) που εξασφαλίζει την εύκολη

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή εργασία ΜΑΘΗΜΑΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΑΝΑΛΥΣΗ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΕΝΕΡΓΕΙΑΚΗΣ ΑΠΟΔΟΣΗΣ ΚΤΙΡΙΩΝ Εβελίνα Θεμιστοκλέους

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

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

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Αλγόριθμοι ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Ανάπτυξη Λογισμικού Η διαδικασία ανάπτυξης λογισμικού μπορεί να παρομοιαστεί

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

ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ

ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ Ο Οργανισμός Βιομηχανικής Ιδιοκτησίας (Ο.Β.Ι.) ιδρύθηκε το 1987 (Ν.1733/1987), είναι νομικό πρόσωπο ιδιωτικού δικαίου, οικονομικά ανεξάρτητο και διοικητικά αυτοτελές.

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

Βιοπληροφορική. Ενότητα 9: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Στατιστική Σημαντικότητα, 1 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ.

Βιοπληροφορική. Ενότητα 9: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Στατιστική Σημαντικότητα, 1 ΔΩ. Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Βιοπληροφορική Ενότητα 9: Αναζήτηση Ομοιοτήτων σε ΒΔ Ακολουθιών - Στατιστική Σημαντικότητα, 1 ΔΩ Τμήμα: Βιοτεχνολογίας Όνομα καθηγητή: Τ. Θηραίου Μαθησιακοί Στόχοι Παρουσίαση των εφαρμογών της αναζήτησης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΒΙΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΒΙΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ (ΒΙΟ 003) Εισαγωγή στη Βιοπληροφορική Διδάσκων: Βασίλειος Ι. Προμπονάς, Ph.D. Λέκτορας Βιοπληροφορικής ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Διαλέξεις Φροντιστήριο Τρίτη και

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

Πίνακες αντικατάστασης PAM και BLOSUM και εναλλακτικές προσεγγίσεις

Πίνακες αντικατάστασης PAM και BLOSUM και εναλλακτικές προσεγγίσεις Πίνακες αντικατάστασης PAM και BLOSUM και εναλλακτικές προσεγγίσεις Βασίλης Προμπονάς, PhD Ερευνητικό Εργαστήριο Βιοπληροφορικής Τμήμα Βιολογικών Επιστημών Νέα Παν/πολη, Γραφείο B161 Πανεπιστήμιο Κύπρου

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

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

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

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

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

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

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων

Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων Διαβάθμιση Εγγράφου: Κωδικός Εγγράφου: GDPR-DOC-17 Έκδοση: 1η Ημερομηνία: 23 May 2018 Συγγραφέας: Ομάδα Υλοποίησης της Συμμόρφωσης

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) 1.1 Κωνσταντίνος Ταραμπάνης Καθηγητής Τμήμα Οργάνωσης και Διοίκησης Επιχειρήσεων Πανεπιστήμιο Μακεδονίας Γρ. 307 2310-891-578 kat@uom.gr

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

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

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#5 - SISD, SIMD, Νόμος του Amdahl, Γράφος εξάρτησης Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#5, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού

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

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

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

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

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

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

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

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

Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων

Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων Πολιτική για την Ιδιωτικότητα και την Προστασία των Προσωπικών Δεδομένων 1 Εισαγωγή Στις καθημερινές επιχειρηματικές λειτουργίες, η FHL Η.ΚΥΡΙΑΚΙΔΗΣ Α.Β.Ε.Ε. χρησιμοποιεί μία πληθώρα δεδομένων που αφορούν

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

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

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

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

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

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόμενα Εισαγωγή στο

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

ΣΧΟ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τομέας Ρευστών Εργαστήριο Θερμικών Στροβιλομηχανών

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

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

Εφαρμοσμένη Βιοτεχνολογία Εργαστηριακή Άσκηση Εισαγωγή στην Βιοπληροφορική

Εφαρμοσμένη Βιοτεχνολογία Εργαστηριακή Άσκηση Εισαγωγή στην Βιοπληροφορική Εφαρμοσμένη Βιοτεχνολογία Εργαστηριακή Άσκηση Εισαγωγή στην Βιοπληροφορική Δραστηριότητες 1. Εύρεση γονιδίων/πρωτεϊνών από βάσεις δεδομένων 2. Ευθυγράμμιση και σύγκριση γονιδίων/πρωτεϊνών 3. Δημιουργία

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

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

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