1. Trang chủ
  2. » Công Nghệ Thông Tin

Maples_Tạo ứng dụng Maplets xem cấu trúc Protein từ dữ liệu mẫu

28 209 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 28
Dung lượng 475 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Protein là một hợp chất đại phân tử được tạo thành từ rất nhiều các đơn phân là các axit amin.Axit amin được cấu tạo bởi ba thành phần: một là nhóm amin -NH2, hai là nhóm cacboxyl -COOH

Trang 1

PHẦN 1: CƠ SỞ LÝ THUYẾT

I CƠ SỞ SINH HỌC VỀ PROTEIN

I.1 Protein là gì? 2

I.2 Các axit amin trong Protein 2

I.3 Cấu trúc hóa học của protein 3

I.4 Cấu trúc không gian của Protein 4

II LẬP TRÌNH MAPLE II.1 Giới thiệu về phần mềm Maple 5

II.2 Lập trình tính toán hình thức trong Maple 6

II.3 Vẽ các đối tượng 2 chiều và 3 chiều trong Maple 8

II.4 Thiết kế giao diện bằng Maplet 9

PHẦN 2: ỨNG DỤNG MAPLET XEM CẤU TRÚC PROTEIN I Giới thiệu ứng dụng minh họa 12

II Cài đặt và source code chương trình 13

III Nhận xét và đánh giá 28

IV Tài liệu tham khảo 28

Trang 2

PHẦN 1: CƠ SỞ LÝ THUYẾT

I CƠ SỞ SINH HỌC VỀ PROTEIN

I.1 Protein là gì?

Protein (Protit hay Đạm) là những đại phân tử được cấu tạo theo nguyên tắc đa phân mà các

đơn phân là axit amin Chúng kết hợp với nhau thành một mạch dài nhờ các liên kết peptide(gọi là chuỗi polypeptide) Các chuỗi này có thể xoắn cuộn hoặc gấp theo nhiều cách để tạothành các bậc cấu trúc không gian khác nhau của protein

Protein là một hợp chất đại phân tử được tạo thành từ rất nhiều các đơn phân là các axit amin.Axit amin được cấu tạo bởi ba thành phần: một là nhóm amin (-NH2), hai là nhóm cacboxyl (-COOH) và cuối cùng là nguyên tử cacbon trung tâm đính với 1 nguyên tử hyđro và nhóm biếnđổi R quyết định tính chất của axit amin Người ta đã phát hiện ra được tất cả 20 axit amintrong thành phần của tất cả các loại protein khác nhau trong cơ thể sống

I.2 Các axit amin trong Protein

Các axit amin được liệt kê đầy đủ dưới bảng sau:

Tên axit amin Viết tắt Tính chất

Glycine Gly Không phân cực, kỵ nước

Trang 3

Tích điện (bazơ) Arginine Arg

Histidine His

I.3 Cấu trúc hóa học của protein

• Là hợp chất hữu cơ gồm 4 nguyên tố cơ bản C, H, O, N thường có thêm S và đôi lúc cóP

• Thuộc loại đại phân tử, phân tử lớn nhất dài 0,1 micromet, phân tử lượng có thể đạt tới1,5 triệu đ.v.C

• Thuộc loại đa phân tử, đơn phân là các axit amin

Trang 4

• Có hơn 20 loại axit amin khác nhau tạo nên các prôtêin, mỗi axit amin có 3 thành phần:gốc cacbon (R), nhóm amin (-NH2) và nhóm carboxyl (-COOH), chúng khác nhau bởigốc R Mỗi axit amin có kích thước trung bình 3Å

• Trên phân tử các axit amin liên kết với nhau bằng các liên kết peptit tạo nên chuỗipôlipeptit Liên kết peptit được tạo thành do nhóm carboxyl của axit amin này liên kếtvới nhóm amin của axit amin tiếp theo và giải phóng 1 phân tử nước Mỗi phân tửprôtêin có thể gồm 1 hay nhiều chuỗi pôlipeptit cùng loại

