Internet là kho tài nguyên thông tin, là mạng của các mạng, là một tổ hợp hàng triệu máy tính trên toàn thế giới, có thể trao đổi, chia sẻ nguồn thông tin hầu như vô tận với nhau cho dù người dùng đang ở đâu và vào lúc nào. Các máy tính có thể đủ các loại và sử dụng các hệ điều hành khác nhau một cách bình đẳng.
Như vậy Internet là một mạng khổng lồ được tạo ra bằng việc kết nối các máy tính và các mạng máy tính lại với nhau. Nó kết hợp nhiều mạng máy tính riêng rẽ của các trường học, thư viện, các hãng kinh doanh, bệnh viện, các tổ chức nhà nước, viện nghiên cứu… và nhiều thành phần khác vào trong một mạng chung rộng lớn mang tính chất toàn cầu.
Từ đó, một loạt các thuật ngữ lần lượt ra đời như webServer, webClient, webPage, webSite, URL:
WebServer: Máy cung cấp thông tin dạng web. WebClient: Máy truy xuất thông tin từ web server.
WebSite: Tập hợp các trang web của một tổ chức, một website có thể có nhiều web server.
WebPage: Một trang tự liệu web.
URL (Uniform Resource Locator) đường dẫn chỉ đến một tập tin trong một máy chủ trên Internet.
Việc kết nối về mặt vật lý các mạng máy tính này được thực hiện thông qua các mạng viễn thông khác nhau như mạng điện thoại công cộng, kênh vệ tinh (satellite), các kênh vi-ba (micro-waves), các đường thuê riêng (dedicated lines), hoặc cáp quang (optical cable),…
Không thể có được sơ đồ cụ thể của mạng Internet vì các máy tính và các mạng máy tính liên tục đăng ký thêm vào mạng Internet cũng như các thông tin trên mạng cũng liên tục được thay đổi, cập nhật.
Các đặc tính chính của Internet:
Mạng thông tin phát triển với tốc độ nhanh chưa từng thấy trong lịch sử.
Mạng máy tính lớn nhất thế giới.
Mạng duy nhất có quy mô toàn cầu, lớn nhất về lãnh thỗ, số người tham gia, các hoạt động dịch vụ về thông tin.
Internet là công nghệ tin học tiên tiến nhất, mới nhất, là công nghệ chuẩn, công nghệ mở, sản phẩm trí tuệ chung của nhân loại.
Internet là mạng thông tin không có chủ hoặc có rất nhiều chủ. Công cụ không thể thiếu trong xã hội thông tin.
Bộ mặt văn hóa mới có tính toàn cầu. Thành phần của Internet bao gồm:
Các máy chủ (Host Computer hay Internet Server). Các máy trạm (Work Station hay Client).
Các thiết bị đầu cuối như Card mạng, Hub, Router,… Đường truyền.
Các phần mềm quản trị Server trên máy chủ. Các phần mềm Client trên máy người dùng.
2.6.2. Các dịch vụ đƣợc cung cấp trên Internet 2.6.2.1. Phân loại khối thông tin
Khối thông tin mở cho công cộng: bao gồm các thông tin về văn hóa, xã hội, giáo dục và đào tạo, khoa học kỹ thuật, kết quả của các công trình nghiên cứu khoa học công nghệ. Bất cứ ai thuộc mạng, một khi đã truy cập vào mạng, tại bất kỳ điểm nút nào, bất cứ lúc nào đều có thể khai thác và nhận được tất cả thông tin thuộc loại mở này.
Khối thông tin không mở cho công cộng: bao gồm các hệ thống cơ sở dữ liệu chuyên ngành do các tổ chức có mạng con hoặc có các máy chủ ở bất cứ nước nào xây dựng và thiết lập để phục vụ cho các nhu cầu riêng của họ và để bán thông tin. Các cơ sở dữ liệu này thường được bảo mật cao, chỉ những người sử dụng nào được phép mới có quyền truy nhập và khai thác.
2.6.2.2. Các dịch vụ cơ bản
Tìm kiếm thông tin.
Thư điện tử.
Truyền File.
Trao đổi trực tiếp.
Truy cập máy tính khác.
2.6.3. Tích hợp cơ sở dự liệu với web
Có nhiều kỹ thuật được dùng để tích hợp cơ sở dữ liệu với web để tạo ra trang web động như CGI, PHP, ASP, JSP, Coldfusion.
2.7. Ngôn ngữ lập trình Perl và Javascript 2.7.1. Ngôn ngữ Perl [7] 2.7.1. Ngôn ngữ Perl [7]
2.7.1.1. Tóm tắt lịch sử phát triển
Perl là chữ viết tắt của “Practical Extraction and Report Language”. Larry Wall tạo ra ngôn ngữ Perl năm 1986 nhằm quản trị và cấu hình các mạng máy tính lớn. Ngôn ngữ này phát sinh từ ngôn ngữ lập trình C và bị ảnh hưởng bởi ngôn ngữ khác như BASIC, awk, sed và UNIX shell.
Năm 1988, Perl 2.0 phát hành và được các nhà quản trị UNIX sử dụng rộng rãi.
Năm 1989, Perl 3.0 ra đời, nhưng phiên bản này được phát hành dưới bản quyền được bảo vệ của GNU. Với phiên bản này Perl nhanh chóng trở thành tiêu chuẩn để viết CGI script dùng cho việc xử lý dữ liệu được gửi trên Internet.
Năm 1991, phiên bản 4.0 được đưa ra vào tháng 3. Đến thời điểm này, Perl đã trở thành ngôn ngữ khá hoàn chỉnh mặc dù vẫn còn một số khuyết điểm nhỏ.
Năm 1994, phiên bản Perl 5.0 ra đời cùng với sự ra đời của DBI (Database Interface) và DBD (Datadbase Driver) cho hệ quản trị cơ sở dữ liệu Oracle của Tim Bunce. Từ đó, các DBD của các hệ quản trị cơ sở dữ liệu khác cũng dần xuất hiện.
Năm 2000, phiên bản 5.6 xuất hiện vào tháng 3. Phiên bản này đã chuyển sang định dạng tiêu chuẩn và có sự hỗ trợ cả Unicode và UTF-8.
Năm 2002, phiên bản Perl 5.8 ra đời cùng với nhiều cải tiến mới được bổ sung.
2.7.1.2. Ứng dụng
Perl được dùng để xử lý tập tin, truy cập dữ liệu và được dùng cho giao diện cổng chung (Common Gateway Interface – CGI), tiến hành tạo script của Microsoft Windows, tạo giao diện người dùng đồ họa (graphical user interface – GUI).
Ưu điểm: là ngôn ngữ dễ nắm bắt, thích hợp cho xử lý chuỗi và văn bản thuần túy, được sự hổ trợ của nhiều hệ điều hành. Vì vậy, Perl là ngôn ngữ lập trình thích hợp cho các nhà tin – sinh học vì nó có thể giúp cho việc thao tác trên các chuỗi trình tự sinh học, tạo cơ sở dữ liệu sinh học dễ dàng hơn. Ngoài ra, Perl còn được sự hỗ trợ module (tập các hàm) giúp kết nối, truy xuất cơ sở dữ liệu với trang Web, tạo ra trang web động.
Nhược điểm: chỉ có thể dùng để viết các chương trình, script nhỏ.
2.7.1.3. Một số module của Perl thƣờng đƣợc sử dụng
Mudule CGI (Common Gateway Interface – CGI) của Perl: do Lincoln D. Stein viết. Module này gồm các hàm giúp viết kịch bản Perl
theo giao thức CGI. Các script này giúp lấy thông tin từ trình diệt khách gởi đến máy chủ, đưa vào chương trình sử lý và đưa lại thông tin kết quả đến máy khách.
Module DBI (Database Interface) của Perl: là tập các hàm, biến và những qui ước cần thiết cho việc tương tác với một cơ sở dữ liệu nhất định thông qua Perl script, hoàn toàn độc lập với hệ quản trị cơ sở dữ liệu (do tác giả của DBI, Tim Bunce, định nghĩa). Những tương tác có thể nhập, nâng cấp, xử lý, rút trích,…dữ liệu vào hay ra khỏi cơ sở dữ liệu.
Module DBD (Datadbase Driver) của Perl: là một module phụ thuộc loại hệ quản trị cơ sở dữ liệu và liên kết với module BDI để truy cập vào một loại hệ quản trị cơ sở dữ liệu nhất định. Như vậy tương ứng với một hệ quản trị cơ sở dữ liệu có một loại DBD. Ví dụ như hệ quản trị MySQL có Database Driver là DBD::MySQL.
Hình 2. 4. Tƣơng tác giữa Perl script-DBI-DBD-và RBDMS 2.7.2. Ngôn ngữ Javascript [6]
Javascript đã và đang phát triển một cách vững chắc về mặt phổ cập lẫn khả năng kể từ khi nó ra đời và hiện giờ đã trở thành ngôn ngữ số một dành cho trình duyệt. Công nghệ này có hai thế mạnh chính: hỗ trợ nhiều trình duyệt khác nhau và có thể lập trình dễ dàng. Công nghệ này thành công đến nỗi nó không chỉ là ngôn ngữ lập trình cho các trình duyệt mà còn được dùng để lập trình cho các tập tin PDF và lập trình cho máy chủ web.
P E R L S C R I P T D B I S w i t c h DBD DBD DBD RDBMS RDBMS RDBMS
2.7.2.1. Định nghĩa Javascript
Javascript ra đời với tên gọi là LiveScript, tuy nhiên Netscape đã thay đổi tên gọi thành Javascript. Tuy nhiên, tên gọi này đã gây ra lúng túng cho một số người khi cho rằng có một mối quan hệ gần gũi giữa Java và Javascript. Trong thực tế, giữa hai ngôn ngữ này có rất ít các điểm chung, dù rằng cú pháp của chúng có thể giống nhau.
Năm 1996, ngôn ngữ Javascript được tạo ra bởi Netscape và được đưa vào trong trình duyệt Netscape Navigator 2.0 của họ thông qua một trình biên dịch để đọc và thực hiện các mã lệnh Javascript được kèm theo trong các trang .HTML. Ngôn ngữ này ngày càng trở nên phổ cập và hiện giờ đã được hỗ trợ bởi phần lớn các trình duyệt trên Internet: các trình duyệt được tạo bởi ra bởi Netscape và Microsoft, cũng như các trình duyệt ít phổ biến hơn như Opera.
2.7.2.2. Javascript có thể làm gì?
Các hiệu ứng rollover (thay đổi hình ảnh khi di chuyển chuột lên phía trên hình ảnh) và các thủ thuật HTML đều có gắn liền với Javascript.
Kiểm tra tính hợp lệ về dữ liệu người dùng, kiểm tra xem dữ liệu được nhập vào có phù hợp không trước khi chúng được gửi lên máy chủ.
Khi Javascript được phát triển theo đúng chức năng của mình, các nhà phát triển và các nhà thiết kế có thể tạo ra nhiều hiệu ứng và tương tác trực quan có ấn tượng hơn cho người dùng.
2.7.2.3. Ƣu và nhƣợc điểm của Javascript
Ưu điểm:
Khả năng chạy trên nhiều trình duyệt.
Kiểm tra tính hợp lệ của dữ liệu trên máy khách.
Khả năng tạo ra các giao diện người dùng tinh tế và phức tạp. Các hiệu ứng tạo ra bởi Javascript còn có thể được tải xuống nhanh hơn rất nhiều so với một số công nghệ khác như Flash và Java applets.
Các ưu điểm khác bao gồm: không cần phải có các công cụ riêng biệt để viết Javascript, có thể sử dụng bất kỳ trình soạn thảo văn bản
hoặc HTML nào để thực hiện việc đó, không phải tốn chi phí để mua các sản phẩm phần mềm vốn thường là không rẻ. Javascript cũng là một ngôn ngữ dễ học, trên Internet có rất nhiều nguồn thông tin và nhiều cộng đồng các nhà phát triển có tính hỗ trợ nhau trong việc phát triển ứng dụng Javascript để tham khảo.
Nhược điểm:
Phụ thuộc vào tính tương thích của trình duyệt
2.8. Cơ sở dữ liệu sinh học
Dữ liệu sinh học ngày càng tăng theo cấp số mũ qua các dự án giải trình tự bộ gene, do sự phát triển của kỹ thuật và thiết bị thí nghiệm như kỹ thuật DNA micro array, kỹ thuật giải trình tự tự động cho phép tạo ra hàng ngàn dữ liệu sinh học trong chốc lát. Như vậy vấn đề đặt ra là cần phải có biện pháp lưu trữ, quản lý, sử dụng và chia sẽ nguồn dữ liệu này. Do đó cần xây dựng các dữ liệu này thành một cơ sở dữ liệu hoàn chỉnh để có thể thực hiện được mục đích trên. Hơn thế nữa, với việc hệ thống hóa toàn bộ dữ liệu trên, chúng ta dễ dàng thực hiện việc chia sẽ những thông tin ấy qua mạng Internet hay kết nối thêm vào những tập dữ liệu ở nơi khác.
Một số cơ sở dữ liệu lớn, trực tuyến đã được xây dựng để cung cấp thông tin cho các nhà nghiên cứu sinh học như NCBI, EBI, SIB, DDBJ,…
2.8.1. NCBI
2.8.1.1. Vài nét về NCBI
Hình 2. 5. Tƣơng quan giữa NCBI, NLM (National Library of Medicine và NIH)
NCBI là chữ viết tắt của “Center for Bioinformatic Information”. Đây là trung tâm quốc gia về Công nghệ sinh học, thuộc viện sức khỏe quốc gia của Hoa kỳ (NIH – National Insitute of Health). NCBI chính thức được
NLM
NCBI NIH
thành lập vào ngày 4/10/1988. Đến năm 1991, NCBI đảm nhiệm việc quản lý cơ sở dữ liệu trình tự DNA và từ đó NCBI còn được gọi là GenBank.
NCBI là nơi cung cấp, trao đổi thông tin về sinh học phân tử của Mỹ, thông qua những cơ sở dữ liệu trực tuyến. Ngoài ra, NCBI còn tham gia những nghiên cứu về “sinh học tính toán” (computation biology), phát triển những công cụ phân tích dữ liệu bộ gene, protein,…
2.8.1.2. Một số cơ sở dữ liệu trong NCBI
Nucleotide (GenBank): là cơ sở dữ liệu về trình tự nucleotide.
Protein: là cơ sở dữ liệu về trình tự amino acid.
Genome: trình tự toàn bộ genome của một số sinh vật.
Structure: hay còn có tên gọi là MMDB (Molecular Modeling Database) chứa cấu trúc ba chiều của những đại phân tử bao gồm cả protein lẫn những chuỗi nucleotide.
Ngoài ra, NCBI còn một số cơ sở dữ liệu khác. Chúng là các cơ sở dữ liệu trung gian, được tạo thành từ sự kết hợp của hai hay nhiều cơ sở dữ liệu trên, hay do liên kết đến các cơ sở dữ liệu khác.
2.8.1.3. Một số công cụ trong NCBI
Công cụ khai thác dữ liệu:
Tìm kiếm thông tin sinh học dựa trên từ khóa có dạng văn bản: Entrez: chứa các phương thức tìm kiếm như tìm kiếm dựa trên accession number, hay dựa theo tên sinh vật, tên gene, tên protein,… trên tất cả các cơ sở dữ liệu.
Tìm kiếm trình tự tương đồng: có phần mềm điển hình như:
BLAST (Basic Local Alignment Search Tool): có BLAST Homepage là nơi cung cấp thông tin hướng dẫn về BLAST, chương trình BLAST,…
Blink: nơi hiển thị kết quả bằng BLAST trên mọi protein có trong mọi cơ sở dữ liệu protein Entrez.
Network-client BLAST: client BLAST (blastcl3) có thể thâm nhập vào bộ máy BLAST của NCBI. Blastcl3 này có thể tìm kiếm tất cả các trình tự dưới dạng file FASTA và tạo sự gióng cột một-
nhiều trình tự, sau đó lưu dưới dạng file text hay HTML. Ngoài ra, blastcl3 còn có thể thực hiện việc tìm kiếm trên nhiều cơ sở dữ liệu.
Stand-alone BLAST: là phần mềm có thể tải về từ NCBI. Phần mềm này thực hiện việc tìm kiếm các trình tự tương tự trên cơ sở dữ liệu trình tự cục bộ.
Phân loại sinh vật:
Taxonomy Browser: công cụ thực hiện việc tìm kiếm trên cơ sở dữ liệu Taxonomy.
Taxonomy BLAST: nhóm lại những kết quả có tỉ lệ tương đồng khi thực hiện BLAST, tùy thuộc vào sự phân loại của chúng trong cơ sở dữ liệu Taxonomy.
TaxTable: tóm tắt kết quả sau khi thực hiện BLAST với cơ sở dữ liệu Taxonomy và hiển thị mối quan hệ giữa sinh vật này với sinh vật khác bằng các biểu đồ màu.
Công cụ phục vụ cho việc góp trình tự protein, DNA, EST, STS,… lên NCBI
Sequin: phần mềm này có thể tải về từ NCBI, hổ trợ cho việc tạo ra những file văn bản (chứa trình tự, tên tác giả, bài báo,…) có cấu trúc theo khuôn mẫu. Trong phần mềm này còn kèm theo một số công cụ nhỏ như công cụ tìm khung đọc mở, công cụ gióng cột trình tự,… phần mềm này thích hợp cho việc góp nhiều trình tự cùng một lúc.
NCBI còn tích hợp khá nhiều những công cụ, phần mềm phân tích trình tự DNA, protein như: BanklIt, ORF Finder, Electronic-PCR (e-PCR), VecScreen, Homologene, COGs, COGnitor, GEO, MGC, Clone Registry, CDD, LocusLink,…
Phần 3
PHƢƠNG PHÁP VÀ CHƢƠNG TRÌNH SỬ DỤNG
CÁC PHẦN MỀM ĐƢỢC SỬ DỤNG
3.1. Các chƣơng trình và ngôn ngữ lập trình đƣợc sử dụng [7]
3.1.1. Hệ điều hành
Microsoft Windows XP Server Pack 2. Xây dựng CSDL trình tự SSRs của cây dứa Ananas comosus trên hệ điều hành này.
3.1.2. Các chƣơng trình phân tích trình tự
3.1.2.1. Chƣơng trình so sánh trình tự ClustalW
ClustalW là một phần mềm (chạy trên nền Dos) dùng để so sánh sự tương đồng của hai hay nhiều trình tự sinh học (pairswise or mutiple alignment). ClustalW mô tả kết quả bằng hệ thống các kí hiệu làm nổi bậc những nét đặc trưng trong những đoạn tương đồng. ClustalW ngày càng trở nên hữu ích cho các nhà nghiên cứu trong việc tìm kiếm những vùng bảo tồn trên những trình tự DNA hoặc protein. Sự hiểu biết về mutiple alignment giúp ích rất nhiều cho các nhà khoa học trong việc dự đoán cấu trúc bậc hai, bậc ba của protein, đồng thời phát hiện sự tương đồng giữa những đoạn gene (hoặc protein) vừa được giải trình tự với những gene (hoặc protein) đã tồn tại.
ClustalW tiến hành so sánh tương đồng nhiều trình tự sinh học qua ba giai đoạn:
Đầu tiên chương trình sử dụng thuật toán alignment xấp xỉ của Wilbur và Lipman năm 1983 để tính hệ số tương đồng giữa mỗi cặp