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
SVTH: NGUYỄN BÁ HUY
TRẦN ĐỨC LUÂN
GVHD: PGS.TS TRẦN VĂN LĂNG
Formatted: Space Before: 12 pt
BIÊN HÒA, THÁNG 12/2012
Formatted: Vietnamese
LỜI CẢM ƠN
Formatted: Vietnamese
----------
Formatted: Vietnamese
Formatted: Vietnamese
Để có kiến thức nhƣ ngày hôm nay và hoàn thành tốt đề tài nghiên cứu khoa
học “Tìm hiểu một số công cụ hiện đại hỗ trợ nghiên cứu y sinh”, đầu tiên chúng em
xin chân thành cảm ơn Ban Giám Hiệu cùng toàn thể quý thầy cô khoa Công Nghệ
Thông Tin - Trƣờng Đại Học Lạc Hồng đã tận tình dạy bảo, truyền đạt kiến thức và
những kinh nghiệm quý báu cho chúng em trong suốt hơn bốn năm qua.
Chúng em xin gửi những lời tri ân sâu sắc tới thầy PGS.TS Trần Văn Lăng,
ngƣời thầy đã tận tình hƣớng dẫn, động viên chúng em trong suốt quá trình thực hiện
đề tài.
Chúng em xin chân thành cảm ơn những ý kiến đóng góp và hỗ trợ từ cô Ths.
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. Lý do chọn đề tài ...................................................................................................... 886
3. Lịch sử nghiên cứu ................................................................................................... 997
3.1. Trên thế giới ...................................................................................................... 997
3.2. Trong nƣớc ........................................................................................................ 997
4. Mục tiêu nghiên cứu ............................................................................................. 10108
5. Phƣơng pháp nghiên cứu ...................................................................................... 10108
6. Những đóng góp mới của đề tài và những vấn đề chƣa thực hiện đƣợc .............. 10108
6.1. Những đóng góp mới của đề tài .................................................................... 10108
6.2. Những vấn đề chƣa thực hiện đƣợc ............................................................... 11119
7. Kết cấu của đề tài.................................................................................................. 11119
CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ TIN SINH HỌC VÀ CÁC CÔNG CỤ HIỆN
ĐẠI HỖ TRỢ NGHIÊN CỨU Y SINH ............................................................................... 1
1.1. Tin sinh học, sinh học tính toán là gì? ....................................................................... 1
1.2. Giới thiệu viện nghiên cứu National Biomedical Computation Resource ................ 3
1.3. Giới thiệu bộ công cụ MGLTools ........................................................................... 65
Field Code Changed
Formatted: French (France)
Field Code Changed
1.4. Giới thiệu tổng quan về ngôn ngữ lập trình Python ................................................ 87
1.4.1. Giới thiệu về Python ......................................................................................... 87
1.4.2. Lịch sử phát triển của Python ........................................................................... 87
1.5. Tiểu kết .................................................................................................................... 98
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 ................................................................................. 109
2.1. Từ thực trạng tới nhu cầu ...................................................................................... 109
2.2. Kiến thức, nền tảng để xây dựng tài liệu hƣớng dẫn ............................................. 109
2.3. Xây dựng tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools ............................ 1110
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
CADD
: Computer Adied Drug Discovery
CSMOL
: Smoluchowski Solver @ Sub-cellular level
ePMV
: embedded Python Molecular Viewer
FETK
: Finite Element Toolkit
GAMer
: Geometry-preserving Adapter MeshER
MGLTools
: Molecular Graphics Laboratory Tools
Mol
: Molecule
NBCR
: 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
““TÌM HIỂU MỘT SỐ CÔNG CỤ HIỆN ĐẠI HỖ TRỢ NGHIÊN CỨU Y
SINH”Tìm hiểu một số công cụ hiện đại hỗ trợ nghiên cứu y sinh”
Formatted: Centered, Indent: First line: 0 c
Formatted: Vietnamese
2. Lý do chọn đề tài
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 ngƣời (Human Genome) vào
Formatted: Font: Italic
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ƣ 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 nội dung của bức thƣ trên lại đƣợc viết bởi ngôn ngữ tự nhiên
(Natural Language) mà chúng ta chƣa hiểu đƣợc. Mục tiêu và thách thức của chúng ta
hiện tại cũng nhƣ trong tƣơng lai là từng bƣớc tìm hiểu và dịch nội dung của bức thƣ
trên sang dạng ngôn ngữ mà con ngƣời có thể hiểu đƣợc.
Tuy nhiên, thực tiễn cho thấy, việc triển khai các ứng dụng công cụ hiện đại
vào thực tiễn nghiên cứu trong các phòng nghiên cứu y sinh ở Việt Nam còn rất nhiều
hạn chế và gặp nhiều khó khăn.
Một số nhà nghiên cứu giỏi chuyên môn nhƣng lại bỡ ngỡ khi tiếp cận đến các
công cụ hiện đại liên quan mật thiết lĩnh vực công nghệ thông tin.
Bên cạnh đó việc học cách sử dụng một chƣơng trình mới hỗ trợ trong nghiên
cứu y sinh đƣợc viết bằng tiếng Anh đòi hỏi mất một khoảng thời gian khá dài và yêu
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
Theo nhƣ nhóm nghiên cứu tìm hiểu thì hiện nay ở Việt Nam vẫn chƣa có một
tài liệu nào nghiên cứu, hƣớng dẫn sử dụng về bộ công cụ MGLTools này.
Formatted: Font: Italic
4. Mục tiêu nghiên cứu
Tìm hiểu một số vấn đề liên quan đến sinh tin học (Bioinformatics) và sinh học
tính toán (Computational Biology).
Tìm hiểu bộ công cụ hỗ trợ nghiên cứu y sinh MGLTools và những thành phần
liên quan.
Khai thác thử nghiệm bộ công cụ hỗ trợ nghiên cứu y sinh MGLTools.
Biên soạn tài liệu hƣớng dẫn sử dụng về những phần mềm tìm hiểu đƣợc
(MGLTools).
5. Phƣơng pháp nghiên cứu
Tìm hiểu và thu thập tài liệu hƣớng dẫn sử dụng về bộ công cụ MGLTools.
Tìm hiểu các tài liệu hƣớng dẫn, các chuyên đề về MGLTools bằng tiếng Anh
trên mạng internet.
Tìm hiểu ngôn ngữ lập trình Python để hiểu hơn về các thuật toán xây dựng các
node thƣ viện sử dụng trong chƣơng trình Vision.
Khai thác thử nghiệm các chức năng của bộ công cụ 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 và cách thức sử dụng của
bộ công cụ MGLTools.
6. Những đóng góp mới của đề tài và những vấn đề chƣa thực hiện đƣợc
6.1. Những đóng góp mới của đề tài
Xây dựng đƣợc bộ tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools bằng
tiếng Việt giúp cho những nhà nghiên cứu y sinh trong phòng thí nghiệm, các sinh
viên thực tập trong lĩnh vực y học, sinh học dễ dàng hiểu, tiếp cận và sử dụng phần
mềm.
Với bộ tài liệu hƣớng dẫn sử dụng bằng tiếng Việt có thể giúp cho những ngƣời
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.
Chƣơng 2: Trong chƣơng này giới thiệu về cuốn tài liệu hƣớng dẫn sử dụng
MGLTools mà nhóm đã biên soạn. Trong đó nêu lên cơ sở lý thuyết để xây dựng tài
liệu và nêu các nội dung chính đƣợc trình bày trong tài liệu hƣớng dẫn sử dụng
MGLTools.
Chƣơng 3: Đánh giá kết quả đạt đƣợc của đề tài, những đóng góp mới và
những ƣu điểm của tài liệu hƣớng dẫn sử dụng bộ công cụ MGLTools.
Phần kết luận:
Đƣa ra những kết luận, kiến nghị và hƣớng nghiên cứu tiếp theo trong thời gian tới
của đề tài.
-1-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ TIN SINH HỌC VÀ CÁC CÔNG CỤ
HIỆN ĐẠI HỖ TRỢ NGHIÊN CỨU Y SINH
1.1. Tin sinh học, sinh học tính toán là gì?
Tin sinh học (Bioinformaticsbioinformatics) là một lĩnh vực khoa học sử dụng
các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính,
trí tuệ nhân tạo, hóa học và hóa sinh (biochemistry) để giải quyết các vấn đề sinh học.
Là một ngành khoa học kết hợp giữa hai ngành khoa học là tin học
(informatics/information technology) và sinh học (molecular biology/biology
technology). Tin sinh học hiện đang và sẽ tiếp tục đóng góp nhiều thành tựu khoa học
mới và quan trọng nhƣ thúc đẩy nhanh quá trình chẩn đoán bệnh và tìm ra các loại
thuốc chữa bệnh mới, tìm ra các giống cây trồng và vật nuôi mới cho năng suất cao,
xây dựng quá trình tiến hóa của các loài sinh vật nói chung và loài ngƣời nói riêng.
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
nội dung của bức thƣ trên lại đƣợc viết bởi ngôn ngữ tự nhiên (Natural Language) mà
Formatted: Font: Italic
chúng ta chƣa hiểu đƣợc. Mục tiêu và thách thức của chúng ta hiện tại cũng nhƣ trong
tƣơng lai là từng bƣớc tìm hiểu và dịch nội dung của bức thƣ trên sang dạng ngôn ngữ
mà con ngƣời có thể hiểu đƣợc.
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ĩkỹ thuật của khoa học máy tính, tính toán ứng dụng 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ĩkỹ thuật kể trên bao gồm:
Tin sinh học: ứng dụng các giải thuật và kĩkỹ thuật thống kê để phân tích các
dữ liệu chuỗi sinh học. Các dữ liệu này thƣờng là rất lớn các chuỗi DNA, RNA, hoặc
protein. Ví dụ nhƣ bắt cặp trình tự (sequence alignment); tìm kiếm gien; và dự đoán
biểu hiện gien (gene expression). (Thuật ngữ sinh học tính toán thƣờng đồng nghĩa với
tin sinh học.)
Mô hình sinh học tính toán (Computational computational biomodeling): là
một lĩnh vực thuộc biocybernetics nhằm xây dựng các mô hình tính toán cho các hệ
thống sinh học.
Gien học tính toán (Computational computational genomics): là một lĩnh vực
thuộc gien học (genomics) nhằm nghiên cứu bộ gien của các tế bào và cá thể nhờ sử
dụng các kĩkỹ thuật bắt cặp bộ gien (genome sequencing) tốc độ cao. Các kĩkỹ thuật
này đòi hỏi phải có giai đoạn hậu xử lí, gọi là lắp ráp bộ gien (genome assembly), và
nó dùng kĩkỹ thuật DNA microarray để thực hiện các phân tích thống kê trên các gien
mà có biểu hiện ở từng loại tế bào.
Mô hình hóa phân tử (Molecular molecular modeling): là lĩnh vực nghiên
cứu các phƣơng pháp lí thuyết và các kĩkỹ thuật tính toán để mô hình hay bắt chƣớc
cách hành xử của phân tử, từ phân tử chỉ vài nguyên tử đến các phân tử cực lớn.
Formatted: Font: Not Italic
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,
Left
trong việc tích hợp các phép đo chi tiết cấu trúc từ các quy mô đa dạng của các tổ chức
Formatted: Font: Italic
sinh học
Formatted: Vietnamese
Formatted: Vietnamese
tiết cấu trúc từ các quy mô đa dạng của các tổ chức sinh học từ
phân tử, để đạt đƣợc sự hiểu biết định lƣợng của chức năng sinh học. Đoán trƣớc nhiều
quy mô các mô hình cùng nhau giải quyết các vấn đề trong mô hình của các tế bào
sinh lý, xây dựng các công cụ mô hình hóa phân tử để đẩy nhanh phát hiện và xác định
các công cụ cho mô hình hóa theo nhiều quy mô cụ thể.
Phần mềm do NBCR phát triển:
ADT
GAMer
aMD
iAPBS
APBS
MEME
AutoClickChem
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
ePMV
SMOL
FETK
TxBR
-5-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
Hình 1.1. hoạt động Summer Institute lần thứ 6 do NBCR tổ chức (01/08/2011) [8].
Địa chỉ: Atkinson Hall, tầng 5, University of California, San Diego. 9500 Gilman
Drive, MC 0446, La Jolla, CA 92093-0446.
Điện thoại: 858.534.5079 / Fax: 858.534.5033
Email:
[email protected]
Formatted: Font color: Black
-6-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
1.3. Giới thiệu bộ công cụ MGLTools
MGLTools là một 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ử. 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
-7-
Formatted: Tab stops: 8 cm, Centered + No
at 8.25 cm
Và nhiều, nhiều hơn nữa…
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ử để vẽ khối lƣợng tiên tiến.
Các chức năng của PMV:
Đƣa raHiể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.
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) 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. Cho đến nay, vision bao gồm một tập hợp các node tiêu chuẩn bao gồm một thƣ
viện OpenGL 3D trực quan. Thƣ viện SymServ thực hiện một tập hợp các node định
biến đổi hình học nhƣ đối xứng điểm, dịch, luân chuyển, sắp xếp xoắn ốc vv...
Formatted: Font: Italic
-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
Sự phát triển Python đến nay có thể chia làm các giai đoạn:
- Python 1: bao gồm các bản phát hành 1.x. Giai đoạn này, kéo dài từ đầu đến
cuối thập niên 1990. Từ năm 1990 đến 1995, Guido làm việc tại CWI (Centrum voor
Wiskunde en Informatica – Trung tâm Toán-Tin học) tại Amsterdam, Hà Lan. Vì
nguyên nhân này, các phiên bản Python đầu tiên đều do CWI phát hành. Phiên bản
Formatted: Font: Italic