Tải bản đầy đủ (.pdf) (36 trang)

khai thác kiến trúc phân tán và chia sẻ tìm sự tương đồng của các trình tự sinh học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (893.01 KB, 36 trang )

Báo cáo luận văn cao học
Khai thác kiến trúc phân tán và chia
sẻ tìm sự tương đồng của các trình
tự sinh học
GVHD: PGS.TS Trần Văn Lăng
HVTH: Phạm Đông Phong
1
Lac Hong University
1. Đặt vấn đè
2. Mục tiêu cần giải quyết
3. Phương pháp thục hiện
4. Kết quả trình thực nghiệm
5. Kết luận và hướng phát triển
Nội dung trình bày
2
Sắp hàng trình tự nhằm tìm kiếm, phân loại trình
tự chuỗi DNA, Protein, ứng dụng trong xây
dựng cây phân loài vẫn là một bài toán lớn và
đòi hỏi nhiều thời gian xử lý của sinh tin học
(Bioinfomation)
1. Đặt vấn đề
3
Hiện nay số lượng các trình tự trong các cơ sở dữ liệu sinh tin học lớn
trên thế giới như:
- NCBI, Tính đến tháng 2/2013 đã có 150.141.354.858 base và
162.886.727 trình tự
- EMBL, 247.335.689 trình tự bao gồm 429.512.389.024 nucleotide tính
đến tháng 09/2012
- GenBank, Tính đến 03/2013 có 163,017,305 entries với 150,760,062,903
nucleotits
- …


đang gia tăng nhanh chóng dẫn đến việc các thuật toán xử lý trên khối
lượng lớn dữ liệu trở nên kém hiệu quả

 phải giải quyết vấn đề này ???
1. Đặt vấn đề
4
Những năm gần đây 2 thuật toán thường được sử dụng để bắt
cặp trình tự nhất là thuật toán:
- Smith – Waterman
- Needleman - Wunsch
1. Đặt vấn đề
5
- Smith – Waterman
Thuật toán sử dụng để bắt cặp trình tự cục bộ, nghĩa là
bắt cặp 1 đoạn trình tự nhỏ trong 1 trình tự lớn
- Needleman-Wunsch
Thuật toán sử dụng để bắt cặp trình tự toàn cục, bắt
cặp hai đoạn trình tự với nhau.
1. Đặt vấn đề
6
Luận văn dựa vào thuật toán Smith – Waterman để bắt
cặp trình tự cục bộ.

 cụ thể sẽ tìm kiếm sự tương đồng của 1 đoạn trình
tự đầu vào với 1 trình tự nào đó tồn tại trong ngân
hàng gen.
1. Đặt vấn đề
7
1. Đặt vấn đề
STT


Trình
tự
1

ACTAGTCGATGCTAGTC

2

CCTATGCTAGTCGTAGCTGAT

3

CTTGCTAGTAGTGCTAGTCGTC

4

CTTTAGCGTAGCTGATGTC

5

CTTAGCGTAGTCGATGCTGACGT
6

CTTAGCGTGATCGTAGCTAGT

….

…………….


Ngân hàng DNA
Trình tự A cần tìm:
ATTCGGATGCTTCGTCCGG
Bắt
cặp
Mất nhiều
thời gian
8


 Giải quyết bài toán sắp hàng trình tự cục bộ


 Cung cấp thực nghiệm cho các nghiên cứu khác sâu hơn
2. Mục tiêu cầm giải quyết
9

3. Phương pháp thực hiện
Đề giải quyết bài toán, nhóm tác giả thực hiện 2 công việc:

Công việc 1: Song song xử lý dữ liệu. Mỗi tiến trình xử lý
trên một nhóm các trình tự được phân đoạn một cách
đồng thời

Công việc 2: Song song hóa thuật toán bắt cặp trình tự
10
 Công việc 1: Sử dụng mô hình truyền thông điệp
MPI



Giải quyết bài toán trên môi trường
tính toán song song
Mô hình MPI trong công trình này nhóm tác giả sử dụng không
làm nhiệm vụ bắt cặp trình tự, mà:

- Thực hiện nhiệm vụ phân chia ngân hàng dữ liệu
thành các tập dữ liệu nhỏ theo điều kiện truy vấn

- Gửi tập chỉ mục dữ liệu nhỏ về cho các máy tính con
khác nhau để tiến hành bắt cặp trình tự đồng thời trên các
máy
11
Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 1: Nhập và gửi trình tự muốn tìm
Công việc của Server:
- Nhập 1 trình tự muốn tìm kèm theo các tham số: vd độ tương
đồng mong muốn, phân nhóm trình tự, dựa theo cây phân loài,
hoặc tìm trên các đoạn trình tự đặc trưng…
- Gửi trình tự muốn tìm này về cho các Client
Công việc của Client:
- Nhận trình tự muốn tìm từ Server

ACTGTAGTCGTAGCTGATGCTA
Server
Nhập
Client 1
Client 2
…….

gửi
DNA
trình tự muốn tìm
12
Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 2: Xác định tập dữ liệu nhỏ sẽ được
thực hiện trên Client
Công việc của Server:
- Từ một dãy các trình tự trong ngân hàng
dữ liệu và các tham số đầu vào
- Phân chia thành các tập dữ liệu nhỏ, xác
định số lượng trình tự sẽ được xử lý trên
các Client
- Xác định vị trí (tập chỉ mục) trình tự sẽ
được xử lý trên Client
- Gửi các vị trí này về cho máy client

Server
Phân chia
ngân
hàng DNA
Client 1
Client 2
…….
Ngân hàng DNA
GCTAGCTAGT
CGTGATGGT
CGTAGTGCTC

