ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία...

42

Transcript of ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία...

Page 1: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες
Page 2: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες
Page 3: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΚΟΛΟΥΘΙΕΣ

Ακολουθία / Αλφαριθμητικό ( Sequence / String):

Διατεταγμένο σύνολο συμβόλων

Αλφάβητο: Προκαθορισμένο σύνολο από το οποίο επιλέγονται τα σύμβολα

Συμβολισμοί:

S: ακολουθία

|S|: μήκος ακολουθίας (δηλ. πλήθος συμβόλων)

S[x]: το x-οστό σύμβολο της S

S[x,y]: η υπακολουθία της S που ξεκινά από x-οστό σύμβολο & τελειώνει στο y-οστό

Σ: το αλφάβητο στο οποίο βασίζονται οι ακολουθίες

Page 4: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΠΑΡΑΔΕΙΓΜΑ

S = γαβγαβ

Σ = { α , β , γ }

S[1]

0 1 2 3 4 5

S[3,5]

( |S| = 6 )

Page 5: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

Βιοεπιστήμες Επεξεργασία σήματος

Ανάκτηση κειμένου

Page 6: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΔΙΑΧΕΙΡΙΣΗ ΑΚΟΛΟΥΘΙΩΝ

Πολλές εφαρμογές => μεγάλο ενδιαφέρον

Από τους πιο παλιούς & παραδοσιακούς τομείς έρευνας της πληροφορικής

Ιδιαίτερη φροντίδα απαιτείται

όχι επαρκής υποστήριξη από σχεσιακές ΒΔ

Αναζωπύρωση ενδιαφέροντος από το 2000 και μετά

Έκρηξη στην παραγωγή βιολογικών ακολουθιών

Ανεπαρκείς οι παραδοσιακές τεχνικές

Page 7: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΚΟΛΟΥΘΙΕΣ ΚΑΙ ΒΙΟΕΠΙΣΤΗΜΕΣ

DNA & RNA:

Αλυσίδες αζωτούχων βάσεων (μονές ή διπλές)

DNA: Σ = { A , G , C , T }

RNA: Σ = { A , G , C , U }

Πρωτεΐνες:

Αλυσίδες αμινοξέων

Αλφάβητο 20 συμβόλων (20 διαφορετικά αμινοξέα)

Page 8: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΤΟ ΓΟΝΙΔΙΩΜΑ (GENOME)

Ένα σύνολο από μεγάλες διπλές αλυσίδες DNA

Κάθε διπλή αλυσίδα είναι ένα χρωμόσωμα

Περιέχεται στον πυρήνα κάθε κυττάρου

Άνθρωπος: 3 δις σύμβολα (συνδυασμός όλων των χρωμοσωμάτων)

Γονίδια (genes): Κομμάτια των χρωμοσωμάτων που κωδικοποιούν πρωτεΐνες

Page 9: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΣΗΜΑΣΙΑ ΑΝΑΛΥΣΗΣ ΒΙΟΛΟΓΙΚΩΝ ΑΚΟΛΟΥΘΙΩΝ

Υγιή άτομα

Ασθενή άτομα

Σύγκριση γονδιωμάτων

Στόχος: Εντοπισμός ύποπτων γονιδίωνΔείτε: http://bit.ly/1d3MPFc Συνέντευξη του Eric S. Lander (συμμετείχε στην αποκωδ. ανθρ. γονδιώματος)

Page 10: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΠΑΡΑΓΩΓΗ ΒΙΟΛΟΓΙΚΩΝ ΑΚΟΛΟΥΘΙΩΝΑκολουθιοποίηση (sequencing): Η διαδικασία καθορισμού της σειράς εμφάνισης των αζωτούχων βάσεων ενός τμήματος DNA

Δεκαετία του 1970: Πρώτες μέθοδοι ακολουθιοποίησης DNA

[W. Gilbert et al., 1973]

[F. Sanger et al., 1975] & [F. Sanger et al., 1977]

ακολουθιοποίηση

βιολογικό υλικό ακολουθία

Page 11: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

Α’ ΓΕΝΙΑ ΜΗΧΑΝΩΝ ΑΚΟΛΟΥΘΙΟΠΟΙΗΣΗΣ (SEQUENCING MACHINES)

