1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

67 685 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGNGUYỄ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... 13 Chương 2: MỘT SỐ KỸ THUẬT LẮP

Trang 1

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

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt/thuật ngữ Nghĩa/Mô tả

3 GB (G base) Giga base pair

5 DNA senquencing Đọc trình tự DNA

6 HGP Dự án hệ giải trình tự hệ gen con người

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ự

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

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

Trang 7

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ị

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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ự

Trang 12

đị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

Trang 13

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

Trang 14

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ự

Trang 15

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

Trang 16

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

Trang 17

(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

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ự

Trang 18

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

GTACGACGGAGTGTTATAAGATGGGAAATCGGATACCAGATGAAATTGTGGATCAGGTGCAAAAGTCGGCAGATATCGTTGAAGTCATAGGTGATTATGTTCAATTAAAGAAGCAAGGCCGAAACTACTTTGGACTCTGTCCTTTTCATGGAGAAAGCACACCTTCGTTTTCCGTATCGCCCGACAAACAGATTTTTCATTGCTTTGGCTGCGGAGCGGGCGGCAATGTTTTCTCTTTTTTAAGGCAGATGGAAGGCTATTCTTTTGCCG

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

GTACGACGGAGTGTTATAAGATGGGAAATCGGATACCAGATGAAATTGTGGATCAGGTGCAAAAGTCGGCAGATATCGTTGAA

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)

Trang 19

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

Trang 20

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

Trang 21

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)

Trang 22

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:

Hình 1.9 Một ví dụ của „Tandem repeat‟

Trang 23

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ẽ

Trang 24

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

Trang 25

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

Trang 26

Hình 2.1: Overlap graph

Giống với các nền tảng của các máy giải trình tự khác, máy giải trình

tự Sanger cho phép đọc với các đoạn read lên đến 600bp dẫn đến lắp ráp các đoạn trùng lặp liền kề nhau trở nên dễ dàng hơn.Phần lớn các công cụ lắp ráp lúc này như ARACHNE, đều theo hướng xếp chồng các lớp của các đoạn trùng nhau lên (Overlap-layout-Consensus) Các đoạn read với 1 base

bị lỗi có thể được sửa lại dễ dàng dựa vào các đoạn read có mối liên hệ với

nó (đoạn overlap chung) Một lỗi khác cũng có thể xảy ra trong quá lắp ráp

là lỗi chimeric read, xảy ra do nhiều đoạn lặp trong hệ gen dẫn đến việc lắp ráp hai đoạn ADN không liền kề, do đó hình thành những đoạn contig bị lỗi Điều này không xảy ra đối với dữ liệu thu được bằng công nghệ giải trình tự thế hệ mới

Tuy nhiên, khó khăn chúng ta phải đối mặt là với các đoạn read từ các máy giải trình tự thế hệ mới có độ dài ngắn chỉ từ 25-100bp, độ coverage khá cao, thường có thể lên tới 100X Nhưng do độ dài của các đoạn read ngắn, do đó

độ dài của đoạn overlap cũng bị giới hạn Với một lượng lớn các đoạn read sẽ dẫn đến hình thành đồ thị với hàng triệu điểm và cạnh chồng chéo lên nhau và

có thể xuất hiện khá nhiều điểm mà không có cạnh nối giữa chúng

Hiện nay, có một vài hướng phát triển giúp giải quyết những vấn đề của dữ liệu giải trình tự thế hệ mới mà ta vừa đề cập ở trên.Phần lớn các thuật toán đều dựa

Trang 27

trên đồ thị De Bruijn được phát triển bởi Pavel Pevzer vào năm 2001

2.2 Thuật toán sử dụng Đồ thị De Bruijn

Đồ thị De Bruijn là một hướng tiếp cận mới trong quá trình lắp ráp hệ gen, thay đổi và phát triển từ Overlap-Layout-Consensus (OLC) Ban đầu thuật toán này được xây dựng để lắp ráp các đoạn read dài nhưng một số tính chất cũng giúp thuật toán thích hợp để xử lý những đoạn read ngắn Thế nên, những phương pháp mới sau này khi làm việc với những đoạn read ngắn đều sử dụng thuật toán đồ thị De Bruijn này

Hình 2.2 Đồ thị De Bruijn

Đồ thị De Bruijn là tập hợp các nút và các cạnh sao cho mỗi nút biểu thị một trình tự đoạn mã với độ dài k được gọi là k-mer Cạnh được nối trực tiếp giữa 2 điểm A và B khi và chỉ khi k-1 base cuối A trùng khớp với đúng bằng k-1 base đầu của B

Nút ở đây bao gồm toàn bộ k-mers của tất cả các read Độ dài k là một thông số quan trọng để lắp ráp Ta thấy nếu k càng lớn thì sẽ ít phức tạp và biểu

đồ sẽ dễ trở thành đồ thị thẳng hơn, dễ nghiên cứu hơn, nhưng lại có thể bỏ qua các đoạn overlap ở những vùng có coverage thấp Nếu k nhỏ có thể dựng được

đồ thị có nhiều kết nối giữa các điểm hơn với nhau nhưng sẽ tốn thời gian hơn trong việc tìm và tách được tuyến đồ thị đúng

Trang 28

Biểu đồ được đơn giản hoá hơn nữa bằng việc gộp hai nút bằng một mũi tên đi ra/đi vào; kết quả thu được là một nút biểu thị trình tự thu được khi duyệt qua các nút đã được gộp (Hình 2.3)

Hình 2.3 Đồ thị De Bruijn

Hình 2.3 mô tả kết quả lắp ráp khi sử dụng đồ thị De Bruijn Hình 2.3A

mô tả các đoạn read ngắn được dựng hình thành đồ thị De Bruijn và hình 2.3B là kết quả khi ghép nối các đoạn gối chồng giữa các read ngắn bằng thuật toán dựa trên đồ thị De Bruijn

Bất kì lỗi nào xảy ra trong đồ thị sẽ dẫn đến việc ảnh hưởng tới cả đồ thị

Vị trí lỗi nằm ở phần cuối đoạn read sẽ dẫn đến hình thành một 'tip' trong đồ thị

De Bruijn 'Tip' là một node trong đồ thị mà từ vị trí đó không có cạnh dẫn tới node nào khác (không có đoạn overlap với node tiếp theo) Lỗi thứ 2 có thể hình thành trong đồ thị De Bruijn là sự xuất hiện của các 'bubble', khi lỗi giải trình tự nằm ở phần giữa đoạn read'Bubble' xuất hiện khi có 2 đường dẫn được hình thành trong đồ thị từ một node này đến node khác mà một đường là chính xác

Trang 29

còn đường kia là lỗi

Sau khi xây dựng được đồ thị De Bruijn, quá trình lắp ráp có thể được thực hiện đơn giản bằng việc tìm đường đi Euler duyệt qua đồ thị với độ chính xác cao.Trong lý thuyết đồ thị, một đường đi trong đồ thị được gọi là đường đi Eurle nếu nó đi qua tất cả các cạnh của đồ thị, mỗi cạnh đúng một lần Và để xử lý các điểm bất thường như „Tip‟, „bubble‟ một loạt thuật toán khả dĩ để xử lý Các „Tip‟ có thể được loại bỏ bằng cách cắt bỏ đoạn đó nếu

nó thỏa mãn 2 điều kiện sau:

Độ dài của „tip‟ nhỏ hơn 2 lần độ dài của k(ví dụ: k = 3 thì „tip‟ có chứa nhỏ hơn hoặc bằng 5 điểm node thì có thể cắt)

Node trung gian nối „tip‟ với phần còn lại của đồ thị phải ít nhất một cạnh dẫn tới nút khác có số lượng lớn hơn cạnh nối với „tip‟

„Bubbles‟ xảy ra trong đồ thị là kết quả của lỗi giải trình tự hoặc sự xuất hiện của các SNP „Bubble‟ xuất hiện khi tồn tại hai đường dẫn giữa hai điểm node Trong đó một đường là đúng còn đường kia là đường mắc lỗi Để giải quyết người ta có thể sử dụng một phương thức mới tên là „Tour bus algorithm‟

để phát hiện và sửa lỗi „bubbles‟

Thuật toán „Tour bus‟ sẽ lựa chọn một nút bất kỳ để làm vị trí bắt đầu để thực hiện việc duyệt các phần tử trong đồ thị De Bruijn Khoảng cách giữa 2 nút liên tiếp được định nghĩa là tỷ số độ dài của đoạn mã ADN được biểu hiện ở node đích trên tổng số đoạn read nối giữa 2 node này

Vì thế, 2 node được nối với nhau bởi một số lượng lớn read có khoảng cách nhỏ hơn và đường đi giữa chúng sẽ có độ ưu tiên cao hơn trong quá trình duyệt Sau đó thuật toán „Breadcrumbs‟ được sử dụng để xử lý đối với các đoạn read.Đầu tiên, tất cả các nút biểu thị đoạn ADN có độ dài lớn hơn độ dài insert size lớn nhất (sau khi đã thực hiện quá trình đơn giản hóa đồ thị bằng việc hợp

Trang 30

nhất các node trên cùng một đường) sẽ được phát hiện.Các node này được gọi là

