i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THANH NGỌC
MỘT SỐ KỸ THUẬT ỨNG DỤNG ĐỂ LẮPRÁP HỆ
GEN VỚI DỮ LIỆU TRÌNH TỰ NGẮN TRONG TIN
SINH HỌC
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. NGUYỄN CƢỜNG
Thái Nguyên – 2014
ii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THANH NGỌC
MỘT SỐ KỸ THUẬT ỨNG DỤNG ĐỂ LẮP RÁP
HỆ GEN VỚI DỮ LIỆU TRÌNH TỰ NGẮN TRONG
TIN SINH HỌC
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. NGUYỄN CƢỜNG
Thái Nguyên – 2014
iii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn này là công trình nghiên cứu thực sự của
cá nhân dƣới sự hƣớng dẫn khoa học của TS. Nguyễn Cƣờng. Các số liệu,
những kết luận nghiên cứu đƣợc trình bày trong luận văn này trung thực và
chƣa từng công bố dƣới bất cứ hình thức nào. Tôi xin chịu trách nhiệm về
nghiên cứu của mình.
Học viên
Nguyễn Thị Thanh Ngọc
iv
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn Tiến sĩ Nguyễn Cƣờng, ngƣời
thày đã trực tiếp hƣớng dẫn tôi hoàn thành luận văn này. Thày đã tận tình hƣớng
dẫn, chỉ bảo và cung cấp những tài liệu liên quan đồng thời động viên tinh thần
giúp tôi vƣợt qua nhiều khó khăn trong quá trình thực hiện luận văn. Tôi cũng
xin chân thành cảm ơn quý Thầy (Cô) giảng dạy chƣơng trình cao học chuyên
ngành “ Khoa học máy tính” đã truyền đạt những kiến thức hữu ích và giúp tôi
khi thực hiện nghiên cứu. Xin cảm ơn các quý Thầy, Cô công tác tại Trƣờng Đại
học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã tạo điều
kiện cho tôi đƣợc tham gia và hoàn thành khoá học.
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày tháng năm 2014
Học viên
Nguyễn Thị Thanh Ngọc
v
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT………………………………………… …iv
DANH MỤC BẢNG BIỂU viii
DANH MỤC HÌNH ẢNH ix
MỞ ĐẦU 1
Chƣơng 1: CƠ SỞ LÝ THUYẾTCỦA BÀI TOÁN LẮP RÁP TRÌNH TỰ GEN 3
1.1 Bài toán lắp ráp trình tự gen 3
1.2. Định dạng cơ sở dữ liệu và những sai số thƣờng gặp trong bài toán lắp ráp 7
1.3. Ứng dụng của công nghệ đọc trình tự gen 13
Chƣơng 2: MỘT SỐ KỸ THUẬT LẮP RÁP HỆ GEN VỚI DỮ LIỆU TRÌNH
TỰ ĐOẠN NGẮN TRONG TIN SINH HỌC 15
2.1. Thuật toán Overlap Layout Consensus (OLC) 15
2.2. Thuật toán sử dụng Đồ thị De Bruijn 17
2.3. Thuật toán Short Sequence Assembler (SSA) 20
2.3.1. Giới thiệu về thuật toán SSA 21
2.3.2. Sửa lỗi 22
2.3.3. Xây dựng Overlap graph 22
2.3.3.1. Bảng băm……………………………………………………………23
2.3.3.2 Xây dựng cạnh trên Overlap graph………………………………… 23
2.3.3.3. Hạn chế cạnh bắc cầu………………………………………….…….26
2.3.3.4. Rút gọn các tuyến ghép………………………………….………… 33
Chƣơng 3: CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN SSA 36
3.1. Yêu cầu đầu vào và đầu ra của thuật toán: 36
3.2. Đánh giá thuật toán và Kết quả thí nghiệm: 41
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 56
vi
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC CÁC TỪ VIẾT TẮT
STT
Từ viết tắt/thuật ngữ
Nghĩa/Mô tả
1.
ADN
(DNA) Deoxyribo Ducleic Acid
2.
BP
Base pair
3.
GB (G base)
Giga base pair
4.
NST
Nhiễm sắc thể
5.
DNA senquencing
Đọc trình tự DNA
6.
HGP
Dự án hệ giải trình tự hệ gen con ngƣời
7.
DdNTP
Dideoxynucleotide
8.
Nucleotide
Các trình tự A,T,G,C
9.
Sanger (SAGE)
Tên thiết bị đọc trình tự đoạn ngắn (1500bp)
10.
ABI SOLID
Tên thiết bị đọc trình tự
11.
Dntp
Deoxynucleotide
12.
Gdna
DNA thuộc nhiễm sắc thể
13.
SBL
Đọc trình tự gắn nối (sequencing by ligation)
14.
GS20
Tên thiết bị đọc trình tự
15.
Illumina Solexa 1G
Tên thiết bị đọc trình tự
16.
Roche 454 FLX
Tên thiết bị đọc trình tự
17.
Scaffold
(Super cotig)chuỗi các cotig
18.
Tandem Repeat
Các khối nhỏ có kích thƣớc từ vài base đến vài
chục base bị lặp đi lặp lại nhiều lần.
19.
Large repeat regions
Chuỗi lặp lớn lên tới vài nghìn base
20.
Fragment
Mảnh DNA
21.
Read
Đoạn trình tự ngắn
22.
Cotig
Đoạn trình tự dài
23.
De Bruijn
Tên một thuật toán lắp ráp hệ gen với dữ liệu
24.
pyrosequencing
Đọc trình tự đoạn ngắn (100bp)
25.
Insert size (fragment
khoảng cách giữa 2 đoạn read xuôi và ngƣợc
vii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
length)
26.
Coverage
số bản sao chép của hệ gen gốc đƣợc giải mã
27.
paired-end short
reads
Lắp ráp trình tự sử dụng cặp read ngắn
28.
Ligation error
Lỗi giải trình tự
29.
ALLPAHTS
Tên phƣơng pháp lắp ráp hệ gen với dữ liệu
30.
overlap graph
Đồ thị
31.
Node
Nút trong đồ thị
32.
Tip
một node trong đồ thị mà từ vị trí đó không có
cạnh dẫn tới node nào khác
33.
Bubble
Lỗi trong đồ thị, xuất hiện khi tồn tại hai đƣờng
dẫn giữa hai điểm node
34.
SSA
(Short Sequence Assembler) thuật toán lắp ráp
35.
Neighbour
Hàng xóm – điểm lân cận
viii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC BẢNG BIỂU
Bảng 3.1. Bảng tóm tắt kết quả lắp ráp giữa thuật toán SSA và Velvet 53
Bảng 3.2: Thống kê tỉ lệ trình tự đƣợc sử dụng để lắp ráp 54
ix
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC HÌNH ẢNH
Hình 1.1. Quy trình phân tích hệ gen sinh vật từ dữ liệu giải trình tự 4
Hình 1.2. Minh họa phép lắp ráp hệ gen 5
Hình 1.3. Công nghệ giải mã hệ gen 6
Hình 1.4. Nguyên lý lắp ráp trình tự ngắn thành các contig 7
Hình 1.5. Sequencing error 10
Hình 1.6. Ligation error 10
Hình 1.7. Sửa lỗi giải trình tự sử dụng nhiều bản sao 11
Hình 1.8.Không phải lỗi trong giải trình tự 12
Hình 1.9. Một ví dụ của „Tandem repeat‟ 12
Hình 2.1: Overlap graph 16
Hình 2.2. Đồ thị De Bruijn 17
Hình 2.3. Đồ thị De Bruijn 18
Hình 2.4: Mô tả thuật toán „Breadcrumbs‟ 20
Hình 2.5. Chuỗi băm của Read 24
Hình 2.6. Sử dụng bảng băm để tìm những đoạn giống nhau trong chuỗi 24
Hình 2.7. Đồ thị Overlap graph với 10 read 25
Hình 2.8.Các Read trùng lặp nhau 26
Hình 2.9. Tập hợp các read đầu vào 29
Hình 2.10 Các loại Read trùng lặp nhau 33
Hình 2.11: Đồ thị Overlap Graph sau khi hạn chế cạnh bắc cầu 33
Hình 2.12: Đồ thị sau khi rút gọn các tuyến ghép 34
Hình 3.1. File config định dạng số liệu về các đoạn trình tự đầu vào 38
Hình 3.2. File H37Rv.scafStatistics thống kê số liệu đã lắp ráp 41
Hình 3.3. Chất lƣợng trung bình của các đoạn trình tự trong bộ dữ liệu 44
Hình 3.4. Chất lƣợng trình tự theo vị trí base 45
Hình 3.5. Chiều dài các đoạn trình tự trong bộ dữ liệu 46
Hình 3.6. Tỉ lệ base chƣa xác định trong các trình tự 47
Hình 3.7. Tỉ lệ thành phần base 48
x
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 3.8. Tỉ lệ thành phần GC 49
Hình 3.9. Tỉ lệ lặp trình tự 50
Hình 3.10. Minh họa hoạt động của SSA 51
Hình 3.11. Minh họa hoạt động của Velvet 52
1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỞ ĐẦU
Tin sinh học (bioinformatics) là một lĩnh vực khoa học sử dụng các công
nghệ của ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính và toán
sinh học (biomathematics) để giải quyết các vấn đề sinh học.
Những nghiên cứu trong ngành tin sinh học (bioinformatics) thƣờng trùng
lặp với sinh học tính toán (computational biology) hoặc sinh học hệ thống
(system biology).Những lĩnh vực nghiên cứu chính của nó bao gồm bắt cặp trình
tự (sequence alignment), bắt cặp cấu trúc protein (protein structural alignment),
dự đoán cấu trúc protein (protein structural prediction), dự đoán biểu hiện gen
(gene expression), tƣơng tác protein-protein (protein-protein interaction), mô
hình hoá quá trình tiến hoá.Thuật ngữ tin sinh học và sinh học tính toán thƣờng
đƣợc dùng hoán đổi cho nhau, nhƣng nói một cách nghiêm túc thì cái trƣớc là
tập con của cái sau. Mối quan tâm chính ở tin sinh học và sinh học tính toán là
việc sử dụng các công cụ toán học để phân chiết các thông tin hữu ích từ các dữ
liệu hỗn độn thu nhận đƣợc bằng các kỹ thuật sinh học với lƣu lƣợng và mức độ
lớn. Nhƣ vậy, về phƣơng diện này lĩnh vực khai phá dữ liệu (data mining) có sự
trùng lặp với sinh học tính toán. Bài toán đặc trƣng trong sinh học tính toán bao
gồm việc lắp ráp (assembly) những trình tự ADN chất lƣợng cao từ những đoạn
ngắn ADN đƣợc thu nhận từ kỹ thuật xác định ADN và việc dự đoán quy luật
điều hoà gen (gene regulation) với dữ liệu từ các mARN, microarray hay khối
phổ (mass-spectrometry).
Các lĩnh vực nghiên cứu chính của tin sinh học gồm hệ gen học phân tích
trình tự, tìm kiếm gen, tìm kiếm các đột biến, phân loại học phân tử, bảo tồn đa
dạng sinh học, phân tích chức năng gen hay biểu hiện nhận diện chuỗi
polypeptid dự đoán cấu trúc của protein các hệ thống sinh học kiểu mẫu, phân
tích hình ảnh mức độ cao, công cụ phần mềm.
Trong đó, bài toán lắp ráp trình tự là một bài toán khó của phân tích
trình tự hệ gen học. Do đó, nhận thấy tính thiết thực của vấn đề và với sự
2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
định hƣớng của giáo viên hƣớng dẫn TS. Nguyễn Cƣờng, tôi chọn đề tài
“Một số kỹ thuậtứng dụngđể lắp ráp hệ gen với dữ liệu trình tự ngắn
trong tin sinh học”. Đề tài này sẽ trình bày một số kỹ thuật lắp ráp các đoạn
trình tự ngắn (read) thành các đoạn trình tự dài hơn (contigs) từ thiết bị đọc
trình tự thế hệ mới và thử nghiệm cài đặt một chƣơng trình có chức năng lắp
ráp các đoạn reads ngắn thành các đoạn contigs dài hơn.
3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Chƣơng 1: CƠ SỞ LÝ THUYẾT
CỦA BÀI TOÁN LẮP RÁP TRÌNH TỰ GEN
1.1 Bài toán lắp ráp trình tự gen
Đọc trình tự gen (DNA sequencing) là việc xác định thứ tự các nucleotide
gắn kết với nhau dọc theo chiều dài của gen (DNA), và trình tự gắn kết nhau của
các nucleotide đƣợc gọi là trình tự gen. Thông tin về trình tự gen rất hữu ích cho
các nghiên cứu sinh học cơ bản và trong nhiều lĩnh vực ứng dụng nhƣ chẩn
đoán, công nghệ sinh học, sinh học pháp y, và hệ thống sinh học.
Từ những năm đầu của thập kỷ 70 của thế kỷ trƣớc, các nhà khoa hoc đã
thu đƣợc thành công đầu tiên về trình tự gen bằng sử dụng các phƣơng pháp thủ
công dựa trên sắc ký hai chiều. Đến 1990, chƣơng trình genome ngƣời (HGP) đã
bắt đầu, nhằm tìm hiểu cơ sở di truyền của các bệnh tật. Chƣơng trình đã thu
đƣợc một trình tự gen với độ chính xác cao (~99,99%). Tuy nhiên ở thời điểm
này, đọc trình tự ADN gặp phải vấn đề là các thiết bị chi phí quá đắt đỏ và mất
thời gian để đọc nguyên vẹn hệ gen. Chúng chỉ phù hợp cho kiểm tra các gen
riêng lẻ, một số xét nghiệm chẩn đoán phân tử sử dụng trong các phòng thí
nghiệm y học nhƣ di truyền phân tử, di truyền dƣợc học, bệnh về máu và vi sinh.
Với mong muốn hiểu chi tiết về gen các nhà nghiên cứu luôn mong muốn giải
trình tự hoàn chỉnh các ADN, hoặc gen của nhiều loài trong cuộc sống, bao gồm
cả hệ gen của con ngƣời và toàn bộ trình tự ADN khác của nhiều động vật, thực
vật và các loài vi sinh vật. Ngày nay, các công ty thƣơng mại đã cho ra đời các
thế hệ máy đọc trình tự dựa trên nhiều công nghệ mới. Các kỹ thuật đọc trình tự
gen đã trở nên đơn giản và nhanh hơn nhờ sự ứng dụng huỳnh quang phân tích
tự động (Olsvik, Wahlberg et al. 1993; Pettersson, Lundeberg et al. 2009). Các
công nghệ đọc trình tự mới luôn hƣớng tới làm tăng dung lƣợng (throughput) và
làm giảm thời gian, giảm giá thành (Schadt, Turner et al. 2010).
Từ dữ liệu thô ban đầu, các nhà khoa học tiến hành tiền xử lý dữ liệu bằng
4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
hoá chất đƣợc dữ liệu tinh sạch, dữ liệu sạch này qua thiết bị đọc trình tự thế hệ
mới sẽ thu đƣợc các đoạn trình tự ngắn ADN dƣới dạng A,C,G,T. Các đoạn
trình tự ngắn này là một khối dữ liệu khổng lồ mà các nhà sinh học khó có
thể xử lý thủ công nếu không cần sự giúp đỡ của các kỹ thuật, thuật toán của
ngành khoa học máy tính. Bài toán lắp ráp đƣợc đặt ra khi các đoạn trình tự
ngắn đƣợc giải mã từ hai đầu của đoạn theo cả chiều thuận và chiều nghịch
Khó khăn xảy ra trong việc giải mã là việc sắp xếp lại các mảnh trình tự
ngắn lại với nhau để tạo nên gen gốc ban đầu. Mục tiêu của luận văn này
cũng tập trung vào vấn đề tìm hiểu các kỹ thuật lắp ráp hệ gen với dữ liệu từ
các đoạn trình tự ngắn này thành các đoạn trình tự dài hơn.
Hình 1.1. Quy trình phân tích hệ gen sinh vật từ dữ liệu giải trình tự
5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Lắp ráp trình tự đoạn ngắn đƣợc phát biểu nhƣ sau:“Cho một tập các cặp
reads trong đó mỗi cách đọc trình tự xuôi và ngược bị chia bởi một khoảng cách
xác định trong hệ gen nguồn, hãy dựng lại hoàn chỉnh hệ gen nguồn đó”.
Hình 1.2. Minh họa phép lắp ráp hệ gen
Chúng ta hãy hình dung bài toán lắp trình tự đoạn ngắn nhƣ sau:
Đầu tiên ta nhân bản chuỗi ADN đích hàng trăm lần, sau đó cắt nhỏ
các bản sao này thành những mảnh nhỏ. Độ dài của từng mảnh (fragment) sẽ
đƣợc quy định bằng một kích thƣớc nhất định. Mỗi mảnh sau đó sẽ đƣợc đọc
trình tự để thu đƣợc trình tự ADN dƣới dạng A,C,G,T - các
Deoxyribonucleic Acid hoặc là N – base chƣa xác định. Ở một vài trƣờng
hợp, các mảnh sẽ đƣợc giải mã từ cả 2 đầu của đoạn fragment theo cả chiều
thuận và nghịch của đoạn đọc. Khó khăn xảy ra trong việc giải mã là việc
sắp xếp lại các mảnh fragment ngắn lại với nhau để tạo nên gen gốc ban đầu
( Hình 1.2). Mục tiêu của luận văn này cũng tập trung vào vấn đề này.
6
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 1.3. Công nghệ giải mã hệ gen
Đọc trình tự thế hệ mới là một bƣớc tiến vƣợt bậc về công nghệ đọc
trình tự. Trƣớc đây, kỹ thuật Sanger 1500 bp (Sanger) chỉ có thể đọc đƣợc vài
nghìn cho đến vài chục nghìn basepair cho một lần đọc, nhƣng với công nghệ
đọc trình tự thế hệ mới dữ liệu trình tự thu đƣợc cho một lần đọc từ 8 tỷ
basepair (8Gb) đến 600 tỷ basepair (Gb), có nghĩa là cho phép đọc trình tự
toàn bộ hệ gen của các loài (hệ gen ngƣời chỉ có 3.2 tỷ basepair) (Hình 1.3).
Do vậy đọc trình tự thế hệ mới còn đƣợc gọi là đọc trình tự toàn bộ hệ gen
(whole genome sequencing). Đọc trình tự gen thế hệ mới là một công cụ
mạnh nhất để phát hiện đƣợc các tác nhân gây bệnh, với khả năng đọc đƣợc
hàng trăm ngàn đoạn ADN có trong mẫu thử thì công nghệ này rất dễ dàng
phát hiện trình tự nucleic acid của bất cứ tác nhân nào có mặt trong mẫu thử
lấy từ vật chủ hay bệnh nhân.
Tuy nhiên, nhƣợc điểm của công nghệ đọc trình tự thế hệ mới là
đoạn trình tự thu đƣợc là rất ngắn, chỉ khoảng 100~~300bp. Nhƣ vậy, sau
mỗi lần chạy, chúng ta sẽ thu đƣợc hàng trăm triệu đoạn trình tự ngắn
7
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
(reads), và nhiệm vụ lắp ráp chúng lại với nhau thành các hệ gen hoàn
chỉnh là bài toán khó.
Các công cụ lắp ráp thƣờng dựa trực tiếp vào giả thiết rằng các đoạn trình
tự có chung một phần chuỗi ADN, tức đƣợc bắt nguồn từ chung một vị trí trên
hệ gen. Qua việc tính toán với các chuỗi gối chồng này, hệ gen nguồn có thể
đƣợc dựng lại. Các trình tự đoạn ngắn trong dữ liệu thô đƣợc lắp ráp thành các
contig, các contig tiếp tục đƣợc ghép nối để tạo thành scaffold và từ các scaffold
tạo thành nhiễm sắc thể hoàn chỉnh (Hình 1.4). Contig tƣơng ứng với một chuỗi
đồng nhất đƣợc tạo thành bởi các trình tự đoạn ngắn, còn scaffold, hay còn gọi
là supercontig và metacontig, xác định thứ tự, hƣớng và các đoạn gối giữa các
contig. Trình tự của toàn bộ nhiễm sắc thể có thể đƣợc kết luận khi các scaffold
đã đƣợc sắp xếp theo thứ tự.
Hình 1.4. Nguyên lý lắp ráp trình tự ngắn thành các contig
1.2. Định dạng cơ sở dữ liệu và những sai số thƣờng gặp trong bài toán lắp ráp
a) Định dạng FASTA
Định dạng FASTA[2] đƣợc dùng để mô tả thông tin về một chuỗi
ADN (protein) bao gồm 2 phần: Phần tiêu đề và phần nội dung
Tiêu đề: bao gồm 1 dòng bắt đầu với kí từ “>” và kết thúc bởi một kí
tự xuống dòng. Phần này sẽ lƣu trữ toàn bộ thông tin mô tả về đoạn trình tự
8
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ADN (protein) nhƣ tên chuỗi, độ dài chuỗi, ngày tháng tiến hành giải mã,
loại dữ liệu
Trình tự nucleotit hoặc axit amin. Tất cả các kí tự không thuộc về
phần tiêu đề sẽ là dữ liệu mô tả các nucleotit của chuỗi ADN. Phần thông tin
này có thể chứa các dấu cách.
VD: >gi|142864|gb|M10040.1|BACDNAE B.subtilis dnaE gene encoding
DNA primase, complete cds
GTACGACGGAGTGTTATAAGATGGGAAATCGGATACCAGAT
GAAATTGTGGATCAGGTGCAAAAGTCGGCAGATATCGTTGAAGTC
ATAGGTGATTATGTTCAATTAAAGAAGCAAGGCCGAAACTACTTT
GGACTCTGTCCTTTTCATGGAGAAAGCACACCTTCGTTTTCCGTAT
CGCCCGACAAACAGATTTTTCATTGCTTTGGCTGCGGAGCGGGCGG
CAATGTTTTCTCTTTTTTAAGGCAGATGGAAGGCTATTCTTTTGCCG
Phần tiêu đề chứa các thông tin cơ bản về chuỗi nhƣ là số hiệu gi của
chuỗi (142864), GB (M10040), tên chuỗi (BACDNAE), tên sinh vật lấy mẫu
(B.subtilis)
Phần thông tin chứa trình tự ADN
GTACGACGGAGTGTTATAAGATGGGAAATCGGATACCAGAT
GAAATTGTGGATCAGGTGCAAAAGTCGGCAGATATCGTTGAA
b) Định dạng FASTQ
Định dạng FASTQ[2] đƣợc dùng để mô tả thông tin về đoạn trình tự
ADN và chất lƣợng khi đọc trình tự của đoạn ADN đó dƣới dạng mã ascii
(nói nôm na: FASTQ = FASTA + Quality).
Mỗi trình tự ADN sẽ đƣợc lƣu trong file FASTQ với 4 dòng, trong đó:
Dòng 1 bắt đầu với kí tự “@” và theo sau là chuỗi các thông tin về
dãy ADN này (giống với FASTA)
Dòng 2 là trình tự nucleotit của chuỗi (giống với FASTA)
9
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Dòng 3 bắt đầu với kí tự “+” và có thể bao gồm thêm thông tin để
định danh chuỗi
Dòng 4 là điểm chất lƣợng khi giải mã các nucletit bởi các thiết bị đọc
trình tự. Chất lƣợng của trình tự đƣợc mã hóa dƣới dạng mã ASCII.
Ví dụ:
@SRR566546.970 HWUSI-EAS1673_11067_FC7070M:4:1:2299:1109 length=50
TTGCCTGCCTATCATTTTAGTGCCTGTGAGGTGGAGATGTGAGGAT
+ hhhhhhhhhhghhghhhhhfhhhhhfffff
Kết quả các bản lắp ráp thƣờng đƣợc lƣu bằng định dạng multi-FASTA,
trong đó mỗi contig sẽ đƣợc liệt kê và đƣợc biểu thị cùng một header.Các trình
tự đồng nhất đƣợc biểu diễn sử dụng ký hiệu của International Union of Pure
and Applied Chemistry (IUPAC) bao gồm ít nhất 4 ký tự A, C, G, T. Trong một
số trƣờng hợp, một số ký tự khác có ý nghĩa đặc biệt cũng có mặt trong trình
tự.Ví dụ, bản lắp ráp scaffold có thể chứa ký tự N ở các đoạn gap giữa các
scaffold, số lƣợng ký tự N xuất hiện liên tiếp cho biết độ dài gap ƣớc lƣợng. Hệ
thống ký hiệu IUPAC cũng bao gồm một số ký tự để biểu thị các base chƣa
đƣợc xác định rõ, nhƣ ký tự Y để biểu diễn pyrimidine C hoặc T còn ký tự R
biểu diễn purine A hoặc G.
Việc lắp ráp trình tự có thể bị hạn chế bởi một vài yếu tố. Đầu tiên, giải
trình tự chỉ có thể tạo ra và đọc những trình tự có độ dài nhỏ hơn rất nhiều so với
phân tử ban đầu. Bên cạnh đó, độ phức tạp tính toán tăng lên nhiều lần do khối
lƣợng dữ liệu khổng lồ thu đƣợc từ việc giải trình tự bằng thiết bị đọc trình tự
thế hệ mới. Độ bao phủ không đồng đều trên hệ gen đích có thể khiến các kết
quả thống kê và dự đoán không có giá trị.
Bên cạnh những thách thức trên, vấn đề thƣờng gặp nhất trong việc lắp
ráp là sự xuất hiện sai số hoặc sự trùng lặp. Sai số trong lắp ráp các đoạn ngắn
paired-end short reads chủ yếu ở 2 dạng:
- Sequencing error: xảy ra trong quá trình giải mã với việc đọc lỗi một
10
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
base. Ở một số platform sequencing, hoàn toàn có thể xảy ra việc thêm hay bớt
một base pairs. Nhƣng những trƣờng hợp nhƣ thế này là hiếm gặp ở máy đọc
trình tự Illumina Solexa 1G và ABI SOLID, do đó chúng ta sẽ bỏ qua việc phải
thêm hay bớt base pairs trong việc phân tích lỗi. Trong khi các platform cố gắng
hƣớng đến giảm thiểu error rate xuống chỉ còn dƣới 1% nhƣng thực tế dữ liệu
vẫn nảy sinh error rate trong khoảng từ 1% → 5%
Hình 1.5. Sequencing error
- Ligation error /Chimetic Paired-end: Xảy ra khi hai đầu của hai đoạn
fragment khác nhau đƣợc nối với nhau và giả sử nhƣ chúng đến từ cùng một
fragment. Phân tích dữ liệu chỉ ra giá trị này nằm trong khoảng từ 1% - 10%, thƣ
viện có insert size càng lớn thì độ sai sót càng cao.
Hình 1.6. Ligation error
Sequencing error có thể đƣợc sửa bằng cách cho nhiều đoạn read phủ lên
cùng một vị trí. Phần lớn sequencing error là do ngẫu nhiên. Nếu sử dụng cách
này với năm đoạn phủ lên nhau, biết chắc một đoạn là sai thì bốn đoạn còn lại
11
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vẫn có thể tin là đúng, do đó có thể sửa đƣợc read xảy ra lỗi (Hình 1.7). Mặc dù
vậy trong hệ gen có rất nhiều vùng gần nhƣ giống nhau ngoại trừ một vài base.
Trong trƣờng hợp này công cụ lắp ráp cần nhận biết để tác chúng thành hai đoạn
riêng biệt thay vì việc ghép chúng thành một contig hay một trình tự đồng nhất
(Hình 1.8).
Hình 1.7. Sửa lỗi giải trình tự sử dụng nhiều bản sao
Tuy nhiên, có nhiều vùng trong hệ gen có đoạn mã gần giống nhau chỉ
khác nhau một hoặc một vài base.Trong trƣờng hợp này, phần mềm lắp ráp nên
xác định đƣợc đây không phải là lỗi, nếu nó xác định là lỗi và sửa lỗi này thì sẽ
dẫn đến việc tạo ra lỗi trong quá trình lắp ráp sau này (Hình 1.8).
12
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 1.8.Không phải lỗi trong giải trình tự
Trên hình 1.8 với hai đoạn read khác nhau một base. Phần mềm lắp ráp
cần phải xác định đƣợc đây không phải là lỗi Sequencing error mà hai đoạn mã
lặp ở hai vị trí khác nhau. Nếu phần mềm xác định đây là lỗi và tiến hành sửa lỗi
đó thì sẽ tạo ra lỗi cho quá trình lắp ráp về sau.
Việc lắp ráp các đoạn lặp trong chuỗi ADN là một trong những vấn đề
phức tạp và khó nhất trong quá trình lắp ráp. Các đoạn lặp có thể đƣợc chia
thành các loại sau:
Tandem repeat:
Các khối nhỏ có kích thƣớc thƣờng từ vài base cho đến vài chục base bị lặp đi
lặp lại nhiều lần đƣợc gọi là tandem repeat (hình 1.9). Trong một vài trƣờng hợp,
có thể có một số sự thay đổi giữa các khối lặp lại nhƣ bị mất hoặc thêm một, một
vài base. Việc lắp ráp đúng các đoạn lặp này đối với các đoạn read ngắn là một
trong những vấn đề rất khó.
Hình 1.9. Một ví dụ của „Tandem repeat‟
13
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Trong hình 1.9 đoạn lặp ACG có kích thƣớc 3 base bị lặp đi lặp lại nhiều
lần gây khó khăn cho việc lắp ráp đúng trình tự của đoạn mã.
- Large repeat regions: Trong một vài trƣờng hợp, chuỗi lặp lại có thể
lên tới vài nghìn cặp base, và xảy ra rất nhiều lần trong nhiều vùng khác nhau
trong hệ gen. Và có thể có một vài khác biệt nhỏ giữa các đoạn lặp này. Do đó,
các phần mềm lắp ráp nên có khả năng xác định đƣợc các vùng này và giải
quyết các sai biệt giữa đoạn lặp có thể xảy ra
1.3. Ứng dụng của công nghệđọc trình tự gen
Đọc trình tự có thể xác định trình tự các gen riêng lẻ, các vùng gen lớn,
các nhiễm sắc thể hoặc toàn bộ các bộ gen. Tùy theo phƣơng pháp sử dụng, kết
quả cho biết trình tự của các nucleotide trong sợi ADN hoặc RNA tách chiết từ
các tế bào động thực vật hoặc các nguồn chứa thông tin di truyền khác.
Kết quả này có nhiều ứng dụng chính nhƣ sau:
1. Biết đƣợc trình tự nucleotide của bất cứ một đoạn ADN nào đó chính là
cơ sở để các nhà khoa học có thể đọc trình tự gen hay bộ gen cho các nghiên cứu
có liên quan.
2. Phát hiện các thay đổi của trình tự nucleotide của một đoạn ADN, tạo
cơ sở cho phát hiện các đột biến gen, các SNP, các kiểu gen, …
3. Định danh vi khuẩn hay vi nấm dựa trên đọc trình tự ADN của RNA
ribosome (16S của vi khuẩn và 28S của vi nấm) đặc biệt là các đối tƣợng khó
định danh hay không thành công nuôi cấy.
4. Sự khác biệt nhau từng nucleotide của các đoạn ADN đƣợc sử dụng
trong xét nghiệm dấu vân tay ADN để nhận dạng cá nhân và mối quan hệ cá
nhân, trong phát hiện đa dạng loài…
Trƣớc khi phân tích các vấn đề, ta cần định nghĩa một vài thứ:
- Read length: độ dài của mỗi đoạn read xuôi/ngƣợc tạo ra bởi máy giải
trình tự. Độ dài này phụ thuộc vào công nghệ giải trình tự đƣợc sử dụng, do đó
nó không phải là một hằng số với mỗi thƣ viện nhất định. Tuy nhiên ta vẫn sẽ
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
giả sử vậy.
- Insert size (fragment length): khoảng cách giữa 2 đoạn read xuôi và ngƣợc
- Coverage: Là số bản copy của hệgengốc đƣợc giải mã. Cover là tỷ lệ giữa
độ dài của tổng số lƣợng các đoạn read trên độ dài của cả hệ gen.
Coverage = read length x 2 x số đoạn read / độ dài hệ gen
(áp dụng cho thƣ viện cặp read)
- Contig: một đoạn trình tự đã đƣợc lắp ráp (biết trình tự) đƣợc giả thiết
tạo thành một khoảng liên tục trên hệ gen gốc.
- Scaffold (super contig): Là chuỗi AND đƣợc tạo ra khi lắp ráp các
contig lại với nhau mà đƣợc giả thiết sắp xếp theo cùng một thứ tự trên trong hệ
gen đích, có thể bị chia cắt bởi những đoạn chƣa rõ trình tự.
Trong nghiên cứu tìm hiểu đặc tính của một loài hoặc một cá thể, bƣớc
khởi đầu thiết yếu cần đƣợc thực hiện là giải trình tự, lắp ráp hoàn chỉnh và phân
tích hệ gen của chúng.Công nghệ giải trình tự thế hệ mới đã đem lại một cách
tiếp cận mới cho nhiệm vụ đóng vai trò cơ bản này. Với phƣơng thức hoạt động
có tính song song cao, các thiết bị giải trình tự thế hệ mới có khả năng đọc đƣợc
số lƣợng trình tự lớn hơn trong một thí nghiệm, với chi phí trung bình cho mỗi
base giảm đáng kể. Tuy nhiên, hạn chế lớn nhất của phƣơng pháp này là các
đoạn trình tự đƣợc đọc có độ dài nhỏ.Vì vậy, một thế hệ mới các thuật toán và
ứng dụng phục vụ lắp ráp đoạn ngắn đã ra đời để khắc phục những chƣớng ngại
đi kèm với loại dữ liệu trình tự mới này. Các công nghệ lập trình thế hệ mới sử
dụng trong lắp ráp có thể đƣợc chia thành 3 nhóm lớn gồm: lắp ráp tham lam,
lắp ráp overlap-layout-consensus (OLC) và lắp ráp dựa trên đồ thị De Bruijn. Đã
có nhiều thuật toán lắp ráp đoạn ngắn đƣợc cài đặt và thực hiện, mỗi thuật toán
đều có riêng giả thiết điều kiện, có ƣu điểm và khuyến điểm riêng. Về chi tiết,
mỗi công cụ lắp ráp này đều có những điểm riêng biệt, tuy nhiên về tổng thế,
chúng đều có một nền tảng lý thuyết chung và đều phải đáp ứng đƣợc mức độ
phức tạp trong việc xử lý tính toán dữ liệu giải trình tự thế hệ mới.
15
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Chƣơng 2: MỘT SỐKỸ THUẬT LẮP RÁP HỆ GEN VỚI DỮ LIỆU
TRÌNH TỰ ĐOẠN NGẮN TRONG TIN SINH HỌC
2.1. Thuật toán Overlap Layout Consensus (OLC)
Ở phƣơng pháp này, phép lắp ráp đƣợc thực hiện thông qua việc xây dựng
một đồ thị overlap. Đồ thị overlap dùng để hiển thị các đoạn trình tự và đoạn gối
chồng giữa chúng. Các đoạn gối chồng đƣợc tính toán bằng một chuỗi các phép
gióng hàng đôi một các đoạn trình tự.Ở đây trình tự đƣợc biểu diễn bằng các
nút, đoạn gối chồng đƣợc biểu diễn bằng các cạnh. Đồ thị overlap có thể sử
dụng các yếu tố riêng biệt để biểu diễn các trình tự xuôi và ngƣợc, hƣớng của
trình tự và độ dài của đoạn gối chồng. Các contig đƣợc hình thành từ những
tuyến đồ thị đều có thể đƣợc chuyển trực tiếp về dạng trình tự.Để bảo toàn về
mặt ý nghĩa của cấu trúc sợi kép của ADN, đồ thị có thể đƣợc xây dựng bằng
một trong hai cách sau.Cách thứ nhất, hai đầu của một đoạn trình tự đƣợc biểu
diễn bởi các nút riêng biệt, trong trƣờng hợp này, tuyến đồ thị qua trình tự này
phải tới ở một đầu và ra ở đầu còn lại. Cách thứ hai, chiều xuôi và ngƣợc của sợi
ADN đƣợc biểu diễn bởi các cạnh riêng biệt, khi đó các tuyến đồ thị sẽ tới và ra
khỏi một nút trên cùng một sợi,
Với các đoạn read có kích thƣớc ngắn, thì việc sử dụng thuật toán lắp ráp
là một cách giải quyết đƣợc vấn đề. Các đoạn read sẽ đƣợc ghép nối với nhau từ
đó hình thành overlap graph, trong đó mỗi đoạn read sẽ là một điểm trên đồ thị,
cạnh nối giữa 2 điểm A và B đƣợc dựng nếu có đoạn overlap giữa đầu 3' của A
và đầu 5' của B. Đƣờng nối giữa các điểm sẽ dẫn đến việc hình thành contig.