CGTATATAC
CGTGTGTATA
ACATGTGCT
…………………
ACGTGTACT
ACTGCATG
vị trí 0
vị trí 2
vị trí 3
vị trí 5
vị trí 6
vị trí 7
gửi vị
trí
DNA
13
Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 3: Công việc của Client:
- Client sử dụng thuật toán Smith-Waterman cải tiến chạy trên GPU
để bắt cặp trình tự trên những trình tự được chỉ định trong ngân
hàng dữ liệu từ Server với trình tự muốn tìm.

14
Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Client 1
Client 2

…….
ACTGTAGTCGTAGCTGATGCTA
trình tự cần truy vấn
Smith-
Waterman
Smith-
Waterman
Smith-
Waterman
GCTAGCTAGT
CGTGATGGT
CGTAGTGCTC
CGTATATAC
CGTGTGTATA
ACATGTGCT
…………………
ACGTGTACT
vị trí 0
vị trí 2
vị trí 3
vị trí 5
vị trí 6
vị trí 7
Ngân hàng DNA
ACTGCATG
15
3. Giải quyết bài toán trên môi
trường tính toán song song
* Các bước thực hiện:
Bước 4: Client gửi chuỗi kết quả về tiến trình Server tổng hợp


Công việc của Client:
- Client gửi chuỗi kết quả về Server

Công việc của Server:
- Server nhận chuỗi kết quả từ các Client gửi về
- Server tổng hợp so sánh tìm trình tự có vị trí và điểm số đánh
giá cao nhất.
16
 Công việc 2: Song song hóa thuật toán bắt cặp trình tự
(Smith – Waterman)
Sơ lược thuật toán Smith – Waterman tuần tự
Thuật toán Smith-Waterman là thuật toán được phát triển bởi T.F.
Smith và M.S. Waterman vào năm 1981 dựa trên một mô hình đề
xuất trước đó của Needleman và Wunsch


Giải quyết bài toán trên môi trường
tính toán song song
17
 Đặc điểm:
Thuật toán Smith-Waterman là thuật toán sắp hàng cặp chuỗi
cục bộ dựa trên quy hoạch động để tính điểm cho quá trình sắp
hàng chuỗi.

Điểm cho sắp hàng chuỗi từng cặp ký tự phụ thuộc vào: hai ký
tự là giống nhau (matches), hai ký tự không giống nhau
(mismatches) và điểm cho việc thêm/bớt khoảng trống (gap
penalty).
Giải quyết bài toán trên môi trường

tính toán song song
18
Giải quyết bài toán trên môi trường
tính toán song song
‐ Input:
+ 2 chuỗi S1, S2 với chiều dài tương ứng là n, m
+ Ma trận thay thế S
+ Gap penalty d

- Output:
+ 2 chuỗi S1’,S2’

THUẬT TOÁN
19
Giải quyết bài toán trên môi trường
tính toán song song
Bước 1: Khởi tạo ma trận F
+ F(0,0)=0
+ F(i,0)=0 0≤ i ≤ m
+ F(0,j)=0 0≤ j ≤ n

THUẬT TOÁN
Ví dụ: Bắt cặp trình tự 2 chuỗi sau:
S1: ATATGCTAAG
S2: ACTACTTAG

20
Giải quyết bài toán trên môi trường
tính toán song song
Bước 2: Điền giá trị vào ma trận F

+ Tính F(i,j) theo công thức:
F(i, j) = Max ( 0, F(i-1, j-1) + S(i, j), F(i-1, j) - d, F(i, j-1) - d )
+ Mỗi khi tính F(i, j) lưu lại chỉ số của số hạng ở vế phải
THUẬT TOÁN
Match = 2 , Mismatch= -1, D= -1

21
Giải quyết bài toán trên môi trường
tính toán song song
Bước 3: Tìm ô ( i max, j max) có điểm cao nhất
THUẬT TOÁN
Match = 2 , Mismatch= -1, D= -1

22
Giải quyết bài toán trên môi trường
tính toán song song
Bước 4: Traceback

THUẬT TOÁN
- Xuất phát từ ô (i_max,j_max). Dựa vào những chỉ số đã lưu ở
bước 2 để tìm traceback cho đến khi gặp ô F(i,j) = 0 thì dừng.
- Xét ô (i,j):
+ Nếu đường đi theo chiều ngang hay từ ô (i,j-1) sang ô (i,j) thì
thêm “ – “ vào S2’ và thêm ký tự S1(j) vào S1’.
+ Nếu đường đi theo chiều thẳng đứng hay từ ô (i-1,j) xuống ô
(i,j) thì thêm “ – “ vào S1’ và thêm ký tự S2(i) vào S2’.
+ Nếu đường đi theo đường chéo hay từ ô (i-1,j-1) đến ô (i,j) thì
thêm ký tự S1(j) vào S1’ và S2(i) vào S2’
Đảo ngược S1’, S2’
23

Giải quyết bài toán trên môi trường
tính toán song song
THUẬT TOÁN
Kết quả:
24
Giải quyết bài toán trên môi trường
tính toán song song
Thuật toán Smith-Waterman trên môi trường CPU-GPU

Vần đề chủ đạo của thuật toán Smith-Waterman là phải xây dựng ma
trận F, với mỗi phần tử của ma trận F được tính và điền 1 cách tuần tự.
Do đó tư tưởng chủ đạo của việc song song thuật toán là sẽ điền các
phần tử ma trận F một cách đồng thời.

Ví dụ khi cần tính phần tử F
i,j,
phải dựa vào 3 phần tử khác là:
* F
i-1,j

* F
i-1,j-1

* F
i,j-1
25

×