• Từ 20 loại axit amin kết hợp với nhau theo những cách khác nhau tạo nên vô số loạiprôtêin khác nhau (trong các cơ thể động vật, thực vật ước tính có khoảng 1014 – 1015loại prôtêin) Mỗi loại prôtêin đặc trưng bởi số lượng, thành phần và trình tự sắp xếpcác axit amin trong phân tử Điều đó giải thích tại sao trong thiên nhiên các prôtêin vừarất đa dạng, lại vừa mang tính chất đặc thù

I.4 Cấu trúc không gian của Protein

Prôtêin có 4 bậc cấu trúc cơ bản:

Cấu trúc bậc một: Các axit amin nối với nhau bởi liên kết peptit hình thành nên chuỗi

polypepetide Đầu mạch polypeptide là nhóm amin của axit amin thứ nhất và cuốimạch là nhóm cacboxyl của axit amin cuối cùng Cấu trúc bậc một của protein thựcchất là trình tự sắp xếp của các axit amin trên chuỗi polypeptide Cấu trúc bậc một củaprotein có vai trò tối quan trọng vì trình tự các axit amin trên chuỗi polypeptide sẽ thểhiện tương tác giữa các phần trong chuỗi polypeptide, từ đó tạo nên hình dạng lập thểcủa protein và do đó quyết định tính chất cũng như vai trò của protein Sự sai lệch trongtrình tự sắp xếp của các axit amin có thể dẫn đến sự biến đổi cấu trúc và tính chất củaprotein

Cấu trúc bậc hai: là sự sắp xếp đều đặn các chuỗi polypeptide trong không gian.

Chuỗi polypeptide thường không ở dạng thẳng mà xoắn lại tạo nên cấu trúc xoắn α vàcấu trúc nếp gấp β, được cố định bởi các liên kết hyđro giữa những axit amin ở gầnnhau Các protein sợi như keratin, Collagen (có trong lông, tóc, móng, sừng)gồmnhiều xoắn α, trong khi các protein cầu có nhiều nếp gấp β hơn

Cấu trúc bậc ba: Các xoắn α và phiến gấp nếp β có thể cuộn lại với nhau thành từng

búi có hình dạng lập thể đặc trưng cho từng loại protein Cấu trúc không gian này cóvai trò quyết định đối với hoạt tính và chức năng của protein Cấu trúc này lại đặc biệtphụ thuộc vào tính chất của nhóm -R trong các mạch polypeptide Chẳng hạn nhóm -Rcủa cystein có khả năng tạo cầu đisulfur (-S-S-), nhóm -R của prolin cản trở việc hìnhthành xoắn, từ đó vị trí của chúng sẽ xác định điểm gấp, hay những nhóm -R ưa nướcthì nằm phía ngoài phân tử, còn các nhóm kị nước thì chui vào bên trong phân tử Cácliên kết yếu hơn như liên kết hyđro hay điện hóa trị có ở giữa các nhóm -R có điện tíchtrái dấu

Cấu trúc bậc bốn: Khi protein có nhiều chuỗi polypeptide phối hợp với nhau thì tạo

nên cấu trúc bậc bốn của protein Các chuỗi polypeptide liên kết với nhau nhờ các liênkết yếu như liên kết hyđro

Trang 5

II LẬP TRÌNH MAPLE

II.1 Giới thiệu về phần mềm Maple

Maple là một phần mềm tính toán do hãng Maple Soft, một bộ phận chủ yếu của liên hợp công ty Waterloo Maple phát triển

Cho đến nay Maple đã được phát triển qua nhiều phiên bản khác nhau và ngày càng hoàn thiện

Với phần mềm Maple, chúng ta có thể:

+ Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và độ chính xác cao + Sử dụng các gói chuyên dụng của Maple để giải quyết các bài toán cụ thể như: vẽ đồ thị (gói plot), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg),

+ Thiết kế các đối tượng 3 chiều

Trang 6

