Xem mẫu

  1. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 97 Hình 4.4: Kết quả cuối cùng sau khi chƣơng trình phân Division đã chạy xong Dữ liệu của ta đƣợc phân loại theo từng trƣờng riêng biệt, đây là cấu tạo tầng dữ liệu của ta. Thống kê kết quả cuối cùng, tất cả các trình tự đƣợc phân loại vào các trƣờng nhƣ sau: PLN: 3129 trình tự. BCT: 476 trình tự. VRL: 662 trình tự. PAT: 228 trình tự. SYN: 210 trình tự. EST: 874 trình tự. INV: 36 trình tự. STS: 1 trình tự. GSS: 10 trình tự. ENV: 1 trình tự. VRT: 1 trình tự. Qua khảo sát tài liệu và các record Genbank, có nhận xét sau: Các gene dùng trong thực vật biến đổi di truyền hiện nay đa số từ thực vật, vi khuẩn, virus, ngoài ra còn một số trình tự đƣợc tổng hợp nhân tạo nhƣ CryIAb, cp4epsps… Các trình tự này chủ yếu nằm trên các khu vực PLN, BCT, VRL, PAT, SYN, EST, các trƣờng còn lại chứa các trình tự dƣ thừa, vì thế ta chỉ cho tìm kiếm trên các khu vực chứa trình tự quan tâm. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  2. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 98 V. Java tiến hành xử lý dữ liệu Xây dựng ứng dụng tra cứu dữ liệu trình tự thông qua các keyword do ngƣời dùng chọn lựa và nhập vào. V.1. Các yêu cầu đặt ra Với keyword bất kỳ nhập vào, cần tìm đƣợc file chứa từ đó trong nội dung. Để thông tin tìm đƣợc đúng mong muốn, ta sẽ tạo thêm các giới hạn tìm kiếm. Có hai mức giới hạn đƣợc đặt ra:  Mức dữ liệu: ta cho ngƣời dùng giới hạn tìm kiếm trên các bộ dữ liệu: o Thực vật (Plant) o Vi khuẩn (bacterial) o Virus (viral) o EST (EST) o SYN (SYN) o PAT (PAT)  Mức các trƣờng trong record GenBank: o LOCUSID o Length o Molecular type o DEFINITION o ACCESSION NUMBER o VERSION o GI o ORGANISM o AUTHOR o TITLE o JOURNAL o Gene name o Product name Ngƣời dùng có thể kết hợp các yêu cầu qua các toán tử AND, OR, NOT để tìm kiếm chính xác thông tin cần tìm. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  3. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 99 V.2. Xử lý yêu cầu bằng Java và Biojava  Phân tích nội dung của dữ liệu genbank. Có thể phân nội dung thành hai phần:  Phần tìm kiếm thông tin liên quan đến trình tự: Bắt đầu từ trƣờng LOCUS đến phần bắt đầu của trƣờng ORIGIN.  Phần tìm kiếm thông tin trình tự: Tìm kiếm trong nội dung của trƣờng ORIGIN.  Xử lý dữ liệu tìm kiếm theo các trƣờng  Đầu tiên ta thực hiện việc tách các trƣờng mà yêu cầu nội dung khi tìm kiếm phải chính xác. Các trƣờng này đƣợc chỉ ra trong hình sau: Hình 5.1: Các trƣờng tìm kiếm chính xác Trƣớc hết tách các trƣờng lớn nhƣ LOCUS, VERSION: Việc tách các trƣờng này đƣợc thực hiện bằng các phƣơng thức cụ thể t rong lớp GetFieldOfGenBank.java. Phƣơng thức quan trọng trong lớp này là get(File file, String fieldRequest). Phƣơng thức này nhận hai tham số là nội dung file và nội dung trƣờng cần tìm. Tiếp theo tiến hành tách các trƣờng nhỏ hơn trong hai trƣờng LOCUS và VERSION nhƣ chỉ ra trên hình. Thực hiện việc này đƣợc đảm nhận bởi các phƣơng thức trong lớp Get FieldInLocVerAcc. Các phƣơng thức chính đảm nhận việc tách là và GetFieldOfLocus(File file, String fieldRequest) GetFieldOfVersion(File file, String fieldRequest).  Trƣờng ACCESSION cũng tiến hành tƣơng tự.  Tiếp theo tiến hành tách các trƣờng khác cung cấp thông tin về chức năng trình tự: NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  4. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 100 Hình 5.2: Các trƣờng cung cấp thông tin trình tự cần tách Cách tách các trƣờng này (các trƣờng đƣợc khoanh đỏ) đƣợc thực hiện bởi các phƣơng thức trong lớp GetFieldOfGenBank giống nhƣ các lớp trên. Trong các trƣờng trên thì trƣờng FEATURES chứa các thông tin quan trọng của trình tự. Ở đây ta quan tâm các thông tin trong vùng mã hóa CDS (đƣợc đóng khung). Các thông tin trong trƣờng CDS thƣờng là tên gene, tên sản phẩm của trình tự, và trình tự amino acid tƣơng ứng. Đây là các nội dung quan trọng cần cho tìm kiếm và hiển thị kết quả. Mỗi nội dung trong trƣờng CDS đƣợc bắt đầu bằng biểu tƣợng “/” sau đó là tên tiêu mục nội dung tiếp theo là dấu “=” cuối cùng là nội dung của tiêu NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  5. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 101 mục, ví dụ /gene= : bắt đầu nội dung tên gene. Dựa vào điều này ta tạo các phƣơng thức trong lớp GetFieldInSmallFieldOfFeature để tách các phần nội dung này.  Thực hiện tìm kiếm trình tự trong trƣờng ORIGIN  Phần này ta ứng dụng mã biojava để xử lý. Lớp CheckOriginRequest làm nhiệm vụ tìm kiếm cho trƣờng này. Đến đây ta đã hoàn thành tìm kiếm trên từng trƣờng cụ thể, việc tìm kiếm trên tất các trƣờng đƣợc thực hiện bằng cách xét tuần tự từng trƣờng, nếu tìm thấy nội dung trong bất kỳ trƣờng nào thì việc tìm kiếm đƣợc dừng lại. V.3.Thiết kế giao diện Qua tham khảo giao diện các trang web trên thế giới và theo yêu cầu thực tế của đề tài, trang giao diện đƣợc chúng tôi thiết kế nhƣ sau: NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  6. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 102 Hình 5.3: Trang giao diện tìm kiếm GM Databases NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  7. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 103 Thiết kế trang giao diện trên chúng tôi dựa theo các tiêu chí sau: Khung tìm kiếm tạo thuận lợi, dễ chọn lựa, không phức tạp và rắc rối đối với ngƣời dùng. Hình 5.4: Nội dung trang tìm kiếm Phần hƣớng dẫn, giúp ngƣời sử dụng hiệu quả hơn với các chọn lựa tìm kiếm. Chữ viết tắt ở đầu trang: NLBI là chữ viết tắt của tên nhóm nghiên cứu Tin – Sinh học của Đại Học Nông Lâm Tp.HCM. (Nông Lâm BioInformatics) Trên thanh chỉ mục ngang ở đầu trang web có các liên kết đến các trang cung cấp thông tin chung nhƣ:  NLBI Home: liên kết đến trang chủ, tại đây cung cấp đầy đủ các thông tin hiện có về nhóm bioinformatics của Đại Học Nông Lâm.  About NLBI: cung cấp thông tin về nhóm bioinformatics của Đại Học Nông Lâm.  Contact Us: cung cấp các cách tiếp cận các cơ sở dữ liệu hiện có của nhóm.  Help: cung cấp thông tin hỗ trợ cho tất cả các nội dung hiện có. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  8. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 104 Trong khung chỉ mục phía trái trang web có các mục: Index, Tools, Documentation, News. Những mục này là những liên kết tới các trang thông tin hỗ trợ trang NLBI Search nhƣ:  Index: liệt kê tất cả các kiểu tìm kiếm hiện có.  Tools: cung cấp các công cụ phân tích trình tự hoạt động tại web server hay software download.  Documentation: cung cấp các tài liệu về trang NLBI search nhƣ cách hoạt động của trang, các chỉ dẫn tìm kiếm thông tin hiệu quả…  News: các thông tin cập nhật về trang NLBI search. Ngoài ra, trang web còn đƣợc trang trí với màu sắc dễ nhìn và mang tính đặc trƣng riêng của nhóm làm việc. Các mục trên trang web về sau có thể mở rộng, nâng cao, tăng tính năng tìm kiếm, tăng những hỗ trợ cho ngƣời sử dụng, … Một tiện lợi nhỏ của trang web tìm kiếm này là ngoài khả năng tìm kiếm trên dữ liệu GM Database của NLBI, thì ngƣời sử dụng khi cần thiết vẫn có thể chọn lựa tìm kiếm trên dữ liệu của các trang tìm kiếm lớn trên thế giới là GenBank, EMBL, DDBJ, không phải mất thời gian để mở một cửa sổ tìm kiếm khác trên máy tính. V.4. Lập trình hiển thị giao diện sử dụng a) Lập trình web Kết quả sau khi xử lý sẽ đƣợc hiển thị ra giao diện web. Nội dung hiển thị tạo thuận lợi cho ngƣời dùng trong việc nắm bắt các thông tin về trình tự tìm đƣợc. Cụ thể: Trang tìm kiếm với giao diện và hƣớng dẫn tạo thuận lợi cho tìm kiếm. Kết quả tìm kiếm đƣợc hiển thị mặc định ở dạng thông tin tóm tắt tiện cho ngƣời dùng có khái niệm khái quát về trình tự. Có thể hiển thị linh động sang các kiểu hiển thị nội dung khác nhƣ:  Thể hiện đầy đủ thông tin dƣới dạng GenBank  Thể hiện trình tự dạng FASTA  Thể hiện chỉ vùng trình tự mã hóa (CDS) dƣới dạng FASTA  Thể hiện trình tự amino acid dƣới dạng FASTA. Nội dung hiển thị đƣợc xem dƣới dạng web (HTML) hay dạng văn bản (text). NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  9. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 105 Giao diện web đƣợc thiết kế với hai công cụ thiết kế thông dụng Frontpage và Dreamweaver, sau đó đƣợc chuyển mã vào Java Servlet. Công nghệ Java Servlet cho phép kết nối các ứng dụng trên web với cơ sở dữ liệu. b) Ứng dụng Java Servlet lập trình web Ứng dụng tìm kiếm: Hình 5.5: Một trƣờng hợp tìm kiếm trên web Đây là một trang web tìm kiếm bằng keyword, để trang web có thể hoạt động ta có thể chuyển mã của trang này thành mã của Java Servlet (sau này có thể cải tiến bằng cách dùng JSP hoặc các công cụ khác). Ở đây ta lấy một ví dụ cụ thể một cách tìm kiếm để minh họa cụ thể cách hoạt động của trang web:  Chúng ta có thể nhập bất cứ nội dung tìm kiếm nào vào khung Search for, ở đây ta nhập keyword là PAT.  Trong khung Limited Field ta chọn trƣờng tìm kiếm cụ thể, ở đây ta chọn Anyfields. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  10. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 106  Trong khung Choose Database, chọn nhóm dữ liệu tìm kiếm ở đây ta chọn Patent Database.  Sau khi ngƣời dùng nhấn Submit yêu cầu đƣợc gởi lên máy chủ, khi đó máy chủ gởi yêu cầu đến Servlet Controller kèm theo các tham số mà ngƣời dùng chọn lựa khi submit.  Tại lớp Controller đầu tiên sẽ nhận vào cơ sở dữ liệu cần tìm, đọc nội dung trong folder dữ liệu và lần lƣợt lấy hết các tham số cần thiết cho việc tìm kiếm nhƣ: nội dung và trƣờng cần tìm. Tiếp theo sẽ tiến hành tìm kiếm lần lƣợt các file trong folder, nếu kết quả đúng sẽ trả về file đó và lƣu giữ trong biến session (là danh sách các file thỏa việc tìm kiếm). Việc thực hiện tìm kiếm theo tham số nhận vào đƣợc thực hiện trong lớp Check.  Sau khi có đƣợc các tham số chƣơng trình sẽ gọi hàm check(String fileName, String fieldName, String value) ba tham số nhận vào lần lƣợt là tên file dữ liệu cần tìm, trƣờng cụ thể muốn tìm kiếm và nội dung tìm kiếm. Trƣớc khi việc tìm kiếm đƣợc thực hiện chƣơng trình sẽ kiểm tra xem trƣờng tìm kiếm là Anyfield hay LimitedField.  Nếu AnyField sẽ thực hiện tìm kiếm các trƣờng bằng phƣơng thức checkAllField(File file, String value)  Nếu là LimitedField sẽ tìm kiếm trên trƣờng cụ thể bằng phƣơng thức checkLimitedField(File file, String fieldName, String value)  Việc kiểm tra từng trƣờng cụ thể sẽ đƣợc truyền cho một lớp khác thực hiện. Cụ thể:  Tìm kiếm trên trƣờng LOCUS, VERSION, ACCESSION đƣợc thực hiện trong lớp CheckFieldOfVerAcc. Phƣơng thức quan trọng thực hiện nhiệm vụ này là check(File file, String fieldRequest, String valueRequest).  Việc thực hiện tìm kiếm cho những trƣờng khác đƣợc thực hiện trong lớp CheckOtherRequest. Các phƣơng thức trong lớp này sẽ lấ y nội dung của trƣờng cần tìm và thực hiện phƣơng thức Contain kiểm tra xem nội dung này có chứa nội dung mà ngƣời dùng nhập vào hay không, kết quả tra về là boolean (true hay false).  Tiếp theo là tìm kiếm các nội dung trong CDS, việc này đƣợc đảm nhận bởi các phƣơng thức trong lớp CheckFieldInSmallFieldOfFeature. Các NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  11. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 107 phƣơng thức trong lớp này sẽ lấy đúng nội dung của từ khoá cần tìm kiếm và thực hiện so sánh với nội dung mà ngƣời dùng nhập vào.  Cuối cùng là tìm kiếm cho trình tự. Cách tìm kiếm đã đƣợc mô tả bên trên, đƣợc thực hiện bằng phƣơng thức CheckOriginRequest.  Sau khi đã tìm kiếm các file thỏa yêu cầu, công việc tiếp theo là định dạng kết quả để xuất ra. Danh sách các file thỏa sẽ đƣợc chuyển sang lớp Servlet Result. Phƣơng thức doGet trong lớp này tự động gọi và chuyển yêu cầu xuất kết quả mặc định summary sang lớp Servlet printSummaryHTML, tại đây sẽ gọi các phƣơng thức lấy dữ liệu xuất đúng kết quả kèm theo các mã HTML. Kết quả đƣợc xuất ra nhƣ sau: Hình 5.6: Thể hiện kết quả tìm kiếm với nội dung tóm tắt. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  12. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 108 Tại lớp Servlet này sẽ lƣu trữ một biến session, lƣu lại các tham số mà ngƣời dùng chọn lựa định dạng kết quả và danh sách các file. Khi ngƣời dùng chọn lựa và nhấn view phƣơng thức doPost trong lớp này đƣợc gọi và thực hiện hành động gọi tiếp phƣơng thức doPost của lớp Result, tại đây sẽ xử lý và chọn định dạng mà ngƣời dùng muốn xuất, cuối cùng là gọi trang xuất thích hợp cụ thể nhƣ: dạng GenBank, dạng FASTA… Dạng GenBank: phƣơng thức doPost trong lớp Result lấy yêu cầu và gọi trang xuất là lớp Servlet PrintGenbankHTML. Dạng CDS FASTA: tƣơng tự, lớp printCdsNuclotideSeqHTML đƣợc gọi. Phần này ta chỉ lấy đoạn trình tự CDS trong phần ORIGIN, ban đầu nó sẽ lấy vị trí giới hạn trong CDS, sau đó gọi phƣơng thức writeSequence(PrintStream out, int origin, int destination) trong lớp PrintOrigin. Dạng Nucleotide sequences FASTA: lớp PrintNucleotideSeqFastaHTML đƣợc gọi. Trong lớp này sẽ gọi phƣơng thức writeSequence, phƣơng thức writeSequence thuộc lớp PrintOrigin và thực hiện in hết Origin. Dạng CDS amino acid Seq FASTA: lớp PrintCdsAAcidSeqFastaHTML đƣợc gọi. Lớp này sẽ lấy nội dung “/translation=” trong CDS và thực hiện in tuần tự mỗi hàng 60 ký tự. VI. Kết quả giao diện tìm kiếm với dữ liệu tập hợp đƣợc Sau khi xử lý dữ liệu với Java Servlet và thiết kế giao diện cho ngƣời dùng. Ta đƣợc kết quả nhƣ sau: Giao diện của trang tìm kiếm NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  13. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 109 Hình 6.1: Trang chủ tìm kiếm trình tự GM Plants bằng keyword. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  14. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 110 Trang này cho phép ta nhập keywords cần tìm, chọn trƣờng giới hạn, chọn cơ sở dữ liệu cần tìm sau đó nhấn nút submit để tìm kiếm. Keywords có thể đƣợc kết hợp với nhau theo toán tử AND, OR, NOT. Theo mặc định keywords đƣợc tìm kiếm trong cơ sở dữ liệu NLBI (Nông Lâm Bioinformatics Group). Các cơ sở dữ liệu Genbank, EMBL, DDBJ hiện tại chƣa tích hợp đƣợc. Ta thực hiện một ví dụ về hoạt động của trang web: Ta tìm kiếm trình tự tổng hợp 5-enolpyruvylshikimate-3-phosphate (enzyme kháng thuốc diệt cỏ) trong cơ sở dữ liệu vi khuẩn. Ta thực hiện nhƣ sau: Hình 6.2: Nhập keyword cần tìm vào khung tìm kiếm NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  15. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 111 Sau khi đánh keywords, chọn các trƣờng và cơ sở dữ liệu thích hợp ta nhận nút submit thực hiện tìm kiếm. Ta thu đƣợc kết quả sau: Hình 6.3: Trang kết quả tìm kiếm mặc định là dạng Summary NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  16. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 112 Theo mặc định kết quả xuất ra ở dạng tóm tắt (Summary). Tại trang này ta có thể hiện thị các kết quả khác nhau thể hiện trong khung displays, chọn kiểu format, và kết quả xuất ra tối đa trên một trang. Sau đây là một vài hiển thị: Biểu diễn dạng Genbank NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  17. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 113 Hình 6.4: Trang biểu diễn kết quả dạng GenBank NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  18. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 114 Biểu diễn trình tự dƣới dạng FASTA Hình 6.5: Trang biểu diễn kết quả dạng FASTA Biểu diễn vùng trình tự mã hóa (CDS) dạng FASTA Hình 6.6: Trang biểu diễn vùng trình tự mã hóa (CDS) dạng FASTA NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  19. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 115 Biểu diễn trình tự aminoacid do CDS mã hóa, dạng FASTA Hình 6.7: Trang Biểu diễn trình tự aminoacid do CDS mã hóa, dạng FASTA NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  20. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 116 Bất kỳ kết quả biểu diễn nào cũng có thể chọn lựa định dạng HTML hoặc text. Sau đây là biểu diễn genbank thể hiện dạng text Hình 6.8: Trang biểu diễn kết quả dạng text của kiểu GenBank NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
nguon tai.lieu . vn