Kikokoto cha uzito wa molekuli za protini kulingana na mfuatano wa asidi amino. Ingiza mfuatano wako wa protini ukitumia alama za herufi moja za kawaida ili kupata uzito sahihi wa molekuli katika Daltons.
Hesabu uzito wa masi ya protini kulingana na mlolongo wake wa asidi amino.
Tumia alama za asidi amino za herufi moja za kawaida (A, R, N, D, C, n.k.)
Kikokotoo hiki kinakadiria uzito wa masi wa protini kulingana na mlolongo wake wa asidi amino.
Hesabu inazingatia uzito wa kawaida wa masidi amino na kupoteza maji wakati wa kuunda viungio vya peptidi.
Kwa matokeo sahihi, hakikisha unaingiza mlolongo halali wa asidi amino kwa kutumia alama za herufi moja za kawaida.
Kihesabu cha uzito wa molekuli ya protini ni chombo muhimu kwa wanakemia, wanabiolojia wa molekuli, na wanasayansi wa protini wanaohitaji kubaini uzito wa protini kulingana na mfuatano wa asidi amino. Protini ni makromolekuli tata zinazoundwa na minyororo ya asidi amino, na kujua uzito wao wa molekuli ni muhimu kwa mbinu mbalimbali za maabara, muundo wa majaribio, na uchambuzi wa data. Kihesabu hiki kinatoa njia ya haraka na sahihi ya kukadiria uzito wa molekuli wa protini yoyote kwa kutumia mfuatano wake wa asidi amino, ikihifadhi muda wa watafiti na kupunguza uwezekano wa makosa ya hesabu.
Uzito wa molekuli wa protini, mara nyingi huonyeshwa kwa Daltons (Da) au kilodaltons (kDa), unawakilisha jumla ya uzito wa kila asidi amino katika protini, ukizingatia maji yaliyopotea wakati wa kuunda vifungo vya peptidi. Sifa hii ya msingi inaathiri tabia ya protini katika suluhisho, uhamaji wa electrophoresis, mali za crystallization, na sifa nyingine nyingi za kimwili na kemikali ambazo ni muhimu katika utafiti na matumizi ya viwandani.
Kihesabu chetu cha kirafiki kinahitaji tu mfuatano wa asidi amino wa herufi moja wa protini yako ili kutoa makadirio sahihi ya uzito wa molekuli, na kuifanya iweze kupatikana kwa watafiti wenye uzoefu na wanafunzi wapya katika sayansi ya protini.
Uzito wa molekuli wa protini unakadiriwa kwa kutumia fomula ifuatayo:
Ambapo:
Hesabu inatumia uzito wa kawaida wa molekuli wa asidi amino 20 za kawaida:
Asidi Amino | Msimbo wa Herufi Moja | Uzito wa Molekuli (Da) |
---|---|---|
Alanine | A | 71.03711 |
Arginine | R | 156.10111 |
Asparagine | N | 114.04293 |
Asidi Aspartic | D | 115.02694 |
Cysteine | C | 103.00919 |
Asidi 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 |
Wakati asidi amino zinajiunga kuunda protini, zinaunda vifungo vya peptidi. Wakati wa mchakato huu, molekuli ya maji (HβO) inachukuliwa kuwa imeachwa kwa kila kifungo kinachoundwa. Kupoteza maji hii lazima ikumbukwe katika hesabu ya uzito wa molekuli.
Kwa protini yenye asidi amino n, kuna (n-1) vifungo vya peptidi vilivyoundwa, vinavyosababisha kupoteza (n-1) molekuli za maji. Hata hivyo, tunarudisha molekuli moja ya maji ili kukabiliana na vikundi vya mwisho (H kwenye mwisho wa N na OH kwenye mwisho wa C).
Hebu tukadirie uzito wa molekuli wa tripeptide rahisi: Ala-Gly-Ser (AGS)
Jumlisha uzito wa asidi amino binafsi:
Punguza kupoteza maji kutokana na vifungo vya peptidi:
Ongeza tena molekuli moja ya maji kwa vikundi vya mwisho:
Uzito wa mwisho wa molekuli:
Kutumia Kihesabu cha Uzito wa Molekuli ya Protini ni rahisi:
Ingiza mfuatano wa protini yako kwenye kisanduku cha maandiko ukitumia msimbo wa kawaida wa asidi amino wa herufi moja (A, R, N, D, C, E, Q, G, H, I, L, K, M, F, P, S, T, W, Y, V).
Kihesabu kita hakikisha kiotomati kuwa ingizo lako lina herufi za asidi amino pekee.
Bonyeza kitufe cha "Kihesabu Uzito wa Molekuli" au subiri hesabu kiotomati ikamilike.
Tazama matokeo, ambayo yanajumuisha:
Unaweza kunakili matokeo kwenye clipboard yako kwa kubonyeza kitufe cha "Nakili" kwa matumizi katika ripoti au uchambuzi zaidi.
Kwa matokeo sahihi, fuata miongozo hii unapoweka mfuatano wa protini yako:
Kihesabu kinatoa vipande kadhaa vya taarifa:
Uzito wa Molekuli: Uzito wa molekuli wa protini yako uliohesabiwa kwa Daltons (Da). Kwa protini kubwa, hii inaweza kuonyeshwa kwa kilodaltons (kDa).
Urefu wa Mfuatano: Jumla ya idadi ya asidi amino katika mfuatano wako.
Muundo wa Asidi Amino: Uchanganuzi wa kuona wa maudhui ya asidi amino ya protini yako, ukionyesha idadi na asilimia ya kila asidi amino.
Mbinu ya Hesabu: Maelezo wazi ya jinsi uzito wa molekuli ulivyohesabiwa, ikiwa ni pamoja na fomula iliyotumika.
Kihesabu cha Uzito wa Molekuli ya Protini kina matumizi mengi katika nyanja mbalimbali za sayansi za maisha:
Watafiti hutumia taarifa za uzito wa molekuli ili:
Makampuni ya bioteknolojia yanategemea hesabu sahihi za uzito wa molekuli ili:
Wanasayansi wa peptidi hutumia hesabu za uzito wa molekuli ili:
Wanasayansi wa muundo wa protini wanahitaji taarifa za uzito wa molekuli ili:
Wakuu wa dawa hutumia uzito wa molekuli wa protini ili:
Wanafunzi na watafiti hutumia kihesabu kwa ajili ya:
Ingawa Kihesabu chetu cha Uzito wa Molekuli ya Protini kinatoa makadirio ya haraka na sahihi, kuna mbinu mbadala za kubaini uzito wa molekuli wa protini:
Mbinu za Kijamii:
Zana nyingine za Kompyuta:
Programu Maalum:
Dhana ya uzito wa molekuli imekuwa muhimu kwa kemia tangu John Dalton alipoweka nadharia yake ya atomiki mwanzoni mwa karne ya 19. Hata hivyo, matumizi yake kwa protini yana historia ya hivi karibuni:
Leo, hesabu ya uzito wa molekuli wa protini ni sehemu ya kawaida lakini muhimu ya sayansi ya protini, ikisaidiwa na zana kama kihesabu chetu ambacho kinafanya hesabu hizi kupatikana kwa watafiti duniani kote.
Hapa kuna mifano ya jinsi ya kukadiria uzito wa molekuli wa protini katika lugha mbalimbali za programu:
1' Excel VBA Function for Protein Molecular Weight Calculation
2Function ProteinMolecularWeight(sequence As String) As Double
3 ' Amino acid molecular weights
4 Dim aaWeights As Object
5 Set aaWeights = CreateObject("Scripting.Dictionary")
6
7 ' Initialize amino acid weights
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 ' Water molecular weight
30 Const WATER_WEIGHT As Double = 18.01528
31
32 ' Convert sequence to uppercase
33 sequence = UCase(sequence)
34
35 ' Calculate total weight
36 Dim totalWeight As Double
37 totalWeight = 0
38
39 ' Sum individual amino acid weights
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 ' Invalid amino acid code
49 ProteinMolecularWeight = -1
50 Exit Function
51 End If
52 Next i
53
54 ' Subtract water loss from peptide bonds and add terminal water
55 Dim numAminoAcids As Integer
56 numAminoAcids = Len(sequence)
57
58 ProteinMolecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT
59End Function
60
61' Usage in Excel:
62' =ProteinMolecularWeight("ACDEFGHIKLMNPQRSTVWY")
63
1def calculate_protein_molecular_weight(sequence):
2 """
3 Calculate the molecular weight of a protein from its amino acid sequence.
4
5 Args:
6 sequence (str): Protein sequence using one-letter amino acid codes
7
8 Returns:
9 float: Molecular weight in Daltons (Da)
10 """
11 # Amino acid molecular weights
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 # Water molecular weight
36 WATER_WEIGHT = 18.01528
37
38 # Convert sequence to uppercase
39 sequence = sequence.upper()
40
41 # Validate sequence
42 for aa in sequence:
43 if aa not in aa_weights:
44 raise ValueError(f"Invalid amino acid code: {aa}")
45
46 # Sum individual amino acid weights
47 total_weight = sum(aa_weights[aa] for aa in sequence)
48
49 # Subtract water loss from peptide bonds and add terminal water
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# Example usage:
56sequence = "MVKMDVYKGSSIGDSMSRSM"
57mw = calculate_protein_molecular_weight(sequence)
58print(f"Molecular weight: {mw:.2f} Da")
59
1function calculateProteinMolecularWeight(sequence) {
2 // Amino acid molecular weights
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 // Water molecular weight
27 const WATER_WEIGHT = 18.01528;
28
29 // Convert sequence to uppercase
30 sequence = sequence.toUpperCase();
31
32 // Validate sequence
33 for (let i = 0; i < sequence.length; i++) {
34 const aa = sequence[i];
35 if (!aaWeights[aa]) {
36 throw new Error(`Invalid amino acid code: ${aa}`);
37 }
38 }
39
40 // Sum individual amino acid weights
41 let totalWeight = 0;
42 for (let i = 0; i < sequence.length; i++) {
43 totalWeight += aaWeights[sequence[i]];
44 }
45
46 // Subtract water loss from peptide bonds and add terminal water
47 const numAminoAcids = sequence.length;
48 const molecularWeight = totalWeight - (numAminoAcids - 1) * WATER_WEIGHT + WATER_WEIGHT;
49
50 return molecularWeight;
51}
52
53// Example usage:
54const sequence = "ACDEFGHIKLMNPQRSTVWY";
55try {
56 const mw = calculateProteinMolecularWeight(sequence);
57 console.log(`Molecular weight: ${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 // Initialize amino acid weights
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 // Convert sequence to uppercase
34 sequence = sequence.toUpperCase();
35
36 // Validate sequence
37 for (int i = 0; i < sequence.length(); i++) {
38 char aa = sequence.charAt(i);
39 if (!aminoAcidWeights.containsKey(aa)) {
40 throw new IllegalArgumentException("Invalid amino acid code: " + aa);
41 }
42 }
43
44 // Sum individual amino acid weights
45 double totalWeight = 0;
46 for (int i = 0; i < sequence.length(); i++) {
47 totalWeight += aminoAcidWeights.get(sequence.charAt(i));
48 }
49
50 // Subtract water loss from peptide bonds and add terminal water
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("Molecular weight: %.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 // Amino acid molecular weights
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 // Water molecular weight
33 const double WATER_WEIGHT = 18.01528;
34
35 // Convert sequence to uppercase
36 std::string upperSequence = sequence;
37 std::transform(upperSequence.begin(), upperSequence.end(), upperSequence.begin(), ::toupper);
38
39 // Validate sequence
40 for (char aa : upperSequence) {
41 if (aaWeights.find(aa) == aaWeights.end()) {
42 throw std::invalid_argument(std::string("Invalid amino acid code: ") + aa);
43 }
44 }
45
46 // Sum individual amino acid weights
47 double totalWeight = 0.0;
48 for (char aa : upperSequence) {
49 totalWeight += aaWeights[aa];
50 }
51
52 // Subtract water loss from peptide bonds and add terminal water
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 << "Molecular weight: " << std::fixed << std::setprecision(2) << mw << " Da" << std::endl;
64 } catch (const std::exception& e) {
65 std::cerr << "Error: " << e.what() << std::endl;
66 }
67
68 return 0;
69}
70
Uzito wa molekuli wa protini, pia unajulikana kama uzito wa molekuli, ni jumla ya uzito wa molekuli ya protini iliyoonyeshwa kwa Daltons (Da) au kilodaltons (kDa). Inawakilisha jumla ya uzito wa atomi zote katika protini, ikizingatia kupotea kwa molekuli za maji wakati wa kuunda vifungo vya peptidi. Sifa hii ya msingi ni muhimu kwa uainishaji, usafishaji, na uchambuzi wa protini.
Kihesabu hiki kinatoa uzito wa molekuli wa nadharia kulingana na mfuatano wa asidi amino kwa usahihi mkubwa. Kinatumia uzito wa kawaida wa monoisotopic wa asidi amino na kinazingatia kupoteza maji wakati wa kuunda vifungo vya peptidi. Hata hivyo, hakizingatii mabadiliko baada ya kutafsiri, asidi amino zisizo za kawaida, au tofauti za isotopic ambazo zinaweza kuwepo katika protini halisi.
Uzito wa molekuli wa protini mara nyingi huonyeshwa kwa Daltons (Da) au kilodaltons (kDa), ambapo 1 kDa ni sawa na 1,000 Da. Dalton ni sawa na uzito wa atomi ya hidrojeni (1.66 Γ 10^-24 gramu). Kwa kumbukumbu, peptidi ndogo zinaweza kuwa na uzito wa kadhaa ya Da, wakati protini kubwa zinaweza kuwa na uzito wa mamia ya kDa.
Sababu kadhaa zinaweza kusababisha tofauti kati ya uzito wa molekuli uliohesabiwa na ule wa majaribio:
Kwa uamuzi sahihi wa uzito wa molekuli wa protini zilizobadilishwa, mass spectrometry inapendekezwa.
Kihesabu hiki kinakubali tu asidi amino 20 za kawaida kwa kutumia msimbo wao wa herufi moja (A, R, N, D, C, E, Q, G, H, I, L, K, M, F, P, S, T, W, Y, V). Kwa protini zenye asidi amino zisizo za kawaida, selenocysteine, pyrrolysine, au wahusika wengine waliobadilishwa, zana maalum au hesabu za mikono zitahitajika.
Muundo wa asidi amino unaonyesha idadi na asilimia ya kila asidi amino katika mfuatano wa protini yako. Taarifa hii ni muhimu kwa:
Kwa peptidi ndogo, tofauti ni ndogo, lakini inakuwa kubwa zaidi kwa protini kubwa. Mass spectrometry mara nyingi hupima uzito wa monoisotopic kwa molekuli ndogo na uzito wa wastani kwa molekuli kubwa.
Kihesabu kinazingatia vikundi vya mwisho vya kawaida vya N-terminal (NHβ-) na C-terminal (-COOH) kwa kuongeza tena molekuli moja ya maji (18.01528 Da) baada ya kupunguza maji yaliyopotea katika kuunda vifungo vya peptidi. Hii inahakikisha kuwa uzito wa molekuli uliohesabiwa unawakilisha protini kamili yenye vikundi vya mwisho sahihi.
Ndio, lakini kihesabu hiki hakihesabu moja kwa moja kwa ajili ya vifungo vya disulfide. Kila kuunda kifungo cha disulfide kunasababisha kupotea kwa atomi mbili za hidrojeni (2.01588 Da). Ili kuzingatia vifungo vya disulfide, punguza 2.01588 Da kutoka uzito wa molekuli uliohesabiwa kwa kila kifungo cha disulfide katika protini yako.
Ingawa uzito wa molekuli unahusiana na ukubwa wa protini, uhusiano sio wa moja kwa moja kila wakati. Sababu zinazoweza kuathiri ukubwa wa kimwili wa protini ni pamoja na:
Kwa makadirio ya rough, protini ya globular yenye uzito wa 10 kDa ina kipenyo cha takriban 2-3 nm.
Gasteiger E., Hoogland C., Gattiker A., Duvaud S., Wilkins M.R., Appel R.D., Bairoch A. (2005) Zana za Utambulisho na Uchambuzi wa Protini kwenye Seva ya ExPASy. Katika: Walker J.M. (eds) Mwongozo wa Protemics. Humana Press.
Nelson, D. L., & Cox, M. M. (2017). Misingi ya Biokemia: Maisha katika Ngazi ya Molekuli (toleo la 7). W.H. Freeman and Company.
Steen, H., & Mann, M. (2004). ABC's (na XYZ's) za mfuatano wa peptidi. Mapitio ya Asili ya Biolojia ya Molekuli, 5(9), 699-711.
Voet, D., Voet, J. G., & Pratt, C. W. (2016). Misingi ya Biokemia: Maisha katika Ngazi ya Molekuli (toleo la 5). Wiley.
Creighton, T. E. (2010). Kemia ya Biophysical ya Nucleic Acids & Protini. Helvetian Press.
UniProt Consortium. (2021). UniProt: msingi wa maarifa ya protini wa ulimwengu mnamo mwaka 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: Kituo cha rasilimali za bioinformatics cha SIB. Nucleic Acids Research, 40(W1), W597-W603.
Kinter, M., & Sherman, N. E. (2005). Utambulisho na Uamuzi wa Protini kwa Kutumia Mass Spectrometry. Wiley-Interscience.
Jaribu Kihesabu chetu cha Uzito wa Molekuli ya Protini leo ili kukadiria kwa haraka na kwa usahihi uzito wa molekuli wa mfuatano wako wa protini. Iwe unapania majaribio, unachambua matokeo, au unajifunza kuhusu biokemia ya protini, chombo hiki kinatoa taarifa unayohitaji kwa sekunde.
Gundua zana zaidi ambazo zinaweza kuwa na manufaa kwa mtiririko wako wa kazi