Μηχανή βασισμένη στη μέθοδο Sanger

1987: Η πρώτη τέτοια μηχανή

AB370 από την Applied Biosystems

Βασισμένες στη μέθοδο Sanger

Έξοδος: Αναγνώσματα DNA (DNA reads)

Ακολουθίες θραυσμάτων DNA συγκεκριμένου μήκους

500 χιλιάδες σύμβολα / ημέρα

Επέτρεψαν την ολοκλήρωση της αποκωδικοποίησης του ανθρώπινου γονιδιώματος το 2001 [F. S. Collins et al., 2003]

Page 12: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΜΗΧΑΝΕΣ ΑΚΟΛΟΥΘΙΟΠΟΙΗΣΗΣ ΕΠΟΜΕΝΗΣ ΓΕΝΙΑΣ

Η μηχανή Solexa

Οι πρώτες μηχανές αυτού του είδους:

2005: Μηχανή 454 από την 454 Life Sciences

Σήμερα η ανήκει στην Roche

Επιδόσεις (454 GS FLX): 700 ΜΒ/ημέρα

2006: Μηχανή Solexa Genome Analyzer από την Solexa

Σήμερα ανήκει στην Illumina

Επιδόσεις (HiSeq 2000): 6-200 GB/ημέρα

2006: Μηχανή SoLiD από την Agencourt

Σήμερα ανήκει στην Applied Biosystems

Επιδόσεις (SOLIDv4): 8-17 GB/ημέρα

Page 13: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΟΙ ΑΚΟΛΟΥΘΙΕΣ DNA ΓΙΝΟΝΤΑΙ ΜΕΓΑΛΑ ΔΕΔΟΜΕΝΑ (BIG DATA)

Δραματική μείωση του κόστους ακολουθιοποίησης

Εφικτά σενάρια όπως εξατομικευμένη ιατρική

Δραματική αύξηση του όγκου των ακολουθιακών δεδομένων & του ρυθμού παραγωγής τους

Αυτές οι ακολουθίες οφείλουν να αναλυθούν

Κόστος ανά γονιδίωμα

Page 14: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΝΑΛΥΣΗ ΒΙΟΛΟΓΙΚΩΝ ΑΚΟΛΟΥΘΙΩΝ

Αναζήτηση τοπικών ή ολικών ταιριασμάτων μεταξύ βιολογικών ακολουθιών => συνήθης ανάλυση

Παράδειγμα:

Ακολουθιοποίηση γονιδιώματος ατόμου => αναγνώσματα DNA

Εύρεση ταιριασμάτων των αναγνωσμάτων DNA μέσα στο γονιδίωμα αναφοράς για τον άνθρωπο

Page 15: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΕΙΔΗ ΑΝΑΛΥΣΗΣ ΑΚΟΛΟΥΘΙΩΝ

Εύρεση ταιριασμάτων (matchings) μεταξύ ακολουθίας-ερωτήματος και ακολουθιών αναφοράς

Σενάριο 1: Πολλές ακολουθίες αναφοράς παρόμοιου μήκους με την ακολουθία-ερώτημα Σενάριο 2: Μια πολύ μεγάλη ακολουθία αναφοράς

Ποιότητες ταιριασμάτων:

Ακριβές (exact) ταίριασμα Κατά προσέγγιση (approximate) ταίριασμα

Επιτρέπονται διαφορές συγκεκριμένου τύπου Γνωστό και ως στοίχιση (alignment) ακολουθιών

Εύρη ταιριασμάτων:

Ολικό (global) ταίριασμα Ταίριασμα απ’ άκρη σ’ άκρη των ακολουθιών

Τοπικό (local) ταίριασμα Ταίριασμα υπακολουθιών

GATTACA!|||||||!

CCGATTACACC

GATTACA!|||x|||!GATCACA

ακριβές τοπικό

ταίριασμα

ολική στοίχιση

Page 16: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΚΡΙΒΕΣ ΤΑΙΡΙΑΣΜΑ

Το απλούστερο είδος προβλήματος ανάλυσης πάνω σε ακολουθίες

Πολλοί γνωστοί αποδοτικοί αλγόριθμοι

Π.χ., αλγόριθμος Boyer-Moore [R. S. Boyer et al., 1977]

Πολλές γνωστές αποδοτικές δομές ευρετηρίων

Ευρετήρια επιθεμάτων (suffix indexes)

Πίνακες κατακερματισμού (hash tables)

Καλά ενσωματωμένες οι τεχνολογίες στα πραγματικά συστήματα

Π.χ. GREP (χρήση αλγορίθμου Boyer-Moore, μεταξύ άλλων)

Δείτε: http://www-igm.univ-mlv.fr/~lecroq/string/ Επιδείξεις πολλών αλγορίθμων ακριβούς ταιριάσματος http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html Γιατί το GREP είναι γρήγορο?

R. S. Boyer

J. S. Moore

Page 17: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΚΑΤΑ ΠΡΟΣΕΓΓΙΣΗ ΤΑΙΡΙΑΣΜΑ (ΣΤΟΙΧΙΣΗ)Θέμα: Ποια από τα κατά προσέγγιση ταιριάσματα επιθυμούμε?

Μπορεί να βρεθεί στοίχιση μεταξύ οποιονδήποτε δύο ακολουθιών

Προσεγγίσεις:

Καθορισμός κατωφλίου ομοιότητας κατά την στοίχιση

ομοιότητα > κατώφλι => ταίριασμα

Επιστροφή των k καλύτερων στοιχίσεων (top-k alignments)

καλύτερος = πιο όμοιος

Καλές επισκοπίσεις του χώρου στο [M. Hadjieleftheriou et al., 2011] και στο [G. Navarro, 2001]

Page 18: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΜΕΤΡΙΚΕΣ ΟΜΟΙΟΤΗΤΑΣ & ΔΙΑΦΟΡΕΤΙΚΟΤΗΤΑΣΜετρικές ομοιότητας & διαφορετικότητας ακολουθιών: λένε πόσο όμοιες είναι δύο ακολουθίες

Είδη:

Συντακτική ομοιότητα/διαφορετικότητα

Ιδέα: Πόση προσπάθεια χρειάζεται για να μετρατρέψουμε τη μία ακολουθία στην άλλη

Π.χ. συντακτική απόσταση (edit distance), ομοιότητα Smith-Waterman κτλ

Ομοιότητα/διαφορετικότητα συνόλων

Ιδέα: Σπάμε τις ακολουθίες σε σύνολα από tokens (επικαλυπτόμενα ή μη) και εξετάζουμε την ομοιότητα μεταξύ των συνόλων tokens

Π.χ. βεβαρυμένη τομή με βάση τη συχνότητα εμφάνισης tokens (weighted intersection), ομοιότητα Jaccard, ομοιότητα Dice, ομοιότητα συνημιτόνου (cosine similarity) κτλ

Page 19: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΣΥΝΤΑΚΤΙΚΗ ΑΠΟΣΤΑΣΗ (EDIT/LEVENSHTEIN DISTANCE)

Συντ. απόσταση S1 με S2: Το ελάχιστο δυνατό πλήθος συντακτικών λειτουργιών που μπορούν να μετατρέψουν την S1 στην S2.

Συμβολισμός: ed(S1,S2)

Συντακτικές λειτουργίες:

Μετατροπή (modification) συμβόλου

Εισαγωγή (insertion) συμβόλου

Διαγραφή (deletion) συμβόλου

Προτάθηκε από τον Vladimir Levenshtein [V. Levenshtein, 1965, 1966]

Vladimir I. Levenshtein

S1 = GATTACA! |||x|x|!S2 = GAT_AGA

ed(S1,S2)=2

Page 20: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΟΛΙΚΗ ΣΤΟΙΧΙΣΗ

Ταυτίζεται με υπολογισμό ομοιότητας της ακολουθίας-ερωτήματος με όλες τις ακολουθίες αναφοράς

Σενάριο #1: Ολική στοίχιση ακολουθίας ερωτήματος σε μια συλλογή από ακολουθίες αναφοράς

Σενάριο #2: Ολική στοίχιση για επιβεβαίωση τοπικών στοιχίσεων όταν χρησιμοποιείται αλγόριθμος με φιλτράρισμα για το τελευταίο

ερώτημα ✅

συλλογή

#1 ερώτημα

#2

υποψ. περιοχή μετά το φιλτράρισμα

Page 21: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΤΗΝ ΟΛΙΚΗ ΣΤΟΙΧΙΣΗ

No algorithm is known for handling this problem.

[S. M. Ulam, 1972]

Ulam’s characterization of it as an important unsolved

problem was making a mountain out of a molehill.

[D. Sankoff, 2000]

Όλοι οι αλγόριθμοι: προσέγγιση του δυναμικού προγραμματισμού (dynamic programming)

[T. K. Vintsyuk, 1968]

Ο πρώτος αλγόριθμος Πολυπλοκότητα: O(|S|^2) (θεωρώντας ακολουθίες ίδιου μήκους)

Πεδίο: Αναγνώριση ομιλίας (Σοβ. Ένωση)

Needlenam & Wunsch [S. B. Needleman et al., 1970]

Η πρώτη φορά εφαρμογή σε βιοεπιστήμες (ταίριασμα πρωτεϊνών)

Πολυπλοκότητα: O(|S|^3)

Το 1972 οι Chvatal, Klanrner και Knuth φαίνεται να γνωρίζουν την ύπαρξη O(|S|^2) αλγορίθμου και θέτουν το ερώτημα αν υπάρχει υποτετραγωνικός αλγόριθμος [P. H. Sellers, 1974] & [R. A. Wagner et al., 1974]

Οι πρώτοι αλγόριθμοι που χρησιμοποιούν συντακτική απόσταση

[W. J. Masek et al., 1980]

Ο πρώτος υποτετραγωνικός (υπό προϋποθέσεις) αλγόριθμος

Page 22: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

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

DP G A T A C A A

0 1 2 3 4 5 6 7G 1 0 1 2 3 4 5 6A 2 1 0 1 2 3 4 5T 3 2 1 0 1 2 3 4T 4 3 2 1 1 2 3 4A 5 4 3 2 1 2 2 3C 6 5 4 3 2 1 2 3A 7 6 5 4 3 2 1 2

Page 23: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΤΟΠΙΚΗ ΣΤΟΙΧΙΣΗΔύο εκδοχές:

Η μία ακολουθία στοιχίζεται ολόκληρη (ημι-τοπική/ ημι-ολική/ glocal)

Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες υπακολουθίες)

Παραλλαγές του δυναμικού προγραμμισμού

Διαφορετικές παραλλαγές για κάθε εκδοχή

Διαφορετικές παραλλαγές για κάθε μετρική ομοιότητας/διαφορετικότητας

Μετρικές απόστασης μόνο για ημι-τοπική

[P. H. Sellers, 1980]

Χρήση συντακτικής απόστασης

Αλγόριθμος των Smith & Waterman [T. F. Smith et al., 1981]

Χρήση μετρικής ομοιότητας (ομοιότητα Smith-Waterman)

CCCGATTACACC! |||x|||! GATCACA

CCCGATTACACC! |||x|||!

AAGATCACAT

ημι-τοπική

Page 24: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΙΑ ΤΟΠΙΚΗ ΣΤΟΙΧΙΣΗΠαράδειγμα για ημι-τοπική στοίχιση με χρήση συντακτικής απόστασης

Ίδιος με ολική στοίχιση (πρώτη γραμμή γεμάτη 0)

DP

A T A G A T A C C A T T A C A G C

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0G 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1A 2 1 2 1 1 0 1 1 2 2 1 2 2 1 2 1 1 1T 3 2 1 2 2 1 0 1 2 3 2 1 2 2 2 2 2 2T 4 3 2 2 3 2 1 1 2 3 3 2 1 2 3 3 3 3A 5 4 3 2 3 3 2 1 2 3 3 3 2 1 2 3 4 4C 6 5 4 3 3 4 3 2 1 2 3 4 3 2 1 2 3 4A 7 6 5 4 4 3 4 3 2 2 2 3 4 3 2 1 2 3

Page 25: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΒΕΛΤΙΩΣΕΙΣ ΤΟΥ ΔΥΝΑΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥΙδέες:

Αποφυγή υπολογισμού άχρηστων κελιών του πίνακα

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

Παραλληλισμός σε επίπεδο δυαδικού ψηφίου (bit-parallelism)

Περισσότερες λεπτομέρειες στο [G. Navarro, 2001]

DP

