TRƢỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
----------
BÁO CÁO
NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
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
Formatted: Vietnamese
BIÊN HÒA, THÁNG 12/2012
TRƢỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
----------
BÁO CÁO
NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
TÌM HIỂU MỘT SỐ CÔNG CỤ
HIỆN ĐẠI HỖ TRỢ
NGHIÊN CỨU Y SINH
Võ Hồng Bảo Châu và thầy Ths. Phan Mạnh Thƣờng đã giúp chúng em hoàn thiện đề
tài này.
Chúng em cũng xin bày tỏ lòng biết ơn đến của những ngƣời thân trong gia
đình đình đã quan tâm, động viên và cổ vũ tinh thần cho chúng em trong suốt thời
gian qua.
Chúng em cũng vô cùng cảm ơn những ngƣời bạn đã đồng hành, giúp đỡ chúng
em trong việc hoàn thành tốt đề tài này.
Chúng em xin chân thành cảm ơn và kính chúc toàn thể quý thầy cô và các bạn
luôn dồi dào sức khỏe và thành công trong cuộc sống.
Nhóm thực hiện đề tài
Nguyễn Bá Huy - Trần Đức Luân
Biên Hòa, Tháng 12 1/ 2012
Formatted: Font: 18 pt
MỤC LỤC
---------TRANG BÌA.............................................................................................................. Trang
TRANG PHỤ BÌA
LỜI CẢM ƠN ................................................................................................................... 111
Field Code Changed
Formatted: French (France)
MỤC LỤC ........................................................................................................................ 442
DANH MỤC CHỮ VIẾT TẮT ........................................................................................ 664
DANH MỤC BẢNG BIỂU VÀ HÌNH ẢNH .................................................................. 775
PHẦN MỞ ĐẦU .............................................................................................................. 886
1. Tên đề tài .................................................................................................................. 886
2.3.1. Bố cục tài liệu hƣớng dẫn ............................................................................ 1110
2.3.2. Tài liệu hƣớng dẫn đƣợc tạo thành dạng sách điện tử (ebook)..................... 1413
2.4. Tiểu kết ................................................................................................................ 1615
CHƢƠNG 3: ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƢỢC ...................................................... 1716
3.1. Đóng góp của bộ tài liệu trong thực tiễn ............................................................. 1716
3.2. Ƣu và nhƣợc điểm của tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools ...... 1817
3.3. Mức trao đổi thông tin khoa học của đề tài ......................................................... 1918
KẾT LUẬN .................................................................................................................... 2120
TÀI LIỆU THAM KHẢO .................................................................................................... 1
-
DANH MỤC CHỮ VIẾT TẮT
---------Từ viết tắt
Từ đầy đủ
ADT
: Auto Dock Tools
aMD
: accelerated Molecular Dynamics
APBs
: Adaptive Poisson-Boltzmann solver
: National Biomedical Computation Resource
PDB
: Protein Data Bank
PMV
: Python Molecule Viewer
POVME
: POcket Volume MEasurer
SMOL
: Smoluchowski Solver @ Molecular level
DANH MỤC BẢNG BIỂU VÀ HÌNH ẢNH
---------DANH MỤC HÌNH ẢNH ....................................................................................... Trang
Hình 1.1. Hoạt động Summer Institute lần thứ 6 do NBCR tổ chức .............................. 4
Hình 2.1. Trang bìa ebook hƣớng dẫn sử dụng bộ công cụ MGLTools ........................ 13
Hình 2.2. Danh mục bookmark trong ebook ................................................................. 14
Hình 3.1. Bài đăng trên diễn đàn Molecular Graphics Laboratory ................................ 18
Hình 3.2. Bài đăng trên diễn đàn Sinh học Việt Nam .................................................... 19
PHẦN MỞ ĐẦU
---------1. Tên đề tài
cầu các nhà nghiên cứu trong phòng thí nghiệm phải có nền tảng kiến thức về chuyên
ngành công nghệ thông tin.
Formatted: Font: Italic
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 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ỳ, đó là bộ công cụ MGLTools.
3. Lịch sử nghiên cứu
3.1. Trên thế giới
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).
- Using AutoDock with AutoDockTools:A Tutorial (Ruth Huey, Garrett M.
Morris - 20/10/ 2005).
- Programming Scalable Scientific Workflows (M. Sanner, Guillaume Vareille,
Luca Clementi, Jane Ren, Wilfred Li - 03--07/08/ 2008).
- Using AutoLigand with AutoDockTools: A Tutorial (Rodney M. Harris 20/08/ 2009).
- Tutorial Draft for AutoDock with a Single Ligand (AutoDockSL) for Docking
Experiments (Wendy M. Fong, Wilfred W. Li - 18/4/2011).
- Tutorial Draft for AutoDockVS Local for Virtual Screening Experiments
(Wendy M. Fong, Wilfred W. Li - 2/5/2011).
- Prepare Single Ligand for Docking and Virtual Screening Experiments (Wendy
M. Fong, Wilfred W. Li -17/5/2011).
3.2. Trong nƣớc
mới tìm hiểu làm quen sử dụng phần mềm tiết kiệm thời gian tìm hiểu cũng nhƣ đạt
hiệu quả tốt hơn khi có đƣợc những kiến thức đã đƣợc hệ thống, đúc kết qua thời gian
dài.
Tạo tiền đề cho việc phát triển các công cụ hỗ trợ trong nghiên cứu y sinh tại
các phòng thí nghiệm ở Việt Nam.
6.2. Những vấn đề chƣa thực hiện đƣợc
Việc nghiên cứu tìm hiểu về các công cụ hiện đại hỗ trợ nghiên cứu y sinh đòi
hỏi thực hiện quá trình trong thời gian dài, do đó với thới gian hoàn thành trong 6
tháng nên đề tài chỉ mới tìm hiểu tổng quan về bộ công cụ MGLTools, chƣa đi vào tìm
hiểu chi tiết tất cả các chức năng của các module có trong bộ công cụ này.
Theo nhƣ tìm hiểu thì nhóm biết đƣợc chỉ riêng phần mềm hỗ trợ nghiên cứu y
sinh của tổ chức NBCR thôi thì cũng có rất nhiều phần mềm và nó thƣờng liên quan
hỗ trợ cho nhau, trong phạm vi của đề tài nhóm chỉ mới nghiên cứu gói gọn trong bộ
công cụ MGLTools, chƣa có thống kê, so sánh với các bộ công cụ, phần mềm khác có
chức năng hỗ trợ tƣơng đƣơng đang có hiện nay.
7. Kết cấu của đề tài
Luận văn đƣợc đƣợc chia thành ba phần: phần mở đầu, phần nội dung và phần kết
luận.
Phần mở đầu:
Nêu rõ lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu, phƣơng pháp
nghiên cứu, cũng nhƣ những đóng góp mới của đề tài. Bên cạnh đó cũng nêu lên các
mặt hạn chế chƣa làm đƣợc của đề tài.
Phần nội dung:
Chƣơng 1: Giới thiệu chung về tin sinh học, sinh học tính toán, giới thiệu vài
nét sơ lƣợc về viện nghiên cứu NBCR - nơi phát triển các các công cụ hiện đại hỗ trợ
nghiên cứu y sinh. Giới thiệu tổng quan về bộ công cụ MGLTools. 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 cũng
nhƣ nhiều phần mềm khác do viện nghiên cứu NBCR phát triển.
Hiện nay, tại một số ít các trƣờng đại học lớn trên thế giới có đào tạo chuyên
ngành tin sinh học, tuy nhiên nhìn chung những ngƣời làm việc trong lĩnh vực tin sinh
học thƣờng đƣợc đào tạo chuyên sâu về một trong 2 lĩnh vực là tin học (công nghệ
thông tin, toán học) hoặc sinh học (hóa học, vật lý học). Bên cạnh đó, họ tìm hiểu
thêm hoặc đƣợc đào tạo cơ bản về lĩnh vực còn lại. Tin học có ảnh hƣởng sâu sắc đến
sinh học, thông thƣờng, những ngƣời làm tin sinh học sử dụng những kiến thức và
công cụ trong tin học để giải quyết những vấn đề trong sinh học. Ví dụ, ngƣời ta tiến
hành xây dựng những cơ sở dữ liệu nhằm quản lý và khai thác một lƣợng lớn các dữ
liệu sinh học phân tử (Nucleotide, Amin acids). Mặt khác, sinh học cũng có những tác
động ngƣợc lại đến tin học. Ví dụ xây dựng mạng nơron (neutral network) bằng cách
mô phỏng bộ não của con ngƣời, hay thiết kế các thuật toán di truyền (Genetic
Algorithms) dựa vào mô phỏng quá trình tiến hóa của các loài sinh vật.
Với sự phát triển mạnh trong cả hai lĩnh vực là 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 nghiên cứu. Một trong những ví dụ tiêu biểu nhất có lẽ
là việc hoàn thành việc giải mã bản đồ gen của ngƣời (Human Genome) vào năm
2003. Bộ gen của ngƣời bao gồm khoảng 3 tỷ nucleotide và đƣợc lƣu trữ dƣới dạng số
hóa. Tuy nhiên, việc giải mã thành công bộ gen của ngƣời hay các sinh vật khác nhƣ
Formatted: Font: Italic
-2-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
chuột hay lúa mới chỉ là bƣớc đầu tiên trong quá trình tìm hiểu về chúng. Việc giải mã
thành công bộ gen ngƣời đƣợc so sánh nhƣ việc chúng ta tìm ra bức thƣ của tạo hóa
nói về cấu tạo cũng nhƣ chức năng của các bộ phận trong cơ thể con ngƣời, tuy nhiên
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
-3 Sinh học hệ thống (Systems systems biology): nhằm mục đích mô hình các
mạng tƣơng tác sinh học qui mô lớn (thuật ngữ: interactome) nhờ dùng các phƣơng
trình sai phân. Dự đoán cấu trúc protein và Gien học cấu trúc (structural genomics):
Formatted: Font: Italic
nhằm đƣa ra đƣợc một cách chính xác các mô hình cấu trúc 3 chiều của cấu trúc
protein mà chƣa đƣợc tìm thấy bằng thực nghiệm.
Hóa sinh và lý hóa tính toán, nhằm sử dụng tối đa các phƣơng pháp mô
phỏng và mô hình hệ thống nhƣ động học phân tử và các phƣơng pháp lấy mẫu
Boltzmann- dựa trên- phƣơng pháp Monte Carlo trong nỗ lực nhằm làm sáng tỏ động
năng và nhiệt động học của các chức năng protein.
1.2. Giới thiệu viện nghiên cứu National Biomedical Computation Resource
Formatted: Vietnamese
Formatted: Vietnamese
Những phần mềm do tổ chức National Biomedical Computation
Formatted: Vietnamese
Resource (NBCR) phát triển giúp các nhà khoa học Y Sinh giải quyết các thách thức
Formatted: Indent: Left: 0 cm, First line: 3
cm, Space Before: 12 pt, Tab stops: 3.5 cm,
MGLTools
AutoGrow
NNScore
BrownDye
Opal
CADD
PDB2PQR
Continuity
PMV
Formatted: Indent: First line: 3.5 cm, Space
Before: 12 pt, Tab stops: 3.5 cm, Left
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
-4CSMOL
POVME
(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ử. 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...
Ba ứng dụng chính của MGLTools là:
AutoDockTools (ADT)
Python Molecular Viewer (PMV)
Vision
AutoDockTools: giao diện miễn phí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 đồ ái lực isocontoured AutoGrid.
Formatted: Justified
Formatted: Font: Not Bold
-8-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
1.4. Giới thiệu tổng quan về ngôn ngữ lập trình Python
1.4.1. Giới thiệu về Python
Python là một ngôn ngữ lập trình hƣớng đối tƣợng rất thông dụng dùng để viết
các tiện ích hệ thống và các đoạn mã trên Internet. Nó cũng đƣợc sử dụng nhƣ ngôn
ngữ kết dính đóng vai trò tích hợp C và C++. Đƣợc tạo ra bởi Guido van Rossum tại
Amsterdam năm 1990.
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do
vậy nó gần giống nhƣ Perl, Ruby, Scheme, Smalltalk, và Tcl. Python đƣợc phát triển
trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản
lý. Gần đây nhất, đầu tháng 8/2006 Microsoft đã cho ra mắt bản phân phối thử nghiệm
IronPython 1.0, vừa tích hợp tốt với .Net Framework, vừa hoàn toàn kế thừa ngôn ngữ
Python. IronPython còn tận dụng CLI (nền tảng ngôn ngữ chung) để đạt hiệu năng
cao, chạy nhanh hơn 1.5 lần so với Python nền C thông thƣờng dựa trên thang đo
benchmark.
Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho
ngƣời mới học lập trình. Cấu trúc của Python còn cho phép ngƣời sử dụng viết mã
lệnh với số lần gõ phím tối thiểu.
Ban đầu, Python đƣợc phát triển để chạy trên nền Unix. Nhƣng rồi theo thời
gian, nó đã “bành trƣớng” sang mọi hệ điều hành từ DOS đến Mac OS, OS/2,
Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của
Python có sự đóng góp của rất nhiều cá nhân, nhƣng Guido van Rossum hiện nay vẫn
là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hƣớng
phát triển của Python.
1.4.2. Lịch sử phát triển của Python
- Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đến
BeOpen.com và thành lập BeOpen PythonLabs team. Phiên bản Python 2.0 đƣợc phát
hành tại đây. Sau khi phát hành Python 2.0, Guido và các thành viên PythonLabs gia
nhập Digital Creations. Python 2.1 ra đời kế thừa từ Python 1.6.1 và Python 2.0. Bản
quyền của phiên bản này đƣợc đổi thành Python Software Foundation License. Từ thời
điểm này trở đi, Python thuộc sở hữu của Python Software Foundation (PSF), một tổ
Formatted: Font: Italic
chức phi lợi nhuận đƣợc thành lập theo mẫu Apache Software Foundation.
- Python 3: Về sự phát triển của Python trong tƣơng lai, các nhà phát triển vẫn
đang thảo luận về phiên bản mới: Python 3.0 (dự án gọi là Python 3000 hoặc Py3K).
Dự kiến, dòng 3.x sẽ không hoàn toàn tƣơng thích với dòng 2.x. Nhóm phát triển cho
biết sẽ lấp những chỗ hở của ngôn ngữ. Nguyên tắc chủ đạo để phát triển Python 3.x là
“bỏ cách làm việc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python”. Tuy
nhiên, cho đến nay vẫn chƣa có kế hoạch cụ thể cho phát triển Python 3.
1.5. Tiểu kết
Chƣơng này đã nêu đƣợc tầm quan trọng của lĩnh vực Tin sinh học và Sinh học tính
toán đã đóng góp nhiều thành tựu trong nghiên cứu sinh học. Giới thiệu về viện nghiên
cứu National Biomedical Computation Resource - Hoa Kỳ. Giới thiệu tổng quan về bộ
công cụ MGLTools. 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.
Formatted: Font: Italic
- 10 -
CHƢƠNG 2: XÂY DỰNG TÀI LIỆU HƢỚNG DẪN SỬ DỤNG BỘ
CÔNG CỤ MGLTOOLS BẰNG TIẾNG VIỆT
- 11 -
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
nghiên cứu đã hoàn thành tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools bằng
tiếng Việt.
2.3. Xây dựng tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools
2.3.1. 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à:
1. AutoDockTools (ADT).
Formatted: Font: Italic
2. Python Molecular Viewer (PMV).
Formatted: Font: Italic
3. 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ƣ.
+ 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 thật ra là một bộ phần mềm nên các phần
mềm con của nó có 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
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
- 13 -
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
độ xoắn của phân tử vv... 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 ko đƣợc sắp xếp theo trật tự thì quả
thật là choáng ngợp. Vì thế nên nhóm đã 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 mớ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