>tubeplot({[10*cos(t),10*sin(t),0,t=0 2*Pi,radius=2*cos(7*t),numpoints=120,tubepoints=24],[0,10+5*cos(t),5*sin(t),t=0 2*Pi,radius=1.5,numpoints=50,

Trang 7

- Khai triển Maclaurin.

+ biểu thức thông thường

+ giai thừa, hàm length

+ Các hàm: abs, ifactor, iquo, irem, igcd, isprime, max, min, mod, v.v + hàm convert.

Tính toán số phức.

Các hàm toán học:

+ sin, cos, tan,

+ sinh, cosh, tanh,

+ arcsin, arccos, arctan,

Trang 8

Ký hiệu "->" trong định nghĩa hàm

> f := (x,y) -> 2*x^2 -3*x*y + 4*y^2;

> plot([sin(t), cos(t), t=-Pi Pi]):

plot([sin, cos, -Pi Pi]):

> plot([sin(x), x-x^3/6], x=0 2, color=[red,blue], style=[point,line]);

> ?plot3d

> plot3d([sin(x*y), x + 2*y], x=-Pi Pi, y=-Pi Pi, color=[blue,green]);

Trang 9

II.4 Thiết kế giao diện bằng Maplet

Trong phần này, chúng ta chỉ tìm hiểu cách tạo 1 ứng dụng Maplet bằng Maplet Builder

Định nghĩa Maplet Builder :

Maplet Builder là 1 giao diện đồ họa nơi mà ta có thể tạo ra những ứng dụng Maplet 1 cách

dễ dàng ( so với dùng gói Maplets )

Chức năng của Maplet Builder :

- Bố trí 1 ứng dụng Maplet bằng cách kéo và thả các elements

- Thiết lập các hoạt động cho các elements.

Giao diện Maplet Builder:

Giao diện Maplet Builder có thể chia thành 4 phần :

- Palette Pane : nơi chứa các bảng element của Maplet Gồm có 7 bảng: Body, Dialog, Menu, ToolBar, Other, Layout, Command

Lưu ý : để biết tên của element nào thì ta chỉ cần rà chuột lên biểu tượng của element đó)

- Layout Pane : là nơi bố trí 1 ứng dụng Maplet

- Command Pane : là nơi hiển thị danh mục các hoạt động của các elements

không cần dùng những trang worksheet của Maple

Trang 10

- Properties Pane : là nơi cho phép ta thiết lập các thuộc tính cho các elements

Hình vẽ :

Thuộc tính của các elements :

- 1 element sẽ có nhiều kiểu thuộc tính khác nhau

- Các elements khác nhau có thể có cùng hoặc khác số kiểu thuộc tính

- Các kiểu thuộc tính của các elements khác nhau có thể giống hoặc khác nhau

Ví dụ : Element Label Element Button

Trang 11

Bố trí 1 ứng dụng Maplet :

- 1 ứng dụng Maplet được trình bày trong 1 khung chính

- Khung chính có thể được chia làm nhiều khung con ngang hoặc dọc.

- Mỗi khung con có thể được chia làm nhiều khung con ngang hoặc dọc nữa.

2.Kéo element đó vào vị trí cần chèn trong Layout Pane

Lưu ý: chỉ có thể chèn các elements từ các bảng Body, ToolBar và Layout vào Layout PaneThêm các elements vào Command Pane :

1 Chọn element cần chèn

2 Kéo elelment đó vào Command Pane

Trang 12

PHẦN 2: ỨNG DỤNG MAPLET XEM CẤU TRÚC PROTEIN

I.Giới thiệu ứng dụng minh họa

Maplet - GIAO DIỆN WINDOWS

Cách chạy chương trình, mở file ProteinViewer – Ver 13 mw, chạy lại chương trình để xuấthiện giao diện Sau đó thực hiện các bước sau: (không xuất ra maplet được vì giao diện viếtbằng tiếng Việt)

+ Chương trình Maplet này chỉ nhận ra file PDB (Protein Data Bank) không có dòng tiêu đề dạng TXT

+ Chỉ vẽ được đồ thị trên 20 axit amin cơ bản như: Glycine, Alanine, Valine, Leucine,

Isoleucine, Methionine, Phenylalanine, Tryptophan, Proline, Serine, Threonine, Cysteine, Tyrosine, Asparagine, Glutamine, Aspartic acid, Glutamic acid, Lysine, Arginine, Histidine Các dòng trong file mẫu chứa HOH hoặc RET sẽ gây ra lỗi

+ Các file PDB mẫu có thể tìm thấy tại trang web http://www.ncbi.nlm.nih.gov/

Giao diện ứng dụng như sau:

Trang 13

Chọn file PDB trong cùng thư mục, nhập axit amin bắt đầu là 5, axit amin kết thúc là 15, chọn checkbox nhãn axit amin, chọn nút vẽ, chọn tiếp nút danh sách các axit amin để xem các axit amin.

II Cài đặt và source code chương trình

> restart: interface (warnlevel=0): with(plottools): with(StringTools): with(plots):

with(Maplets[Elements]):

# +++++++++++++++++++

# MyMaplet tạo ra 1 windows.

# với các biến và các tham số.

"Axit amin bắt đầu:", TextField['TF2']('value'=1),

"Axit amin kết thúc:", TextField['TF3']('value'=1),

"Nhãn axit amin:", CheckBox['TF4']('value'='true')

],

[TextBox['TB1']('height'=5) ],

Plotter['PL1'](),

# TF1 là đường dẫn tên file lấy từ ổ đĩa, TF2 axit amin bắt đầu,TF3 axit min kết #

thúc,TF4 nhãn của các axit amin khi vẽ cấu trúc protein

Trang 15

PlotPDB := proc(sFile, nAmnIni, nAmnEnd, bShowTags)

# Tránh lỗi thường hay xảy ra axit amin bắt đầu > axit amin kết thúc: # nAmnIni > nAmnEnd

if nAmnIni > nAmnEnd then

if lCurAmn <> lNxtAmn then

lAminoacid := [op(lAminoacid),[sCurAmn, nCurAmn, i-1]]:

Trang 16

PolyBackbone := CURVES([N,CA,C,OX,C,W], THICKNESS(3));

# Nhãn của aminoacid là 3 chữ cái

# Đây là trường hợp của Plycine, không có chuỗi phụ

# và Alaninie, mà chỉ có 1 Carbon như 1 chuỗi phụ.

# trường hợp k có Alaninie, nhãn cho nó là alpha carbon

# ****************************************************** # 1) A = ALA = Alanine

if lProtein[i][4] = "ALA" then

Trang 19

PolySideChain := CURVES([CA,CB,CG,CD,OE1,CD,NE2]); end if:

# ****************************************************** # Aliphatic aminoacids (14-15)axit amin từ 14-15

# ****************************************************** # 14) D = ASP = Aspartate

if lProtein[i][4] = "ASP" then

# ****************************************************** # Basic aminoacids (16-18) axit amin cơ bản từ 16-18

# ****************************************************** # 16) H = HIS = Histidine

if lProtein[i][4] = "HIS" then

Trang 20

if lProtein[i][4] = "GLY" then

# Glycine không có chuỗi phụ

lCoord := [lProtein[i][7], lProtein[i][8], lProtein[i][9]]:

lLabel := [lProtein[i][7], lProtein[i][8], lProtein[i][9]+0.4, lProtein[i][3]]:

Trang 21

if bShowTags = 'true' then

display3d(lPolyAmn, AtomLabel, AminoLabel, polCarbon,

polOxygen, polNitrogen, polSulfur, color=black);

if bShowTags = 'true' then

display3d(lPolyAmn, AtomLabel, AminoLabel, polCarbon,

polOxygen, polNitrogen, color=black);

Plot - GIAO DIỆN TRUYỀN THỐNG

> restart: interface (warnlevel=0): with(plottools): with(plots):

> # +++++++++++++++++

# Procedure PlotPDB THỦ TỤC PlotPDB

# +++++++++++++++++

PlotPDB := proc(sFile, nAmnIni, nAmnEnd, bShowTags)

# tránh lỗi axit amin bắt đầu lơn hơn axit amin kết thúc

if nAmnIni > nAmnEnd then

Trang 22

if lCurAmn <> lNxtAmn then

lAminoacid := [op(lAminoacid),[sCurAmn, nCurAmn, i-1]]: lCurAmn := lNxtAmn:

PolyBackbone := CURVES([N,CA,C,OX,C,W], THICKNESS(3));

# Đặt nhãn 3 kí tự cho các axit amin

if k-i > 4 then

X := sum('lProtein[l][7]','l'=i+4 k)/(k-i-3):

Y := sum('lProtein[l][8]','l'=i+4 k)/(k-i-3):

Trang 23

# A little displacement in Z needed for Asparagine

Z := sum('lProtein[l][9]','l'=i+4 k)/(k-i-3) - 0.4:

else

# Đây là trường hợp của Plycine, không có chuỗi phụ

# và Alaninie, mà chỉ có 1 Carbon như 1 chuỗi phụ.

# trường hợp k có Alaninie, nhãn cho nó là alpha carbon

# ****************************************************** # 1) A = ALA = Alanine

if lProtein[i][4] = "ALA" then

# 4) I = ILE = Isoleucine

if lProtein[i][4] = "ILE" then

CB:= [lProtein[i+4][7],lProtein[i+4][8],lProtein[i+4][9]]:

CG1:=[lProtein[i+5][7],lProtein[i+5][8],lProtein[i+5][9]]: CG2:=[lProtein[i+6][7],lProtein[i+6][8],lProtein[i+6][9]]: CD1:=[lProtein[i+7][7],lProtein[i+7][8],lProtein[i+7][9]]: PolySideChain := CURVES([CA,CB,CG2,CB,CG1,CD1]); end if:

# ****************************************************** # Hydrophobic-aromatic aminoacids (5-7)

# ****************************************************** # 5) F = PHE = Phenylanaline

if lProtein[i][4] = "PHE" then

CB:= [lProtein[i+4][7],lProtein[i+4][8],lProtein[i+4][9]]:

CG:=[lProtein[i+5][7],lProtein[i+5][8],lProtein[i+5][9]]:

CD1:=[lProtein[i+6][7],lProtein[i+6][8],lProtein[i+6][9]]:

Trang 25

# ****************************************************** # Aliphatic aminoacids (14-15)

# ****************************************************** # 14) D = ASP = Aspartate

if lProtein[i][4] = "ASP" then

CB :=[lProtein[i+4][7],lProtein[i+4][8],lProtein[i+4][9]]:

CG :=[lProtein[i+5][7],lProtein[i+5][8],lProtein[i+5][9]]:

OD1:=[lProtein[i+6][7],lProtein[i+6][8],lProtein[i+6][9]]: OD2:=[lProtein[i+7][7],lProtein[i+7][8],lProtein[i+7][9]]: PolySideChain := CURVES([CA,CB,CG,OD1,CG,OD2]); end if:

# ****************************************************** # Basic aminoacids (16-18)

# ****************************************************** # 16) H = HIS = Histidine

Trang 26

if lProtein[i][4] = "HIS" then

# ****************************************************** # Conformationally important aminoacids (19-20)

# ****************************************************** # 19) G = GLY = Glycine

if lProtein[i][4] = "GLY" then

# Glycine không có chuỗi phụ

Trang 27

for i from lAminoacid[nAmnIni][2] to lAminoacid[newAmnEnd][3] do

lCoord := [lProtein[i][7], lProtein[i][8], lProtein[i][9]]:

lLabel := [lProtein[i][7], lProtein[i][8], lProtein[i][9]+0.4, lProtein[i][3]]:

if bShowTags = 'true' then

display3d(lPolyAmn, AtomLabel, AminoLabel, polCarbon,

polOxygen, polNitrogen, polSulfur, color=black);

if bShowTags = 'true' then

display3d(lPolyAmn, AtomLabel, AminoLabel, polCarbon,

Ngày đăng: 29/07/2018, 18:42

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w