„long nodes‟ Tiếp theo, thuật toán sẽ thực hiện quá trình khớp các cặp pair read vào đồ thị Những vị trí khớp nào mà xảy ra hiện tượng trùng nhau, hoặc có độ dài lớn hơn insert size sẽ bị bỏ qua.Những node mà liên kết với „long nodes‟ ít nhất thông qua 5 cặp read-pair sẽ được đánh dấu Để tìm được đường dẫn nối giữa hai „long nodes‟ ta chỉ cần duyệt qua các phần tử đã được đánh dấu (Hình 2.4) Kết quả của thuật toán „Breadcrumbs‟ được mô tả trong hình 2.4

Hình 2.4: Mô tả thuật toán „Breadcrumbs‟

Đường duyệt giữa 2 „long nodes‟ A và B là đường được đánh dấu màu xanh, các đường nối đỏ và xanh là đường biểu diễn các read-pair Phương pháp

sử dụng đồ thị De Bruijn có thể được sử dụng cho các hệ gen có kích thước lớn

và cho ra kết quả với số lượng contig ít hơn, với chi phí thời gian ngắn và tiết kiệm dung lượng bộ nhớ hơn các thuật toán OLC

2.3 Thuật toánShort Sequence Assembler (SSA)

Thuật toán lắp ráp SSA (Short Sequence Assembler) dựa trên thuật toán của đồ thị De Bruijn Một số thuật toán lắp ráp hệ gen hiện tại đã sử dụng cách tiếp cận dựa vào overlap graph Một vài trong số đó bắt đầu bằng cách xây dựng

Trang 31

một overlap graph đồ sộ từ toàn bộ dữ liệu trình tự, sau đó mới đơn giản hóa để giảm kích thước đồ thị

Thuật toán SSA có ba cải tiến chính so với các thuật toán lắp ráp hệ gen

có sẵn hiện nay

i) Thứ nhất, thuật toán này không tạo ra một overlap graph khổng lồ từ các đoạn trình tự mà thay vào đó, nó trực tiếp dựng một đồ thị đã được đơn giản hóa bằng cách giảm số lượng các cạnh bắc cầu ngay trong quá trình dựng đồ thị Việc này làm giảm đáng kể dung lượng bộ nhớ cần thiết để thực hiện thuật toán

ii) Thứ hai, thuật toán sử dụng một phương pháp mới để ước lượng chính xác số lượng của các đoạn trình tự bằng việc kết hợp phân tích tỉ số log-odds và tính toán chi phí luồng nhỏ nhất trên overlap graph

iii) Thứ ba, các thuật toán lắp ráp hiện nay sử dụng phương pháp biến đổi rất đơn giản để đơn giản hóa và giảm kích thước overlap graph Nhận thấy rằng, đơn giản hóa overlap graph hơn nữa so với các công cụ lắp ráp khác làm được là việc

có thể thực hiện được Những sự giảm thiểu này tạo ra tác động đáng kể đến kích thước của overlap graph thu được cuối cùng Ở bước cuối cùng, thuật toán SSA sử dụng thông tin mate pair và số lượng các đoạn trình tự để tháo gỡ những tuyến đồ thị dài trong overlap graph

2.3.1 Giới thiệu về thuật toán SSA

Đầu tiên, các đoạn trình tự đầu vào được sửa lỗi bằng RACER (Rapid and Acccurate Correction of Errors in Reads).Sau đó, một overlap graph hai chiều được xây dựng trên bộ dữ liệu đầu vào này bằng bảng băm Trong quá trình dựng overlap graph, các cạnh bắc cầu được loại bỏ nhằm giảm kích thước của overlap graph Tiếp đó, các tuyến đồ thị đơn giản được rút gọn, các tuyến cụt và

„bubble‟ cũng được loại bỏ Hàm số tính chi phí và phân tích tỉ số log odds được dùng để tính các tham số cho bài toán tìm chi phí luồng nhỏ nhất trên overlap graph nhằm ước lượng số lượng các đoạn trình tự Kết quả của bước này được dùng để tiếp tục đơn giản hóa overlap graph Cuối cùng, thông tin từ các cặp

Trang 32

mate pair được sử dụng để lắp ráp thành những contig dài hơn Một trong số những bước này được lặp lại nhiều lần

2.3.2 Sửa lỗi

Các bộ dữ liệu thực thường chứa một số lỗi gây khó khăn cho việc lắp ráp

