Get missing residues#

Identifying missing amino acid or nucleotide residues in a molecular system.

Experimental structures often omit flexible loops or terminal residues due to unresolved electron density. The function molsysmt.build.get_missing_residues() compares resolved residues against reference sequence records (such as _entity_poly_seq in mmCIF or SEQRES in PDB files) to identify missing residues.

Added in version 1.0.0.

Basic usage#

Let’s show how this function works using a protein structure loaded from PDB entry 1BRS:

import molsysmt as msm

First, we convert PDB entry 1BRS into a standard molsysmt.MolSys object:

molsys = msm.convert('1BRS', selection='molecule_type=="protein"', to_form='molsysmt.MolSys')

Let’s inspect the protein molecules in the system:

msm.info(molsys, element='molecule')
index name type n atoms n groups n components chain index entity index entity name
0 BARNASE protein 864 108 1 0 0 BARNASE
1 BARNASE protein 878 110 1 1 0 BARNASE
2 BARNASE protein 839 108 1 2 0 BARNASE
3 BARSTAR protein 693 87 2 3 1 BARSTAR
4 BARSTAR protein 665 86 2 4 1 BARSTAR
5 BARSTAR protein 699 89 1 5 1 BARSTAR

Now we call molsysmt.build.get_missing_residues() using the PDB identifier '1BRS' to compare the resolved residues against the reference sequence records:

missing_residues = msm.build.get_missing_residues('1BRS')
missing_residues
{(0, 0): ['ALA', 'GLN'],
 (2, 0): ['ALA', 'GLN'],
 (3, 63): ['GLU', 'ASN'],
 (4, 0): ['LYS'],
 (4, 62): ['GLU', 'ASN']}