This is a test version of Biostars. For the public version, visit https://www.biostars.org.
How can I programmatically add a Hydrogen 'Atom' to a 'Residue' object?

I know the algorithm for creating a Hydrogen atom and adding to a residue:

Point3d  create_hydrogen(Point3d C, Point3d N, Point3d CA, Point3d H) 
{
  H.set(N);
  H -= C;
  H.norm();

  Point3d tmp2(N);
  tmp2 -= CA;
  tmp2.norm();

  H += tmp2;
  H.norm(N_H_BOND_LENGTH);
  H += N;

  return H;
}

Point3d  create_hydrogen(Residue prev_residue, Residue residue, Point3d H) 
{
  return create_hydrogen(prev_residue.find_atom(" C  "), 
                              residue.find_atom(" N  "),
                              residue.find_atom(" CA "), 
                                   H);
}

Atom create_hydrogen(Residue prev_residue, Residue residue) 
{
  Atom H = new Atom(0, " H  ", 1);
  create_hydrogen(prev_residue, residue, H);
  residue.add(H);
  return H;
}

I didn't find this implementation in BioPython.

Is this already implemented in BioPython? If YES, in which module?

If NO, what would be the implementation like in BioPython?

proteins hydrogen pdb python

0 answers

No answers yet.

Log in to answer this question.