Add missing terminal cappings#
Adding terminal cappings to peptides and proteins.
Capping the termini of peptides and proteins can be important for ensuring charge neutrality, stability, or for matching biological conditions. Terminal cappings are often required in molecular modeling, particularly when working with small peptides or fragments.
Added in version 1.0.0.
How this function works#
API documentation
Follow this link for a detailed description of the input arguments, raised errors, and returned objects: molsysmt.build.add_missing_terminal_cappings()
.
The function molsysmt.build.add_missing_terminal_cappings()
adds chemical groups to the N-terminus, the C-terminus, or both. These groups can be neutral or charged depending on the chosen capping residues. By default, it completes the terminal atoms without introducing caps, resulting in charged termini. Alternatively, you can specify capping groups such as ACE
for the N-terminus or NME
for the C-terminus to neutralize the ends.
Let’s illustrate how this function works with a simple tripeptide example:
import molsysmt as msm
molsys = msm.build.build_peptide('AlaValPro', to_form='molsysmt.MolSys')
msm.info(molsys, element='group')
index | id | name | type | n atoms | component index | chain index | molecule index | molecule type | entity index | entity name |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | ALA | amino acid | 10 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
1 | 2 | VAL | amino acid | 16 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
2 | 3 | PRO | amino acid | 14 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
As shown, the termini of the peptide are currently uncapped. We now add the atoms required to complete the terminal amino acids without capping groups. This produces a charged version of the peptide.
molsys_charged = msm.build.add_missing_terminal_cappings(molsys, N_terminal=None, C_terminal=None)
msm.info(molsys_charged, element='group')
index | id | name | type | n atoms | component index | chain index | molecule index | molecule type | entity index | entity name |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | ALA | amino acid | 12 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
1 | 2 | VAL | amino acid | 16 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
2 | 3 | PRO | amino acid | 15 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
Let’s confirm that the terminal groups carry charges under these conditions.
msm.physchem.get_charge(molsys_charged, element='group')
Magnitude | [0.0 0.0 0.0] |
---|---|
Units | elementary_charge |
To neutralize the terminal charges, we can cap the N-terminus with an acetyl group (ACE) and the C-terminus with a N-methyl amide (NME).
molsys_uncharged = msm.build.add_missing_terminal_cappings(molsys, N_terminal='ACE', C_terminal='NME')
msm.info(molsys_uncharged, element='group')
index | id | name | type | n atoms | component index | chain index | molecule index | molecule type | entity index | entity name |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | ACE | terminal capping | 6 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
1 | 1 | ALA | amino acid | 10 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
2 | 2 | VAL | amino acid | 16 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
3 | 3 | PRO | amino acid | 14 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
4 | 4 | NME | terminal capping | 6 | 0 | 0 | 0 | peptide | 0 | peptide 0 |
We check the charges again to confirm that the peptide is now neutral.
msm.physchem.get_charge(molsys_uncharged, element='group')
Magnitude | [0.0 0.0 0.0 0.0 0.0] |
---|---|
Units | elementary_charge |
See also
User guide > Tools > Build > Build peptide:
Generate capped peptide structures from a sequence.
User guide > Tools > PhysChem > Get charge:
Compute net charges for molecular systems or selections.
User guide > Tools > Basic > Info:
Summarize the content and composition of a molecular system.