Thu thập nguồn gene và tổ chức dữ liệu gene
Trang 1PHẦ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
Trang 2PHẦ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 nghĩ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
Trang 3PHẦ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:
Trang 4PHẦ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ố
Trang 5PHẦ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
Trang 6PHẦ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
Trang 7PHẦ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
Trang 8PHẦ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…
(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
Trang 9PHẦ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
Trang 10PHẦ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:
Trang 11PHẦ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ự
Trang 12PHẦ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ố
Trang 13PHẦ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)