Алгоритмы в биоинформатике, осень 2016: Поиск в банках....

17
Поиск в банке

Transcript of Алгоритмы в биоинформатике, осень 2016: Поиск в банках....

Поиск в банке

FASTA (Fast-All)

BLAST(Basic Local Alignment Search Tool)

1. Интересны только «редкие» слова.

2. Интересны только пары с весом, больше определенного порога.

3. Продолжаем пары до выравнивания, пока вес не начнет уменьшатся.

http://blast.ncbi.nlm.nih.gov/

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

Knuth-Morris-Pratt

Aho-Corasick

Бор

Trie

Суффиксное дерево

GTCCGAAGCTCCGG$

Суффиксный массив• $ 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$

Построение суффиксного массива