Phƣơng pháp sử dụng mô hình phù hợp gần đúng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu thuật toán tìm kiếm chuỗi DNA sử dụng phương pháp tìm kiếm tương tự nhanh nguyễn, hoàng anh luận văn ths máy tính 60 48 01 (Trang 25 - 31)

Kỹ thuật tìm kiếm chuỗi phù hợp với một mô hình gần đúng (chứ không phải là chính xác). Vấn đề phù hợp được hiểu thành hai ý: tìm kiếm chuỗi phù hợp gần đúng với các phân đoạn một chuỗi cho trước và tìm kiếm chuỗi từ điển gần đúng với mẫu cần truy vấn. Mô hình này sử dụng cách tiếp cận brute-force để tính “độ chỉnh sửa” chuỗi mẫu sao cho gần đúng với tất cả các chuỗi con của chuỗi cần truy vấn, sau đó chọn các chuỗi với “độ chỉnh sửa” tối thiểu. Tuy nhiên, thuật toán này

sẽ có thời gian chạy O(n3m). Ở đây m là độ dài chuỗi mẫu, n là độ dài chuỗi cần truy vấn). Phương pháp điển hình của mô hình phù hợp gần đúng là phương pháp tìm kiếm chuỗi Bowtie, được nhà khoa học Langmead và cộng sự đăng lần đầu tiên trên tạp chí Curr Protoc Bioinformatics vào năm 2010. [8]

Phƣơng pháp tìm kiếm chuỗi Bowtie

