Máy Tính Khối Lượng Phân Tử Protein cho Chuỗi Axit Amin
Tính toán khối lượng phân tử của protein dựa trên chuỗi axit amin. Nhập chuỗi protein của bạn bằng mã chữ cái một ký tự tiêu chuẩn để nhận khối lượng phân tử chính xác tính bằng Dalton.
Trình Ước Tính Khối Lượng Phân Tử Protein
Tính toán khối lượng phân tử của một protein dựa trên chuỗi axit amin của nó.
Sử dụng mã chữ cái một ký tự tiêu chuẩn cho axit amin (A, R, N, D, C, v.v.)
Giới Thiệu Về Trình Tính Toán Này
Trình tính toán này ước tính khối lượng phân tử của một protein dựa trên chuỗi axit amin của nó.
Phép tính xem xét trọng lượng phân tử tiêu chuẩn của các axit amin và sự mất nước trong quá trình hình thành liên kết peptide.
Để có kết quả chính xác, hãy đảm bảo bạn nhập một chuỗi axit amin hợp lệ bằng cách sử dụng mã chữ cái một ký tự tiêu chuẩn.
Tài liệu hướng dẫn
Máy Tính Khối Lượng Phân Tử Protein
Giới thiệu
Máy tính khối lượng phân tử protein là một công cụ thiết yếu cho các nhà hóa sinh, sinh học phân tử và các nhà khoa học protein cần xác định khối lượng của các protein dựa trên chuỗi axit amin của chúng. Protein là các đại phân tử phức tạp được tạo thành từ các chuỗi axit amin, và việc biết khối lượng phân tử của chúng là rất quan trọng cho nhiều kỹ thuật phòng thí nghiệm, thiết kế thí nghiệm và phân tích dữ liệu. Máy tính này cung cấp một cách nhanh chóng và chính xác để ước tính khối lượng phân tử của bất kỳ protein nào bằng cách sử dụng chuỗi axit amin của nó, giúp các nhà nghiên cứu tiết kiệm thời gian quý báu và giảm thiểu khả năng xảy ra lỗi tính toán.
Khối lượng phân tử protein, thường được biểu thị bằng Dalton (Da) hoặc kilodalton (kDa), đại diện cho tổng khối lượng của tất cả các axit amin trong protein, tính đến các phân tử nước bị mất trong quá trình hình thành liên kết peptide. Tính chất cơ bản này ảnh hưởng đến hành vi của protein trong dung dịch, tính di động trong điện di, tính chất kết tinh và nhiều đặc điểm vật lý và hóa học khác quan trọng trong nghiên cứu và ứng dụng công nghiệp.
Máy tính thân thiện với người dùng của chúng tôi chỉ yêu cầu chuỗi axit amin một chữ cái của protein của bạn để tạo ra ước tính khối lượng phân tử chính xác, giúp nó dễ tiếp cận cho cả các nhà nghiên cứu có kinh nghiệm và sinh viên mới bắt đầu với khoa học protein.
Cách Tính Khối Lượng Phân Tử Protein
Công Thức Cơ Bản
Khối lượng phân tử của một protein được tính bằng công thức sau:
Trong đó:
- là khối lượng phân tử của toàn bộ protein tính bằng Dalton (Da)
- là tổng khối lượng phân tử của tất cả các axit amin riêng lẻ
- là số lượng axit amin trong chuỗi
- là khối lượng phân tử của nước (18.01528 Da)
- đại diện cho số lượng liên kết peptide được hình thành
- Thuật ngữ cuối cùng tính đến các nhóm đầu (H và OH)
Khối Lượng Phân Tử Axit Amin
Tính toán sử dụng khối lượng phân tử chuẩn của 20 axit amin phổ biến:
Axit Amin | Mã Một Chữ | Khối Lượng Phân Tử (Da) |
---|---|---|
Alanine | A | 71.03711 |
Arginine | R | 156.10111 |
Asparagine | N | 114.04293 |
Axit Aspartic | D | 115.02694 |
Cysteine | C | 103.00919 |
Axit Glutamic | E | 129.04259 |
Glutamine | Q | 128.05858 |
Glycine | G | 57.02146 |
Histidine | H | 137.05891 |
Isoleucine | I | 113.08406 |
Leucine | L | 113.08406 |
Lysine | K | 128.09496 |
Methionine | M | 131.04049 |
Phenylalanine | F | 147.06841 |
Proline | P | 97.05276 |
Serine | S | 87.03203 |
Threonine | T | 101.04768 |
Tryptophan | W | 186.07931 |
Tyrosine | Y | 163.06333 |
Valine | V | 99.06841 |
Mất Nước Trong Quá Trình Hình Thành Liên Kết Peptide
Khi các axit amin kết hợp để tạo thành một protein, chúng tạo ra các liên kết peptide. Trong quá trình này, một phân tử nước (H₂O) được giải phóng cho mỗi liên kết được hình thành. Sự mất nước này phải được tính đến trong phép tính khối lượng phân tử.
Đối với một protein có n axit amin, có (n-1) liên kết peptide được hình thành, dẫn đến việc mất (n-1) phân tử nước. Tuy nhiên, chúng ta thêm lại một phân tử nước để tính đến các nhóm đầu (H ở đầu N và OH ở đầu C).
Ví Dụ Tính Toán
Hãy tính khối lượng phân tử của một tripeptide đơn giản: Ala-Gly-Ser (AGS)
-
Tính tổng khối lượng của các axit amin riêng lẻ:
- Alanine (A): 71.03711 Da
- Glycine (G): 57.02146 Da
- Serine (S): 87.03203 Da
- Tổng: 215.0906 Da
-
Trừ đi sự mất nước từ các liên kết peptide:
- Số lượng liên kết peptide = 3-1 = 2
- Khối lượng phân tử nước = 18.01528 Da
- Tổng sự mất nước = 2 × 18.01528 = 36.03056 Da
-
Thêm lại một phân tử nước cho các nhóm đầu:
- 18.01528 Da
-
Khối lượng phân tử cuối cùng:
- 215.0906 - 36.03056 + 18.01528 = 197.07532 Da
Cách Sử Dụng Máy Tính Này
Sử dụng Máy Tính Khối Lượng Phân Tử Protein rất đơn giản:
-
Nhập chuỗi protein của bạn vào ô văn bản bằng cách sử dụng các mã axit amin một chữ cái tiêu chuẩn (A, R, N, D, C, E, Q, G, H, I, L, K, M, F, P, S, T, W, Y, V).
-
Máy tính sẽ tự động xác thực đầu vào của bạn để đảm bảo nó chỉ chứa các mã axit amin hợp lệ.
-
Nhấn nút "Tính Khối Lượng Phân Tử" hoặc chờ cho phép tính tự động hoàn tất.
-
Xem kết quả, bao gồm:
- Khối lượng phân tử được tính toán bằng Dalton (Da)
- Độ dài chuỗi (số lượng axit amin)
- Phân tích thành phần axit amin
- Công thức được sử dụng cho tính toán
-
Bạn có thể sao chép kết quả vào clipboard bằng cách nhấn nút "Sao chép" để sử dụng trong báo cáo hoặc phân tích thêm.
Hướng Dẫn Nhập
Để có kết quả chính xác, hãy làm theo các hướng dẫn sau khi nhập chuỗi protein của bạn:
- Chỉ sử dụng các mã axit amin một chữ cái tiêu chuẩn (chữ hoa hoặc chữ thường)
- Không bao gồm khoảng trắng, số hoặc ký tự đặc biệt
- Loại bỏ bất kỳ ký tự không phải axit amin nào (chẳng hạn như đánh số chuỗi)
- Đối với các chuỗi có axit amin không tiêu chuẩn, hãy xem xét sử dụng các công cụ thay thế hỗ trợ các mã axit amin mở rộng
Giải Thích Kết Quả
Máy tính cung cấp một số thông tin:
-
Khối Lượng Phân Tử: Khối lượng phân tử ước tính của protein của bạn tính bằng Dalton (Da). Đối với các protein lớn hơn, điều này có thể được biểu thị bằng kilodalton (kDa).
-
Độ Dài Chuỗi: Tổng số lượng axit amin trong chuỗi của bạn.
-
Thành Phần Axit Amin: Một phân tích hình ảnh về nội dung axit amin của protein của bạn, cho thấy cả số lượng và tỷ lệ phần trăm của mỗi axit amin.
-
Phương Pháp Tính Toán: Một giải thích rõ ràng về cách khối lượng phân tử được tính toán, bao gồm công thức được sử dụng.
Các Trường Hợp Sử Dụng
Máy Tính Khối Lượng Phân Tử Protein có nhiều ứng dụng trong các lĩnh vực khoa học sự sống khác nhau:
Tinh Chế và Phân Tích Protein
Các nhà nghiên cứu sử dụng thông tin khối lượng phân tử để:
- Thiết lập các cột lọc gel phù hợp
- Xác định nồng độ polyacrylamide gel thích hợp cho SDS-PAGE
- Giải thích dữ liệu khối phổ
- Xác thực kết quả biểu hiện và tinh chế protein
Sản Xuất Protein Đột Biến
Các công ty công nghệ sinh học dựa vào thông tin khối lượng phân tử chính xác để:
- Thiết kế các cấu trúc biểu hiện
- Ước tính sản lượng protein
- Phát triển chiến lược tinh chế
- Đặc trưng sản phẩm cuối cùng
Tổng Hợp Peptide
Các nhà hóa học peptide sử dụng các phép tính khối lượng phân tử để:
- Xác định lượng nguyên liệu bắt đầu cần thiết
- Tính toán sản lượng lý thuyết
- Xác minh danh tính của các peptide đã tổng hợp
- Thiết kế các phương pháp phân tích cho kiểm soát chất lượng
Sinh Học Cấu Trúc
Các nhà sinh học cấu trúc cần thông tin khối lượng phân tử để:
- Thiết lập các thử nghiệm kết tinh
- Giải thích dữ liệu tán xạ tia X
- Phân tích các phức hợp protein
- Tính toán tỷ lệ stoichiometry của các tương tác protein-protein
Phát Triển Dược Phẩm
Các nhà phát triển thuốc sử dụng khối lượng phân tử protein để:
- Đặc trưng các protein trị liệu
- Phát triển chiến lược công thức
- Thiết kế các phương pháp phân tích
- Thiết lập các thông số kiểm soát chất lượng
Nghiên Cứu Học Thuật
Sinh viên và các nhà nghiên cứu sử dụng máy tính cho:
- Các thí nghiệm trong phòng thí nghiệm
- Phân tích dữ liệu
- Thiết kế thí nghiệm
- Mục đích giáo dục
Các Phương Pháp Thay Thế
Trong khi Máy Tính Khối Lượng Phân Tử Protein của chúng tôi cung cấp các ước tính nhanh chóng và chính xác, có những cách tiếp cận thay thế để xác định khối lượng phân tử protein:
-
Phương Pháp Thực Nghiệm:
- Khối phổ (MS): Cung cấp các phép đo khối lượng phân tử rất chính xác và có thể phát hiện các sửa đổi sau dịch mã
- Điện di loại bỏ kích thước (SEC): Ước tính khối lượng phân tử dựa trên bán kính thủy động học
- SDS-PAGE: Cung cấp khối lượng phân tử xấp xỉ dựa trên tính di động điện di
-
Các Công Cụ Tính Toán Khác:
- ExPASy ProtParam: Cung cấp các tham số protein bổ sung ngoài khối lượng phân tử
- EMBOSS Pepstats: Cung cấp phân tích thống kê chi tiết về các chuỗi protein
- Máy Tính Protein v3.4: Bao gồm các phép tính bổ sung như điểm isoelectric và hệ số hấp thụ
-
Phần Mềm Chuyên Biệt:
- Đối với các protein có axit amin không tiêu chuẩn hoặc các sửa đổi sau dịch mã
- Đối với các tập hợp protein phức tạp hoặc protein đa dạng
- Đối với các protein được đánh dấu đồng vị sử dụng trong các nghiên cứu NMR
Lịch Sử Xác Định Khối Lượng Phân Tử Protein
Khái niệm khối lượng phân tử đã là nền tảng cho hóa học kể từ khi John Dalton đề xuất lý thuyết nguyên tử của ông vào đầu thế kỷ 19. Tuy nhiên, ứng dụng vào protein có một lịch sử gần đây hơn:
Khoa Học Protein Sớm (1800-1920)
- Năm 1838, Jöns Jacob Berzelius đã đặt ra thuật ngữ "protein" từ từ tiếng Hy Lạp "proteios," có nghĩa là "chính" hoặc "quan trọng nhất."
- Các nhà khoa học protein sớm như Frederick Sanger bắt đầu hiểu rằng protein được cấu thành từ các axit amin.
- Khái niệm về protein như các đại phân tử có khối lượng phân tử xác định đã dần xuất hiện.
Phát Triển Các Kỹ Thuật Phân Tích (1930-1960)
- Sự phát minh của siêu ly tâm bởi Theodor Svedberg vào những năm 1920 cho phép đo lường chính xác đầu tiên về khối lượng phân tử protein.
- Sự phát triển của các kỹ thuật điện di vào những năm 1930 bởi Arne Tiselius cung cấp một phương pháp khác để ước tính kích thước protein.
- Năm 1958, Stanford Moore và William H. Stein hoàn thành trình tự axit amin đầy đủ đầu tiên của ribonuclease, cho phép tính toán khối lượng phân tử chính xác.
Kỷ Nguyên Hiện Đại (1970-Hiện Nay)
- Sự phát triển của các kỹ thuật khối phổ đã cách mạng hóa việc xác định khối lượng phân tử protein.
- John Fenn và Koichi Tanaka đã nhận Giải Nobel Hóa học năm 2002 cho sự phát triển của các phương pháp ion hóa mềm cho các phân tích khối phổ của các đại phân tử sinh học.
- Các phương pháp tính toán để dự đoán các thuộc tính protein, bao gồm khối lượng phân tử, đã trở nên tinh vi và dễ tiếp cận hơn.
- Sự ra đời của genomics và proteomics vào những năm 1990 và 2000 đã tạo ra nhu cầu cho các công cụ phân tích protein quy mô lớn, bao gồm các máy tính khối lượng phân tử tự động.
Ngày nay, việc tính toán khối lượng phân tử protein là một phần thường xuyên nhưng thiết yếu của khoa học protein, được hỗ trợ bởi các công cụ như máy tính của chúng tôi giúp các phép tính này dễ dàng tiếp cận cho các nhà nghiên cứu trên toàn thế giới.
Ví Dụ Mã
Dưới đây là các ví dụ về cách tính toán khối lượng phân tử protein trong các ngôn ngữ lập trình khác nhau:
1' Hàm VBA Excel để Tính Toán Khối Lượng Phân Tử Protein
2Function ProteinMolecularWeight(sequence As String) As Double
3 ' Khối lượng axit amin
4 Dim aaWeights As Object
5 Set aaWeights = CreateObject("Scripting.Dictionary")
6
7 ' Khởi tạo khối lượng axit amin
8 aaWeights("A") = 71.03711
9 aaWeights("R") = 156.10111
10 aaWeights("N") = 114.04293
11 aaWeights("D") = 115.02694
12 aaWeights("C") = 103.00919
13 aaWeights("E") = 129.04259
14 aaWeights("Q") = 128.05858
15 aaWeights("G") = 57.02146
16 aaWeights("H") = 137.05891
17 aaWeights("I") = 113.08406
18 aaWeights("L") = 113.08406
19 aaWeights("K") = 128.09496
20 aaWeights("M") = 131.04049
21 aaWeights("F") = 147.06841
22 aaWeights("P") = 97.05276
23 aaWeights("S") = 87.03203
24 aaWeights("T") = 101.04768
25 aaWeights("W") = 186.07931
26 aaWeights("Y") = 163.06333
27 aaWeights("V") = 99.06841
28
29 ' Khối lượng nước
30 Const WATER_WEIGHT As Double = 18.01528
31
32 ' Chuyển đổi chuỗi thành chữ hoa
33 sequence = UCase(sequence)
34
35 ' Tính tổng khối lượng
36 Dim totalWeight As Double
37 totalWeight = 0
38
39 ' Tính tổng khối lượng của các axit amin riêng lẻ
40 Dim i As Integer
41 For i = 1 To Len(sequence)
42 Dim aa As String
43 aa = Mid(sequence, i, 1)
44
45 If aaWeights.Exists(aa) Then
46 totalWeight = totalWeight + aaWeights(aa)
47 Else
48 ' Mã axit amin không hợp lệ
49 ProteinMolecularWeight = -1
50 Exit Function
51 End If
52 Next i
53
54 ' Trừ đi sự mất nước từ các liên kết peptide và thêm nước đầu
55 Dim numAminoAcids As Integer
56 numAminoAcids = Len(sequence)
57
58 ProteinMolecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT
59End Function
60
61' Sử dụng trong Excel:
62' =ProteinMolecularWeight("ACDEFGHIKLMNPQRSTVWY")
63
1def calculate_protein_molecular_weight(sequence):
2 """
3 Tính toán khối lượng phân tử của một protein từ chuỗi axit amin của nó.
4
5 Args:
6 sequence (str): Chuỗi protein sử dụng mã axit amin một chữ cái
7
8 Returns:
9 float: Khối lượng phân tử tính bằng Dalton (Da)
10 """
11 # Khối lượng axit amin
12 aa_weights = {
13 'A': 71.03711,
14 'R': 156.10111,
15 'N': 114.04293,
16 'D': 115.02694,
17 'C': 103.00919,
18 'E': 129.04259,
19 'Q': 128.05858,
20 'G': 57.02146,
21 'H': 137.05891,
22 'I': 113.08406,
23 'L': 113.08406,
24 'K': 128.09496,
25 'M': 131.04049,
26 'F': 147.06841,
27 'P': 97.05276,
28 'S': 87.03203,
29 'T': 101.04768,
30 'W': 186.07931,
31 'Y': 163.06333,
32 'V': 99.06841
33 }
34
35 # Khối lượng nước
36 WATER_WEIGHT = 18.01528
37
38 # Chuyển đổi chuỗi thành chữ hoa
39 sequence = sequence.upper()
40
41 # Xác thực chuỗi
42 for aa in sequence:
43 if aa not in aa_weights:
44 raise ValueError(f"Mã axit amin không hợp lệ: {aa}")
45
46 # Tính tổng khối lượng axit amin
47 total_weight = sum(aa_weights[aa] for aa in sequence)
48
49 # Trừ đi sự mất nước từ các liên kết peptide và thêm nước đầu
50 num_amino_acids = len(sequence)
51 molecular_weight = total_weight - (num_amino_acids - 1) * WATER_WEIGHT + WATER_WEIGHT
52
53 return molecular_weight
54
55# Ví dụ sử dụng:
56sequence = "MVKMDVYKGSSIGDSMSRSM"
57mw = calculate_protein_molecular_weight(sequence)
58print(f"Khối lượng phân tử: {mw:.2f} Da")
59
1function calculateProteinMolecularWeight(sequence) {
2 // Khối lượng axit amin
3 const aaWeights = {
4 'A': 71.03711,
5 'R': 156.10111,
6 'N': 114.04293,
7 'D': 115.02694,
8 'C': 103.00919,
9 'E': 129.04259,
10 'Q': 128.05858,
11 'G': 57.02146,
12 'H': 137.05891,
13 'I': 113.08406,
14 'L': 113.08406,
15 'K': 128.09496,
16 'M': 131.04049,
17 'F': 147.06841,
18 'P': 97.05276,
19 'S': 87.03203,
20 'T': 101.04768,
21 'W': 186.07931,
22 'Y': 163.06333,
23 'V': 99.06841
24 };
25
26 // Khối lượng nước
27 const WATER_WEIGHT = 18.01528;
28
29 // Chuyển đổi chuỗi thành chữ hoa
30 sequence = sequence.toUpperCase();
31
32 // Xác thực chuỗi
33 for (let i = 0; i < sequence.length; i++) {
34 const aa = sequence[i];
35 if (!aaWeights[aa]) {
36 throw new Error(`Mã axit amin không hợp lệ: ${aa}`);
37 }
38 }
39
40 // Tính tổng khối lượng axit amin
41 let totalWeight = 0;
42 for (let i = 0; i < sequence.length; i++) {
43 totalWeight += aaWeights[sequence[i]];
44 }
45
46 // Trừ đi sự mất nước từ các liên kết peptide và thêm nước đầu
47 const numAminoAcids = sequence.length;
48 const molecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT;
49
50 return molecularWeight;
51}
52
53// Ví dụ sử dụng:
54const sequence = "ACDEFGHIKLMNPQRSTVWY";
55try {
56 const mw = calculateProteinMolecularWeight(sequence);
57 console.log(`Khối lượng phân tử: ${mw.toFixed(2)} Da`);
58} catch (error) {
59 console.error(error.message);
60}
61
1import java.util.HashMap;
2import java.util.Map;
3
4public class ProteinMolecularWeightCalculator {
5 private static final Map<Character, Double> aminoAcidWeights = new HashMap<>();
6 private static final double WATER_WEIGHT = 18.01528;
7
8 static {
9 // Khởi tạo khối lượng axit amin
10 aminoAcidWeights.put('A', 71.03711);
11 aminoAcidWeights.put('R', 156.10111);
12 aminoAcidWeights.put('N', 114.04293);
13 aminoAcidWeights.put('D', 115.02694);
14 aminoAcidWeights.put('C', 103.00919);
15 aminoAcidWeights.put('E', 129.04259);
16 aminoAcidWeights.put('Q', 128.05858);
17 aminoAcidWeights.put('G', 57.02146);
18 aminoAcidWeights.put('H', 137.05891);
19 aminoAcidWeights.put('I', 113.08406);
20 aminoAcidWeights.put('L', 113.08406);
21 aminoAcidWeights.put('K', 128.09496);
22 aminoAcidWeights.put('M', 131.04049);
23 aminoAcidWeights.put('F', 147.06841);
24 aminoAcidWeights.put('P', 97.05276);
25 aminoAcidWeights.put('S', 87.03203);
26 aminoAcidWeights.put('T', 101.04768);
27 aminoAcidWeights.put('W', 186.07931);
28 aminoAcidWeights.put('Y', 163.06333);
29 aminoAcidWeights.put('V', 99.06841);
30 }
31
32 public static double calculateMolecularWeight(String sequence) throws IllegalArgumentException {
33 // Chuyển đổi chuỗi thành chữ hoa
34 sequence = sequence.toUpperCase();
35
36 // Xác thực chuỗi
37 for (int i = 0; i < sequence.length(); i++) {
38 char aa = sequence.charAt(i);
39 if (!aminoAcidWeights.containsKey(aa)) {
40 throw new IllegalArgumentException("Mã axit amin không hợp lệ: " + aa);
41 }
42 }
43
44 // Tính tổng khối lượng axit amin
45 double totalWeight = 0;
46 for (int i = 0; i < sequence.length(); i++) {
47 totalWeight += aminoAcidWeights.get(sequence.charAt(i));
48 }
49
50 // Trừ đi sự mất nước từ các liên kết peptide và thêm nước đầu
51 int numAminoAcids = sequence.length();
52 double molecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT;
53
54 return molecularWeight;
55 }
56
57 public static void main(String[] args) {
58 try {
59 String sequence = "MVKMDVYKGSSIGDSMSRSM";
60 double mw = calculateMolecularWeight(sequence);
61 System.out.printf("Khối lượng phân tử: %.2f Da%n", mw);
62 } catch (IllegalArgumentException e) {
63 System.err.println(e.getMessage());
64 }
65 }
66}
67
1#include <iostream>
2#include <string>
3#include <map>
4#include <stdexcept>
5#include <algorithm>
6
7double calculateProteinMolecularWeight(const std::string& sequence) {
8 // Khối lượng axit amin
9 std::map<char, double> aaWeights = {
10 {'A', 71.03711},
11 {'R', 156.10111},
12 {'N', 114.04293},
13 {'D', 115.02694},
14 {'C', 103.00919},
15 {'E', 129.04259},
16 {'Q', 128.05858},
17 {'G', 57.02146},
18 {'H', 137.05891},
19 {'I', 113.08406},
20 {'L', 113.08406},
21 {'K', 128.09496},
22 {'M', 131.04049},
23 {'F', 147.06841},
24 {'P', 97.05276},
25 {'S', 87.03203},
26 {'T', 101.04768},
27 {'W', 186.07931},
28 {'Y', 163.06333},
29 {'V', 99.06841}
30 };
31
32 // Khối lượng nước
33 const double WATER_WEIGHT = 18.01528;
34
35 // Chuyển đổi chuỗi thành chữ hoa
36 std::string upperSequence = sequence;
37 std::transform(upperSequence.begin(), upperSequence.end(), upperSequence.begin(), ::toupper);
38
39 // Xác thực chuỗi
40 for (char aa : upperSequence) {
41 if (aaWeights.find(aa) == aaWeights.end()) {
42 throw std::invalid_argument(std::string("Mã axit amin không hợp lệ: ") + aa);
43 }
44 }
45
46 // Tính tổng khối lượng axit amin
47 double totalWeight = 0.0;
48 for (char aa : upperSequence) {
49 totalWeight += aaWeights[aa];
50 }
51
52 // Trừ đi sự mất nước từ các liên kết peptide và thêm nước đầu
53 int numAminoAcids = upperSequence.length();
54 double molecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT;
55
56 return molecularWeight;
57}
58
59int main() {
60 try {
61 std::string sequence = "ACDEFGHIKLMNPQRSTVWY";
62 double mw = calculateProteinMolecularWeight(sequence);
63 std::cout << "Khối lượng phân tử: " << std::fixed << std::setprecision(2) << mw << " Da" << std::endl;
64 } catch (const std::exception& e) {
65 std::cerr << "Lỗi: " << e.what() << std::endl;
66 }
67
68 return 0;
69}
70
Câu Hỏi Thường Gặp
Khối lượng phân tử protein là gì?
Khối lượng phân tử protein, còn được gọi là khối lượng phân tử, là tổng khối lượng của một phân tử protein được biểu thị bằng Dalton (Da) hoặc kilodalton (kDa). Nó đại diện cho tổng khối lượng của tất cả các nguyên tử trong protein, tính đến sự mất mát của các phân tử nước trong quá trình hình thành liên kết peptide. Tính chất cơ bản này rất quan trọng cho việc đặc trưng, tinh chế và phân tích protein.
Máy tính khối lượng phân tử này chính xác như thế nào?
Máy tính này cung cấp khối lượng phân tử lý thuyết dựa trên chuỗi axit amin với độ chính xác cao. Nó sử dụng các khối lượng nguyên tố đơn đồng vị chuẩn của các axit amin và tính đến sự mất nước trong quá trình hình thành liên kết peptide. Tuy nhiên, nó không tính đến các sửa đổi sau dịch mã, các axit amin không tiêu chuẩn, hoặc các biến thể đồng vị có thể có trong các protein thực tế.
Các đơn vị nào được sử dụng cho khối lượng phân tử protein?
Khối lượng phân tử protein thường được biểu thị bằng Dalton (Da) hoặc kilodalton (kDa), trong đó 1 kDa bằng 1.000 Da. Dalton gần bằng khối lượng của một nguyên tử hydro (1,66 × 10^-24 gram). Để tham khảo, các peptide nhỏ có thể có khối lượng vài trăm Da, trong khi các protein lớn có thể lên đến hàng trăm kDa.
Tại sao khối lượng phân tử tôi tính toán lại khác với giá trị thực nghiệm?
Một số yếu tố có thể gây ra sự khác biệt giữa khối lượng phân tử tính toán và thực nghiệm:
- Các sửa đổi sau dịch mã (phosphorylation, glycosylation, v.v.)
- Sự hình thành liên kết disulfide
- Xử lý proteolytic
- Các axit amin không tiêu chuẩn
- Lỗi đo lường thực nghiệm
- Các biến thể đồng vị
Để xác định khối lượng phân tử chính xác của các protein đã sửa đổi, khối phổ được khuyến nghị.
Tôi có thể tính khối lượng phân tử của một protein có liên kết disulfide không?
Có, nhưng máy tính này không tự động điều chỉnh cho các liên kết disulfide. Mỗi liên kết disulfide hình thành dẫn đến sự mất đi của hai nguyên tử hydro (2.01588 Da). Để tính đến các liên kết disulfide, hãy trừ 2.01588 Da từ khối lượng phân tử tính toán cho mỗi liên kết disulfide trong protein của bạn.
Khối lượng phân tử protein liên quan như thế nào đến kích thước protein?
Mặc dù khối lượng phân tử có tương quan với kích thước protein, nhưng mối quan hệ này không phải lúc nào cũng đơn giản. Các yếu tố ảnh hưởng đến kích thước vật lý của một protein bao gồm:
- Thành phần axit amin
- Cấu trúc bậc hai và bậc ba
- Vỏ hydrat
- Các sửa đổi sau dịch mã
- Điều kiện môi trường (pH, nồng độ muối)
Để ước tính sơ bộ, một protein globular có khối lượng 10 kDa có đường kính khoảng 2-3 nm.
Tài Liệu Tham Khảo
-
Gasteiger E., Hoogland C., Gattiker A., Duvaud S., Wilkins M.R., Appel R.D., Bairoch A. (2005) Protein Identification and Analysis Tools on the ExPASy Server. In: Walker J.M. (eds) The Proteomics Protocols Handbook. Humana Press.
-
Nelson, D. L., & Cox, M. M. (2017). Lehninger Principles of Biochemistry (7th ed.). W.H. Freeman and Company.
-
Steen, H., & Mann, M. (2004). The ABC's (and XYZ's) of peptide sequencing. Nature Reviews Molecular Cell Biology, 5(9), 699-711.
-
Voet, D., Voet, J. G., & Pratt, C. W. (2016). Fundamentals of Biochemistry: Life at the Molecular Level (5th ed.). Wiley.
-
Creighton, T. E. (2010). The Biophysical Chemistry of Nucleic Acids & Proteins. Helvetian Press.
-
UniProt Consortium. (2021). UniProt: the universal protein knowledgebase in 2021. Nucleic Acids Research, 49(D1), D480-D489.
-
Artimo, P., Jonnalagedda, M., Arnold, K., Baratin, D., Csardi, G., de Castro, E., Duvaud, S., Flegel, V., Fortier, A., Gasteiger, E., Grosdidier, A., Hernandez, C., Ioannidis, V., Kuznetsov, D., Liechti, R., Moretti, S., Mostaguir, K., Redaschi, N., Rossier, G., Xenarios, I., & Stockinger, H. (2012). ExPASy: SIB bioinformatics resource portal. Nucleic Acids Research, 40(W1), W597-W603.
-
Kinter, M., & Sherman, N. E. (2005). Protein Sequencing and Identification Using Tandem Mass Spectrometry. Wiley-Interscience.
Hãy thử Máy Tính Khối Lượng Phân Tử Protein của chúng tôi ngay hôm nay để nhanh chóng và chính xác xác định khối lượng của các chuỗi protein của bạn. Dù bạn đang lên kế hoạch cho các thí nghiệm, phân tích kết quả, hay tìm hiểu về sinh hóa protein, công cụ này cung cấp thông tin bạn cần trong vài giây.
Phản hồi
Nhấp vào thông báo phản hồi để bắt đầu đưa ra phản hồi về công cụ này
Công cụ Liên quan
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn