Xem mẫu

  1. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 75 o Phần hình ảnh minh họa tổng thể: Hình 2.22: Phần ảnh minh họa tổng thể kết quả BLAST Phần này cho ta thông tin tổng quát về sự bắt cặp của trình tự query với các trình tự khác trong cơ sở dữ liệu. Trình tự query là thanh đỏ có đánh số, các thanh khác là các trình tự trong cơ sở dữ liệu. Thanh nào càng gần thanh query thì sự tƣơng đồng với trình tự query càng cao, ngoài ra màu sắc cũng thể hiện độ tƣơng đồng ( màu đỏ có điểm số cao nhất, tới màu hồng,…). Ở đây ta thấy có rất nhiều trình tự khớp với trình tự query, có trình tự khớp cả hai primer và cũng có trình tự chỉ khớp với một primer. Ta chỉ quan tâm đến các trình tự khớp với cả hai primer. Để biết thêm thông tin về các trình tự này, ta có thể nhấp chuột vào thanh quan tâ m hay kéo xuống xem tới phần tiếp theo. o Phần tóm tắt một dòng: Hình 2.23: Phần tóm tắt kết quả BLAST NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  2. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 76 Phần này cung cấp thông tin tóm tắt về các trình tự tìm thấy trong cơ sở dữ liệu, số gi, cơ sở dữ liệu của từng trình tự, số version, số locusID, định ng hĩa tóm tắt của trình tự, điểm số theo số bit và giá trị E-value. Lƣớt sơ qua phần này ta thấy, gene ACCg8 của Brassica napus xuất hiện ngay phần đầu tiên đúng nhƣ mong muốn. Ta muốn xem sự bắt cặp của trình tự này với mồi nhƣ thế nào chỉ cần click chuột trên scorce (bits) tƣơng ứng. Ta đƣợc bảng sau: Hình 2.24: Phần xem chi tiết về sự gióng trình tự trên trang kết quả BLAST Bảng này đƣa ra định nghĩa đầy đủ cho trình tự, chiều dài của trình tự, các thông số điểm và cuối cùng là sự gióng trình tự. Ở đây ta thấy, mồi xuôi bắt cặp với mạch dƣơng (Strand = Plus/Plus), mồi ngƣợc bắt cặp với mạch bổ sung (Strand = Plus/Minus). Vị trí sự bắt cặp cũng đƣợc chỉ ra, mồi xuôi bắt cặp tại vị trí 9652 -9673 với trình tự gene, mồi ngƣợc bắt cặp tại vị trí 9741-9755 với trình tự gene. Kết quả này đúng nhƣ vị trí đã đƣợc chỉ ra phần trên. Ta đánh dấu chọn và nhấn nút Get selected sequences để lấy trình tự. Bảng sau sẽ xuất hiện: Hình 2.25: Lấy trình tự cần từ trang kết quả BLAST NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  3. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 77 Bảng này liệt kê các trình tự ta chọn bên trang kết quả BLAST, muốn xem chi tiết thông tin về trình tự nào chỉ cần nhấp chuột trên số Accession number đƣợc liệt kê. Ta cũng lấy dữ liệu về dƣới dạng text. Tới đây có một số điều cần lƣu ý. Mục đích của ta là tập hợp dữ liệu trình tự liên quan tới nghiên cứu GMO, ta không chỉ quan tâm tới các trình tự đƣợc tìm ra bằng primer, mà các trình tự liên quan cũng rất hữu ích trong nghiên cứu GMO. Ví dụ nhƣ gene tạo độc tố lấy từ vi khuẩn Bacillus thuringiensis có rất nhiều loại, nhƣ CryIA, CryIA(b), Cry2Ab…việc lấy đƣợc các trình tự này cũng quan trọng không kém. Làm sao ta có thể lấy ra các trình tự này khi ta chỉ có primer của một loại gene nào đó trong số này? Ta biết BLAST có nhiều chƣơng trình khác nhau phục vụ cho việc tìm kiếm trình tự tƣơng đồng, ta cũng biết rằng các trình tự tƣơng đồng nhau sẽ có các tính chất giống hay gần giống nhau. Từ trình tự primer, ta có thể lấy ra đƣợc trình tự gene mong muốn nhƣ chỉ ra ở phần trên. Từ trình tự gene mong muốn ta có thể dùng chƣơng trình BLAST khác tìm ra các trình tự khác có tính chất giống hay gần giống với trình tự gene này. Các chƣơng trình MEGABLAST, Discontiguous-megablast, và blastn có thể hoàn thành đƣợc việc này, tuy nhiên ta nên dùng chƣơng trình blastn vì đây là chƣơng trình BLAST với các thông số đƣợc mặc định để thu đƣợc kết quả tốt nhất nếu ta chƣa nắm vững về các thông số của chƣơng trình BLAST. Ta sẽ tiến hành tìm kiếm các trình tự liên quan tới trình tự gene CryIA(b) (Accession number I41419) với điểm khởi đầu là cặp primer sau: CryIA(b)-V3: 5'-CCTGACCAAGAGCACCAACCTGG-3' CryIA(b)-V4: 5'-GCTCATGGTGGCGCTGAAGTTGC-3' (Virginia García-Cañas, Ramón González, Alejandro Cifuentes). Đầu tiên ta cũng nhập trình tự primer vào khung tìm kiếm: Hình 2.26: Nhập trình tự Primer vào khung tìm kiếm gene cryIA(b) NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  4. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 78 Ta thực hiện tìm kiếm trong cơ sở dữ liệu nr, các thông số khác cũng đƣợc mặc định giống nhƣ phần trƣớc. Sau khi thực hiện BLAST, kết quả nhƣ sau: Hình 2.27: Kết quả tìm kiếm với Primer gene cryIA(b) Trong kết quả xuất ra, ta không thấy trình tự Accession number I41419. Tại sao? Có nhiều khả năng xảy ra ở đây, có thể primer không đặc hiệu khớp với nhiều trình tự khác mà có điểm số cao hơn trình tự ta cần tìm, vì thế trình tự cần tìm không đƣợc thể hiện ra trong kết quả. Trong trƣờng hợp này ta phải áp dụng thêm một vài chọn lựa khác nhƣ mở rộng thêm phần thể hiện kết quả, giới hạn chỉ xuất kết quả trên vi khuẩn (vì ta biết gene CryIA(b) nó có nguồn gốc từ vi khuẩn). Ta đƣợc kết quả sau: Hình 2.28: Kết quả tìm kiếm sau khi thay đổi thông số NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  5. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 79 Kết quả này cũng không cho ra trình tự mong muốn. Vậy lý do là do đâu? Ta biết primer là một trình tự gắn, việc so trình tự primer với các trình tự trong cơ sở dữ liệu khổng lồ sẽ cho kết quả dữ liệu khớp rất lớn nếu trình tự primer đó không đặc hiệu, vì thế đối với các primer không chuyên biệt ta rất khó lấy đƣợc dữ liệu mong muốn. Khi đó ta cần phải biết thêm một vài thông tin khác về trình tự cần tìm, nhƣ trình tự này có nguồn gốc từ đâu, trình tự này có vai trò gì… Mục đích cần nắm thêm các thông tin này là vì nhờ vào nó ta sẽ giới hạn phạm vi tìm kiếm và trong phạm vi tìm kiếm đó thì trình tự mong muốn của ta có cơ hội xuất hiện cao hơn. Ta biết trình tự gene CryIA(b) có nguồn gốc từ vi khuẩn, đƣợc cấu trúc lại và dùng trong chuyển gene tạo tính trạng kháng sâu cho cây trồng. Trong các cơ sở dữ liệu còn lại của chƣơng trình BLAST, cơ sở dữ liệu PAT (pattent sequences) có thể chứa trình tự ta cần tìm. Ta thực hiện tìm kiếm trên cơ sở dữ liệu này: Hình 2.29: Lựa chọn lại thông số là Pat thay vì nr Các thông số khác giống nhƣ trên, ta thu đƣợc kết quả sau: Hình 2.30: Kết quả tìm kiếm với Database Pat NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  6. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 80 Có rất nhiều trình tự trong cơ sở dữ liệu khớp với primer, các trình tự khớp với điểm số cao đƣợc sắp theo thứ tự từ trên xuống dƣới. Trình tự ta cần tìm (đƣợc tô đậm) nằm ở rất xa so với trình tự đầu tiên. Điều này chứng tỏ primer này không chuyên biệt lắm. Từ đây rút ra kết luận là với mỗi loại query cần xác định đúng cơ sở dữ liệu thì mới tìm đúng trình tự mong muốn. Ta cũng chú ý đến các trình tự đƣợc tìm ra bằng primer này, so với trình tự ta cần tìm các trình tự này cũng có tính chất tƣơng tự. Các trình tự này cũng rất cần cho tham khảo, ta cũng lấy các trình tự này. Hình 2.31: Trang lấy kết quả từ chƣơng trình BLAST Tiếp theo, từ trình tự tìm đƣợc ta tiến hành tìm các trình tự tƣơng đồng. Ta dùng chƣơng trình blastn. Dùng chƣơng trình BLAST này cũng giống nhƣ chƣơng trình “search for short nearly exact match”. Khi mở chƣơng trình blastn, thì các thông số đã mặc định cho thu đƣợc kết quả tốt nhất. Bạn cũng có thể thay đổi một số thông số phù hợp cho mục đích tìm kiếm của mình. Ta thực hiện tìm các trình tự tƣơng đồng nhƣ sau:  Nhập trình tự query: Hình 2.32: Tìm kiếm trình tự bằng số xác định qua trang BLAST NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  7. PHẦN C: PHƢƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 81 Vì trình tự này có sẵn trong GenBank, ta không cần nhập trình tự vào mà chỉ cần nhập vào số xác định cho trình tự đó nhƣ Accession number, gi. Ở đây ta nhập vào Accession number.  Thực hiện và định dạng kết quả xuất ra, lựa chọn Bacteria ở mục select from. Ở đây ta chỉ quan tâm kết quả trên vi khuẩn. Kết quả xuất ra nhƣ sau: Hình 2.33: Kết quả BLAST dạng HTML Nhìn vào kết quả ở dạng hình ảnh và phần tóm tắt, ta thấy chỉ có vài kết quả đầu là phù hợp với mục đích của ta, là các trình tự có liên quan đến cây trồng biến đổi di truyền. Ta chọn và lấy các trình tự này về dƣới dạng text file. Hình 2.34: Kết quả BLAST dạng text Tóm lại dựa vào trình tự các primer tổng hợp đƣợc từ các bài báo, ta sẽ dùng các trình tự này tìm kiếm trình tự mong muốn, đồng thời cũng tìm luôn các trình tự liên quan tới trình tự quan tâm hiện đang có trong cơ sở dữ liệu thế giới làm cho dữ liệu của ta sẽ phong phú hơn, đáp ứng đƣợc nhiều mục đích khai thác sử dụng. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  8. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 82 D. KẾT QUẢ VÀ THẢO LUẬN I. Các kết quả thu đƣợc từ quá trình tìm kiếm ấn phẩm khoa học Sau khi tìm kiếm, chọn lọc bài báo, ấn phẩm khoa học trên các công cụ tìm kiếm ta thu đƣợc các kết quả nhƣ sau: Cây trồng biến đổi di truyền phổ biến hiện nay trên thế giới: tổng số 37 loài cây (xem bảng danh sách ở phụ lục A). Tính trạng phổ biến dùng trong cây trồng biến đổi di truyền a) Tính trạng kháng côn trùng: bắp kháng côn trùng, cà chua kháng côn trùng… b) Tính trạng mang tính kháng bệnh: đậu nành kháng bệnh… c) Tính trạng kháng thuốc trừ cỏ: cải dầu, bắp, đậu nành…kháng thuốc diệt cỏ. d) Tính trạng năng suất nông học: tăng hàm lƣợng tinh bột, acid béo… e) Tính trạng cho mục đích dinh dƣỡng và dƣợc liệu: tăng thành phần lysine… (Chi tiết xem bảng tổng hợp cây trồng và tính trạng biến đổi di truyền ở phụ lục). Tổng số primer dùng trong chẩn đoán sản phẩm biến đổi di truyền tổng hợp đƣợc: 114 cặp primer. (Xem chi tiết ở phụ lục C). II. Các kết quả thu đƣợc từ quá trình tìm kiếm trình tự trên NCBI Cả hai phƣơng pháp: tìm kiếm trình tự bằng keyword và tìm kiếm trình tự bằng trình tự primer đều đem lại cho ta rất nhiều kết quả. Dƣới đây là một vài nhận xét rút ra qua quá trình tìm kiếm. * Tổng số trình tự tìm đƣợc là: 5628 trình tự. Trong đó: Tìm bằng keyword chiếm 57.16% Tìm bằng primer chiếm 42.84% * Qua đó chúng tôi kết luận cả hai phƣơng pháp đều cần thiết trong quá trình tìm kiếm trình tự. Với phƣơng pháp tìm kiếm trình tự bằng keyword độ chính xác tùy thuộc vào thông tin keyword ta có. Với phƣơng pháp tìm kiếm bằng primer độ chính xác kết quả tìm đƣợc phụ thuộc độ đặc hiệu của primer và cơ sở dữ liệu tìm kiếm. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  9. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 83 Mỗi phƣơng pháp đều có ƣu và nhƣợc điểm riêng, dùng phƣơng pháp nào tùy thuộc vào thông tin ta có đƣợc. Trong phạm vi đề tài này, chúng tôi đề nghị tìm kiếm trình tự bằng primer vì phƣơng pháp này đem lại kết quả mong muốn nhanh chóng, dễ dàng hơn so với keyword. II.1. Kết quả tìm kiếm trình tự bằng keyword Một thực tế là các keyword tƣơng tự nhau mang về kết quả trùng lắp rất nhiều, điển hình lấy ví dụ về keyword để tìm gene tạo ra Coleopteran, qui định tính kháng với trùng rễ bắp (Resistance to corn root worn, Diabrotica sp.), keyword đƣợc nhập nhƣ sau: “coleopteran AND gene[FKEY]”. Hình 2.1: Kết quả dạng text khi tìm kiếm bằng keyword 1 Mặt khác với keyword: “diabrotica corn AND gene[FKEY] AND gbdiv_bct”: Hình 2.2: Kết quả dạng text khi tìm kiếm bằng keyword 2 NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  10. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 84 Cả hai keyword này đều có mục đích chung là tìm gene qui định tính kháng với trùng rễ bắp. Mỗi keyword cho ra thông tin trình tự khác nhau. Tuy nhiên, khi so sánh hai kết quả trên, ta thấy có một vài trình tự giống nhau giữa hai kết quả (các số đƣợc khoanh tròn). Vấn đề không có gì nếu chỉ với vài kết quả, ta có thể so sánh từng file và tìm ra các số giống nhau để kết quả tổng hợp của ta không bị dƣ thừa. Nhƣng ở đây, tìm kiếm với rất nhiều keyword vì thế thông tin lấy về đƣợc là rất lớn. II.2. Kết quả tìm kiếm trình tự bằng Primer Tƣơng tự nhƣ tìm bằng keyword, tìm bằng primer cũng đem về kết quả rất nhiều trình tự. Mặc dù tìm bằng primer cho kết quả chính xác cao hơn, tuy nhiên các vấn đề cũng nảy sinh giống nhƣ trƣờng hợp tìm bằng keyword. Từ Bảng thống kê Primer (xem phụ lục C) ta thấy có rất nhiều trình tự primer dùng để xác định gene CryIA(b). Vì thế kết quả ta thu đƣợc từ các primer này có thể trùng nhau rất nhiều. Thêm vào đó, việc trùng lắp thông tin giữa hai phƣơng pháp cũng xảy ra. Ví dụ nhƣ với cặp mồi CryIA(b)-V3 5'-CCTGACCAAGAGCACCAACCTGG-3' CryIA(b)-V4 5'-GCTCATGGTGGCGCTGAAGTTGC-3' Ta đƣợc kết quả sau: Hình 2.3: Kết quả dạng text khi tìm kiếm bằng primer Với keyword “Bacillus thuringiensis” [ORGN] AND cry* AND gene[FKEY]”, ta đƣợc kết quả sau: NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  11. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 85 Hình 2.4: Kết quả dạng text khi tìm kiếm bằng keyword Ta thấy kết quả bị trùng lắp (số đƣợc khoanh tròn), vì thế loại bỏ sự trùng lắp trong quá trình tổng hợp kết quả là vấn đề cần thiết. Với lƣợng thông tin rất lớn từ hai nguồn, ta không thể thống kê bằng tay thông thƣờng đƣợc. II.3. Dùng Perl xử lý kết quả thu được Ta dùng chƣơng trình Perl giải quyết các vấn đề sau:  Loại bỏ trùng lắp dữ liệu, tổng hợp danh sách tổng hợp các trình tự thu đƣợc.  Tải trình tự hoàn chỉnh từ NCBI.  Phân loại trình tự theo nguồn gốc. II.3.1. Loại bỏ trùng lắp dữ liệu, tổng hợp danh sách tổng hợp a) Phân tích file kết quả thu được Sau các kết quả tìm kiếm bằng keyword và primer, ta thu về các file kết quả dạng text, mang nội dung tóm tắt thông tin các trình tự. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  12. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 86 Hình 2.5: Minh họa 1 file kết quả thu đƣợc sau khi tìm kiếm trình tự trên NCBI Đây là một nội dung tóm tắt trình tự: 1: DQ020578 Bacillus thuringiensis strain FY-2 Cry2Ac (cry2Ac) gene, complete cds gi|66734542|gb|DQ020578.1|[66734542]  DQ020578: Đây là Accession number của trình tự. Mỗi trình tự có một số Accession number riêng. Ta có thể dùng số này lấy ra đoạn trình tự trên Genbank.  Bacillus thuringiensis strain FY-2 Cry2Ac (cry2Ac) gene, complete cds: Đây là phần định nghĩa của trình tự. Thông thƣờng phần này bao gồm: tên sinh vật cung cấp trình tự (source), tên gene hay tên protein, hay một số mô tả chức năng của trình tự. Nếu trình tự có chứa vùng mã hóa (coding sequence-CDS), đƣợc mô tả là complete cds (toàn bộ CDS) hay partial cds (một phần CDS).  gi|66734542|gb|DQ020578.1|[66734542]: số gi của trình tự, ở đây là 66734542; cơ sở dữ liệu của trình tự, ở đây là gb (GenBank); số version DQ020278.1; cuối cùng là Locus name (nếu có), hoặc số gi 66734542. b) Tạo thiết kế cho chương trình xử lý kết quả Mục tiêu là loại bỏ các trình tự trùng lắp giữa các file, tổng hợp một file tổng hợp duy nhất. Ta biết Accession number là số duy nhất xác định trình tự, vì thế một số NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  13. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 87 Accession number tƣơng ứng với một trình tự trong GenBank. Ta sẽ dựa vào số này để xử lý số liệu trình tự. Chƣơng trình của ta phải xử lý các vấn đề sau:  Đọc file từ một đƣờng dẫn chứa các file kết quả.  Với mỗi file ta tách các Accession number và cất các số này lại. Nếu gặp lại số Accession number đã có thì chồng lên.  Cuối cùng ghi các Accession number cất đƣợc vào file. c) Mã xử lý chương trình bằng Perl Để làm đƣợc toàn bộ vấn đề này, chƣơng trình của ta phải làm nhiều nhiệm vụ nhƣ đọc file trong một thƣ mục, tách các Accession number, cất các Accession number, ghi các Accession number tới tới file. Ngay một lúc ta viết một chƣơng trình xử lý hết các vấn đề này thật sự là một công việc khó khăn, chƣơng trình của ta sẽ rất dài khó kiểm tra, sửa chữa. Ta biết Perl cho phép ta tạo ra các chƣơng trình con (subroutines), mỗi chƣơng trình con đảm nhận một nhiệm vụ, và cuối cùng chúng kết hợp tƣơng tác với nhau và với chƣơng trình chính tạo ra một chƣơng trình hoàn chỉnh. Ƣu điểm của viết chƣơng trình con là mỗi chƣơng trình con chỉ đảm nhận một nhiệm vụ vừa phải, cho nên chúng dễ viết, dễ kiểm tra, sửa chữa. Thêm nữa, chƣơng trình con có khả năng tái dụng rất cao. Ta có thể dùng chƣơng trình con đƣợc viết ở một thời điểm khác, hay do ngƣời khác viết … Vậy, ta sẽ giải quyết vấn đề trên bằng cách chia chúng ra thành từng vấn đề nhỏ (nhiệm vụ), viết các chƣơng trình con xử lý từng vấn đề nhỏ này. Cuối cùng sẽ sử dụng tổng hợp các chƣơng trình con này để giải quyết vấn đề chính. Vấn đề 1: Viết chƣơng trình con đọc file trong thƣ mục chứa các file kết quả. Đây là chƣơng trình con thực hiện việc lấy tất cả các file text trong một đƣờng dẫn. Kết quả lấy về từ CSDL thế giới nên đƣợc tập hợp chung trong cùng một đƣờng dẫn để tiện cho việc xử lý. (Xem đoạn mã của chương trình ở phụ lục D, nhiệm vụ 1) Chƣơng trình con này giúp ta lấy ra đƣợc tất cả các file kết quả (dạng text) trong một thƣ mục. Ta có thể kiểm tra sự hoạt động của chƣơng trình con này qua một chƣơng trình nhỏ hoàn chỉnh. (Xem đoạn mã phụ lục D, nhiệm vụ 1) NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  14. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 88 Vấn đề 2: Viết chƣơng trình con tạo bảng băm (Hash Table). Bảng băm với key là Acession number, value là nội dung tóm tắt trình tự. Ta dùng bảng băm ở đây vì khi có một số Accession number trùng nhau, số sau sẽ chồng lên số trƣớc và value của Accession number đó cũng bị thay đổi theo số sau. Do đó ta sẽ đƣợc bảng băm sẽ không có Accession trùng nhau. (Xem đoạn mã của chương trình ở phụ lục D, nhiệm vụ 2) Ta có thể kiểm tra sự hoạt động của chƣơng trình con này qua một chƣơng trình hoàn chỉnh nhỏ. (Xem đoạn mã phụ lục D, nhiệm vụ 2) Vấn đề 3: Sau khi có bảng băm chứa các Accession number, nhiệm vụ tiếp theo của ta là ghi kết quả vào một file kết quả tổng hợp. Chƣơng trình con này, đầu tiên nhận vào bảng băm với các cặp key – value tƣơng ứng, sau đó ghi giá trị values vào file. (Xem đoạn mã của chương trình ở phụ lục D, nhiệm vụ 3) Ta có thể kiểm tra sự hoạt động của chƣơng trình con này qua một chƣơng trình nhỏ hoàn chỉnh. (Xem đoạn mã phụ lục D, nhiệm vụ 3) Đến đây ta đã có đầy đủ các thành phần để giải quyết vấn đề đặt ra ban đầu. Ta tạo đoạn mã hoàn chỉnh cho phép ta loại bỏ trùng lắp và tạo một file kết quả tổng hợp. Đặt tên chƣơng trình là hashloc.pl. Ta tiến hành chạy chƣơng trình. Bƣớc 1 : Vào Start. Chọn Run. Gõ “cmd”. Cửa sổ MS-DOS hiện ra. Bƣớc 2: Gõ nhập đƣờng dẫn đến nơi chứa file hashloc.pl. Nhấn Enter. Bƣớc 3: Gõ nhập theo hƣớng dẫn của chƣơng trình. Hình 2.6: Chƣơng trình Perl bắt đầu chạy. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  15. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 89 Hình 2.7: Nhập đƣờng dẫn đến thƣ mục chứa file kết quả tìm kiếm Hình 2.8: Chƣơng trình Perl đã chạy xong. Có tổng cộng 5628 số Acc.Number sau khi đã loại bỏ các Acc.Number trùng nhau Hình 2.9: Lƣu danh sách này vào file tonghopdulieu.txt NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  16. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 90 Sau khi chạy chƣơng trình xong, ta đƣợc file tonghopdulieu.txt chứa tất cả nội dung tóm tắt trình tự ta tìm đƣợc, không còn hiện tƣợng trùng lắp dữ liệu. Hình 2.10: Nội dung file tonghopdulieu.txt II.3.2. Tải trình tự Thông tin ta cần thực sự là thông tin đầy đủ về trình tự. Thông tin trong file tonghopdulieu.txt chứa các thông tin tóm tắt trình tự đã đƣợc chọn lọc. Dựa vào số Accession number ta có thể lấy các trình tự này về từ GenBank. Nhƣng với số lƣợng 5628 trình tự hiện có thì việc lấy trình tự trên genbank về quả là khó khăn. Nếu làm bằng tay sẽ tốn một lƣợng thời gian rất lớn. Ta cần lấy file trình tự đầy đủ về ở dạng text file vì ở dạng này file tải nhẹ, và file ở dạng text dễ dàng cho xử lý bởi chƣơng trình. Để tải đƣợc trình tự ở dạng text, ta phải tìm địa chỉ cho phép ta lấy file trình tự dạng text. Địa chỉ đó nhƣ sau: http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?db=nucleotide&qty=1&c_start= 1&list_uids=X62821&dopt=gb&dispmax=5&sendto=t&from=begin&to=end&extrafe atpresent=1&ef_MGC=16 hoặc http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?cmd=&txt=on&val=X62821 (Lƣu Phúc Lợi, 2004). Ở hai địa chỉ trên cho phép ta tải trình tự có Accession number X62821 về dƣới dạng text. Vậy mỗi lần tải ta chỉ lấy về đƣợc một trình tự. Nếu dùng các phần mềm load, để lấy đƣợc hết tất cả các trình tự, ta phải nhập vào tất cả 5628 địa chỉ (mỗi địa NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  17. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 91 chỉ ta thay thế một số Accession number tƣơng ứng). Một việc làm quá lớn, tốn quá nhiều thời gian. Đến đây buộc ta phải viết chƣơng trình để tải tất cả các trình tự này về. a. Thiết kế cho chƣơng trình:  Lấy nội dung từ một địa chỉ Web về.  Lặp nhiều lần, lấy nội dung của tất cả các Accession number.  Lƣu nội dung tải về vào một thƣ mục đƣợc chỉ ra, nếu nội dung không tải đƣợc lƣu vào thƣ mục khác để tải lại. b. Mã cho chƣơng trình  Lấy nội dung từ một địa chỉ Web Perl là một ngôn ngữ đã phát triển đã khá lâu, vì thế Perl có sẵn rất nhiều module làm nhiều chức năng khác nhau. Trƣớc khi thật sự phải viết một chƣơng trình với ngôn ngữ Perl, ta hãy tìm kiếm xem có sẵn các module làm công việc đó hay không. Ta có thể tìm trong thƣ viện Perl có sẵn khi ta cài đặt trình biên dịch Perl (nhƣ ActivePerl trên Windows), hay trên các trang Web. Module LWP::Simple trong thƣ viện Perl có chứa năng đem về một nội dung từ một địa chỉ URL.  Lấy tất cả các trình tự từ địa chỉ URL cho trƣớc, lƣu vào thƣ mục đƣợc chỉ ra Chƣơng trình đƣợc chia ra làm hai phần chính, chƣơng trình chính và một chƣơng trình con. Chức năng tải trình tự, cất vào các thƣ mục định sẵn do phần chƣơng trình con đảm nhận, chƣơng trình chính chỉ làm nhiệm vụ tách Accession number trong file tonghopdulieu.txt hay nhận số Accession number từ ngƣời dùng, và sử dụng chức năng của chƣơng trình con tải các trình tự này về. Chƣơng trình đƣợc đặt tên là load.pl. (Đoạn mã của chương trình xem ở phụ lục D, nhiệm vụ 5). Ta chạy chƣơng trình load.pl. Bƣớc 1 : Vào Start. Chọn Run. Gõ “cmd”. Cửa sổ MS-DOS hiện ra. Bƣớc 2: Gõ nhập đƣờng dẫn đến nơi chứa file load.pl. Nhấn Enter. Bƣớc 3: Gõ nhập theo hƣớng dẫn của chƣơng trình. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  18. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 92 Hình 2.11: Chƣơng trình load.pl đang chạy Ở đây ta chọn chế độ all, nghĩa là load toàn bộ trình tự. Chƣơng trình chạy xong ta đƣợc tất cả 5628 trình tự trong thƣ mục load trên ổ đĩa D. Mỗi trình tự là một file text với tên là Accession number tƣơng ứng. Hình 2.12: Minh họa kết quả các trình tự đƣợc tải về III. Các kết quả thu đƣợc từ quá trình tải trình tự từ Genbank Từ file tonghopdulieu.txt, sau khi tải trình tự từ Genbank bằng chƣơng trình load.pl, kết quả thu đƣợc có 5628 trình tự. NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  19. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 93 IV. Tổ chức dữ liệu IV.1. Cách thức tổ chức dữ liệu Về khía cạnh công nghệ thông tin, nguyên tắc tổ chức một hệ thống ứng dụng phần mềm nhƣ sau: Tầng giao Tầng xử lý Tầng dữ tiếp ngƣời thông tin liệu sử dụng Sơ đồ 4.1: Mô hình tổ chức một hệ thống ứng dụng Việc phân loại dữ liệu phụ thuộc vào việc phân tích dữ liệu cho một hệ thống ứng dụng cụ thể. Theo yêu cầu của đề tài, tổ chức các gene phục vụ nghiên cứu cây trổng biến đổi di truyền, ta có thể phân dữ liệu nhƣ sau:  Phân theo nhóm tính trạng: o Nhóm gene cung cấp tính kháng. o Nhóm gene cung cấp các tính trạng còn lại. Tổ chức dữ liệu theo dạng này, cho phép ngƣời dùng tìm gene qui định tính trạng mình mong muốn nhanh chóng.  Phân theo nguồn gốc gene Cho phép ngƣời dùng tìm đƣợc trình tự mong khi biết nguồn gốc xuất phát của trình tự… Có nhiều cách để phân loại dữ liệu, tuy nhiên việc phân loại dữ liệu cũng phải phụ thuộc vào việc khảo sát dữ liệu có đƣợc. Dữ liệu của ta là các record Genbank, ta thấy khi khảo sát dữ liệu mỗi record, các thông tin về nguồn gốc của mỗi trình tự thể hiện ở khu vực (divisions) và thƣờng mang tính ổn định cao. Các thông tin khác thì thƣờng không ổn định. Tổ chức dữ liệu phải mang tính ổn định. Vì vậy để đảm bảo tính ổn định của dữ liệu, ta phân chia dữ liệu mang tính chất tổng thể theo các khu vực (divisions), tức phân theo nguồn gốc xuất ở mức độ lớn, không đi vào chi tiết cụ thể từng sinh vật (càng chi tiết càng càng phức tạp, càng mang tính ổn định không cao). NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
  20. PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 94 IV.2. Tiến hành tổ chức, phân loại dữ liệu Nhận xét về dữ liệu mà ta đang có, sẽ có rất nhiều cách để phân loại dữ liệu này, tuy nhiên khi phân tích các dữ liệu ta thấy mỗi trình tự đều có thông tin về nguồn gốc của chúng, ví dụ nhƣ trình tự AB012288, thuộc về trƣờng vi khuẩn (BCT division) xuất phát từ Bacillus thuringiensis. Các thông tin khác, thƣờng không ổn định. Và cũng để phục vụ đúng mục tiêu tìm kiếm theo trƣờng, khu vực, ta sẽ tổ chức, phân loại dữ liệu dựa trên các thông tin về nguồn gốc xuất phát của trình tự. Vì tính ổn định của các thông tin này, nên việc cập nhật dữ liệu về sau sẽ rất thuận lợi, đảm bảo tính ổn định của tầng dữ liệu. Hiện nay dữ liệu Genbank đƣợc chia ra các khu vực sau: 1. PRI - primate sequences (trình tự bộ linh trƣởng) 2. ROD - rodent sequences (trình tự bộ gặm nhắm) 3. MAM - other mammalian sequences (trình tự động vật hữu nhũ khác) 4. VRT - other vertebrate sequences (trình tự động vật có xƣơng sống khác) 5. INV - invertebrate sequences (trình tự động vật không xƣơng sống) 6. PLN - plant, fungal, and algal sequences (trình tự tảo, nấm, thực vật) 7. BCT - bacterial sequences (trình tự vi khuẩn) 8. VRL - viral sequences (trình tự virus) 9. PHG - bacteriophage sequences (trình tự thể thực khuẩn) 10. SYN - synthetic sequences (trình tự tổng hợp) 11. UNA - unannotated sequences (trình tự chƣa đƣợc chú thích) 12. EST - EST sequences (expressed sequence tags) 13. PAT - patent sequences (trình tự bản quyền) 14. STS - STS sequences (sequence tagged sites) 15. GSS - GSS sequences (genome survey sequences) 16. HTG - HTG sequences (high-throughput genomic sequences) 17. HTC - unfinished high-throughput cDNA sequencing Thông tin về khu vực (division) đƣợc bao gồm trong nội dung file Genbank, đƣợc thể hiện ở phần sau: NGUYỄN KỲ TRUNG – LÊ THÀNH TRUNG
nguon tai.lieu . vn