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.
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.)
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.
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.
Khối lượng phân tử của một protein được tính bằng công thức sau:
Trong đó:
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 |
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).
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ẻ:
Trừ đi sự mất nước từ các liên kết peptide:
Thêm lại một phân tử nước cho các nhóm đầu:
Khối lượng phân tử cuối cùng:
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:
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.
Để 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:
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.
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:
Các nhà nghiên cứu sử dụng thông tin khối lượng phân tử để:
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 để:
Các nhà hóa học peptide sử dụng các phép tính khối lượng phân tử để:
Các nhà sinh học cấu trúc cần thông tin khối lượng phân tử để:
Các nhà phát triển thuốc sử dụng khối lượng phân tử protein để:
Sinh viên và các nhà nghiên cứu sử dụng máy tính cho:
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:
Các Công Cụ Tính Toán Khác:
Phần Mềm Chuyên Biệt:
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:
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.
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
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 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ế.
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.
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:
Để 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ị.
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.
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:
Để ướ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.
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.
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