A T A G A T A C C A T T A C A G C

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0G 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1A 2 1 2 1 1 0 1 1 2 2 1 2 2 1 2 1 1 1T 3 2 1 2 2 1 0 1 2 3 2 1 2 2 2 2 2 2T 4 3 2 2 3 2 1 1 2 3 3 2 1 2 3 3 3 3A 5 4 3 2 3 3 2 1 2 3 3 3 2 1 2 3 4 4C 6 5 4 3 3 4 3 2 1 2 3 4 3 2 1 2 3 4A 7 6 5 4 4 3 4 3 2 2 2 3 4 3 2 1 2 3

Page 26: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΚΡΙΤΗΡΙΑ ΦΙΛΤΡΑΡΙΣΜΑΤΟΣ (FILTERING CRITERIA)Ιδέα: Υπολογίζουμε ένα “φθηνό” κριτήριο με το οποίο μπορούμε να πετάξουμε έξω περιοχές της ακολουθίας αναφοράς

Στις περιοχές που απομένουν τρέχουμε έναν παραδοσιακό, ακριβή αλγόριθμο

Για αποδοτικό έλεγχο του κριτηρίου μπορεί να χρησιμοποιηθεί και κάποιο ευρετήριο

Ακόμα και χωρίς ευρετήριο γρήγορες λύσεις

Αλγόριθμος Fredriksson [K. Fredriksson et al., 2004] - βέλτιστη χρονική πολυπλοκότητα

Page 27: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ FREDRIKSSON

�����

AACACCGAAA

���

AA 0 CA 0 GA 0 TA 1AC 0 CC 0 GC 1 TC 1AG 1 CG 0 GG 1 TG 1AT 1 CT 1 GT 1 TT 2

� �� ����� ��������� ������������

����������

...C C T A G G T A A T C C A C A A T T A G...�� � !

...C C T A G G T A A T C C A C A A T T A G...�� � !

�"#$%���"$#%��

����������

��"##%�&

�"#'%�&

�����

�"''%�&�"#$%��

����& ����& ����&

�(��) ���)���������� �

��* ������� �������

Page 28: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΠΡΟΣΕΓΓΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ (APPROXIMATION ALGORITHMS) ΓΙΑ ΤΟΠΙΚΗ ΣΤΟΙΧΙΣΗ

Χρήση κάποιας ευριστικής (heuristic)

Kάποιες στοιχίσεις θα χαθούν

Σκοπός: να μην είναι σημαντικές όσες χαθούν

BLAST [S. F. Altschul et al., 1990] και παραλλαγές [S. F. Altschul et al., 1997]

Προορίζονται για βιολογικές ακολουθίες

pBLAST - πρωτεΐνες

nBLAST - νουκλεοτιδικές αλυσίδες

Ευριστική: Ενδιαφέρουν ΜΟΝΟ στοιχίσεις με τουλάχιστον W συνεχόμενα ταιριάσματα συμβόλων σε κάποιο σημείο τους

Αυτόματος καθορισμός κατωφλίου μετρικής ομοιότητας

Με βάση το πλήθος των στοιχίσεων που αναμένεται να συμβούν κατά τύχη

Stephen F. Altschul

Page 29: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

BLAST

Δύο βήματα:

ΒΗΜΑ 1: Εύρεση ακριβών ταιριασμάτων όλων των υπακολουθιών της ακολουθίας-ερωτήματος με μήκος W

Αυτά τα λέμε “σπόρους” (seeds)

ΒΗΜΑ 2: Επέκταση των σπόρων αριστερά & δεξιά

Page 30: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΕΥΡΕΤΗΡΙΑ (INDEXES)

Ευρετήρια επιθεμάτων (suffix indexes)

Δένδρο επιθεμάτων (suffix tree)

Πίνακας επιθεμάτων (suffix array)

Ανεστραμμένα ευρετήρια q-grams (q-grams inverted indexes)

Page 31: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΔΕΝΔΡΟ ΕΠΙΘΕΜΑΤΩΝΔένδρο επιθεμάτων του S:

Δένδρο που κάθε μονοπάτι από τη ρίζα στα φύλλα του κωδικοποιεί ένα επίθεμα του S

Επίθεμα του S: Κάθε X για το οποίο ισχύει:

