TÌM HIỂU MỘT SỐ CÔNG CỤ HIỆN ĐẠI HỖ TRỢ NGHIÊN CỨU Y SINH Nguyễn Bá Huy, Trần Đức Luân Khoa Công nghệ thông tin, Trường Đại học Lạc Hồng 1 Email: bahuy.cntt@gmail.com, ducluanmaster@gma
Trang 1TÌM HIỂU MỘT SỐ CÔNG CỤ HIỆN ĐẠI HỖ TRỢ NGHIÊN CỨU Y SINH
Nguyễn Bá Huy, Trần Đức Luân
Khoa Công nghệ thông tin, Trường Đại học Lạc Hồng 1
Email: bahuy.cntt@gmail.com, ducluanmaster@gmail.com
Tóm tắt: Bài báo này trình bày những khó khăn trong việc ứng dụng các công cụ hiện đại trong hỗ trợ
nghiên cứu y sinh ở Việt Nam Đồng thời giới thiệu quá trình xây dựng và nội dung tổng quan của bộ
tài liệu tiếng Việt hướng dẫn sử dụng bộ công cụ MGLTools mà nhóm đã thực hiện Kết quả đã biên
soạn được bộ tài liệu “Tài liệu hướng dẫn sử dụng MGLTools” cũng như tài liệu dạng điện tử (ebook)
phục vụ cộng đồng nghiên cứu y sinh ở Việt Nam
I GIỚI THIỆU
Với sự phát triển mạnh mẽ của công nghệ sinh học và công nghệ thông tin, ngày nay một
khối lượng khổng lồ dữ liệu sinh học phân tử được thu thập và phục vụ cho quá trình tính toán,
nghiên cứu Các công cụ, phần mềm hiện đại đã và đang được xây dựng, phát triển để phục vụ cho
ngành nghiên cứu y sinh Tuy nhiên, do đội ngũ tri thức giỏi chuyên môn cả về lĩnh vực công nghệ
thông tin lẫn công nghệ sinh học còn ít, bên cạnh đó, rào cản ngôn ngữ cũng là một trong những trở
ngại làm cho việc áp dụng các công cụ, phần mềm hiện đại vào thực tiễn nghiên cứu y sinh trong
phòng thí nghiệm ở Việt Nam còn gặp rất nhiều khó khăn và hạn chế Vì vậy, để góp phần giảm bớt
những khó khăn khi triển khai áp dụng những công cụ hiện đại vào nghiên cứu y sinh trong các
phòng thí nghiệm, nhóm thực hiện đề tài đã thực hiện nghiên cứu và tổng hợp thành tài liệu hướng
dẫn sử dụng bộ công cụ MGLTools, một trong những bộ công cụ hiện đại hỗ trợ nghiên cứu y sinh
của tổ chức National Biomedical Computation Resource (NBCR) - Hoa Kỳ
Hiện nay, viện nghiên cứu National Biomedical Computation Resource - một trong những
viện nghiên cứu y sinh hàng đầu Hoa Kỳ, đã phát triển nhiều bộ công cụ hiện đại hỗ trợ cho việc
nghiên cứu trong phòng thí nghiệm như: MGLTools, CADD, ADT, ePMV, aMD, CSMOL… [2]
Trong đó, bộ công cụ MGLTools (Molecular Graphics Laboratory) là một bộ công cụ tích hợp
nhiều chức năng như hiển thị, mô phỏng, phân tích và tương tác mạnh mẽ với các phân tử, kể cả
những phân tử lớn
Trên thế giới bắt đầu từ năm 2002 đã có những tài liệu hướng dẫn liên quan đến việc giới
thiệu và hướng dẫn sử dụng các chương trình con thuộc bộ công cụ MGLTools đã được công bố
như: “The Python-based Molecular Viewing Environment (PMV)” (Sophie Coon - 22/08/2002),
“Python Molecular Viewer” (Ruth Huey, Michel Sanner - 11/10/ 2005), “Programming Scalable
1 Số 10 Huỳnh Văn Nghệ, Biên Hòa Đồng Nai
Comment [TVL1]: Các em bổ sung thêm
Trang 2Scientific Workflows” (M Sanner, Guillaume Vareille, Luca Clementi, Jane Ren, Wilfred Li - 03-07/08/ 2008) vv… Các tài liệu này đã làm nổi bật được những tính năng mới của bộ công cụ MGLTools Tuy nhiên, vẫn chưa có một bộ tài liệu nào hướng dẫn chi tiết các bài thực hành từng modle, từng chức năng cụ thể của bộ công cụ này
Ở Việt Nam, cho đến nay vẫn chưa có tác giả nào biên soạn hoàn chỉnh một tài liệu cụ thể liên quan đến việc hướng dẫn sử dụng các công cụ hiện đại hỗ trợ nghiên cứu thí nghiệm y sinh Hầu hết, chúng ta chỉ bắt gặp những hướng dẫn như những câu trả lời thắc mắc hay góp ý trên các diễn đàn y sinh
Vì vậy, để đóng góp một phần nhỏ trong việc dễ dàng tiếp cận các công cụ hiện đại hỗ trợ nghiên cứu y sinh trong phòng thí nghiệm ở Việt Nam, nhóm nghiên cứu đã thực hiện đề tài “Tìm hiểu một số công cụ hiện đại hỗ trợ nghiên cứu y sinh” và biên soạn tài liệu hướng dẫn sử dụng bộ công cụ MGLTools của viện nghiên cứu NBCR - Hoa Kỳ
Để hoàn thành một tài liệu có hệ thống và chi tiết ngoài kiến thức nền tảng về sinh học tính toán, tổng hợp tài liệu một cách hợp lý, nhóm nghiên cứu đã tiến hành quá trình triển khai thực nghiệm sử dụng bộ công cụ MGLTools trong một thời gian dài
Bài viết được trình bày trong 4 phần, phần thứ hai trình bày tóm tắt nội dung cơ bản của tài liệu được biên soạn như chức năng, ứng dụng của bộ công cụ MGLTools; phần thứ ba trình bày thử nghiệm cách thức khai thác bộ công cụ này Phần cuối cùng nêu lên một số kết luận
II NỘI DUNG CƠ BẢN CỦA TÀI LIỆU
1 Một số vấn đề liên quan đến sinh tin học (Bioinformatics) và sinh học tính toán
(Computational Biology)
Tin sinh học (Bioinformatics) là một ngành khoa học mà trong nó có sự kết hợp giữa sinh
học, toán học và khoa học máy tính Tin sinh học sử dụng các thuật toán phân tích tối ưu xử lý các
dữ liệu sinh học thông qua các thiết bị phần cứng và hệ thống mạng [1]
Sinh học tính toán (Computational biology) là một lĩnh vực đa ngành nhằm ứng dụng các kỹ
thuật của khoa học máy tính, tính toán và thống kê để giải quyết các bài toán xuất phát từ sinh học Các lĩnh vực chính trong sinh học có dùng các kỹ thuật kể trên bao gồm:
- Mô hình sinh học tính toán (Computational biomodeling)
- Gien học tính toán (Computational genomics)
- Mô hình hóa phân tử (Molecular modeling)
- Sinh học hệ thống (Systems biology
Trang 32 Chức năng, ứng dụng của bộ công cụ MGLTools
MGLTools là một bộ phần mềm được phát triển tại Molecular Graphics Laboratory (MGL:
phòng thí nghiệm đồ họa phân tử) của viện nghiên cứu Scripps cho phép hình dung và phân tích các
cấu trúc phân tử [3] Dưới sự hướng dẫn của Giáo sư Sinh học phân tử Arthur J Olson, phòng thí nghiệm này quan tâm đến việc phát triển các kỹ thuật mới cho việc tính toán, phân tích và mô hình hóa sự tương tác của các hệ thống sinh học phân tử, protein với phối tử, protein với protein khác… MGLTools có ba ứng dụng chính:
- AutoDockTools (ADT)
- Python Molecular Viewer (PMV)
- Vision
AutoDockTools: giao diện tương tác cho AutoDock, phát triển bởi cùng một phòng thí nghiệm phát triển AutoDock Ta có thể sử dụng nó để thiết lập, thực thi, phân tích và lắp ghép tự động được thiết kế để dự đoán các phân tử, cũng như tính toán bề mặt phân tử, hiển thị băng cấu trúc thứ cấp, tính liên kết hydro AutoDockTools là giao diện đồ họa cuối cùng để thiết lập, khởi động và phân tích AutoDock Các chức năng của AutoDockTools:
- Xem phân tử trong không gian 3D xoay và thu phóng trong thời gian thực
- Thêm tất cả hydrogens hoặc không phân cực hydrogens
- Thiết lập liên kết xoay trong phối tử bằng cách sử dụng một phiên bản đồ họa của AutoTors
- Thiết lập tập tin tham số AutoDock (DPF) bằng cách sử dụng các form
- Khởi chạy AutoGrid và AutoDock
- Đọc trong các kết quả của công việc AutoDock và bằng đồ thị hiển thị chúng
- Xem bản đồ isocontoured AutoGrid
Python Molecular Viewer: Là một ứng dụng mô phỏng phân tử mạnh mẽ, nó có một số tính
năng tùy biến và đi kèm với nhiều lệnh (pluggable) khác nhau, hiển thị bề mặt phân tử để tính toán
khối lượng tiên tiến Các chức năng của Python Molecular Viewer:
- Hiển thị màu khác nhau cho nguyên tử, loại dư lượng, chuỗi, phân tử, đặc tính, vv
- Tích hợp công cụ đo lường
- Xác định nguyên tử bằng cách lựa chọn (picking)
- Hỗ trợ cho nhiều phân tử
- Đại diện cấu trúc thứ cấp
Trang 4- Người sử dụng tự định nghĩa các nguyên tử, các dư lượng, chuỗi và các phân tử
Vision: là một môi trường lập trình trực quan, trong đó người sử dụng có thể tương tác xây dựng lên mạng lưới các node, kết hợp các phương pháp tính toán trực quan mới của dữ liệu, mà không cần thực sự viết code
Mỗi node đóng gói phương pháp tính toán cụ thể, được tổ chức trong các thư viện và hiển thị
trong Vision Người dùng có thể kéo và thả chúng lên Canvas (khung thao tác trong chương trình)
và kết nối cổng đầu vào và cổng đầu ra để xác định một luồng lệnh sẽ thực hiện
3 Biên soạn tài liệu hướng dẫn sử dụng về bộ công cụ MGLTools
Bố cục tài liệu hướng dẫn gồm 2 chương:
Chương 1: Tổng quan
- Chương này đã giới thiệu về viện nghiên cứu National Biomedical Computation Resource (NBCR) - Hoa Kỳ, nơi phát triển nhiều ứng dụng hỗ trợ nghiên cứu y sinh trong đó có MGLTools, cũng như liệt kê ra một số phần mềm khác do viện nghiên cứu NBCR phát triển
- Giới thiệu tổng quan về bộ công cụ MGLTools Nêu rõ ba ứng dụng chính của MGLTools
là: AutoDockTools (ADT), Python Molecular Viewer (PMV) và Vision
- Giới thiệu sơ lược về ngôn ngữ lập trình Python, là nền tảng xây dựng lên bộ công cụ MGLTools
Chương 2: Nội dung chính gồm các hướng dẫn sử dụng cụ thể như:
Phần 1: Hướng dẫn cài đặt bộ công cụ MGLTools
+ Kiểm tra cấu hình máy tính và hệ điều hành có tương thích với phần mềm
+ Hướng dẫn các bước cài đặt một cách chi tiết sao cho những người không chuyên về vi tính cũng có thể dễ dàng thực hiện theo
Phần 2: Hướng dẫn điều khiển con trỏ chuột và các tổ hợp phím tắt, phím chức năng trong chương trình
Không như các phần mềm thông dụng, MGLTools có cách sử dụng con chuột khá phức tạp
Ví dụ đơn giản như: với những người mới làm quen với phần mềm này thì việc thực hiện các thao
tác đơn giản như kéo thả node (tham khảo mục 2.4.5 trong tài liệu hướng dẫn sử dụng MGLTools),
mọi người sẽ nghĩ đơn giản như thông thường ta nhấp chuột để chọn node và kéo nó, nhưng như vậy không hề được Vậy nên phần này cũng không kém phần quan trọng
Phần 3: Hướng dẫn sử dụng chương trình Vision
+ Giới thiệu chức năng các thành phần trên giao diện chương trình Vision
Trang 5+ Node Library là gì ?
+ Node documentation là gì ?
+ Toolbar là gì ?
+ Hướng dẫn nhiều bài thực hành liên quan đến Vision
Qua những bài thực hành trong phần này sẽ giúp cho người đọc rút ra được cách sử dụng các thư viện node, các node, biết cách thức các node hoạt động như thế nào, biết cách chỉnh sửa chức
năng node bằng mã lệnh (sử dụng ngôn ngữ Python) và một số tính năng khác Đây là bước tiền đề
để tiến đến tìm hiểu chương trình Python Molecule Viewer
Phần 4: Hướng dẫn sử dụng chương trình Python Molecule Viewer (PMV)
+ Giới thiệu chức năng các thành phần trên giao diện chương trình PMV
+ Toolbar
+ Dashboard widget (bảng điều khiển PMV)
+ 3D DejaVu GUI là gì ?
+ Hướng dẫn nhiều bài thực hành liên quan đến PMV
Như đã trình bày, MGLTools một bộ công cụ gồm nhiều phần mềm con liên quan chặt chẽ với nhau Trong phần mềm con này có thể dễ dàng gọi phần mềm con khác, chúng có thể hỗ trợ cho nhau cùng thực hiện một nhiệm vụ nào đó như: tính toán khối lượng của một đối tượng, thay đổi tính chất hiển thị bề mặt phân tử, xem mặt cắt, đo khoảng cách - góc hoặc độ xoắn của phân tử Với những người mới bắt đầu tìm hiểu khi đối mặt với một lượng kiến thức khổng lồ, mà lại không được sắp xếp theo trật tự thì việc tiếp cận để sử dụng bộ công cụ này sẽ rất khó khăn Vì thế nên tài liệu được sắp xếp sao cho người đọc có thể học cách sử dụng các phần mềm con một cách thứ tự đó
là học Vision trước rồi đến chương trình Python Molecule Viewer, sau đó là AutoDock Tools Người đọc sẽ có được các kiến thức tổng quan về bộ công cụ MGLTools một cách xuyên suốt Trong phần hướng dẫn này mục đích chung là giới thiệu các chức năng chính của chương
trình Python Molecule Viewer Qua các bài thực hành chi tiết từng bước (step by step) với hình ảnh
trực quan giúp cho những người mới tiếp cận dễ dàng và hiểu về chương trình
Phần 5: Hướng dẫn sử dụng chương trình AutoDock Tools (ADT)
+ Giới thiệu chức năng các thành phần trên giao diện chương trình ADT
+ Thực hành 1: chỉnh sửa tập tin Protein PDB với ADT
+ Thực hành 2: chuẩn bị tập tin phối tử (ligand) với ADT
Trang 6Trong phần hướng dẫn này giới thiệu sơ lược một số chức năng chính của chương trình giúp cho người đọc có cái nhìn khái quát trước khi tự đi sâu tìm hiểu các chức năng nâng cao
Phần 6: Những câu hỏi thường gặp
Nêu ra một số những thắc mắc thông thường của những người mới tìm hiểu và đưa ra các lời giải đáp một cách cụ thể
Nội dung cuốn tài liệu đã được trình bày, sắp xếp các một cách lôgíc, giúp cho người tham khảo có thể tìm hiểu các chức năng từ đơn giản đến phức tạp Hy vọng giúp người đọc sẽ có được các kiến thức tổng quan về bộ công cụ MGLTools một cách xuyên suốt
III KẾT QUẢ THỬ NGHIỆM
Giao diện chương trình con Vision của MGLTools
Kết quả thử nghiệm chủ yếu khai thác trên ba module chính AutoDockTools (ADT), Python Molecular Viewer (PMV) và Vision với rất nhiều chức năng thông qua các bài thực hành trên
Trang 7chương trình MGLTools Từ đó tổng kết kinh nghiệm (tổng kết thực tiễn) rút ra các đặc điểm nổi
bật, cách thức sử dụng để viết thành sách hướng dẫn sử dụng bộ công cụ MGLTools
Ngoài tài liệu hướng dẫn sử dụng bộ công cụ MGLTools được biên soạn thành sách, tài liệu cũng đã được chia sẻ rộng rãi trên các diễn đàn nghiên cứu y sinh của Người Việt trong và ngoài
nước dưới dạng sách điện tử (ebook) Bước đầu, tài liệu này đã nhận được sự ủng hộ từ phía độc giả
quan tâm như, tại địa chỉ: http://mgl.scripps.edu/forum/viewtopic.php?f=11&t=2165
Tài liệu hướng dẫn được chia sẻ trên diễn đàn Molecular Graphics Laboratory
Trang 8IV KẾT LUẬN
Đây là bộ tài liệu tiếng Việt đầu tiên có hệ thống hướng dẫn một cách chi tiết một trong những phần mềm hiện đại hỗ trợ nghiên cứu y sinh của viện nghiên cứu NBCR - Hoa Kỳ
Tài liệu đã được biên soạn và chia sẻ rộng rãi trong cộng đồng thông qua các diễn đàn sinh học Tài liệu có mức độ chia sẻ thông tin khoa học và có tính cộng đồng cao, qua đó đóng góp một phần nhỏ trong quá trình hướng đến việc ứng dụng các công nghệ hiện đại hỗ trợ nghiên cứu y sinh
từ đó nâng tầm phát triển cũng như ứng dụng của ngành sinh học tính toán ở nước ta Để kết quả nghiên cứu của đề tài được hoàn thiện và sớm chính thức đưa vào triển khai ứng dụng một cách có hiệu quả thiết thực trong nghiên cứu y sinh ở nước ta Tài liệu cũng cần được sự đóng góp, phản hồi
từ các diễn đàn, các thông tin từ người sử dụng để hoàn thiện hơn
TÀI LIỆU THAM KHẢO
[1] Trần Văn Lăng, “Ứng dụng tin học trong việc giải một số bài toán của sinh học phân tử”, Nhà xuất bản Giáo Dục, 230tr
[2] http://www.nbcr.net/wordpress2/?page_id=44 giới thiệu về viện nghiên cứu NBCR - Hoa Kỳ [3] http://www.nbcr.net/wordpress2/?page_id=1149 giới thiệu về bộ công cụ MGLTools