Phương pháp Bowtie (do Langmead và cộng sự đề xuất năm 2010) là phương pháp nhanh và tiết kiệm bộ nhớ. Mô hình của phương pháp là mô hình sử dụng một tập đầu vào với số lượng lớn các liên kết từ gen mẫu (tách mẫu thành các đoạn ngắn- mục đích để đọc thông tin, đưa ra các chỉ số tạo bảng đánh giá. Sau đó, từ bảng đánh giá, mô hình sẽ đánh thứ tự các chuỗi con được tách. Cuối cùng, so sánh chuỗi được tách đó với các đoạn gen mẫu theo các chỉ số đã đưa ra từ ban đầu.

Vd: gen người. Các thành phần chương trình chứa các công cụ đánh giá chỉ số cho các thành phần bộ gen tham khảo, sau đó đọc các trình tự ngắncủa bộ gen mẫu theo các chỉ số đã được đưa ra. Đây là bước đầu tiên trong nhiều nhiều bước ở quy trình so sánh gen theo phương pháp này. Phương pháp có thêm chức năng phát hiện biến thể gen. Mỗi lần đọc chuỗi DNA, đầu vào có thể gồm nhiều giá trị chỉ số, các giá trị này đã được đánh giá bởi tiến trình trước đó. Trình tự các chuỗi con sẽ được đánh thứ tự. Các giá trị thứ tự này được tham chiếu đến chuỗi gốc.

Thuật toán: [8]

Bước 1: Xác định điểm chung từ các mẫu

Bước 2: Phân loại và đo độ ảnh hưởng

Từ các tập mẫu, tính toán và đưa ra độ dài chuỗi dài nhất có thể từ các mẫu

Bước 3: Tìm kiếm và đưa ra kết quả. Kết quả hiển thị là tập các chuỗi cần so

sánh có bắt cặp trình tự với chuỗi mẫu. Thứ tự các chuỗi được sắp xếp theo thứ tự như sau: Chuỗi có ít bắt cặp trình tự đứng trước. Các chuỗi có độ dài bắt cặp trình tự lớn đứng sau (theo hình kim tự tháp).

Một đoạn mã nguồn của thuật toán. [8] sub quote_params { my %params_2_quote = ('--rg' => 1, '--rg-id' => 1, '-S' => 1, '-U' => 1, '-1' => 1, '-2' => 1 ); my $param_list = shift; my $quoting = 0;

for (my $i=0; $i<scalar(@{$param_list}); $i++){ if($quoting){ $quoting = 0; $param_list->[$i] = "\"".$param_list->[$i]."\""; next; } $quoting = 1 if(exists($params_2_quote{$param_list->[$i]})); } }

Ví dụ Gen GRCh37 hay được lấy mẫu để đưa ra tham chiếu các trình tự. Để đạt được hiệu quả về tốc độ và bộ nhớ, Bowtie sắp xếp các quá trình đọc dữ liệu tham chiếu đến trình tự của mẫu gen tham khảo. Chỉ số Bowtie là một sàng lọc của các chỉ số FM (Ferragina & Manzini 2000) [9], trong đó sử dụng các “Burrows- Wheeler Transform” (Burrows & Wheeler 1994) [8] để đạt được hiệu quả cả về tốc độ và không gian lưu trữ. Để đòi hỏi điều này, người dùng đã phải xây dựng hoặc có được một chỉ số thích hợp trước khi quá trình đọc liên kết đến các mẫu. Khi một chỉ số được xây dựng, nó có thể được truy vấn nhiều lần. Chỉ số cho bộ gen tham

chiếu thường được sử dụng có thể tải về từ trang web Bowtie tại http://bowtie- bio.sf.net. Chương trình sử dụng các giao thức:

+ Giao thức cơ bản sẽ sắp xếp một bộ các lần “đọc” cho một gen mẫu.

+ Giao thức đánh chỉ số (Indexing Protocol – Alternate Protocol 1) sẽ xây dựng chỉ số cho gen mẫu.

+ Giao thức “The Consensus and SNP Calling” nhận các giá trị từ đầu ra của công cụ SAM tools (Li et al. 2009) sẽ đánh giá chuỗi có tương đồng hay không.

+ Các giao thức tùy chọn dòng lệnh (Alternate Protocol 3) thể hiện một loạt các tùy chọn liên kết thường được sử dụng.

+ Các giao thức hỗ trợ (Support) hướng dẫn cách lưu trữ và cài đặt phần mềm Bowtie.

+ Giao thức hỗ trợ 1 (Support Protocol 1) hướng dẫn cách “build” phần mềm Bowtie từ mã nguồn.

+ Giao thức hỗ trợ 2 (Support Protocol 2) hướng dẫn cách tạo chỉ số “pre-build” từ website bowtie (giao thức hỗ trợ 3). Mỗi giao thức này có thể chạy trên các môi trường khác nhau: Unix (môi trường Unix), Linux, Mac OS X và Windows.

Chương trình Bowtie viết dưới dạng mã nguồn mở và có thể được sử dụng miễn phí. Có thể download tại địa chỉ: http://www.opensource.org/licenses/artistic- license-1.0.php

Các dòng cuối mô tả: + Số chuỗi được xử lý.

+ Thông tin chạy chương trình, đầu ra chuẩn sẽ thể hiện tính hợp lệ. + Thông báo về phương pháp thực hiện - phương pháp Bowtie. + Có thể có thêm thông tin về chuỗi tìm kiếm

Hình 1.6. Ví dụ quá trình chạy phương pháp Bowtie với đầu ra định dạng SAM.

Mô hình này sử dụng cách tiếp cận brute-force để tính “độ chỉnh sửa” chuỗi mẫu sao cho gần đúng với tất cả các chuỗi con của chuỗi cần truy vấn, sau đó chọn các chuỗi với “độ chỉnh sửa” tối thiểu.

Ưu điểm: Có thể tìm kiếm cùng lúc nhiều mẫu. Độ chính xác cao. Nhược điểm: Thuật toán này có chi phí thời gian chạy O(n3

m). (với m là độ dài chuỗi mẫu, n là độ dài chuỗi cần truy vấn). Sử dụng nhiều bộ nhớ trong quá trình tìm kiếm.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu thuật toán tìm kiếm chuỗi DNA sử dụng phương pháp tìm kiếm tương tự nhanh nguyễn, hoàng anh luận văn ths máy tính 60 48 01 (Trang 25 - 31)

Tải bản đầy đủ (PDF)

(63 trang)