Κωδικοποίηση: η συνένωση των ετικετών των ακμών

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

Πρόσθετη πληροφορία για υποστήριξη περισσότερων προβλημάτων: Σύνδεσμοι επιθεμάτων (suffix links)

Mummer: Σύστημα που χρησιμοποιεί δένδρα επιθεμάτων για αποδοτική τοπική στοίχιση

Μεγάλο μειονέκτημα: Στην πράξη η απαιτούμενη μνήμη καταλήγει να είναι πολλές φορές μεγαλύτερη από το μέγεθος του S

��

�� �� �� ��

��

����

��

�����

����

���

���

����

���

�� �

����

��

������������������ � � � � � � � � �� ��

ΑΠΑΙΤΟΥΜΕΝΟΣ Θ(|S|)ΕΥΡΕΣΗ

ΕΜΦΑΝΙΣΕΩΝ Ο(|Q|)ΕΥΡΕΣΗ

ME Ο(K·|S|+z)** z = πλήθος των εμφανίσεων που θα βρεθούν

Page 32: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

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

Όταν προτάθηκε από τον Peter G. Weiner [P. G. Weiner, 1973], συνοδευόταν από βέλτιστο αλγόριθμο κατασκευής με χρόνο Ο(|S|·log|S|)

Ο Donald Knuth τον χαρακτήρισε ως “Αλγόριθμο της χρονιάς για το 1973”

Ο αλγόριθμος κατασκευής ήταν ιδιαίτερα δυσνόητος και τον απέφευγαν οι προγραμματιστές

Μεταγενέστεροι αλγόριθμοι κατασκευής με ίδια πολυπλοκότητα:

[E. M. McCreight, 1976]

[E. Ukkonen, 1995] - ο πιο εύκολος σε κατανόηση τρόπος

Κατασκευή δένδρου με μέγεθος μεγαλύτερο από διαθέσιμη μνήμη

TDD [S. Tata et al., 2004]

TRELLIS [B. Phoophakdee et al., 2007]

DiGeST [M. Barsky et al., 2008]

B2ST [M. Barsky et al., 2009]

ERA [E. Mansour et al. 2011]

Esko Ukkonen

Edward M. McCreight

Peter G. Weiner

Page 33: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΠΙΝΑΚΑΣ ΕΠΙΘΕΜΑΤΩΝΠίνακας επιθεμάτων του S: Ένας πίνακας που περιέχει όλα τα επιθέματα του S ταξινομημένα σε λεξικογραφική σειρά.

Συμπιεσμένη μορφή του δένδρου επιθεμάτων

Προτάθηκε από τους Manber & Mayers το 1990 [U. Manber et al., 1990]

Ανακαλύφθηκε ξανά, ανεξάρτητα το 1992 με το όνομα πίνακας PAT (PAT array) [G. H. Gonnet et al., 1992]

Κάθε αλγόριθμος του δένδρου επιθεμάτων μπορεί να τρέξει με πίνακα επιθεμάτων με κάποιο επιπλέον κόστος

Π.χ., ακριβές ταίριασμα του Q μέσα στο S: O(|Q|+log|S|)

Επαυξημένος πίνακας επιθεμάτων (enhanched suffix array): Πίνακας επιθεμάτων με ενσωματωμένη κάποια επιπλέον πληροφορία [M. I. Abouelhoda et al., 2004]

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

Κάθε αλγόριθμος για δένδρα επιθεμάτων τρέχει για επαυξ. πίνακες επιθεμάτων με την ίδια ακριβώς χρονική πολυπλοκότητα

Udi Manber

Eugene Myers

M. I. Abouelhoda

Page 34: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

Q-GRAMS

q-gram: Μια υπακολουθία μεγέθους q

Ιδέα: Σπάμε την ακολουθία-ερώτημα σε όλα τα δυνατά q-grams και ψάχνουμε για ακριβείς εμφανίσεις τους μέσα στην/στις ακολουθία/ακολουθίες αναφοράς

Δύο πιθανές επιλογές στο σπάσιμο:

Επικαλυπτόμενα q-grams

Μη-επικαλυπτόμενα q-grams

GATTACA!GAT! TAC

GATTACA!GAT! ATT! TTA! TAC! ACA

μη επικαλυπτόμενα

