Sẵp xếp chuỗi sinh học không những cho chúng ta thấy được mối quan hệ tiến hoá giữa các loài sinh vật mà còn được áp dụng trong một số bài toán khác như chuẩn đoán cấu trúc bậc hai của p
Trang 1- 48 -
MỘT SỐ PHƯƠNG PHÁP TRONG SẮP XẾP CHUỖI SINH HỌC
Sinh viên: Vũ Hồng Khiêm
MSV: 0121955
Email: vuhongkhiem@gmail.com
Người hướng dẫn: ThS Trần Thị Minh Châu
NCS Lê Sĩ Vinh
1 Giới thiệu
Thế kỉ 21 sẽ là thế kỉ của Tin học và Sinh
học Hai ngành khoa học đang ngày càng khẳng
định vai trò khoa học mũi nhọn của mình trong
sự phát triển chung của nhân loại.Trên thực tế,
sự ra đời của Tin sinh học, một ngành mới kết
hợp giữa Tin Học và Sinh học, như là một qui
luật tất yếu của sự phát triển Tin Sinh Học đã
được sự hưởng ứng tham gia của đông đảo
những nhà nghiên cứu trên toàn thế giới Bản
thân tôi, một người lính mới, kiến thức và kinh
nghiệm chưa nhiều, cũng mong muốn sẽ được
đóng góp một phần nhỏ bé nào đó trong công
cuộc khai phá miền đất mới mẻ này
Một trong những bài toán điển hình trong
Tin Sinh Học là bài toán sắp xếp các chuỗi sinh
học thẳng hàng Sẵp xếp chuỗi sinh học không
những cho chúng ta thấy được mối quan hệ tiến
hoá giữa các loài sinh vật mà còn được áp dụng
trong một số bài toán khác như chuẩn đoán cấu
trúc bậc hai của protein…
2 Khái niệm/kiến thức cơ bản
Một trở ngại đầu tiên đối với người làm Tin
Sinh Học đó là phải hiểu rõ về các khái niệm
được coi là cốt tử trong sinh học phân tử, một
nhánh của Sinh học nghiên cứu vật chất trong
thế giới vi mô Việc tìm hiểu các khái niệm này
phục vụ cho nghiên cứu Tin Sinh Học chủ yếu
tập chung vào cấu trúc không gian của chúng
Trong khoá luận của mình, tôi cũng đã tập
chung nêu ra các khái niệm về DNA, RNA, và
protein, đây là những khái niệm quan trọng
nhất cần phải xác định, phần lớn các vấn đề
trong Tin sinh học chỉ tập chung quanh các khái
niệm trên
Chuỗi sinh học thực chất là biểu diễn tuyến
tính của các đại phân tử sinh học DNA, RNA
hay protein Chúng được biểu diễn bằng một
dãy liên tiếp có thứ tự các chữ cái đại diện Ví
dụ về các chuỗi sinh học biểu diễn 1 đoạn trong
chuỗi axid amin của protein
”RDILSVKNAGI” Bài toán sắp xếp chuỗi
sinh học thực chất là tìm một giả thuyết phù hợp nhất về mối quan hệ tiến hoá của hai hay nhiều chuỗi sinh học tương ứng Do bản chất số
tự nhiên của các chuỗi sinh học cũng như kích thước các chuỗi có thể lên tới hàng triệu đơn vị, chính vì vậy việc thực hiện sắp xếp bằng các phương pháp thông thường là hoàn toàn không thể, chúng ta cần phải áp dụng những thuật toán cũng như kĩ thuật trong Tin học để có thể giảm được lượng tính toán cần thiết Cụ thể trong khoá luận của tôi đã sử dụng các phương pháp qui hoạch động kết hợp với phương pháp chia
để trị nhằm phục đích đưa ra những phương án tối ưu nhất có thể
3 Sắp xếp 2 hay nhiều chuỗi sinh học 3.1 Sắp xếp 2 chuỗi
Sắp xếp 2 chuỗi là bài toán hạt nhân, quan trọng nhất trong sắp xếp chuỗi sinh học Đặc tả bài toán có dạng như sau:
Một sắp xếp thực hiện trên 2 chuỗi là việc
bố trí thêm các khoảng trống (biểu diễn bởi dấu
“-“) vào các vị trí nhất định nào đó trên mỗi chuỗi sao cho thoả mãn 2 điều kiện:
Thứ tự các phần tử trên 2 chuỗi không thay đổi
2 chuỗi đích thể hiện được “mức độ tương đồng” lớn nhất
Mức độ tương đồng được phản ánh thông qua số lượng các cặp giống nhau ở cùng 1 vị trí nhất định trên 2 chuỗi Nếu sắp xếp đưa ra được nhiều cặp giống nhau nhất thì sắp xếp đó là tối
ưu mà ta chúng ta phải sử dụng thuật toán để tìm ra nó Do các đặc thù về tiêu chuẩn của sắp xếp phải thỏa mãn, người ta cũng phân sắp xếp chuỗi thành 2 loại khác nhau
Để có thể giải quyết bài toán sắp xếp chuỗi sinh học, trước hết tôi áp dụng phương pháp mô hình hóa để đưa vấn đề về việc tìm đường đi trong trong đồ thị định hướng Sau đó sẽ áp dụng phương pháp qui hoạch động để giải quyết bài toán tìm đường đi nói trên Nội dung thuật toán có thể được mô tả theo các bước sau:
Trang 2- 49 -
Khởi tạo ma trận tìm đường đi tối
ưu
Dựa trên các qui tắc gán trọng
số/trừ điểm khoảng trắng ta sẽ tính
toán các điểm còn lại trong ma trận
cho tới khi lấp đầy ma trận
Tìm lại đường đi ngắn nhất bằng kĩ
thuật back-tracking
Vấn đề quan trọng nhất đối với bài toán sắp
xếp 2 chuỗi đó là cách đánh giá của chúng ta
đối với các tham số cho hàm trừ điểm các
khoảng trống này, một công việc mang nhiều ý
nghĩa sinh học xong lại ảnh hưởng đến kết quả
Ngoài ra, việc sử dụng ma trận trọng số cũng có
ý nghĩa rất quan trọng đến việc kết quả thực thi
của bài toán
3.2 Bài toán sắp xếp nhiều chuỗi
Sắp xếp nhiều chuỗi là sắp xếp chuỗi áp
dụng cho nhiều chuỗi sinh học khác nhau, nó
có rất nhiều ứng dụng trong việc xây dựng cây
phả hệ giữa nhiều loài sinh vật và trong vấn đề
chuẩn đoán cấu trúc bậc cao của protein Về
mặt lý thuyết ta hoàn toàn có thể áp dụng kĩ
thuật lập trình động như đã làm với trường hợp
2 chuỗi Tuy vậy, phương pháp trên không thể
đáp ứng được yêu cầu về thời gian thực thi,
ngay cả khi số lượng chuỗi cần sắp xếp chỉ có 3
hay 4 chuỗi Chính vì vậy, người ta đã phải áp
dụng nhiều kĩ thuật khác nhau nhằm tối ưu hóa
thời gian tính toán Trong phần này, tôi đã tìm
hiểu cách tiếp cập phả hệ, cụ thể là sử dụng
phương pháp ClustalW, đây là một phương
pháp được sử dụng rộng rãi và có thể nói là
cách tiếp cận hiệu quả nhất cho tới thời điểm
này ClustalW đã và đang được cải tiến hơn nữa
bởi rất nhiều nhóm nghiên cứu khác nhau
Nội dung cơ bản của cách tiếp cận phả hệ đó
là việc xây dựng cây phát sinh loài, hay còn gọi
là cây chỉ dẫn Cây này mô tả một cách trực
quan mối quan hệ tiến hóa giữa các chuỗi được
sắp xếp Sau khi đã có cây phát sinh loài, sắp
xếp đa chuỗi được xây dựng dựa trên việc
nhóm các chuỗi theo thứ tự độ tương đồng lớn
nhất tại thời điểm đó Như vậy, các chuỗi sẽ
đựợc lần lượt thêm vào sắp xếp cho đến khi kết
thúc quá trình
4 Kết luận và kết quả thu được
Qua thời gian nghiên cứu của mình, tôi cũng
đã học hỏi được rất nhiều điều lý thú từ lĩnh vực khoa học mới mẻ này, đặc biệt là cách thức
áp dụng các thuật toán Tin học vào việc giải quyết một vấn đề thực tế trong các lĩnh vực khác Tôi đã nghiên cứu và cài đặt thành công thuật toán sắp xếp loại 1 áp dụng cho 2 chuỗi sinh học khác nhau Kết quả thu được có độ chính xác cao và có thể áp dụng cho nhiều bài toán nghiên cứu về sau
Đối với bài toán sắp xếp nhiều chuỗi, tôi đã tham khảo và làm thực nghiệm với phần mềm ClustalW do Viện nghiên cứu Tin Sinh Học Châu Âu phát triển Kết quả thực nghiệm trên những bộ dữ liệu rất lớn, với lượng tính toán khổng lồ đã chứng minh tính ưu việt cao của phương pháp này
5 Kết luận
Trong thời gian làm khóa luận này, tôi tập chung phần lớn thời gian vào tìm hiểu các vấn
đề liên quan đến kĩ thuật tối ưu hóa trong thuật toán sắp xếp áp dụng cho hai chuỗi Đây cũng
là vấn đề có vai trò rất quan trọng bởi nó là một thành phần được sử dụng lại nhiều lần trong bài toán sắp xếp với nhiều chuỗi Trên thực tế, có rất nhiều cách tiếp cận giải quyết khác nhau đối với sắp xếp nhiều chuỗi Việc tìm ra một cách giải quyết độc lập và hiểu quả là một hướng hoàn toàn khả thi cao Đây sẽ là một hướng đi
mà tôi chọn trong thời gian nghiên cứu tiếp theo
Tuy kết quả chưa đạt những thành công lớn, xong tôi cũng đã có dịp tìm hiểu những kiến thức về Sinh học phân tử, những thứ sẽ cần thiết cho tôi có thể thuận lợi hơn khi áp dụng các kiến thức trong Tin học vào Sinh Học
Tài liệu tham khảo
[1] Arthur M Lesk, “Introduction to Bioinformatics” University of Cambridge
[2] Julie D.Thompson and Desmond G.Higgins+ and Toby J.Gibson,
“CLUSTALW: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice”