Thu thập nguồn gene và tổ chức dữ liệu gene 3 - Pdf 71

PHẦN B: TỔNG QUAN – Giới thiệu Bioinformatics – Vài công cụ
NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
31
II.3. Vài công cụ Bioinformatics hiện nay
Vì không có cách nào mô tả hết các công cụ có sẵn, dƣới đây chỉ trích một vài
công cụ phổ biến dùng trong phân tích trình tự sinh học.

II.3.1. Readseq
Readseq là một phần mềm cũ, ra đời từ năm 1989. Đƣợc phát triển bởi Don
Gilbert, chƣơng trình này đọc và viết trình tự nucleotide và protein sang nhiều định
dạng hữu dụng. Công cụ này đƣợc viết bằng ngôn ngữ Java.

II.3.2. BLAST
BLAST (Basic Local Alignment Search Tools) là công cụ đƣợc biết tốt nhất
trong phân tích trình tự. Nó so sánh hai trình tự bởi cố gắng gióng (align) chúng, và
cũng đƣợc dùng để tìm kiếm trình tự trong cơ sở dữ liệu. Thuật toán bắt đầu bởi tìm
kiếm sự so khớp chính xác, sau đó mở rộng vùng đã đƣợc gióng bởi những so khớp
không chính xác (mismatches).
 blastall cho phép sử dụng tất cả các chƣơng trình BLAST (blastn, blastp,
blastx, và tblastn). Bảng sau đây tóm tắt trình tự dùng truy vấn (Query sequence), trình
tự cơ sở dữ liệu (Database sequence), và loại gióng trình tự (Alignment sequence) đối
với lệnh BLAST khác nhau.
Program
Query
sequence type
Database
sequence type
Alignment
sequence type
blastn nucleotide Nucleotide nucleotide
blastp protein Protein protein

hạn đoạn trình tự con). ClustalW tính toán sự khớp tốt nhất cho trình tự đƣợc chọn lựa,
và sắp chúng thành hàng để xác định, những sự tƣơng đồng và sự khác biệt có thể
đƣợc thấy.

II.3.5. HMMER
HMMER là tập hợp các chƣơng trình tạo ra mô hình Markov ẩn (hidden Markov
model-HMM) của họ trình tự đƣợc dùng nhƣ trình tự truy vấn đối với cơ sở dữ liệu để
xác định thêm sự tƣơng đồng (homologs) của họ trình tự. HMMER đƣợc phát triển bởi
Sean Eddy tại đại học Washington. PHẦN B: TỔNG QUAN – Giới thiệu Bioinformatics – Vài công cụ
NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
33

II.3.6. MEME/MAST
Hệ thống MEME/MAST cho phép bạn:
 Khám phá motif (vùng có tính bảo tồn cao) trong nhóm trình tự DNA hay
protein sử dụng MEME.
 Tìm kiếm trình tự cơ sở dữ liệu bằng motif dùng MAST.
MEME và MAST đƣợc phát triển bởi Timothy Bailey, Charles và Bill Grundy tại
phòng kỹ thuật và khoa học máy tính tại trung tâm San Diego Supercomputer.

II.3.7. EMBOSS
EMBOSS (European Molecular Biology Open Software Suite) là công cụ phân
tích trình tự với mã nguồn mở. Phần mềm này bao gồm nhiều chức năng và có thể xử
lý dữ liệu với nhiều dạng format. Thƣ viện mở rộng đƣợc cung cấp với gói, cho phép
ngƣời dùng phát triển và đƣa ra phần mềm riêng của họ. EMBOSS cũng tích hợp các
gói và công cụ có sẵn dùng cho phân tích trình tự, nhƣ BLAST và ClustalW.
EMBOSS chứa khoảng 150 chƣơng trình. Chúng xử lý một số lĩnh vực sau:

