SlideShare a Scribd company logo
1 of 7
Download to read offline
Aho-Corasic
algorithm
April 6, 2013
The problem
Text T, |T| = m
Patterns p1, p2... pk, |p1| + |p2| + ... + |pk| = n
Find all occurrences of pi within T
2/7
Meet the trie
1. he
2. she
3. his
4. hers
3/7
Suffix links i
For node u, suffix link points to node v such
that string(v) is the maximal proper suffix of
string(u)
3/7
Suffix links ii
5/7
go & link
go :: node –> char –> node
link :: node –> node
go n c = n.child[c] or go (link n) c
link n = go (link n.p_node) n.p_char
6/7
Домашка =)
Решить задачи в классе
TRIE – построить и вывести бор
ATRIE + суффиксные ссылки
EPM – задача из первого слайда
PS. Не забываем про тесты: короткие
случайные паттерны из ab алфавита +
длинный текст
PPS. Сдать до 20.04 или до 27.04, но со
штрафом

More Related Content

Viewers also liked

Carolyn Elefant Speaks at IEEFA Conference
Carolyn Elefant Speaks at IEEFA ConferenceCarolyn Elefant Speaks at IEEFA Conference
Carolyn Elefant Speaks at IEEFA ConferenceCarolyn Elefant
 
Making Solo Practice Sustainable
Making Solo Practice SustainableMaking Solo Practice Sustainable
Making Solo Practice SustainableCarolyn Elefant
 
Технология OpenMP
Технология OpenMPТехнология OpenMP
Технология OpenMPTatyanazaxarova
 
Caffine And Pregnancy
Caffine  And  PregnancyCaffine  And  Pregnancy
Caffine And PregnancyAlicia Knapp
 
Basics of eng grammar wrap up
Basics of eng grammar wrap upBasics of eng grammar wrap up
Basics of eng grammar wrap upSana Malik
 
PYTHON NOTES
PYTHON NOTESPYTHON NOTES
PYTHON NOTESNi
 
медиа план New-17.08-23.08
медиа план New-17.08-23.08медиа план New-17.08-23.08
медиа план New-17.08-23.08Andrey Dihtjarenko
 
Write your email professionally - Writing Request E mails
Write your email professionally - Writing Request E mailsWrite your email professionally - Writing Request E mails
Write your email professionally - Writing Request E mailsPeea Bal Chakraborty
 
Web real time communication @UXRepublic
Web real time communication @UXRepublicWeb real time communication @UXRepublic
Web real time communication @UXRepublicUX REPUBLIC
 

Viewers also liked (12)

Carolyn Elefant Speaks at IEEFA Conference
Carolyn Elefant Speaks at IEEFA ConferenceCarolyn Elefant Speaks at IEEFA Conference
Carolyn Elefant Speaks at IEEFA Conference
 
Making Solo Practice Sustainable
Making Solo Practice SustainableMaking Solo Practice Sustainable
Making Solo Practice Sustainable
 
ขั้นตอนขออนุญาต ใบกนอ.
ขั้นตอนขออนุญาต ใบกนอ.ขั้นตอนขออนุญาต ใบกนอ.
ขั้นตอนขออนุญาต ใบกนอ.
 
Технология OpenMP
Технология OpenMPТехнология OpenMP
Технология OpenMP
 
Caffine And Pregnancy
Caffine  And  PregnancyCaffine  And  Pregnancy
Caffine And Pregnancy
 
Evaluation: Question 3
Evaluation: Question 3Evaluation: Question 3
Evaluation: Question 3
 
Basics of eng grammar wrap up
Basics of eng grammar wrap upBasics of eng grammar wrap up
Basics of eng grammar wrap up
 
PYTHON NOTES
PYTHON NOTESPYTHON NOTES
PYTHON NOTES
 
медиа план New-17.08-23.08
медиа план New-17.08-23.08медиа план New-17.08-23.08
медиа план New-17.08-23.08
 
Write your email professionally - Writing Request E mails
Write your email professionally - Writing Request E mailsWrite your email professionally - Writing Request E mails
Write your email professionally - Writing Request E mails
 
Web real time communication @UXRepublic
Web real time communication @UXRepublicWeb real time communication @UXRepublic
Web real time communication @UXRepublic
 
Actividad 2 4 p5
Actividad 2 4 p5Actividad 2 4 p5
Actividad 2 4 p5
 

More from BioinformaticsInstitute

Comparative Genomics and de Bruijn graphs
Comparative Genomics and de Bruijn graphsComparative Genomics and de Bruijn graphs
Comparative Genomics and de Bruijn graphsBioinformaticsInstitute
 
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес... Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...BioinformaticsInstitute
 
Вперед в прошлое. Методы генетической диагностики древней днк
Вперед в прошлое. Методы генетической диагностики древней днкВперед в прошлое. Методы генетической диагностики древней днк
Вперед в прошлое. Методы генетической диагностики древней днкBioinformaticsInstitute
 
"Зачем биологам суперкомпьютеры", Александр Предеус
"Зачем биологам суперкомпьютеры", Александр Предеус"Зачем биологам суперкомпьютеры", Александр Предеус
"Зачем биологам суперкомпьютеры", Александр ПредеусBioinformaticsInstitute
 
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...BioinformaticsInstitute
 
Рак 101 (Мария Шутова, ИоГЕН РАН)
Рак 101 (Мария Шутова, ИоГЕН РАН)Рак 101 (Мария Шутова, ИоГЕН РАН)
Рак 101 (Мария Шутова, ИоГЕН РАН)BioinformaticsInstitute
 
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...Секвенирование как инструмент исследования сложных фенотипов человека: от ген...
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...BioinformaticsInstitute
 
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)Инвестиции в биоинформатику и биотех (Андрей Афанасьев)
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)BioinformaticsInstitute
 

More from BioinformaticsInstitute (20)

Graph genome
Graph genome Graph genome
Graph genome
 
Nanopores sequencing
Nanopores sequencingNanopores sequencing
Nanopores sequencing
 
A superglue for string comparison
A superglue for string comparisonA superglue for string comparison
A superglue for string comparison
 
Comparative Genomics and de Bruijn graphs
Comparative Genomics and de Bruijn graphsComparative Genomics and de Bruijn graphs
Comparative Genomics and de Bruijn graphs
 
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес... Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 
Вперед в прошлое. Методы генетической диагностики древней днк
Вперед в прошлое. Методы генетической диагностики древней днкВперед в прошлое. Методы генетической диагностики древней днк
Вперед в прошлое. Методы генетической диагностики древней днк
 
Knime & bioinformatics
Knime & bioinformaticsKnime & bioinformatics
Knime & bioinformatics
 
"Зачем биологам суперкомпьютеры", Александр Предеус
"Зачем биологам суперкомпьютеры", Александр Предеус"Зачем биологам суперкомпьютеры", Александр Предеус
"Зачем биологам суперкомпьютеры", Александр Предеус
 
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...
Иммунотерапия раковых опухолей: взгляд со стороны системной биологии. Максим ...
 
Рак 101 (Мария Шутова, ИоГЕН РАН)
Рак 101 (Мария Шутова, ИоГЕН РАН)Рак 101 (Мария Шутова, ИоГЕН РАН)
Рак 101 (Мария Шутова, ИоГЕН РАН)
 
Плюрипотентность 101
Плюрипотентность 101Плюрипотентность 101
Плюрипотентность 101
 
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...Секвенирование как инструмент исследования сложных фенотипов человека: от ген...
Секвенирование как инструмент исследования сложных фенотипов человека: от ген...
 
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)Инвестиции в биоинформатику и биотех (Андрей Афанасьев)
Инвестиции в биоинформатику и биотех (Андрей Афанасьев)
 
Biodb 2011-everything
Biodb 2011-everythingBiodb 2011-everything
Biodb 2011-everything
 
Biodb 2011-05
Biodb 2011-05Biodb 2011-05
Biodb 2011-05
 
Biodb 2011-04
Biodb 2011-04Biodb 2011-04
Biodb 2011-04
 
Biodb 2011-03
Biodb 2011-03Biodb 2011-03
Biodb 2011-03
 
Biodb 2011-01
Biodb 2011-01Biodb 2011-01
Biodb 2011-01
 
Biodb 2011-02
Biodb 2011-02Biodb 2011-02
Biodb 2011-02
 
Ngs 3 1
Ngs 3 1Ngs 3 1
Ngs 3 1
 

Bioalgo 2013-05-aho-corasick

  • 2. The problem Text T, |T| = m Patterns p1, p2... pk, |p1| + |p2| + ... + |pk| = n Find all occurrences of pi within T 2/7
  • 3. Meet the trie 1. he 2. she 3. his 4. hers 3/7
  • 4. Suffix links i For node u, suffix link points to node v such that string(v) is the maximal proper suffix of string(u) 3/7
  • 6. go & link go :: node –> char –> node link :: node –> node go n c = n.child[c] or go (link n) c link n = go (link n.p_node) n.p_char 6/7
  • 7. Домашка =) Решить задачи в классе TRIE – построить и вывести бор ATRIE + суффиксные ссылки EPM – задача из первого слайда PS. Не забываем про тесты: короткие случайные паттерны из ab алфавита + длинный текст PPS. Сдать до 20.04 или до 27.04, но со штрафом