1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu lí thuyết về tương tác giữa VEGFR 2 và lenvatinib bằng phương pháp mô phỏng động lực học phân tử

124 18 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 124
Dung lượng 1,68 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phạm Trọng Lâm NGHIÊN CỨU LÍ THUYẾT VỀ TƯƠNG TÁC GIỮA VEGFR-2 VÀ LENVATINIB BẰNG PHƯƠNG PHÁP MÔ PHỎNG ĐỘNG LỰC HỌC PHÂN TỬ LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phạm Trọng Lâm NGHIÊN CỨU LÍ THUYẾT VỀ TƯƠNG TÁC GIỮA VEGFR-2 VÀ LENVATINIB BẰNG PHƯƠNG PHÁP MÔ PHỎNG ĐỘNG LỰC HỌC PHÂN TỬ Chuyên ngành: Hóa lý Hóa lý thuyết Mã số: 60440119 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS LÊ KIM LONG TS NGUYỄN HỌA MI Hà Nội - 2017 LỜI CẢM ƠN Trước tiên xin bày tỏ lòng biết ơn chân thành đến PGS TS Lê Kim Long TS Nguyễn Họa Mi - Cán Trung tâm Ứng dụng Tin học Hóa học, Khoa Hóa học, trường Đại học Khoa học Tự nhiên Thầy Lê Kim Long người gợi ý chấp nhận đề xuất đề tài nghiên cứu Thầy tạo điều kiện thuận lợi giúp chủ động nghiên cứu Cô Nguyễn Họa Mi người trực tiếp hướng dẫn góp ý suốt q trình tơi học tập nghiên cứu lĩnh vực Hóa học tính tốn Khoa Hóa học Cô người động viên gặp khó khăn, căng thẳng sống nghiên cứu Tôi xin gửi lời cảm ơn sâu sắc đến GS TS Lâm Ngọc Thiềm, người thầy có chia sẻ, động viên để giúp tơi có thêm động lực hồn thành luận văn Tôi xin trân trọng cảm ơn thầy giáo, cô giáo, cán Khoa Hóa học, trường Đại học Khoa học Tự nhiên - ĐHQGHN truyền đạt kinh nghiệm góp ý quý báu suốt thời gian học tập nghiên cứu khoa Cuối cùng, xin trân trọng cảm ơn hỗ trợ đề tài cấp Đại học Quốc gia Hà Nội, mã số QG.17.37 trình nghiên cứu Hà Nội, ngày tháng năm 2017 Học viên Phạm Trọng Lâm Danh mục hình Trang Hình Cơ chế chung trình kích thích hình thành mạch máu tế bào ung thư vị trí tác động thuốc lenvatinib 15 Hình Cấu trúc 3D phức hợp VEGFR-2–lenvatinib 17 Hình Nhiệt độ bước cân NVT 33 Hình Áp suất bước cân NPT 34 Hình Tương tác lenvatinib (LEV) protein cấu trúc X-Ray 36 Hình Tương tác lenvatinib (LEV) protein cấu trúc bổ sung tham số trường lực 38 Hình Tương tác lenvatinib (LEV) protein cấu trúc cân nhiệt độ áp suất 39 Hình Tương tác lenvatinib (LEV) protein cấu trúc chiếm trọng số tồn lớn 100 ns MD 40 Hình Tương tác LEV protein cấu trúc chiếm trọng số tồn lớn 100 ns MD thể Pymol 42 Hình 10 Số liên kết hidro lenvatinib protein theo thời gian 43 Hình 11 RMSD mạch protein phức hợp với lenvatinib (3WZD) sorafenib (3WZE) 44 Hình 12 RMSD lenvatinib (LEV) sorafenib (SOR) 45 Hình 13 Root mean square fluctuation (RMSF) residue phức hợp 3WZD 47 Hình 14 Root mean square fluctuation (RMSF) residue phức hợp 3WZE 48 Hình 15 Năng lượng tự liên kết phức hợp 3WZD 3WZE, tính theo g_mmpbsa 49 Hình 16 Năng lượng tự liên kết ligand protein phức hợp 3WZD 3WZE tính theo mơ hình LIE 54 Hình 17 Chu trình nhiệt động lực học dùng để tính tốn đóng góp entropy vào q trình tạo phức hợp 3WZD 3WZE 56 Hình 18 Năng lượng tự liên kết phức hợp 3WZD, 3WZE, 4AGD, tính theo g_mmpbsa 60 Hình 19 Sự hội tụ trình cực tiểu lượng 74 Hình 20 Sự dao động nhiệt độ cân NVT 76 Hình 21 Sự dao động áp suất trình cân NPT 78 Hình 22 Sự dao động mật độ 79 Hình 23 Sự thay đổi RMSD mô 81 Hình 24 Sự thay đổi Rg mơ 82 Danh mục bảng Trang Bảng Tham số tương tác động học VEGFR-2 số loại thuốc tương tự 16 Bảng Các thành phần lượng liên kết phức hợp 3WZD 3WZE thu từ mô MD kéo dài 100 ns 52 Bảng Các thành phần lượng liên kết phức hợp 3WZD, 3WZE, 4AGD thu từ mô MD kéo dài 10 ns 59 Danh mục kí hiệu viết tắt 3WZD Phức hợp VEGFR-2–lenvatinib 3WZE Phức hợp VEGFR-2–sorafenib 4AGD Phức hợp VEGFR-2–sunitinib EM Energy Minimization FDA US Food and Drug Administration FEP Free energy perturbation LEV Lenvatinib LIE Linear Interaction Energy LINCS LINear Constraint Solver MD Molecular Dynamics MM Molecular Mechanics NPT Constatn number of particles, pressure and temperature ensemble NVT Constant number of particles, volume and temperature ensemble PBSA Poisson-Boltzmann Surface Area PDB Protein Data Bank RMSD Root Mean Square Deviation RMSF Root Mean Square Fluctuation SASA Solven accessible surface area SMD Steering Molecular Dynamics SOR Sorafenib SPC Simple Point Charge TI Thermodynamic Integration VEGFR-2 Vascular Endothelial Growth Factor Receptor type Mục lục MỞ ĐẦU TỔNG QUAN 1.1 Tổng quan Hóa học tính tốn 1.2 Mô động lực phân tử (Molec 1.3 Thuật tốn mơ động lực phân tử 1.3.1 1.3.2 ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 2.1 ĐỐI TƯỢNG NGHIÊN CỨU 2.2 14 PHƯƠNG PHÁP NGHIÊN CỨU 2.2.1 19 Phương pháp thực tính toán MD 2.2.2 19 Các bước chuẩn bị tệp đầu vào 20 KẾT QUẢ VÀ THẢO LUẬN 3.1 Kết tính tốn cân nhiệt độ áp suất 32 3.2 Các tương tác chủ yếu lenvatinib protein 35 3.3 Sự dao động khung protein ligand 41 3.3.1 RMSD 41 D.3 Mã nguồn cho Hình # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size # pgf_with_latex = { # # "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', 'mathtext.default' : 'sf', "font.serif": [], "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, "font.size": 13, "legend.fontsize": 13, "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.8), "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax = fig.add_subplot(111) return fig, ax def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing filepath1=u'npt_pressure.xvg' 89 data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) print(data1[0,0]) #Check if the first lines are loaded correctly fig, ax = newfig(scale) plt.plot(data1[:,0]/1000,data1[:,1],label=u'Áp suất') plt.plot(data1[:,0]/1000,pd.Series(data1[:,1]).rolling(window=100, center=True).mean(),label=u'Áp suất trung bình') plt.xlabel(u'Thời gian (ns)') plt.ylabel(u'Áp suất (bar)') #plt.title('3WZD_LEV') plt.legend(ncol=2,loc='lower center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'npt-3WZD.png') #plt.savefig(u'npt-3WZD.pgf') plt.show() 90 D.4 Mã nguồn cho Hình 11 # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size # pgf_with_latex = { # # "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', 'mathtext.default' : 'sf', "font.serif": [], "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, "font.size": 13, "legend.fontsize": 13, "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.8), "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax = fig.add_subplot(111) return fig, ax def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing filepath1=u'rmsd_backbone_3WZD.xvg' 91 filepath2=u'rmsd_backbone_3WZE.xvg' data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) data2=np.loadtxt(filepath2,dtype=None,comments=['#','@']) print(data1[0,0],data2[0,0]) #Check if the first lines are loaded correctly fig, ax = newfig(scale) plt.plot(data1[:,0]/1000,data1[:,1],label=u'Bộ khung 3WZD') plt.plot(data1[:,0]/1000,pd.Series(data1[:,1]).rolling(window=100, center=True).mean(),label=u'Đường trung bình') plt.plot(data2[:,0]/1000,data2[:,1],label=u'Bộ khung 3WZE') plt.plot(data2[:,0]/1000,pd.Series(data2[:,1]).rolling(window=100, center=True).mean(),label=u'Đường trung bình') # Use the following line in case vi_VN locale not supported #ax.get_yaxis().set_major_formatter( ticker.FuncFormatter(lambda x, pos: str(x).replace('.',',')) ) # plt.xlabel(u'Thời gian (ns)') plt.ylabel(u'RMSD (nm)') #plt.title(u'3WZD_LEV backbone vs 3WZE_SOR backbone') # Test for math rendering in san serif #plt.title(u'$\Delta G_{binding} \frac{100}{200}$') plt.legend(ncol=2,loc='lower center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'rmsd-backbone3WZD-3WZE.png') #plt.savefig(u'rmsd-backbone-3WZD-3WZE.pgf') plt.show() 92 D.5 Mã nguồn cho Hình 12 # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size # pgf_with_latex = { # # "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', 'mathtext.default' : 'sf', "font.serif": [], "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, "font.size": 13, "legend.fontsize": 13, "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.8), "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax1 = fig.add_subplot(211) ax2 = fig.add_subplot(212) return fig, ax1, ax2 def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing 93 filepath1=u'rmsd_LEV.xvg' filepath2=u'rmsd_SOR.xvg' data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) data2=np.loadtxt(filepath2,dtype=None,comments=['#','@']) print(data1[0,0],data2[0,0]) #Check if the first lines are loaded correctly fig, ax1, ax2 = newfig(scale) ax1.plot(data1[:,0]/1000,data1[:,1],label=u'Lenvatinib',alpha=0.6,color='blue') ax1.plot(data1[:,0]/1000,pd.Series(data1[:,1]).rolling(window=100, center=True).mean(),label=u'Đường trung bình LEV',alpha=0.6,color='red') ax1.legend(ncol=2,loc='lower center') ax2.plot(data2[:,0]/1000,data2[:,1],label=u'Sorafenib',alpha=0.6,color='green') ax2.plot(data2[:,0]/1000,pd.Series(data2[:,1]).rolling(window=100, center=True).mean(),label=u'Đường trung bình SOR',alpha=0.6,color='black') # Use the following line in case vi_VN locale not supported #ax.get_yaxis().set_major_formatter( ticker.FuncFormatter(lambda x, pos: str(x).replace('.',',')) ) # plt.xlabel(u'Thời gian (ns)') plt.ylabel(u'RMSD (nm)') #plt.title(u'3WZD_LEV backbone vs 3WZE_SOR backbone') # Test for math rendering in san serif #plt.title(u'$\Delta G_{binding} \frac{100}{200}$') plt.legend(ncol=2,loc='lower center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'rmsd-ligand-LEVSOR.png') #plt.savefig(u'rmsd-backbone-3WZD-3WZE.pgf') plt.show() 94 D.6 Mã nguồn cho Hình 13 # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size # pgf_with_latex = { # # "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', 'mathtext.default' : 'sf', "font.serif": [], "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, "font.size": 13, "legend.fontsize": 13, "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.8), "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax = fig.add_subplot(111) return fig, ax def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing filepath1=u'rmsf_3WZD.xvg' 95 data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) print(data1[0,0]) #Check if the first lines are loaded correctly fig, ax = newfig(scale) plt.plot(data1[:,0],data1[:,1],label=u'RMS fluctuation 3WZD') # can so sanh voi file add_missing_residue cua modeller, nho tru di vi index cua python bat dau tu # gia tri cuoi ham range se bi bo qua, nen dung lenh print(position_index) de xac nhan lai position_index=list(range(0,6)) position_index=position_index+list(range(28,32)) position_index=position_index+list(range(187,203)) position_index=position_index+list(range(304,309)) # print(position_index) plt.scatter(data1[position_index,0], data1[position_index,1], color='red', label=u'Các residue thêm vào modeller') #plt.annotate(u'arg gly ala phe',xy=(30,0.25),xytext=(100,0.7), # # color='red', arrowprops=dict(facecolor='black', shrink=0.05)) # Use the following line in case vi_VN locale not supported #ax.get_yaxis().set_major_formatter( ticker.FuncFormatter(lambda x, pos: str(x).replace('.',',')) ) # plt.xlabel(u'Số thứ tự residue (đánh số 1)') plt.ylabel(u'RMSF (nm)') #plt.title(u'3WZD_LEV backbone vs 3WZE_SOR backbone') # Test for math rendering in san serif #plt.title(u'$\Delta G_{binding} \frac{100}{200}$') plt.legend(ncol=1,loc='upper center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'rmsf-3WZD.png') #plt.savefig(u'rmsd-backbone-3WZD-3WZE.pgf') plt.show() 96 D.7 Mã nguồn cho Hình 14 # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size # pgf_with_latex = { # # "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', 'mathtext.default' : 'sf', "font.serif": [], "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, "font.size": 13, "legend.fontsize": 13, "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.8), "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax = fig.add_subplot(111) return fig, ax def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing filepath1=u'rmsf_3WZE.xvg' 97 data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) print(data1[0,0]) #Check if the first lines are loaded correctly fig, ax = newfig(scale) plt.plot(data1[:,0],data1[:,1],label=u'RMS fluctuation 3WZE') # can so sanh voi file add_missing_residue cua modeller, nho tru di vi index cua python bat dau tu # gia tri cuoi ham range se bi bo qua, nen dung lenh print(position_index) de xac nhan lai position_index=list(range(0,6)) position_index=position_index+list(range(28,32)) position_index=position_index+list(range(187,203)) position_index=position_index+list(range(304,309)) # print(position_index) plt.scatter(data1[position_index,0], data1[position_index,1], color='red', label=u'Các residue thêm vào modeller') #plt.annotate(u'arg gly ala phe',xy=(30,0.25),xytext=(100,0.7), # # color='red', arrowprops=dict(facecolor='black', shrink=0.05)) # Use the following line in case vi_VN locale not supported #ax.get_yaxis().set_major_formatter( ticker.FuncFormatter(lambda x, pos: str(x).replace('.',',')) ) # plt.xlabel(u'Số thứ tự residue (đánh số 1)') plt.ylabel(u'RMSF (nm)') #plt.title(u'3WZD_LEV backbone vs 3WZE_SOR backbone') # Test for math rendering in san serif #plt.title(u'$\Delta G_{binding} \frac{100}{200}$') plt.legend(ncol=1,loc='upper center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'rmsf-3WZE.png') #plt.savefig(u'rmsd-backbone-3WZD-3WZE.pgf') plt.show() 98 D.8 Mã nguồn cho Hình 15 # -*- coding: utf-8 -*""" Change font size according to latex font size requirements Change fig_width_pt and scale in newfig(scale) for desired documentclass If label texts missing then change golden_mean """ # must load pyplot AFTER rcParams.update import numpy as np import matplotlib as mpl mpl.use('pgf') scale=1.3 def figsize(scale): fig_width_pt = 483.69687 inches_per_pt = 1.0/72.27 golden_mean = (np.sqrt(5.0)-1.0)/2.0 fig_width = fig_width_pt*inches_per_pt*scale # golden_mean = 0.75 fig_height = fig_width*golden_mean fig_size = [fig_width,fig_height] return fig_size pgf_with_latex = { "pgf.texsystem": "pdflatex", "text.usetex": True, "font.family": "serif", 'mathtext.fontset':'custom', # # # # Get this from LaTeX using \the\textwidth # Convert pt to inch # Aesthetic ratio (you could change this) # width in inches #Change to matplotlib default ratio # height in inches # setup matplotlib to use latex for output # change this if using xetex or lautex # use LaTeX to write all text 'mathtext.default' : 'sf',# use 'rm' if serif font is desired "font.serif": [], # blank entries should cause plots to inherit fonts from the document "font.sans-serif": [], "font.monospace": [], "axes.labelsize": 13, # LaTeX default is 10pt font "font.size": 13, "legend.fontsize": 13, # Make the legend/label fonts a little smaller "xtick.labelsize": 13, "ytick.labelsize": 13, "figure.figsize": figsize(0.9), # default fig size of 0.9 textwidth "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", # use utf8 fonts becasue your computer can handle it :) r"\usepackage[T1]{fontenc}", # plots will be generated using this preamble r"\usepackage[utf8]{inputenc}", r"\usepackage[utf8]{vietnam}", r"\usepackage{times}", # use times new roman font r"\usepackage{sfmath}", # use san serif fonts for math but cause inconsistent math font with ,! latex document r"\usepackage{amsmath}" ] } mpl.rcParams.update(pgf_with_latex) # using comma decimal in axes import locale locale.setlocale(locale.LC_NUMERIC,'vi_VN') mpl_with_VN_locale={'axes.formatter.use_locale':True} mpl.rcParams.update(mpl_with_VN_locale) import pandas as pd import matplotlib.ticker as ticker import matplotlib.pyplot as plt # I make my own newfig and savefig functions def newfig(width): plt.clf() fig = plt.figure(figsize=figsize(width)) ax = fig.add_subplot(111) return fig, ax def savefig(filename): plt.savefig('{}.pgf'.format(filename)) plt.savefig('{}.pdf'.format(filename)) # END OF FUNCTIONS DEFINITION #### DATA processing TIME_index=0 99 E_VdW_mm_protein=1 E_Elec_mm_protein=2 E_Pol_protein=3 E_Apol_protein=4 E_VdW_mm_ligand=5 E_Elec_mm_ligand=6 E_Pol_ligand=7 E_Apol_ligand=8 E_VdW_mm_complex=9 E_Elec_mm_complex=10 E_Pol_complex=11 E_Apol_complex=12 Delta_E_mm=13 Delta_E_Pol=14 Delta_E_Apol=15 Delta_E_binding=16 def graph_title(data_index): if data_index==E_VdW_mm_protein: return u'E_VdW_MM_protein' if data_index==E_Elec_mm_protein: return u'E_Elec_mm_protein' if data_index==E_Pol_protein: return u'E_Pol_protein' if data_index==E_Apol_protein: return u'E_Apol_protein' if data_index==E_VdW_mm_ligand: return u'E_VdW_mm_ligand' if data_index==E_Elec_mm_ligand: return u'E_Elec_mm_ligand' if data_index==E_Pol_ligand: return u'E_Pol_ligand' if data_index==E_Apol_ligand: return u'E_Apol_ligand' if data_index==E_VdW_mm_complex: return u'VdW_mm_complex' if data_index==E_Elec_mm_complex: return u'E_Elec_mm_complex' if data_index==E_Pol_complex: return u'E_Pol_complex' if data_index==E_Apol_complex: return u'E_Apol_complex' if data_index==Delta_E_mm: return u'Delta_E_mm' if data_index==Delta_E_Pol: return u'Delta_E_Pol' if data_index==Delta_E_Apol: return u'Delta_E_Apol' if data_index==Delta_E_binding: return u'$\Delta$' + '$E_{binding}$' filepath1=u'full_energy_3WZD.dat' filepath2=u'full_energy_3WZE.dat' data1=np.loadtxt(filepath1, dtype=None, #data type guessed from contents comments= ['#','@'] ) data2=np.loadtxt(filepath2,dtype=None,comments=['#','@']) print(data1[0,0],data2[0,0]) #Check if the first lines are loaded correctly data_ind=Delta_E_binding x1=data1[:,0]/1000 y1=data1[:,data_ind] x2=data2[:,0]/1000 y2=data2[:,data_ind] fig, ax = newfig(scale) plt.plot(x1,y1,label=u'3WZD') plt.plot(x1,pd.Series(y1).rolling(window=100,center=True).mean(), label=u'Đường trung bình') plt.plot(x2,y2,label='3WZE') plt.plot(x2,pd.Series(y2).rolling(window=100,center=True).mean(), label=u'Đường trung bình') plt.xlabel(u'Thời gian (ns)') plt.ylabel(u'$\Delta G_{binding}$ (kJ/mol)') #plt.title(graph_title(data_ind)) #plt.title(u'$\Delta$' + '$G_{binding}$') plt.legend(ncol=2,loc='upper center', # bbox_to_anchor=(0.5, 1.2) ) plt.tight_layout(pad=0.1) # Auto adjust size, text positions while keeping figure declared size plt.savefig(u'gmmpbsa-3WZD-3WZE.png') plt.show() 100 ...ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phạm Trọng Lâm NGHIÊN CỨU LÍ THUYẾT VỀ TƯƠNG TÁC GIỮA VEGFR- 2 VÀ LENVATINIB BẰNG PHƯƠNG PHÁP MÔ PHỎNG ĐỘNG LỰC HỌC PHÂN TỬ... sau: lenvatinib + VEGFR- 2 ! phức hợp VEGFR- 2? ? ?lenvatinib 15 Hiện chưa có nhiều nghiên cứu tương tác lenvatinib VEGFR- 2, đặc biệt chưa tìm thấy nghiên cứu lí thuyết mơ động lực học phân tử hệ VEGFR- 2? ? ?lenvatinib. .. 1.3.1 1.3 .2 ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 2. 1 ĐỐI TƯỢNG NGHIÊN CỨU 2. 2 14 PHƯƠNG PHÁP NGHIÊN CỨU 2. 2.1 19 Phương pháp thực tính tốn MD 2. 2 .2 19 Các

Ngày đăng: 20/11/2020, 09:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w