chọn lựa duy nhất và cũng không phải là chọn lựa tốt nhất. Các ngôn ngữ khác nhƣ
Java, C++, Python… cũng đƣợc dùng trong bioinformatics. Chọn lựa ngôn ngữ nào
phụ thuộc vào vấn đề cần đƣợc lập trình, kỹ năng của ngƣời lập trình và hệ thống có
sẵn.
PHẦN B: TỔNG QUAN – Cơ sở tin học – Lập trình hướng đối tượng
NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
35
III. Cơ sở tin học cho việc xây dựng cơ sở dữ liệu trình tự
III.1. Khái niệm về lập trình
Hiện nay lập trình thƣờng đƣợc phân chia thành hai trƣờng phái:
+ Lập trình cấu trúc hay còn gọi là “lập trình thủ tục”, “lập trình truyền
thống” (Structured Programming).
+ Lập trình hƣớng đối tƣợng (Object -Oriented Programming).
Để hiểu rõ hơn sự khác biệt cũng nhƣ ƣu khuyết điểm của hai trƣờng phái này, ta
hãy xét một yêu cầu đơn giản: Hãy hiển thị thông tin miêu tả các hình trong CSDL ra
màn hình.
Ta có thể dễ dàng phân tích vấn đề theo thứ tự các bƣớc sau:
1. Định vị các hình trong cơ sở dữ liệu.
2. Tạo danh sách hình.
3. Sắp xếp danh sách hình theo một thứ tự nhất định.
4. Biễu diễn từng hình riêng ra màn hình.
Mỗi một bƣớc trong bốn bƣớc ở trên có thể phân rã thành những đơn vị nhỏ hơn
để có thể dễ dàng hơn trong việc thực hiện. Ví dụ ta có thể chia bƣớc 4 thành các bƣớc
sau (sử dụng vòng lặp):
- Lấy từng hình trong danh sách bắt đầu từ vị trí đầu tiên cho đến vị trí cuối cùng.
- Gọi hàm hiển thị từng hình ra màn hình.
Cách nhìn nhận và phân tích vấn đề nhƣ thế đƣợc gọi là phân rã chức năng

trình có cấu trúc. Lập trình hƣớng đối tƣợng giúp ta tƣ duy và giải quyết vấn đề nhƣ
cách ta thực hiện ngoài đời, do đó giúp ta tiếp cận các vấn đề một cách dễ dàng. Nói
cách khác lập trình hƣớng đối tƣợng chính là mô hình thu nhỏ của thế giới thực dƣới
góc độ nhìn nhận của con ngƣời.
Trọng tâm của lập trình hƣớng đối tƣợng là ở khái niệm về đối tƣợng (object)
chứ không phải là khái niệm chức năng. Tất cả mọi vật, hiện tƣợng tồn tại xung quanh
ta khi đƣa vào chƣơng trình đều đƣợc gọi chung là đối tƣợng. Ví dụ, ta có đối tƣợng
sinh viên, đối tƣợng sách khoa học, trong vấn đề sinh học đối tƣợng có thể là gene,
record, báo cáo khoa học …
Nhƣ đã nói trên, đối tƣợng chính là các sự vật hiện tƣợng thật trong cuộc sống, do
đó, nó có các đặc điểm, tính chất để phân biệt với các đối tƣợng khác và trong lập trình
hƣớng đối tƣợng nó đƣợc gọi là thuộc tính (attribute). Để làm rõ ta có thể có các ví dụ
về thuộc tính của một số đối tƣợng nhƣ sau:
Đối tƣợng Thuộc tính
* Sinh viên - họ tên
- lớp
- mã số sinh viên
PHẦN B: TỔNG QUAN – Cơ sở tin học – Lập trình hướng đối tượng
NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
37
* Xe hơi - nhà sản xuất
- màu
- tốc độ tối đa
* Gene - tên gene
- số accession
- tác giả …
Thuận lợi của dùng đối tƣợng là ta có thể gắn kết thuộc tính với nhiệm vụ / chức
năng riêng (behavior) của đối tƣợng đó. Đây là khác biệt quan trọng giữa lập trình cấu
trúc (dữ liệu không gắn kết chặt chẽ với hành vi) và lập trình hƣớng đối tƣợng.
Đối tƣợng nào có thuộc tính nào thì chỉ thực hiện các hành vi phù hợp với thuộc

else if (A of RNA) then
f stabilize the structure of RNA
else # A of Protein
f stabilize the structure of Protein
}
- Đối với lập trình hƣớng đối tƣợng
Ta có 3 đối tƣợng DNA, RNA, và Protein. Ba đối tƣợng này có thể gọi chung là
một đại-phân-tử. Cho trƣớc một đại-phân-tử bất kỳ, muốn gọi thi hành một chức
năng f nào đó, ta không cần kiểm tra xem đó là DNA, RNA hay Protein. Ta chỉ cần gọi
đại-phân-tử.f() thì đối tƣợng đại-phân-tử sẽ cho ra kết quả phù hợp với bản chất của
nó.
đại-phân-tử.f()
Cách tiếp cận này sẽ trở nên đơn giản nếu chúng ta phải thực hiện nhiều hàm
khác nhau trên đối tƣợng đại-phân-tử, chẳng hạn g(), h(), … Khi đó, ta không
phải mất sức nhớ và kiểm tra xem đại-phân-tử đó là DNA, RNA, hay Protein. Điều
này giải phóng phần nào năng lực tƣ duy của ngƣời lập trình.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status