επικαλυπτόμενα

Page 35: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΡΧΗ ΤΟΥ ΠΕΡΙΣΤΕΡΕΩΝΑ (PIGEONHOLE PRINCIPLE)

x αντικείμενα x+y θέσεις τουλάχιστον y θέσεις άδειες

G A T T A C A

Έστω το πολύ x=1 λάθη

Σπάω το ερώτημα σε y=3>x κομμάτια (q-grams) … C G A T C A C A C …

στοιχίσεις με το πολύ x λάθη περιέχουν >y

κομμάτια (q-grams)ακολουθία-ερώτημα

ακολουθία αναφοράς

Page 36: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΝΕΣΤΡΑΜΜΕΝΑ ΕΥΡΕΤΗΡΙΑ Q-GRAMSΚάθε ευρετήριο είναι ένας πίνακας κατακερματισμού

κλειδί κατακερματισμού: ένα q-gram

τιμή εγγραφής: η λίστα εμφανίσεων του q-gram μέσα στην ακολουθία αναφοράς

Εύρεση τοπικών στοιχίσεων του Q στο S με κατώφλι συντ. απόστασης ε:

Σπάω το Q σε όλα τα δυνατά q-grams

Επιλέγω το q ώστε: #q-grams > ε

Επιστρέφω τις λίστες εμφανίσεων όλων των q-grams του Q

Τις συνδυάζω και κρατάω τις θέσεις της S που εμφανίζονται σε τουλάχιστον ε λίστες (αρχή περιστερεώνα)

Σε αυτές τις θέσεις επιβεβαιώνω ότι υπάρχει πράγματι στοίχιση

Τέτοιοι αλγόριθμοι συμπεριφέρονται καλύτερα για μικρά ε

Παραδείγματα: QUASAR [], VGRAM [], WHAM []

Page 37: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

ΑΠΛΟΣ ΑΛΓΟΡΙΘΜΟΣ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙ Q-GRAMS

0 1 2 3 4 5 6 7 8 9 10 11 12 13

C C G A T C A C A G A C C C

ακολουθία αναφοράς

CC 0, 11, 12

CG 1

GA 2, 9

AT 3

TC 4

CA 5, 7

AC 6, 10

AG 8

ευρετήριο (q=2)

2, 9

2, 6

-0

-4

0 1 2 3 4 5 6

G A T T A C A

ακολουθία ερώτημα

(ε=1)

ΘΕΣΗ ΛΙΣΤΕΣ

2 2

6 1

9 1

Page 38: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες
Page 39: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

[V. Levenshtein, 1965] V. Levenshtein: “Binary codes capable of correcting spurious insertions and deletions of ones”. Probl. Inf. Transmission 1:8-17

[V. Levenshtein, 1966] V. Levenshtein: “Binary codes capable of correcting deletions, insertions and reversals”. Sov. Phys. Dokl. 10(8):707-710

[T. K. Vintsyuk, 1968] T. K. Vintsyuk: “Speech discrimination by dynamic programming”. Kibernetika 4(1):81-88

[W. Gilbert et al., 1973] W. Gilbert, A. Maxam: “The Nucleotide Sequence of the Iac Operator”. Proc. Natl. Acad. Sci. USA 70(12):13581-3584

[S. B. Needleman et al., 1970] S. B. Needleman, C. D. Wunsch: “A general method applicable to the search for similarities in the amino acid sequence of two proteins”. Journal of Molecular Biology, 48(3):443-453

[P. Weiner, 1973] P. Weiner: “Linear pattern matching algorithms”. SWAT (FOCS) 1973:1-11

[P. H. Sellers, 1974] P. H. Sellers: “An algorithm for the distance between two finite sequences”. J. Combin. Theory Ser. A, 16:253-258

[R. A. Wagner et al., 1974] R. A. Wagner, M. J. Fischer: “The string-to-string correction problem”. J ACM, 21(1):168-173

[F. Sanger et al., 1975] F. Sanger, A. R. Coulson: “A rapid method for determining sequences in DNA by primed synthesis with DNA polymerase”. J. Mol. Biol. 94(3):441-448

[E. M. McCreight, 1976] E. M. McCreight: “A space-economical suffix tree construction algorithm”. J. ACM 23(2):262-272

[F. Sanger et al., 1977] F. Sanger, S. Nicklen, A. R. Coulson: “DNA sequencing with chain-terminating inhibitors”. Proc. Natl. Acad. Sci. USA 74(12):5463-5467

[R. S. Boyer et al., 1977] R. S. Boyer, J. S. Moore: “A fast string searching algorithm”. Commun. ACM (CACM) 20(10):762-772

ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ

Page 40: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

[P. H. Sellers, 1980] P. H. Sellers: “The theory and computation of evolutionary distances: Pattern recognition”. Journal of Algorithms, 1(4):359-373

[W. J. Masek et al., 1980] W. J. Masek, M. Paterson: “A faster algorithm computing string edit distances”. J. Comput. Syst. Sci., 20(1):18-31

[T. F. Smith et al., 1981] T. F. Smith, M. S. Waterman: “Identification of common molecular subsequences”. Journal of Molecular Biology, 147(1):195-197

[S. F. Altschul et al., 1990] S. F. Altschul, W. Gish, W. Miller, E. W. Myers, D. J. Lipman: “Basic local alignment tool”. Journal of Molecular Biology 215(3):403-410

[U. Manber et al., 1990] U. Manber, G. Myers: “Suffix arrays: A new method for on-line string searches”. SODA 1990:319-327

[G. H. Gonnet et al., 1992] G. H. Gonnet, R. A. Baeza-Yates, T. Snider: “New Indices for Text: Pat Trees and Pat Arrays”. Information Retrieval: Data Structures & Algorithms 1992:66-82

[E. Ukkonen, 1995] E. Ukkonen: “On-line construction of suffix trees”. Algorithmica 14(3):249-260.

[S. F. Altschul et al., 1997] S. F. Altschul, T. L. Madden, A. A. Schaffer, J. Zhang, Z. Zhang, W. Miller, D. J. Lipman: “Gapped blast and psi-blast: a new generation of protein database search programs”. Nucleic Acids Research 25(17):3389-3402

[D. Sankoff, 2000] D. Sankoff: “The early introduction of dynamic programming into computational biology”. Bioinformatics 16(1):41-47

[G. Navarro, 2001] G. Navarro: “A Guided Tour to Approximate String Matching”. ACM Comp. Surv. 33(1):31-88

[M. I. Abouelhoda et al., 2004] M. I. Abouelhoda, S. Kurtz, E. Ohlebusch: “Replacing suffix trees with enhanced suffix arrays”. J. Discrete Algorithms (JDA) 3(2-4):321-341 (2005)

[S. Tata et al., 2004] S. Tata, R. A. Hankins, J. M. Patel: “Practical Suffix Tree Construction”. VLDB 2004:36-47

[F. S. Collins et al., 2003] F. S. Collins, M. Morgan, A. Patrinos: “The human genome project: lessons from large-scale biology”. Science

[K. Fredriksson et al., 2004] K. Fredriksson, G. Navarro: “Average-optimal single and multiple approximate string matching”. ACM Journal of Experimental Algorithms 9

ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ

Page 41: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες

[B. Phoophakdee et al., 2007] B. Phoophakdee, M. J. Zaki: “Genome-scale disk-based suffix tree indexing”. SIGMOD 2007:833-844

[M. Barsky et al., 2008] M. Barsky, U. Stege, A. Thomo, C. Upton: “A new method for indexing genomes using on-disk suffix trees”. CIKM 2008:649-658

[M. Barsky et al., 2009] M. Barsky, U. Stege, A. Thomo, C. Upton: “Suffix trees for very large genomic sequences”. CIKM 2009:1417-1420

[E. Mansour et al., 2011] E. Mansour, A. Allam, S. Skiadopoulos, P. Kalnis: “ERA: Efficient Serial and Parallel Suffix Tree Construction for Very Long Strings”. PVLDB 5(1):49-60 (2011)

[M. Hadjieleftheriou et al., 2011] M. Hadjieleftheriou, D. Shrivastava: “Approximate String Processing”. FTDB 2(4):267-402

ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ

Page 42: ΑΚΟΛΟΥΘΙΕΣ - ocw.aoc.ntua.gr£ημειώσεις... · Καμία ακολουθία δεν στοιχίζεται ολόκληρη (βρίσκουμε τις βέλτιστες