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