hệ gen Do đó, nhiều công cụ lắp ráp phải thực hiện riêng bước tiền xử lý dữ liệu

để loại bỏ những lỗi này.Thuật toán SSA sử dụng RACER để sửa lại đúng các đoạn trình tự trước khi lắp ráp chúng Tất cả các bộ dữ liệu đã được dùng để thử nghiệm thuật toán SSA đều được sửa lỗi bởi RACER

2.3.3 Xây dựng Overlap graph

Để dựng được overlap graph từ bộ dữ liệu đầu vào, chúng ta cần tìm tất cả những cặp trình tự có đoạn trùng lặp với nhau SSA nhận tham số minOverlap là một đầu vào, tham số này biểu thị số base trùng lặp tối thiểu giữa hai đoạn trình

tự để hai đoạn này được nối với nhau bằng một cạnh trên đồ thị Nếu trong dữ liệu đầu vào có n đoạn trình tự riêng biệt, số cặp trình tự cần so sánh để tìm ra các cặp trùng lặp là O(n2), điều này là không thiết thực Để giảm số cặp trình tự cần so sánh, SSA dùng một bảng băm chứa các đoạn prefix, suffix của mỗi trình

tự r và chuỗi đảo của nó Nếu số lượng base trùng lặp của hai trình tự r1 và r2 lớn hơn hoặc bằng minOverlap, có nghĩa là có một đoạn prefix hoặc suffix của r1 có độ dài lớn hơn hoặc bằng minOverlap trùng với một đoạn suffix hoặc prefix của r2 Do đó, các đoạn prefix và suffix có độ dài h = min{minOverlap, 64} của mỗi trình tự và chuỗi đảo của nó được lưu trong bảng băm này Số lượng 64 base pair được chọn để giới hạn kích thước của các chuỗi trình tự lưu trong bảng băm do mỗi trình tự có độ dài 64 base pair có thể được lưu dưới dạng hai số 64-bit Việc ghi lại các chuỗi có độ dài lớn hơn 64 base pair sẽ làm tăng

độ phức tạp của hàm băm và giảm hiệu quả của việc lưu và tìm kiếm các chuỗi trong bảng băm

Trang 33

2.3.3.1 Bảng băm

Đối với mỗi trình tự r trong bộ dữ liệu R, prefix và suffix của r và chuỗi đảo được lưu vào bảng băm, vì vậy, nếu có n trình tự trong bộ dữ liệu R, bảng băm sẽ chứa 4n suffix và prefix Kích thước của bảng băm được đặt bằng p sao cho p > 8n để tránh các trường hợp hash miss Mỗi trình tự được lưu dưới dạng một mảng số nguyên 8-bit Mỗi base pair được biểu diễn bởi 2 bit trong mảng này (A=00, C=01, G=10, T=11) Biểu diễn các base pair theo cách này sẽ giúp việc so sánh các chuỗi trình tự hiệu quả hơn: So sánh 4 base pair được thực hiện bằng cách so sánh 2 số nguyên 8-bit Tương tự, so sánh 64 base pair tương đương với so sánh hai cặp số 64-bit Việc biểu diễn theo bit như thế này sẽ giảm

bộ nhớ cần dùng và tăng hiệu quả ghi trình tự vào bảng Thuật toán 1 xây dựng bảng băm:

Algorithm 1 buildHashTable(R,minOverlap):Building the hash

table

Input: Set R = {r1 , r 2 , …, r n } of reads and minimum overlap length minOverlap

Output: Hash table hashTable

Create an emply hashTable

