Chương này gồm có những nội dung chính sau: Giới thiệu tóm tắt về dự án Human Genome; bài toán sequence alignment: Các vấn đề cần giải quyết, scoring system, lập trình động cho vấn đề pairwise alignment; bài toán local sequence alignment. Mời tham khảo.
QUY HOẠCH ĐỘNG CHO BÀI TỐN SEQUENCE ALIGNMENT TS NGƠ QUỐC VIỆT 2015 Nội dung • Giới thiệu tóm tắt dự án Human Genome • Bài tốn sequence alignment • Các vấn đề cần giải • Scoring system • Lập trình động cho vấn đề pairwise alignment • Bài toán local sequence alignment Giải thuật nâng cao-DP-Sequence Alignment Human genome project (HGP) – some milestones • 1977 Allan Maxam and Walter Gilbert at Harvard University and • • • • • • • • Frederick Sanger at the U.K Medical Research Council (MRC) phát triển phương pháp sequencing DNA 1988 NIH (National Institutes of Health) thành lập Office of Human Genome Research 1995 Patrick Brown of Stanford cộng đăng first paper sử dụng printed glass microarray of complementary DNA (cDNA) probes Các nhà nghiên cứu Whitehead Généthon (Lander, Thomas Hudson at Whitehead) đăng physical map human genome chứa 15,000 markers 1996 NIH tài trợ nhóm giải large-scale sequencing of the human genome An international consortium publicly releases the complete genome sequence of the yeast 1998 NIH công bố dự án tìm SNP (Single Nucleotide Polymorphism) 2001 The HGP consortium publishes its working draft in Nature (15 February), Celera publishes its draft in Science (16 February) 2006 Sequence tất chromosomes finalized Giải thuật nâng cao-DP-Sequence Alignment Giới thiệu • Alignment nhằm: xác định hai nhiều chuỗi có liên quan với hay khơng (q trình tiến hóa) • Ví dụ: tìm gene người Mong muốn xác định tính chất Khi đó, cần xác định phần tương ứng có chuột Có hàng vạn gene chuột, cần tìm tương ứng với gene vừa tìm • Align proteins chia sẻ chức để xác định chuỗi peptide có ảnh hưởng nhiều đến chức • Align chuỗi DNA nhằm xác định (chức hay tiến hóa) gene liên quan để tìm segments gắn liền với transcription factors Giải thuật nâng cao-DP-Sequence Alignment Giới thiệu Giải thuật nâng cao-DP-Sequence Alignment Giới thiệu • Alignment tảng để xác định quan hệ tiến hóa • Ví dụ: http://www.computational-genomics.net/case_studies/sabertooth_demo_37.png Giải thuật nâng cao-DP-Sequence Alignment Sequence Alignment • Trong thiết kế và/hoặc diễn dịch liệu kỹ thuật high-throughput screening (dùng dược) dựa chuỗi Khi so sánh chuỗi cần thiết nhằm: - Để xác định microarray probes sequence tương tự với gene khác - Để match sequence high-throughput sequencing data sang genome - Để tìm motifs dựa ChIP-chip/ChIP-seq data Giải thuật nâng cao-DP-Sequence Alignment Sequence Alignment AGGCTATCACCTGACCTCCAGGCCGATGCCC TAGCTATCACGACCGCGGTCGATTTGCCCGAC -AGGCTATCACCTGACCTCCAGGCCGA TGCCC TAG-CTATCAC GACCGC GGTCGATTTGCCCGAC • Định nghĩa: Cho hai chuỗi 𝑥 = 𝑥1𝑥2 … 𝑥𝑀, 𝑦= 𝑦1𝑦2 … 𝑦𝑁, Alignment gán gap vào vị trí 0, … , 𝑁 chuỗi x, 0, … , 𝑁 y, cho align thẳng hàng chữ chuỗi với chữ gap chuỗi Giải thuật nâng cao-DP-Sequence Alignment Sequence Alignment: Các vấn đề Không gian tìm kiếm lớn (số alignments) Sequence 1: GSAQVK Sequence 2: GNPKVK GSAQVK GSAQVK GNPKVK GNPKVK GSAQ VK -G-NPKVK -GSAQVK GNPKVK - Chọn giải pháp nào?? Giải thuật nâng cao-DP-Sequence Alignment Tiêu chuẩn đánh giá alignment AGGCTAGTT, AGCGAAGTTT AGGCTAGTTAGCGAAGTTT matches, mismatches, gap AGGCTA-GTTAG-CGAAGTTT matches, mismatch, gaps AGGC-TA-GTT- matches, mismatches, gaps AG-CG-AAGTTT Giải thuật nâng cao-DP-Sequence Alignment 10 Sequence alignment – ví dụ x = AGTA y = ATA m= F(i,j) i=0 j=0 Output s = -1 Alignment d = -1 • Theo vết backpointers A G T A -1 -2 -3 -4 A -1 -1 -2 T -2 0 A -3 -1 -1 1) = • GặpF(1, diagonal, max{F(0,0) OUTPUT xi, y+j s(A, A), F(0, 1) – d, • Gặp up, F(1, 0) – d} = OUTPUT yj max{0 + 1, • Gặp left,-1 – 1, -1 – 1} OUTPUT xi = Giải thuật nâng cao-DP-Sequence Alignment AG TA A - TA 18 Giải thuật Needleman-Wunsch Initialization a b c F(0, 0) = F(0, j) = - j d F(i, 0) = - i d Main Iteration Filling-in partial alignments a For each i = 1……M For each j = 1……N F(i, j) = max Ptr(i, j) = F(i – 1,j – 1) + s(xi, yj) [case 1] F(i – 1, j) – d [case 2] F(i, j – 1) – d [case 3] DIAG, LEFT, UP, if [case 1] if [case 2] if [case 3] Termination F(M, N) is the optimal score, and from Ptr(M, N) can trace back optimal alignment Giải thuật nâng cao-DP-Sequence Alignment 19 Local alignment Cho hai chuỗi x = x1……xM, y = y1……yN Tìm substrings x’, y’ cho có độ tương tự (optimal global alignment value) lớn x = aaaacccccggggtta y = ttcccgggaaccaacc Giải thuật nâng cao-DP-Sequence Alignment 20 Lý cần local alignment • Genes are shuffled between genomes • Các phần protein thường bảo toàn Giải thuật nâng cao-DP-Sequence Alignment 21 Sự tương tự genome Cross-species • 98% genes trì hai lồi động vật có vú • Nhiều 70% average similarity protein sequence hum_a mus_a rat_a fug_a : : : : GTTGACAATAGAGGGTCTGGCAGAGGCTC GCTGACAATAGAGGGGCTGGCAGAGGCTC GCTGACAATAGAGGGGCTGGCAGAGACTC TTTGTTGATGGGGAGCGTGCATTAATTTCAGGCTATTGTTAACAGGCTCG @ @ @ @ 57331/400001 78560/400001 112658/369938 36008/68174 hum_a mus_a rat_a fug_a : : : : CTGGCCGCGGTGCGGAGCGTCTGGAGCGGAGCACGCGCTGTCAGCTGGTG CTGGCCCCGGTGCGGAGCGTCTGGAGCGGAGCACGCGCTGTCAGCTGGTG CTGGCCCCGGTGCGGAGCGTCTGGAGCGGAGCACGCGCTGTCAGCTGGTG TGGGCCGAGGTGTTGGATGGCCTGAGTGAAGCACGCGCTGTCAGCTGGCG @ @ @ @ 57381/400001 78610/400001 112708/369938 36058/68174 hum_a mus_a rat_a fug_a : : : : AGCGCACTCTCCTTTCAGGCAGCTCCCCGGGGAGCTGTGCGGCCACATTT AGCGCACTCG-CTTTCAGGCCGCTCCCCGGGGAGCTGAGCGGCCACATTT AGCGCACTCG-CTTTCAGGCCGCTCCCCGGGGAGCTGCGCGGCCACATTT AGCGCTCGCG AGTCCCTGCCGTGTCC @ @ @ @ 57431/400001 78659/400001 112757/369938 36084/68174 hum_a mus_a rat_a fug_a : : : : AACACCATCATCACCCCTCCCCGGCCTCCTCAACCTCGGCCTCCTCCTCG AACACCGTCGTCA-CCCTCCCCGGCCTCCTCAACCTCGGCCTCCTCCTCG AACACCGTCGTCA-CCCTCCCCGGCCTCCTCAACCTCGGCCTCCTCCTCG CCGAGGACCCTGA - @ @ @ @ 57481/400001 78708/400001 112806/369938 36097/68174 Ví dụ chuỗi tương tự human, rat, mouse, cá (fugu) Giải thuật nâng cao-DP-Sequence Alignment 22 Giải thuật Smith-Waterman Ý tưởng: bỏ qua vùng badly aligning Điều chỉnh giải thuật Needleman-Wunsch: Khởi tạo: Iteration: F(0, j) = F(i, 0) = 0 F(i, j) = max F(i – 1, j) – d F(i, j – 1) – d F(i – 1, j – 1) + s(xi, yj) Giải thuật nâng cao-DP-Sequence Alignment 23 Smith-Waterman algorithm Kết thúc: Nếu muốn best local alignment… FOPT = maxi,j F(i, j) Tìm FOPT theo vết ngược Nếu muốn all local alignments có scoring > t For all i, j find F(i, j) > t, and trace back? Complicated by overlapping local alignments ( Waterman–Eggert ’87: find all non-overlapping local alignments with minimal recalculation of the DP matrix ) Giải thuật nâng cao-DP-Sequence Alignment 24 Scoring gap xác Mơ hình tại: Gap chiều dài incurs penalty (n) n nd Tuy nhiên, gaps thường xuất thành nhóm Khi đó, dùng hàm Convex gap penalty: (n) (n): for all n, (n + 1) - (n) (n) - (n – 1) Convex gap dynamic programming Khởi tạo: không thay đổi Iteration: F(i – 1, j – 1) + s(xi, yj) F(i, j) = max maxk=0…i-1F(k, j) – (i – k) maxk=0…j-1F(i, k) – (j – k) Termination: không thay đổi Running Time: O(N2M) Space: O(NM) (giả sử N>M) Compromise: affine gaps (n) = d + (n – 1) e | | gap gap open extend (n) d Để tính optimal alignment, Tại vị trí i, j, cần “lưu trữ” best score gap open best score if gap not open F(i, j): score alignment x1…xi với y1…yj if xi aligns to yj G(i, j): H(i, j): score if xi aligns với gap sau yj score if yj aligns với gap sau xi V(i, j) = best score alignment x1…xi to y1…yj e Needleman-Wunsch with affine gaps Vì cần ma trận F, G, H? Vì: •G(i, j)x V(i, j) –to d a gap after y •G(i, j)x–i ealigns j xi xi+1 (i.e., hadxwe “fixed” our that xi aligns 1……x i-1 decision to yj, we could regret it at the next step when …aligning xy1…x 1……y i+1 to y1j…yj) Add -e G(i+1, j) = G(i, j) – e Needleman-Wunsch dùng affine gaps Khởi tạo: V(i, 0) = d + (i – 1)e V(0, j) = d + (j – 1)e Lặp: V(i, j) = max{ F(i, j), G(i, j), H(i, j) } F(i, j) = V(i – 1, j – 1) + s(xi, yj) V(i – 1, j) – d G(i, j) = max G(i – 1, j) – e V(i, j – 1) – d H(i, j) = max H(i, j – 1) – e Kết thúc: V(i, j) có best alignment Bounded Dynamic Programming Giả sử x y tương tự Giải sử: Thì, # gaps(x, y) < k(N) xi | yj suy | i – j | < k(N) Có thể align x y hiệu hơn: Time, Space: O(N k(N)) k Lặp: For i = 1…M For j = max(1, i – k)…min(N, i+k) F(i, j) = max k(N) Termination: F(i – 1, j – 1)+ s(xi, yj) F(i, j – 1) – d, if j > i – k(N) F(i – 1, j) – d, if j < i + k(N) không thay đổi Dễ dàng áp dụng cho affine gap Tóm tắt • Global sequence alignment • Needleman–Wunsch • Overlap detection • Banded alignment • Convex gaps • Affine gaps • Local sequence alignment • Smith-Waterman Giải thuật nâng cao-DP-Sequence Alignment 32 ... thuật nâng cao-DP -Sequence Alignment 17 Sequence alignment – ví dụ x = AGTA y = ATA m= F(i,j) i=0 j=0 Output s = -1 Alignment d = -1 • Theo vết backpointers A G T A -1 -2 -3 -4 A -1 -1 -2 T -2 0... Genome • Bài tốn sequence alignment • Các vấn đề cần giải • Scoring system • Lập trình động cho vấn đề pairwise alignment • Bài tốn local sequence alignment Giải thuật nâng cao-DP -Sequence Alignment. .. aligning x1……xi y1……yj Giải thuật nâng cao-DP -Sequence Alignment 15 Sequence Alignment - Quy hoạch động • Có trường hợp xi align với yj x1……xi-1 xi y1……yj-1 yj xi align với gap x1……xi-1 xi y1……yj yj