bài giảng nhập môn tin sinh học của thầy Đặng Đức Long trường Đại học Bách Khoa Đà Nẵng.... giúp các bạn ngành công nghệ sinh học có thể học tốt hơn...............................................................................................................................................................................
Trang 1Giáo trình Nhập môn tin sinh học 80
Hình 5.1: Quá trình biến đổi các chuỗi ADN th o thời gian của bốn loài linh
trưởng: Người, Tinh tinh, Khỉ đột và Khỉ nâu
Từ một chuỗi ADN tổ tiên ban đầu là “ T”, ch ng ta thu đư c 4 chuỗi ADN tương đồng trên bốn loài sinh vật khác nhau như ở Bảng 5.1
Trang 2Giáo trình Nhập môn tin sinh học 81
c ng như độ dài
Sắp hàng đa chuỗi
5.1.2
Sắp hàng hai chuỗi và sẽ cho chúng ta biết mối quan hệ giữa hai chuỗi
và phân tích mối quan hệ giữa nhiều chuỗi khác nhau, chúng ta cần tiến hành sắp hàng nhiều chuỗi ADN với nhau Sắp hàng đa chuỗi sẽ cho ch ng ta biết đư c mức độ giống nhau và quan hệ giữa nhiều chuỗi ADN Sắp hàng đa chuỗi là bài toàn tổng quát của sắp hàng hai chuỗi và đư c phát bi u đơn giản như sau:
Sắp hàng đa chuỗi là quá trình chèn thêm các kí tự ‘’ (cho biết một nuclêôtít
đã bị xóa kh i chuỗi) vào các chuỗi ADN đ sau khi sắp hàng ch ng ta thu đư c các chuỗi ADN th a mãn các điều kiện rằng buộc sau:
1 ác chuỗi sau khi sắp hàng có độ dài bằng nhau, và độ dài đó đư c gọi là
độ dài của đa chuỗi sắp hàng
2 Các nuclêôtít ở cùng một vị trí trên các chuỗi đư c cho tương đồng, tức là cùng tiến hóa từ một nuclêôtít tổ tiên chung
3 Không tồn tại b t cứ một vị trí i nào mà t t cả các chuỗi cùng chứa kí tự
‘’ ói một cách khác, việc chèn kí tự ‘’ vào cùng một ví trí trên t t cả các chuỗi là không có ý nghĩa
4 Tổng đi m giống nhau của đa chuỗi sắp hàng thu đư c là lớn nh t Bảng 5.2 minh họa một cách sắp hàng 4 chuỗi ADN của gười, Tinh tinh, Kh đột
và Khi nâu với độ dài là 6 h ng ta th y các phép biến đổi giữa các chuỗi ADN ở
vị trí 1, 5, và 6; không có sự biến đổi nào giữa các chuỗi ở các vị trí 2, 3, và 4
Trang 3Giáo trình Nhập môn tin sinh học 82
Bảng 5.2: Một cách sắp hàng 4 chuỗi ADN của Người, Tinh tinh, Khỉ đột
và Khỉ nâu Ta thấy có các biến đổi ở vị trí 1, 5 và 6
Tương tự như bài toán sắp hàng hai chuỗi, chúng ta d dàng nhận th y tồn
tại nhiều đa sắp hàng khác nhau cho một tập n chuỗi đầu vào (Bảng 5.3 minh
họa hai đa sắp hàng khác nhau) h ng ta cần tìm đa sắp hàng có tổng đi m lớn
là nuclêôtít thứ của chuỗi ADN
Gọi là một đa sắp hàng của trong đó là chuỗi sau khi
sắp hàng, ; gọi là độ dài của đa sắp hàng Ta kí hiệu
( ) là cột thứ s trên đa sắp hàng
Trang 4Giáo trình Nhập môn tin sinh học 83
i m giống nhau của một đa sắp hàng có th tính đơn giản bằng tổng đi m giống nhau của t t cả các c p chuỗi trong đa sắp hàng đó (sum of pairs) và đư c tính theo công thức sau:
∑ ∑
Công thức 5.1
trong đó ( ) là đi m giống nhau giữa hai chuỗi đã đư c sắp hàng , và
đư c tính cụ th như sau:
( ) ∑
Công thức 5.2
ách tính đi m giống nhau của một đa sắp hàng theo ông thức 5.1 có th đư c
viết lại dưới dạng tổng đi m giống nhau của t t cả các cột trên , cụ th là:
Trang 5Giáo trình Nhập môn tin sinh học 84
Bảng 5.4: Tính điểm cho ba đa chuỗi sắp hàng khác nhau của 4 đoạn ADN
của Người, Tinh tinh, Khỉ đột và Khỉ nâu
Sự thương thích giữa các bắt c p hai chuỗi
5.1.4
i m giống nhau của một đa chuỗi sắp hàng đư c tính bằng tổng đi m giống nhau của t t cả các bắt c p (hai chuỗi sắp hàng) Vậy liệu có th kết h p các bắt c p với nhau thành một đa chuỗi sắp hàng?
Xét ví dụ ba chuỗi = “ TTTT”, = “TTTT ”, và =
“ ” ếu ch ng ta tiến hành sắp hàng từng c p hai chuỗi một, ta có
th thu đư c các bắt c p là: , và như ở Bảng 5.5 ác bắt c p này thương thích với nhau và có th kết h p với nhau đ thu đư c một sắp hàng của ba chuỗi (xem Bảng 5.5)
Trang 6Giáo trình Nhập môn tin sinh học 85
Tuy nhiên, xét ví dụ ba chuỗi = “ TTTT”, = “TTTT ”, và =
“ ” ếu ch ng ta tiến hành sắp hàng từng c p hai chuỗi một, ta có
th thu đư c 3 bắt c p , và như ở Bảng 5.6 ác bắt c p này không thương thích với nhau đ có th d dàng kết h p ch ng thành một sắp hàng của
ba chuỗi , và Tức là, việc xây dựng nghiệm cho bài toán sắp hàng đa chuỗi không th giải quyết một cách đơn giản bằng cách kết h p nghiệm của t t cả các sắp hàng hai chuỗi với nhau
Trang 7Giáo trình Nhập môn tin sinh học 86
Thuật toán quy hoạch động giải bài toán sắp hàng đa chuỗi
5.2
Bài toán sắp hàng đa chuỗi là bài toán tổng quát của bài toán sắp hàng hai chuỗi h ng ta có th tổng quát hóa thuật toán quy hoạch động cho bài toán sắp hàng hai chuỗi đ tìm lời giải tối ưu cho bài toán sắp hàng đa chuỗi
hi u một cách d dàng cách tổng quát hóa thuật toán quy hoạch động cho bài toán sắp hàng đa chuỗi, ch ng ta sẽ giải quyết bài toán sắp hàng 3 chuỗi ( ) ( ) hắc lại, là chuỗi
tiền tố chứa i kí tự đầu tiên của chuỗi
Thuật toán quy hoạch động đ sắp hàng ba chuỗi đư c mô tả chi tiết
ở Thuật toán 5.1 bao gồm những bước chính sau:
Bước 1: Tìm bài toán cơ sở mà nghiệm tối ưu của bài toán đó có th d dàng tìm đư c Trong trường h p bài toán sắp hàng ba chuỗi thì bài toán cơ sở là sắp hàng ba chuỗi có độ dài bằng ghiệm tối ưu của bài toán cơ sở là 0
Bước 2: Xây dựng công thức truy hồi đ tìm nghiệm tối ưu của bài có kích thước lớn dựa trên nghiệm của các bài toán có kích thước nh hơn Trong trường h p bài toán sắp hàng ba chuỗi, nghiệm tối ưu của bài toán với ba chuỗi tiền tố và đư c xây dựng trên nghiệm tối ưu của bảy bài toán có kích thước nh hơn là:
Nghiệm của bài toán với ba chuỗi tiền tố
ghiệm của bài toán với ba chuỗi tiền tố
Nghiệm của bài toán với ba chuỗi tiền tố
Nghiệm của bài toán với ba chuỗi tiền tố
Nghiệm của bài toán với ba chuỗi tiền tố
Nghiệm của bài toán với ba chuỗi tiền tố
Nghiệm của bài toán với ba chuỗi tiền tố
Bước 3: Từ bảng lưu nghiệm của các bài toán với kích thước khác nhau, xây dựng nghiệm của bài toán với dữ liệu đầu vào
Trang 8Giáo trình Nhập môn tin sinh học 87
Thuật toán quy hoạch động sắp hàng ba chuỗi ADN
Dữ li u vào: Ba chuỗi ADN và ; Ma
trận đi m th hiện mức độ giống nhau giữa các kí tự thuộc tập kí tự
Yêu cầu: Sắp hàng ba chuỗi và đ tổng đi m giống nhau là lớn nh t Dữ li u ra: Ba chuỗi , và là kết quả của việc sắp hàng Ý tưởng: Gọi : Chuỗi tiền tố gồm i nuclêôtít đầu tiên của ; : Chuỗi tiền tố gồm j nuclêôtít đầu tiên của : Chuỗi tiền tố gồm v nuclêôtít đầu tiên của ( ) Tổng đi m lớn nh t (nghiệm tốt nh t) khi sắp hàng ba chuỗi tiền tố và h ng ta d dàng nhận th y là nghiệm tối ưu của bài toán cơ sở sắp hàng ba chuỗi rỗng
Ta th y, có bảy khả năng xảy ra khi so sánh ba nuclêôtít và : m
– m
– m
– – m
– m
– – m
– – m
Tức là ch ng ta có th tính bằng công tức truy hồi như sau:
{
–
–
– –
–
– –
– –
Công thức 5.5
trong đó là đi m giống nhau khi sắp 3 kí tự
Trang 9Giáo trình Nhập môn tin sinh học 88
vào cùng một cột trên ba chuỗi sắp hàng
Thuật toán:
Bước : Khởi tạo giá trị cho bài toán cơ sở
Bước 2: Với mọi bộ ba giá trị , tính giá
trị cho bộ ba tiền tố và theo ông thức 5.5
Bước : sẽ là nghiệm tốt nh t của bài toán sắp hàng cho ba chuỗi
và Sử dụng bảng đ thực hiện chèn các d u ‘’ vào ba chuỗi
đ thu đư c ba chuỗi sắp hàng , và tương ứng
Thuật toán 5.1: Thuật toán quy hoạch động giải quyết bài toán sắp hàng ba
chuỗi ADN
Ví dụ với ba chuỗi = “T T”, = “T TT” và = “ T”, ta xây dựng đư c bảng với giá trị lớn nh t tương ứng với sắp hàng ở Bảng 5.7
Bảng 5.7: Sắp hàng tối ưu ba chuỗi ADN = “TGACGT”, = “TGACTT”
và = “CGACT” Tổng điểm giống nhau là 19
ộ phức tạp của thuật toán quy hoạch động cho bài toán sắp hàng ba chuỗi
Trang 10Giáo trình Nhập môn tin sinh học 89
Thuật toán Ngôi sao
5.3
ó nhiều thuật toán gần đ ng với độ phức tạp tính toán khác nhau đ giải quyết bài toán sắp hàng đa chuỗi Sau đây ch ng ta tìm hi u thuật toán gôi sao (Star) đ giải quyết bài toán sắp hàng đa chuỗi một cách gần đ ng và đơn giản
Tư tưởng chính thuật toán Ngôi sao như sau: Xu t phát từ một đa sắp hàng ban đầu ch gồm duy nh t một chuỗi, gọi là chuỗi trung tâm, thuật toán gôi sao
sẽ lần lư t sắp hàng các chuỗi còn lại vào đa sắp hàng hiện tại đ thu đư c một đa sắp hàng mới lớn hơn (nhiều hơn một chuỗi so với đa sắp hàng hiện tại) uá trình sắp hàng kết th c khi đa sắp hàng hiện tại chứa t t cả chuỗi đầu vào huỗi trung tâm trong thuật toán gôi sao đư c lựa chọn sao cho tổng mức
độ giống nhau của nó với các chuỗi khác là lớn nh t ụ th là, với mỗi chuỗi , tổng mức độ giống nhau (mức độ trung tâm), kí hiệu là của so với các chuỗi khác đư c tính theo công thức sau:
∑
Công thức 5.6
trong đó là mức độ giống nhau giữa hai chuỗi
Thuật toán gôi sao đư c trình bày chi tiết ở Thuật toán 5.2
Thuật toán Ngôi sao (Star)
Dữ li u vào: Tập bao gồm n chuỗi ADN
Yêu cầu: Sắp hàng các chuỗi của tập đ thu đư c đa chuỗi sắp hàng với tổng
đi m giống nhau là lớn nh t
Dữ li u ra: a chuỗi sắp hàng trong đó là chuỗi sau khi đã
đư c sắp hàng
Thuật toán:
Bước : Tìm chuỗi trung tâm theo ông thức 5.6 Không m t tính tổng
quát, giả sử chuỗi trung tâm tìm đư c là Tức là:
m Gọi là đa sắp hàng hiện tại (chứa duy nh t chuỗi trung tâm )
Bước 2: Lần lư t sắp hàng các chuỗi còn lại vào đa sắp hàng hiện tại Việc đưa chuỗi vào đa sắp hàng đư c thực hiện như sau:
Bắt c p chuỗi với chuỗi trung tâm đã đư c sắp hàng (sử dụng thuật
Trang 11Giáo trình Nhập môn tin sinh học 90
toán quy hoạch động như mô tả ở Thuật toán 3.1) đ thu đư c bắt c p
hèn thêm các kí tự ‘’ vào các chuỗi đã đư c sắp hàng thuộc
đ thu đư c đa sắp hàng mới chứa chuỗi Quy tắc
chèn các d u ‘’ vào các chuỗi đã đư c sắp hàng như sau:
Nếu một d u ‘’ đư c chèn mới vào chuỗi trung tâm khi bắt c p với
, thì một d u ‘’ c ng đư c chèn vào vị trí tương ứng trên chuỗi
a sắp hàng chứa chuỗi là kết quả sắp hàng chuỗi đầu vào
Thuật toán 5.2: Thuật toán Ngôi sao (Star) giải quyết bài toán sắp hàng đa chuỗi
hi u hơn về thuật toán gôi sao, ch ng ta xét ví dụ 3 chuỗi như
ở Bảng 5.8 phía dưới; và ma trận đi m như sau:
m h với mọi nuclêôtít
mi m h với mọi nuclêôtít
( – ) ( – ) i l với mọi nuclêôtít
1 2 3 4 5 6 7 8 Điểm trung tâm
A A T T T T T T 104
T T T T T T G G 80
G G A A T T T T 80
Bảng 5.8: Ba chuỗi ADN Thuật toán gôi sao đư c tiến hành như sau:
Bước : Tìm chuỗi trung tâm
i m giống nhau giữa các c p chuỗi:
Trang 12Giáo trình Nhập môn tin sinh học 91
Vậy là chuỗi trung tâm vì đi m trung tâm của nó lớn nh t
Bước 2: Sắp hàng các chuỗi
Sắp hàng h ỗi ới h ỗi m h ắ y
1 2 3 4 5 6 7 8 9 10
A A T T T T T T – – – – T T T T T T G G
Bắt c p chuỗi với chuỗi ta thu đư c bắt c p sau đây:
1 2 3 4 5 6 7 8 9 10 11 12 – – A A T T T T T T – –
G G A A T T T T – – – –
Lưu ý: do trước khi bắt c p với có th chứa các d u ‘–‘, cho nên bắt
c p giữa và có th chứa một số cột chứa hai d u ‘–‘ (cột 11 và 12 trong ví dụ trên) hèn thêm các d u ‘–‘ vào chuỗi tại ví trí cột 1 và 2 đ thu đư c sắp hàng
của ba chuỗi như ở Bảng 5.9
1 2 3 4 5 6 7 8 9 10 11 12 – – A A T T T T T T – – – – – – T T T T T T G G
G G A A T T T T – – – –
Bảng 5.9: Sắp hàng ba chuỗi th o thuật toán Ngôi sao
ộ phức tạp thuật toán gôi sao bao gồm độ phức tạp tìm chuỗi trung tâm
và độ phức tạp sắp hàng các chuỗi còn lại với đa sắp hàng hiện tại
ộ phức tạp của bước tìm chuỗi trung tâm là ( ) với là độ dài của chuỗi
ộ phức tạp đ sắp hàng một chuỗi mới với đa sắp hàng hiện tại là O( ), vậy độ phức tạp của Bước 2 là ( )
Vậy tổng độ phức tạp của thuật toán Ngôi sao là Với độ phức tạp này, thuật toán gôi sao có th sắp hàng các tập dữ liệu lớn với hàng nghìn chuỗi
Trang 13Giáo trình Nhập môn tin sinh học 92
Thuật toán sắp hàng lũy tiến (aggressive alignment)
đa chuỗi khác nhau
Tư tưởng của thuật toán sắp hàng l y tiến là xây dựng một đa sắp hàng lớn
từ hai đa sắp hàng nh hơn ay nói cách khác, các đa sắp hàng nh sẽ đư c sắp hàng với nhau đ tạo ra một đa sắp hàng lớn hơn chứa t t cả các chuỗi của hai đa sắp hàng nh uá trình sắp hàng sẽ dừng lại khi ch ng ta thu đư c một đa sắp hàng chứa t t cả các chuỗi đầu vào Hình 5.2 minh họa quá trình sắp hàng theo thuật toán sắp hàng l y tiến
i m khác biệt chính giữa thuật toán gôi sao và thuật toán sắp hàng l y
tiến là: tại mỗi bước, thuật toán gôi sao ch tiến hành sắp hàng ột chuỗi i với
đa sắp hàng hiện tại, trong khi thuật toán sắp hàng l y tiến sắp hàng hai đa ắp hàng nh đ thu đư c một đa sắp hàng lớn hơn
Hình 5.2: Sắp hàng lũy tiến với 5 chuỗi
Thuật toán l y tiến bao gồm 4 bước đư c thực hiện liên tiếp nhau:
Bước khởi tạo: oi mỗi chuỗi đầu vào là một đa sắp hàng Gọi đa sắp
hàng ban đầu là
Bước tìm kiếm: Tìm hai đa sắp hàng giống nhau nh t trong số các đa sắp
hàng hiện tại, giả sử là ch ng là
Trang 14Giáo trình Nhập môn tin sinh học 93
Bước sắp hàng: Sắp hàng hai đa sắp hàng đ thu đư c một đa sắp
hàng mới ; thay thế hai đa sắp hàng bằng đa sắp hàng mới
Bước kiểm tra: Kết th c thuật toán nếu ch còn lại một đa sắp hàng chứa t t cả chuỗi, nếu không quay lại Bước tìm kiếm ai bước quan trọng trong thuật toán l y tiến là: Bước tìm kiếm và Bước sắp hàng h ng ta sẽ lần lư t tìm hi u chi tiết về hai bước này Điểm giống nhau giữa hai đa sắp hàng 5.4.2 tìm kiếm hai đa sắp hàng có độ giống nhau cao nh t trong danh sách các đa sắp hàng hiện tại, ch ng ta cần xác định cách đo đi m giống nhau giữa hai đa sắp hàng Xét hai đa sắp hàng ( ) và ( ), độ giống nhau ( ) giữa hai đa sắp hàng có th đư c tính bằng độ giống nhau lớn nh t giữa hai chuỗi ̀ ụ th , ( ) đư c tính như sau: ( ) m ( )
với ( ) là đi m giống nhau giữa hai chuỗi
Ví dụ, xét 4 chuỗi:
và hệ thống đi m như sau:
m h với mọi nuclêôtít
mi m h với mọi nuclêôtít
( – ) ( – ) ới m i nuclêôtít
iả sử và là hai đa sắp hàng:
1 2 3 4 5 6 7
G G A T T G T
G G A A G G
A A G G T T
A G G T
Trang 15Giáo trình Nhập môn tin sinh học 94
Ta có th tính đi m giống nhau giữa các chuỗi thuộc và các chuỗi thuộc :
Vậy đi m giống nhau đư c tính như sau: m
Sắp hàng hai đa sắp hàng 5.4.3 Xét hai đa sắp hàng , ch ng ta sẽ tìm hi u thuật toán sắp hàng hai đa sắp hàng này Tư tưởng của thuật toán như sau: m h ỗi iố h hấ i
h ỗi iểm iố h lớ hấ i l
ắ h h i h ỗi ; trong ví d trên là sắp hàng hai chuỗi :
1 2 3 4 5 6 7 8 G G A A G G A A G G T T Sử dụng sắp hàng giữa đ chèn thêm các d u ‘–’ vào các chuỗi của đ thu đư c một đa sắp hàng mới chứa t t cả các chuỗi của guyên tắc chèn ‘–’ như sau:
ếu d u ‘–’ đư c chèn vào vị trí trên chuỗi thì d u ‘–’ sẽ đư c chèn
vào vị trí trên mọi chuỗi của
ếu d u ‘–’ đư c chèn vào vị trí trên chuỗi thì d u ‘–’ sẽ đư c chèn
vào vị trí trên mọi chuỗi của
Phía dưới là sắp hàng của trong ví dụ trên
G G A T T G T
G G A A G G
Thuật toán
5.4.4
Thuật toán sắp hàng đa chuỗi l y tiến đư c trình bày chi tiết ở Thuật toán 5.3 và minh họa ở Bảng 5.10
Trang 16Giáo trình Nhập môn tin sinh học 95
Thuật toán sắp hàng lũy tiễn sắp hàng đa chuỗi
Dữ li u vào: Tập bao gồm n chuỗi ADN
Yêu cầu: Sắp hàng các chuỗi của tập đ thu đư c đa chuỗi sắp hàng với tổng
đi m giống nhau là lớn nh t
Dữ li u ra: a chuỗi sắp hàng trong đó là chuỗi sau khi đã
đư c sắp hàng
Thuật toán:
ư c h i tạo: t là tập n đa sắp hàng, mỗi đa sắp
hàng chứa duy nh t một chuỗi
ư c t iế : Tìm hai đa sắp hàng giống nhau nh t trong số các đa sắp
hàng hiện tại, giả sử là ch ng là và
ư c ắp hàng: Sắp hàng hai đa sắp hàng và đ thu đư c một đa sắp hàng mới chứa t t cả các chuỗi của hai đa sắp hàng và ; thay thế hai
đa sắp hàng và bằng đa sắp hàng mới
ư c i t a: Kết th c thuật toán nếu ch còn lại một đa sắp hàng chứa t t cả chuỗi, nếu không quay lại Bước tìm kiếm Thuật toán 5.3: Thuật toán lũy tiến sắp hàng đa chuỗi Xét ví dụ tập bốn chuỗi :
Quá trình sắp hàng l y tiến đư c minh họa như sau: Khởi tạo 1 2 3 4 5 6 7 8 G G A T T G T G G A A G G A A G G T T A G G T ) lớn nh t, bắt c p thu đư c G G A T T G T G G A A G G