Thu thập nguồn gene và tổ chức dữ liệu gene
PHẦN B: TỔNG QUAN – Cơ sở tin học – Ngôn ngữ Java NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 53 * Java Servlet có thể thiết kế trang web dựa trên những dữ liệu submit từ phía ngƣời dùng. * Java Servlet có thể sử dụng thông tin từ những cơ sở dữ liệu chung hoặc từ server khác. (Nhƣ là một trang web thƣơng mại có thể sử dụng Servlet để xây dựng ứng dụng báo cáo danh sách các giá hiện thời đƣợc cập nhật từ nhiều nguồn khác nhau và có thể đƣợc sử dụng cho mỗi mặt hàng bán ra thị trƣờng) Nhƣ vậy, Servlet không bị hạn chế đến ứng dụng web và ứng dụng server mà nó còn có thể vận dụng cho HTTP request. Java Servlet có thể ứng dụng cho nhiều loại server khác nhau. III.3.5. Thuận lợi của Servlet so với các công nghệ thiết kế web khác Java Servlet hiệu quả hơn, dễ dàng sử dụng hơn, mạnh, dễ thay đổi hơn (vì ứng dụng kỹ thuật Model-Controller-View (MVC)). Nhờ ứng dụng mô hình MVC trong thiết kế mà tạo nên tính dễ dàng thay đổi và cập nhật trong kỹ thuật thiết kế web bằng Servlet. Những thay đổi cụ thể nhƣ view có thể dễ dàng thay đổi mà không ảnh hƣởng đến toàn bộ hoạt động hiện thời của hệ thống. Chúng ta có thể so sánh cụ thể giữa Servlet và CGI CGI (giao thức truyền giữa client và server) Với kỹ thuật CGI truyền thống thì một tiến trình đƣợc thi hành cho mỗi HTTP request, phí tổn bắt đầu tiến trình có thể lớn hơn thời gian thi hành thực tế Với Java Servlet ta có thể hiểu một cách nôm na là nó sử dụng máy ảo Java (Java virtual machine) để biên dịch chƣơng trình. Hình 3.1: Một chu kỳ sống của CGI PHẦN B: TỔNG QUAN – Cơ sở tin học – Ngôn ngữ Java NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 54 Với CGI: nếu có những yêu cầu đồng thời trong cùng một chƣơng trình, thì mã cho CGI đƣợc load n lần vào bộ nhớ. Với Java Servlet ta hình dung nó đƣợc load một lần và sử dụng cho các lần khác Với CGI thì rất khó khăn trong việc chia sẻ tài nguyên hoặc là vị trí trong server (server-side) giữa các request khác nhau. Với Servlet cho phép chia sẽ tiến trình chính, chia sẽ tài nguyên giữa nhiều Servlet và nhiều yêu cầu. Hiện nay Servlet và JSP (Java server page) đƣợc kết hợp để làm nên Web tier (tầng web) cho Java 2 Enterprise Edition (J2EE). Hình 3.2: Chu kỳ sống của CGI hiện nay Sơ đồ 3.1: Sơ đồ một ứng dụng phần mềm Java Servlet hỗ trợ vài khả năng mà khó hoặc không thể hoàn thành với CGI nhƣ: Servlet có thể liên lạc trực tiếp server, mà các chƣơng trình CGI không làm đƣợc, ít nhất là không thể sử dụng specific API (application program interface). PHẦN B: TỔNG QUAN – Cơ sở tin học – Ngôn ngữ Java NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 55 Nhiều Servlet giao tiếp với web server thông qua việc chuyển đổi địa chỉ URL thành tên đƣờng dẫn cụ thể. Nhiều Servlet có thể dễ dàng chia sẻ cơ sở dữ liệu, dễ dàng hiện thực kết nối cơ sở dữ liệu và chia sẽ nguồn tài nguyên. Servlet có khả năng lƣu trữ thông tin từ yêu cầu ngƣời sử dụng nhƣ session (phiên làm việc). Dễ dàng thay đổi di chuyển: - Servlet đƣợc viết trong ngôn ngữ lập trình Java và theo tiêu chuẩn API. - Servlet có thể viết ra ứng dụng web mà chạy hầu nhƣ không thay đổi trên Apache, Microsoft Internet Information Server(IIS), IBM Web Sphere. Java Servlet đều đƣợc thi hành trên Sun Java web server, Apache Tomcat và Sun‟s Java server we development (JSWDK). Nhƣ vậy, chính nhờ dựa trên nền tảng công nghệ Java mà Java Servlet có hiệu quả khi lập trình web đòi hỏi các ứng dụng động và phức tạp. Sử dụng chức năng lập trình hƣớng đối tƣợng trong Java. Tuy nhiên, với những tiến bộ của công nghệ Java hiện nay, Servlet đƣợc xem là công nghệ cơ bản để nhiều công nghệ khác đƣợc xây dựng trên đó, chẳng hạn Struts, WebWork, JavaServer Faces, và Spring MVC. Ƣu điểm của các công nghệ này là giúp ngƣời lập trình phát triển các ứng dụng web nhanh hơn và dễ dàng hơn. III.3.6. Cấu trúc ứng dụng Servlet Một Servlet là một lớp Java mà có thể đƣợc nạp một cách động vào trong và đƣợc chạy bởi một web server riêng biệt. Web server đƣợc gọi là Servlet container, còn đƣợc gọi là một Servlet Engine trong những ngày đầu của công nghệ Java. Giao diện Servlet (Servlet interface) với máy ngƣời sử dụng qua mô hình yêu cầu-đáp ứng (request-response) trên cơ sở HTTP. Bởi vì công nghệ Java hoạt động trên đỉnh cao của HTTP, một Servlet Container phải hỗ trợ HTTP khi truyền giao thức ngƣời dùng yêu cầu (request) và server trả lời (response). Tuy nhiên, một Servlet Container cũng có thể hỗ trợ giao thức tƣơng tự nhƣ HTTPS (HTTP over SSL) cho sự giải quyết an toàn. PHẦN B: TỔNG QUAN – Cơ sở tin học – Ngôn ngữ Java NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 56 Sơ đồ 3.2: Cấu trúc của một ứng dụng Servlet (Servlet Application) Trong hình 3.2, một Servlet Application cũng có thể bao gồm nội dung tĩnh (static content), nhƣ trang HTML và file ảnh. Servlet container thì không thích hợp để đáp ứng nội dung tĩnh mà đƣợc phục vụ bởi một HTTP Servlet mạnh, vì nếu vậy nội dung sẽ rất nhanh, nhƣ Apache web server hay Microsoft Interface Information Server. Nó là thực tiễn phổ biến nhất để đặt một web server phía trƣớc để quản lý các request của client. Sơ đồ 3.3: Một cấu trúc phổ biến hơn của một server application. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Phương tiện NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 57 C. PHƢƠNG TIỆN VÀ PHƢƠNG PHÁP TIẾN HÀNH I. Phƣơng tiện I.1. Thiết bị Máy tính cấu hình P.4, có cài đặt hệ điều hành Microsoft Windows. Internet truy cập CSDL thế giới. Một số phần mềm soạn thảo lập trình Perl nhƣ: EditPlus, UltraEdit, Notepad, Perl Builder … Trình biên dịch Active Perl 5.6, Active Perl 5.8 Trình soạn thảo lập trình Java: JBuilder hỗ trợ bởi JDK 1.5 Các công cụ thiết kế web hỗ trợ :FrontPage 2003, Dreamweaver MX Phần mềm lập trình web Java Studio Creator I.2. Thời gian và địa điểm xây dựng CSDL a) Thời gian: - Tiến hành từ tháng 3 đến tháng 8 năm 2005. b) Địa điểm: - Tiến hành tại: Phòng máy tính Trung Tâm Phân Tích và Thí Nghiệm Hóa Sinh, trƣờng Đại Học Nông Lâm TpHCM. Phòng thực tập tin học Khoa Công nghệ thông tin. Phòng mạng Khoa Công nghệ thông tin, trƣờng Đại Học Nông Lâm TpHCM. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu bài báo NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 58 II. Tìm kiếm các ấn phẩm, bài báo khoa học về cây trồng biến đổi di truyền II.1. Tổng hợp dữ liệu tính trạng liên quan đến cây trồng biến đổi di truyền Để tìm kiếm thông tin dạng này trên mạng Internet, chúng ta có thể sử dụng nhiều công cụ tìm kiếm khác nhau. Việc tiếp cận đƣợc các thông tin có thể thực hiện theo nguyên tắc: Sơ đồ 2.1: Quy trình tìm kiếm thông tin Quy trình tìm kiếm một thông tin cần thiết có thể đƣợc thực hiện theo chi tiết sau: a. Xác định một từ hay một nhóm từ khóa (keyword) mang nội dung chủ yếu và quan trọng nhất của vấn đề quan tâm. b. Sử dụng các công cụ tìm kiếm trên mạng để tìm đến các địa chỉ lƣu trữ thông tin cần thiết. c. Sử dụng chức năng lọc thông tin của các công cụ để hạn chế tiếp nhận những thông tin không liên quan nếu cần thiết. Nhƣng thông thƣờng kết quả tìm kiếm đƣợc có sự sắp xếp theo ƣu tiên nên chức năng này ít đƣợc sử dụng đối với ngƣời sử dụng. * Xác định nội dung cần tìm kiếm - Liên quan đến đề tài tập hợp và tổ chức dữ liệu gene phục vụ nghiên cứu cây trồng biến đổi di truyền, chúng tôi sẽ tìm kiếm những nội dung liên quan đến những tính trạng, những cây trồng đƣợc biến đổi di truyền trên Internet. * Lựa chọn công cụ tìm kiếm - Hiện nay có rất nhiều công cụ khác nhau cho tìm kiếm trang web và các ấn phẩm bài báo. Sau đây là một vài công cụ tìm kiếm phổ biến: PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu bài báo NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 59 Công cụ search Địa chỉ Kích thƣớc danh mục đƣợc báo cáo Google http://www.google.com/ 560M AltaVista http://www.altavista.com/ 350M FAST http://www.alltheweb.com/ 340M Northern Light http://www.northernlight.com/ 265M Excite http://www.excite.com/ 250M HotBot http://www.hotbot.com/ 110M Lycos http://www.lycos.com/ 110M MetaCrawler http://www.metacrawler.com/ ND Scirus http://www.scirus.com/ 69M (chỉ cho khoa học) Bảng 2.1: Địa chỉ những phƣơng tiện tìm kiếm trên Internet cùng với dung lƣợng danh mục (tƣơng đƣơng với số lƣợng tài liệu danh mục) - Trong đề tài này chúng tôi chọn tìm kiếm tài liệu điện tử, các ấn phẩm, bài báo khoa học về các tính trạng, cây trồng biến đổi di truyền ở trên bằng hai công cụ tìm kiếm sau: Google (http://www.google.com/) Scirus (http://www.scirus.com/) - Quá trình tìm kiếm để có đƣợc thông tin thật sự cần thiết đúng nhƣ yêu cầu, cần phải sử dụng rất nhiều từ khóa khác nhau để có đƣợc thông tin thật sự hữu ích. Một số tài liệu, báo cáo khoa học xuất hiện sau khi gõ những từ khóa ngắn gọn nhƣng có những loại tài liệu phải đăng ký là thành viên mới có đƣợc những loại tài liệu này. - Sau đây là kết quả điển hình tìm đƣợc qua quá trình tìm kiếm tài liệu điện tử, bài báo, báo cáo khoa học thông qua hai công cụ tìm kiếm ở trên (Google, Scirus). Kết quả 1: Tìm kiếm bằng Google.com với từ khóa là “global AND status AND GM AND crops”, chọn loại tài liệu tìm kiếm là PDF. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu bài báo NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 60 Hình 2.1: Trang kết quả tìm kiếm bằng Google sau khi nhập từ khóa: “global AND status AND GM AND crops” Kết quả 2: Tìm kiếm tài liệu bằng Scirus.com cũng với từ khóa “global AND status AND GM AND crops”, loại tài liệu PDF và chỉ thuộc lĩnh vực khoa học sinh học và nông nghiệp. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu bài báo NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 61 Hình 2.2: Trang tìm kiếm Scirus.com nâng cao PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu bài báo NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG 62 Hình 2.3: Trang kết quả của Scirus sau khi tìm kiếm * Ngoài cách tìm kiếm bằng hai công cụ ở trên, chúng tôi còn tìm kiếm thông tin về các tính trạng, cây trồng biến đổi di truyền trên những trang web, tạp chí khoa học chuyên ngành trên mạng Internet nhƣ: - Tìm ở trang PubMed của cở sở dữ liệu NCBI: http://www.ncbi.nlm.nih.gov /entrez/query.fcgi?db=PubMed, quá trình tìm kiếm thực hiện nhƣ sau: Vào trang chủ NCBI Homepage. Hình 2.4: Trang chủ NCBI Nhấp chọn dòng Entrez trên menu trang chủ NCBI để vào trang Entrez, chọn dòng PubMed để vào trang Entrez PubMed. [...]... đƣợc lƣu trữ chủ yếu trong các cơ sở dữ liệu lớn trên thế giới nhƣ hệ thống GenBank (NCBI), EMBL (European Molecular Biology Laboratory), DDBJ (DNA Database of Japan) và một số hệ thống cơ sở dữ liệu khác trên thế giới - Thông tin trong các cơ sở dữ liệu này là rất lớn và luôn đƣợc cập nhật thƣờng xuyên (sau mỗi 24 giờ) - Trong phạm vi đề tài tập hợp và tổ chức dữ liệu gene phục vụ nghiên cứu cây trồng... trình tự nhập vào (trình tự query) NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 72 Choose database: giới hạn phạm vi cơ sở dữ liệu tìm kiếm trong các cơ sở dữ liệu của chƣơng trình BLAST Chƣơng trình BLAST đƣợc phân ra rất nhiều cơ sở dữ liệu (chi tiết xem tại địa chỉ http://www.ncbi.nlm.nih.gov/BLAST/producttable.html) Ở đây ta chọn cơ sở dữ liệu nr (non-redundant)... đƣợc chọn lọc và tổng hợp thành “Bảng thống kê tổng hợp Primer dùng trong chẩn đoán GMO” (Xem phụ lục C) NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 66 III Thu thập trình tự các gene dùng trong cây trồng biến đổi di truyền III.1 Tìm kiếm trình tự Sinh học với Keyword - Đây là dạng trình tự sinh học đƣợc lƣu trữ phổ biến trong các cơ sở dữ liệu sinh học... để tìm hiểu và chọn lọc kết quả đúng yêu cầu của mình Các tính trạng đƣợc chọn lọc, tổng hợp thành các “Bảng thống kê danh sách các tính trạng và cây trồng biến đổi di truyền” (Xem phụ lục A) II.2 Tổng hợp dữ liệu Primer dùng trong phát hiện GMO Để tìm thông tin về primer đƣợc dùng trong phát hiện GMO, chúng tôi xác định keyword và tìm thông tin trên trang web tìm kiếm Google Đầu tiên vào địa chỉ... Sinh học với Primer - Tìm trình tự bằng primer dựa vào công cụ BLAST trên NCBI Đầu tiên ta truy cập vào trang Homepage của NCBI tại địa chỉ http://www.ncbi.nlm.nih.gov/ Ta chọn vào mục BLAST trên trang chủ Sẽ xuất hiện trang sau: Hình 2.15: Trang BLAST của cơ sở dữ liệu NCBI NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 71 Tất cả các chƣơng trình BLAST... tìm hiểu cấu trúc của loại dữ liệu này, và cách thức tìm chúng (Xem phụ lục B) * Các bƣớc thực hiện: Vào trang chủ NCBI (http://www.ncbi.nlm.nih.gov/) Chọn dòng Nucleotide để đƣa chúng ta đến trang Entrez Nucleotide Nhập vào từ khóa cần tìm kiếm Hình 2.9: Trang Entrez Nucleotide với từ khóa cần tìm NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 67 Kết quả... cơ sở dữ liệu NCBI để tiến hành tìm kiếm - Để tìm những trình tự DNA chúng tôi sử dụng trang Entrez Nucleotide để tìm kiếm trong hệ thống cơ sở dữ liệu về trình tự DNA thế giới * Nguyên tắc tìm kiếm trình tự bằng Keyword - Để tìm đƣợc trình tự mong muốn, trƣớc hết chúng ta phải nắm rõ quy luật tìm kiếm dạng này để có đƣợc thông tin theo yêu cầu - Mục đích của ta là lấy trình tự trong cơ sở dữ liệu Trƣớc... về, để thu n lợi cho việc xử lý dữ liệu về sau ta chọn cách lấy dạng text Cách lấy nhƣ sau: o Chọn mục send to, chọn text o Kết quả nhƣ sau: Hình 2.11: Trang kết quả Entrez Nucleoide dạng text NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 68 o Ta chọn File/Save As, lƣu về chọn đuôi *.txt Entrez là công cụ tìm kiếm dựa trên các ký tự query ta nhập vào Khi... 5‟-GGTGAGCTGTATAATCGAGCGA-3‟ ii Reverse 5‟-GGCGCAGCATCGGCT-3‟ Marta Hernandez và ctv -2001 dùng trong kỹ thu t real-time PCR để định lƣợng và định tính gene BnACCg8 (Accession number X77576) trong Rapeseed (Brassica napus) Vị trí bắt cặp của primer forward 9652-9673, reverse 9741-9755 trong trình tự gene BnACCg8 Tiếp theo ta chọn một vài thông số khác trong phần sau: Hình 2.18: Phần tùy chọn của trang BLAST... PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 73 tìm kiếm nếu ta tắt chức năng này, kết quả xuất ra chỉ dựa vào điểm cao giữa các trình tự Kết quả có các trình tự này không phản ánh chân thật sự tƣơng đồng giữa các trình tự Trong trƣờng hợp của ta, dùng primer để tìm kiếm trình, ta nên tắt chức năng này để giảm mức độ chặt chẽ trong tìm kiếm Expect và Word size: đƣợc mặc định phù hợp cho . phạm vi đề tài tập hợp và tổ chức dữ liệu gene phục vụ nghiên cứu cây trồng biến đổi di truyền, chúng tôi chỉ sử dụng cơ sở dữ liệu NCBI để tiến hành . Japan) và một số hệ thống cơ sở dữ liệu khác trên thế giới. - Thông tin trong các cơ sở dữ liệu này là rất lớn và luôn đƣợc cập nhật thƣờng xuyên (sau mỗi 24