@ SuppressWarnings ( "unused" ) private static Atom calc_H ( Atom C , Atom N , Atom CA ) throws StructureException { Atom nc = Calc . subtract ( N , C ) ; Atom nca = Calc . subtract ( N , CA ) ; Atom u_nc = Calc . unitVector ( nc ) ; Atom u_nca = Calc . unitVector ( nca ) ; Atom added = Calc . add ( u_nc , u_nca ) ; Atom U = Calc . unitVector ( added ) ; // according to Creighton distance N-H is 1.03 +/- 0.02A Atom H = Calc . add ( N , U ) ; H . setName ( "H" ) ; // this atom does not have a pdbserial number ... return H ; }
Use unit vectors NC and NCalpha Add them . Calc unit vector and substract it from N . C coordinates are from amino acid i - 1 N CA atoms from amino acid i