Ngày đăng: 10/05/2015, 12:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Văn Cách (2006), Giáo trình tin sinh học, NXB Khoa học kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình tin sinh học
Tác giả: Nguyễn Văn Cách
Nhà XB: NXB Khoa học kỹ thuật
Năm: 2006
[2]. Nguyễn Cường (2013), Định dạng dữ liệu FastA và FastQ, http://www.tinsinhhoc.org/genomics/104-fasta-fastq-formats, ngày 25/11/2013.Tiếng Anh Sách, tạp chí
Tiêu đề: Định dạng dữ liệu FastA và FastQ
Tác giả: Nguyễn Cường
Năm: 2013
[3]. Hogeweg P, Hesper (1984). The alignment of sets of sequences and the construction of phylogenetic trees. An integrated method. J. Mol. E.vol. 20, p 175-186 Sách, tạp chí
Tiêu đề: The alignment of sets of sequences and the construction of phylogenetic trees. An integrated method
Tác giả: Hogeweg P, Hesper
Năm: 1984
[5]. Lars Feuk, Andrew R. Carson and Stephen W. Scherer (2006): Structural variation in the human genome, Nature Renew Gennetics, 7(2), p 85-97 Sách, tạp chí
Tiêu đề: Structural variation in the human genome
Tác giả: Lars Feuk, Andrew R. Carson, Stephen W. Scherer
Nhà XB: Nature Renew Gennetics
Năm: 2006
[6].Alkan C., Coe B.P. and Eichler E.E. (2011), Genome structural variation discovery and genotyping. Nat. Rev. Genet., vol. 12, p 363-376 Sách, tạp chí
Tiêu đề: Genome structural variation discovery and genotyping
Tác giả: Alkan C., Coe B.P. and Eichler E.E
Năm: 2011
[7]. Teague, B. et al. High-resolution human genome structure by single- molecule analysis (2010).. Proc. Natl Acad. Sci. USA 107, p 10848–10853 Sách, tạp chí
Tiêu đề: High-resolution human genome structure by single-molecule analysis
Tác giả: Teague, B. et al. High-resolution human genome structure by single- molecule analysis
Năm: 2010
[8]. Poehlmann, A., D. Kuester, et al. (2007). "K-ras mutation detection in colorectal cancer using the Pyrosequencing technique." Pathology, research and practice203(7): 489-497 Sách, tạp chí
Tiêu đề: K-ras mutation detection in colorectal cancer using the Pyrosequencing technique
Tác giả: Poehlmann, A., D. Kuester, et al
Năm: 2007
[9]. Li H.: Wgsim - Read simulator for next generation sequencing http://github.com/lh3/Wgsim Sách, tạp chí
Tiêu đề: Wgsim - Read simulator for next generation sequencing
Tác giả: Li H
[11]. Li H. and Durbin, R. (2010). Fast and accurate long-read alignment with Burrows-Wheeler transforms. Bioinformatics, 26, 589–595 Sách, tạp chí
Tiêu đề: Fast and accurate long-read alignment with Burrows-Wheeler transforms
Tác giả: Li H. and Durbin, R
Năm: 2010
[4]. Iafrate AJ, Feuk L, Rivera MN, Listewnik ML, Donahoe PK, Qi Y, Scherer SW, Lee C (2004 Sep). Detection of large-scale variation in the human genome. Nat Genet Khác
[10]. Homer, N, and Merriman, B. TMAP: the Torrent Mapping Alignment Program. In Preparation Khác

HÌNH ẢNH LIÊN QUAN

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ự - 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
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ự (Trang 14)
Hình 1.3. Công nghệ giải mã hệ gen - 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
Hình 1.3. Công nghệ giải mã hệ gen (Trang 16)
Hình 1.7. Sửa lỗi giải trình tự sử dụng nhiều bản sao - 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
Hình 1.7. Sửa lỗi giải trình tự sử dụng nhiều bản sao (Trang 21)
Hình 1.8.Không phải lỗi trong giải trình tự - 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
Hình 1.8. Không phải lỗi trong giải trình tự (Trang 22)
Hình 2.2. Đồ thị De Bruijn - 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
Hình 2.2. Đồ thị De Bruijn (Trang 27)
Hình 2.3. Đồ thị De Bruijn - 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
Hình 2.3. Đồ thị De Bruijn (Trang 28)
Hình 2.4: Mô tả thuật toán „Breadcrumbs‟ - 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
Hình 2.4 Mô tả thuật toán „Breadcrumbs‟ (Trang 30)
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 - 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
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 (Trang 54)
Hình 3.5. Chiều dài các đoạn trình tự trong bộ dữ liệu - 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
Hình 3.5. Chiều dài các đoạn trình tự trong bộ dữ liệu (Trang 56)
Hình 3.6. Tỉ lệ base chưa xác định trong các trình tự - 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
Hình 3.6. Tỉ lệ base chưa xác định trong các trình tự (Trang 57)
Hình 3.7. Tỉ lệ thành phần base - 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
Hình 3.7. Tỉ lệ thành phần base (Trang 58)
Hình 3.9. Tỉ lệ lặp trình tự - 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
Hình 3.9. Tỉ lệ lặp trình tự (Trang 60)
Hình 3.10. Minh họa hoạt động của SSA - 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
Hình 3.10. Minh họa hoạt động của SSA (Trang 61)
Hình 3.11. Minh họa hoạt động của Velvet - 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
Hình 3.11. Minh họa hoạt động của Velvet (Trang 62)
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 - 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
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 (Trang 63)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w