[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[IMP-dev] Q) How to correlate atoms and residue in IMP molecular hierarchy?



Hi all,

This can be a very simple question, but I'm just wondering how to correlate atoms and a residue in IMP molecular hierarchy.
First of all, I get "IMP::core::MolecularHierarchyDecorator mp" by 
calling read_pdb function defined in IMP modeller module.  It simply 
reads contents of a pdb file and generates the molecular hierarchy.
   mp = IMP.modeller.read_pdb('single_protein.pdb', m)


Then, I load particles by calling "molecular_hierarchy_get_by_type" function as follows.
   ps_ = IMP::core::molecular_hierarchy_get_by_type(mp_, 
IMP::core::MolecularHierarchyDecorator::ATOM);
   IMP::core::AtomDecorator ad = IMP::core::AtomDecorator::cast(ps_[i]);
   IMP::core::AtomType at = ad.get_type()

residues = IMP.core.molecular_hierarchy_get_by_type(mp, IMP.core.MolecularHierarchyDecorator.RESIDUE); IMP::core::ResidueDecorator rd = IMP::core::ResidueDecorator::cast(residues_[i]);
   IMP::core::ResidueType rt = rd.get_type();

By doing this, I get only independent particle arrays of atom and residue, without any relation between them.

What I want to know is a piece of linked information between atom index and residue index, such that a Nitrogen atom (atom index 458) is positioned at a LYS residue (residue index 56).
ATOM    458  N   LYS    56      38.397  16.302  23.700  1.00 
18.45         N   

 Is there any simple function defined in MolecularHierarchyDecorator 
class for this purpose?  (Input : atom index & Output : residue index, 
and vice versa.)  Or is there any other simple way to do this?
 Thanks a lot!
 Seung Joong Kim