Contacts are a useful tool to analyse protein structures. They simplify the 3-Dimensional view of the structures into a 2-Dimensional set of contacts between its atoms or its residues. The representation of the contacts in a matrix is known as the contact map. Many protein structure analysis and prediction efforts are done by using contacts. For instance they can be useful for:
- development of structural alignment algorithms Holm 1993 Caprara 2004
- automatic domain identification Alexandrov 2003 Emmert-Streib 2007
- structural modelling by extraction of contact-based empirical potentials Benkert 2008
- structure prediction via contact prediction from sequence information Jones 2012
This code snippet will produce the set of contacts between all C alpha atoms for chain A of PDB entry 1SMT:
AtomCache cache = new AtomCache();
StructureIO.setAtomCache(cache);
Structure structure = StructureIO.getStructure("1SMT");
Chain chain = structure.getChainByPDB("A");
// we want contacts between Calpha atoms only
String[] atoms = {" CA "};
// the distance cutoff we use is 8A
AtomContactSet contacts = StructureTools.getAtomsInContact(chain, atoms, 8.0);
System.out.println("Total number of CA-CA contacts: "+contacts.size());
The algorithm to find the contacts uses spatial hashing without need to calculate a full distance matrix, thus it scales nicely.
One can also find the contacting atoms between two protein chains. For instance the following code finds the contacts between the first 2 chains of PDB entry 1SMT:
AtomCache cache = new AtomCache();
StructureIO.setAtomCache(cache);
Structure structure = StructureIO.getStructure("1SMT");
AtomContactSet contacts =
StructureTools.getAtomsInContact(structure.getChain(0), structure.getChain(1), 5, false);
System.out.println("Total number of atom contacts: "+contacts.size());
// the list of atom contacts can be reduced to a list of contacts between groups:
GroupContactSet groupContacts = new GroupContactSet(contacts);
See DemoContacts for a fully working demo of the examples above.
Navigation: Home | Book 3: The Structure Modules | Chapter 12 : Contacts Within a Chain and between Chains
Prev: Chapter 11 : Accessible Surface Areas
Next: Chapter 13 - Finding all Interfaces in Crystal: Crystal Contacts