Post on 15-Apr-2017
transcript
BLAST(Basic Local Alignment Search Tool)
1. Интересны только «редкие» слова.
2. Интересны только пары с весом, больше определенного порога.
3. Продолжаем пары до выравнивания, пока вес не начнет уменьшатся.
e-value
E = Kmne−λS
Ожидаемое количество выравниваний с весом равным или большим S при условии поиска строки длины m в базе длины n.
BLAST
http://blast.ncbi.nlm.nih.gov/
Проведите поиск с помощью BLAST (nucleotide blast) поиск случайной последовательности(длиной 100, 10 00, 100 000) в базе данных последовательностей нуклеотидов (nucleotide collection).
Rabin-Karp
• Придадим символам числовые значения
• Для строки-запроса посчитаем функцию (hash):
ℎ𝑎𝑠ℎ 𝑄 = (𝑞0𝑝𝑛 + 𝑞0𝑝
𝑛−1 +⋯+ 𝑞𝑛𝑝0)
• Для каждой подстроки целевой строки также посчитаем эту функцию, причем:
ℎ𝑎𝑠ℎ 𝑆𝑖 = ℎ𝑎𝑠ℎ 𝑆𝑖−1 − 𝑠𝑖𝑝𝑛 ∗ 𝑝 + 𝑠𝑖+𝑛+1
Суффиксный массив• $ 15
• AAGCTCCGG$ 6
• AGCTCCGG$ 7
• CCGAAGCTCCGG$ 3
• CCGG$ 11
• CGAAGCTCCGG$ 4
• CGG$ 12
• CTCCGG$ 9
• G$ 14
• GAAGCTCCGG$ 5
• GCTCCGG$ 8
• GG$ 13
• GTCCGAAGCTCCGG$ 1
• TCCGAAGCTCCGG$ 2
• TCCGG$ 10
GTCCGAAGCTCCGG$
LCP• $ 15 -
• AAGCTCCGG$ 6 0
• AGCTCCGG$ 7 1
• CCGAAGCTCCGG$ 3 0
• CCGG$ 11 3
• CGAAGCTCCGG$ 4 1
• CGG$ 12 2
• CTCCGG$ 9 1
• G$ 14 0
• GAAGCTCCGG$ 5 1
• GCTCCGG$ 8 1
• GG$ 13 1
• GTCCGAAGCTCCGG$ 1 1
• TCCGAAGCTCCGG$ 2 0
• TCCGG$ 10 3
GTCCGAAGCTCCGG$