ó
Ù™xTc           @   s´  d  d l  m Z d  d l m Z d  d l m Z d  d l Z d  d l m Z d  d l	 m
 Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z e e e d „ Z d „  Z e d k r°d d d d d d d d d d d d d d g Z e e j ƒ d k rNe e j d ƒ n_ e j  j! d d  d! e j" j# ƒ Z$ e$ e k rƒd" GHn* x' e D] Z% e e j" j& e$ e% ƒ ƒ qŠWn  d S(#   iÿÿÿÿ(   t   division(   t   pdb_interpretation(   t   monomer_libraryN(   t   pdb(   t   lbfgsc   (      C   s  |  d } |  d } |  d } | d }	 | d }
 | d } | d } | d } | d } | | } | | } | | } |	 | } |
 | } | | } | | | | } | | | | } | | | | } |	 | |
 | | | } t  j | | | | | | ƒ } t  j | | | | | | ƒ } | | t  j | t  j d ƒ } | | t  j | t  j d ƒ } | | | | | | | } | | | | | | | } | | | | } | | | | }  | | | | }! | | | | }" | | | | }# | | | | }$ |" |! | |$ |# |" |  | }% d | |% |  |! }& d | | |& | |% | }' |' |& |% f S(   Ni    i   i   g     €f@g      ð¿(   t   matht   sqrtt   cost   pi((   t   site_0t   site_1t   site_2t   d0t   alphat   betat   x0t   y0t   z0t   x1t   y1t   z1t   x2t   y2t   z2t   a1t   a2t   a3t   b1t   b2t   b3t   c1t   c2t   c3t   Rt   d1t   d2t   At   Bt   Pt   Qt   t1t   t2t   t3t   f1t   f2t   f3t   zht   yht   xh(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt
   add_ring_h   sF    














##"""c   *      C   sç  |  d } |  d } |  d } | d }	 | d }
 | d } | d } | d } | d } | | } | | } | | } |	 | } |
 | } | | } t  j | | | | | | ƒ } t  j | | | | | | ƒ } | | t  j | t  j d ƒ } | | t  j | t  j d ƒ } | | | | | | | } | | | | | | | } | | | | | | | | } | | | | | | | | } | | | | | } | | | | | } d | | | | } d | | | d | | | d | }  | | | | | | | | | | | | }! t  j |  |  d | |! ƒ }" |  |" d | }# | | |# }$ | | |# }% |# }& |  |" d | }# | | |# }' | | |# }( |# }) |$ |% |& f |' |( |) f f S(   Ni    i   i   g     €f@g      ð?g       @g      @(   R   R   R   R   (*   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R"   R#   R$   R%   R&   R'   t   B1t   B2t   B3t   B4t   D1t   D2t   D3t   discrt   coefft   xh1t   yh1t   zh1t   xh2t   yh2t   zh2(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   add_ca_ha1_and_ha2E   sL    














##""""*2c   /      C   sÍ  |  d } |  d }	 |  d }
 | d } | d } | d } | d } | d } | d } | d } | d } | d } | | } | |	 } | |
 } | | } | |	 } | |
 } | | } | |	 } | |
 } t  j | | | | | | ƒ } t  j | | | | | | ƒ } t  j | | | | | | ƒ } | | t  j | t  j d ƒ }  | | t  j | t  j d ƒ }! | | t  j | t  j d ƒ }" |! | | | |	 | |
 }# |  | | | |	 | |
 }$ |" | | | |	 | |
 }% | | | | }& | | | | }' |$ | |# | }( | | | | }) | | | | }* |% | |# | }+ |) |( |& |+ |* |) |' |& }, d |& |, |' |( }- d | | |- | |, |# }. |. |- |, f S(   Ni    i   i   g     €f@g      ð¿(   R   R   R   R   (/   R	   R
   R   t   site_3R   R   R   t   gammaR   R   R   R   R   R   R   R   R   t   x3t   y3t   z3R   R   R   R   R   R   R   R   R    R"   R#   t   d3R$   R%   t   CR&   R'   R!   R(   R)   R*   R+   R,   R-   R.   R/   R0   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   add_ca_ha1_or_ha2w   sP    




















###""""c          C   sŒ  |  d } |  d } |  d } | d } | d }	 | d }
 | | } |	 | } |
 | } t  j | | | | | | ƒ } | | t  j | t  j d ƒ } | | | | | | | } | | | } | | } | | } d | | } d | | } d | | d | } d | | d | } d | | } | | | | | | | | } | | d | | } d | | d | | } | | d | | } | t  j | | d | | ƒ d | }	 | t  j | | d | | ƒ d | } | | |	 d | } | | | d | } | | | | |	 | }
 | | | | | | } | |	 |
 f t |  | | |	 |
 f | | | ƒ f S(   Ni    i   i   g     €f@g      ð?g       @g      @(   R   R   R   R   RA   (    R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R"   R$   R&   R   R   R   R   R   R    t   c4t   c5R!   t   e1t   e2t   e3R   R   R   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   add_hhh«   s>    








#"

#,,c   -      C   sô  |  d } |  d } |  d } | d |  d | d |  d | d |  d }	 }
 } | d | d | d | d | d | d } } } | d |  d | d |  d | d |  d } } } t  j |	 |	 |
 |
 | | ƒ } |
 |	 } | |	 } | | t  j | t  j d ƒ | |	 | |
 | | |	 } | | } | | } | | } | | } | | } | | } | | } |
 | | | } |	 | | | } |	 | | |
 } | | | | | | }  | | }! | | }" |  | }# |! |! }$ |" |" }% |# |# }& d | |! | |$ |% | |! | | |! |# | |" | | |" |# | | |! | | |! | | |" d | | |! |" | |! |" | |% |! |# | | |$ |" | | |! |# | |! | |" t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |# d d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d | |! |$ | d |$ d | |" |% d | |! | |! |" | d |% }' d | |! | |! | |! |" | |% | d | |" |! | | | |" |! |# | | |" | | |" | d |% d | |" |# | | |! | |# | |" t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |& d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d | |! |$ | d |$ d | |" |% d | |! | |! |" | d |% }( d | | |! d d | | | | | |! | | |! |" d d | |" |# d | | |! | | |! | d |$ d | |! |# t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |& d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d |$ | d |$ d | |" |% d | |! | |! |" | d |% }) | d k r¯d | |! | |$ |% | |! | | |! |# | |" | | |" |# | | |! | | |! | | |" d | | |! |" | |! |" | |% |! |# | | |$ |" | | |! |# | |! | |" t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |# d d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d | |! |$ | d |$ d | |" |% d | |! | |! |" | d |% }* d | |! | |! | |! |" | |% | d | |" |! | | | |" |! |# | | |" | | |" | d |% d | |" |# | | |! | |# | |" t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |& d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d | |! |$ | d |$ d | |" |% d | |! | |! |" | d |% }+ d | | |! d d | | | | | |! | | |! |" d d | |" |# d | | |! | | |! | d |$ d | |! |# t  j d |$ | d |$ d | |" |% d | |! | |! |" | d |% | | | | | |! d d | | |! | | |! | d |$ d | | | | |! |# d | d | |! |# d | |& d	 d | | |! | |$ | |" | |! |" | | | | |! |" |" |# | | |! | | |! | d |$ |# | |! |# | | |" | |# d ƒ d |$ | d |$ d | |" |% d | |! | |! |" | d |% }, n  | d k rÈ|' |( |) f S| d k rð|' |( |) f |* |+ |, f f Sd  S(
   Ni    i   i   g     €f@g       Àg       @g      Àg      ð?g      @(   R   R   R   R   (-   R	   R
   R   t   dR   t   flagt   Ft   Gt   HR   R   R   R   R   R   R   R   R    R"   R$   R%   RH   t   AAt   BBt   CCt   FFt   GGt   HHt   MR+   R,   R-   t   f4R&   R'   R!   t   PPt   QQt   RRR;   R<   R=   R>   R?   R@   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   add_arg_like_hÎ   sˆ    


888#

?












ÀM‹ŸSŸG„ªH‘G‡Œ^ÀM‹ŸSŸG„ªH‘G‡Œac   6      C   sã  d GHt  j j ƒ  } t  j j ƒ  } t  j j d | d | d |  d t d t j ƒ j } d } d } g  } d } t	 j
 j |  ƒ d	 } t | d
 ƒ }	 x| j D]ú}
 t |
 | |	 ƒ } |
 j j } |
 j j } |
 j j ƒ  } |
 j j j } Hd G|
 j G|
 j j j GHd G| GHH| t | ƒ 7} g  } t | ƒ d } x.| d k re| d 8} | d } xÆ | D]¾ } | | j k sƒ| | j k r_x/ | j | j f D] } | | k r–| } q–q–Wx5 |
 j j ƒ  D]$ \ } } | | k rÅ| j } qÅqÅW| j } d } | | | j | j | j f GHq_q_Wg  } x� | D]… } | | j k sa| | j k sa| | j k r.d } | | | j | j | j | j f GH| j  | j | j | j | j g ƒ q.q.Wg  } | d{ k r³i
 i d d d g d 6d d d g d 6d d d g d 6d d d g d 6d 6i d d d g d 6d d d g d 6d d d g d 6d 6i d d  d g d 6d! 6i d d d" g d 6d d d" g d 6d d" d g d 6d d" d g d 6d# 6i d d d" g d 6d d d" g d 6d d d" g d 6d$ 6i d% d& d  g d 6d' 6i d d d g d 6d( 6i d& d d% g d 6d) 6i d  d% d g d 6d* 6i d+ d d, g d 6d- 6} | | j ƒ  k r³| | | j ƒ  k r°| | | } d. G| Gd/ GHd  } d  } d  }  xq |
 j j ƒ  D]` \ } } | | d k râ| j } n  | | d k rþ| j } n  | | d0 k rº| j }  qºqºW| d d }! | d d }" | d  k	 r^| d  k	 r^|  d  k	 sdt" ‚ t# | | |  | |! |" ƒ }# t |
 | |	 d1 | d2 |# ƒ} | j$ | ƒ q°q³n  | d3 k s×| d4 k s×| d5 k rÉ	t% }$ t% }% d3 | k røt }$ n  d4 | k rd5 | k rt }% n  d4 | k s1d5 | k rF|% t% k rFt }$ n  |$ t k r^|% t% k s||$ t% k rv|% t k s|t" ‚ |% t k rd6 GHd  } d  } d  }  xe |
 j j ƒ  D]T \ } } | d7 k rÓ| j } n  | d8 k rë| j } n  | d9 k r¯| j }  q¯q¯W| d  k	 r| d  k	 r|  d  k	 rxX | D]P }& d8 |& k r]d7 |& k r]|& d }! n  d9 |& k r2d7 |& k r2|& d }" q2q2Wt& | | |  | |! |" ƒ }# t |
 | |	 d1 d4 d2 |# d ƒ} t |
 | |	 d1 d5 d2 |# d ƒ} | j$ d4 ƒ | j$ d5 ƒ qn  |$ t k rÉ	d: G| GHd  } d  } d  }  d  }' x› |
 j j ƒ  D]Š \ } } | d7 k rf| j } n  | d8 k r~| j } n  | d9 k r–| j }  n  | d; k sº| d4 k sº| d5 k rB| j }' | }( qBqBW| d  k	 rÆ	| d  k	 rÆ	|  d  k	 rÆ	x} | D]u }& d8 |& k r&	d7 |& k r&	|& d }! n  d9 |& k rK	d7 |& k rK	|& d }" n  d7 |& k rû|( |& k rû|& d }) qûqûWt' | | |  |' | |! |" |) ƒ }# t |
 | |	 d1 | d2 |# ƒ} | j$ | ƒ qÆ	qÉ	n  i
 d; d7 d" d< g d; d7 d= d< g d; d7 d> d< g g d? 6d; d7 d" d? g d; d7 d= d? g d; d7 d> d? g g d< 6d" d; d, d@ g g dA 6d" d; d, dA g g d@ 6d, d" d+ d$ g d, d" dB d$ g g d# 6d, d" d+ d# g d, d" dB d# g g d$ 6dB d, dC d g g d 6dB d, dC d g g d 6d" d; d d g g dD 6d; dE d7 dF g d; dE d7 dG g g dH 6}* | |* j ƒ  k rÃ| | k rÃ|* | }+ x�|+ D]v} t% }$ t% }% | | k rz| dI | k rzt }% n  | | k s–| dI | k r«|% t% k r«t }$ n  |$ t k rÃ|% t% k sÛ|$ t% k rC|% t k rC|% t k r˜d: G| GdJ G| dI GHd  } d  } d  }  xq |
 j j ƒ  D]` \ } } | | d k rF| j } n  | | d k rb| j } n  | | d0 k r| j }  qqW| d  k	 r˜| d  k	 r˜|  d  k	 r˜xh | D]` }& | d |& k rà| d |& k rà|& d }! n  | d |& k r­| d0 |& k r­|& d }" q­q­Wt& | | |  | |! |" ƒ }# t |
 | |	 d1 | d2 |# d ƒ} t |
 | |	 d1 | dI d2 |# d ƒ} | j$ | ƒ | j$ | dI ƒ q˜n  |$ t k r¹d: G| GHd  } d  } d  }  d  }' d  }! d  }" d  }) xŸ |
 j j ƒ  D]Ž \ } } | | d k r| j } n  | | d k r+| j } n  | | d0 k rG| j }  n  | | k sc| | dI k rç| j }' | }( qçqçW| d  k	 r¶| d  k	 r¶|  d  k	 r¶|' d  k	 r¶x‘ | D]‰ }& | d |& k rã| d |& k rã|& d }! n  | d |& k r| d0 |& k r|& d }" n  | d |& k r°|( |& k r°|& d }) q°q°W|! d  k	 r³|" d  k	 r³|) d  k	 r³t' | | |  |' | |! |" |) ƒ }# t |
 | |	 d1 | d2 |# ƒ} | j$ | ƒ q³q¶q¹qCqCWqÃn  i d; d7 d< dK g g d? 6d; d7 d? dK g g d< 6d; d7 d? d< g g dK 6d d" dL dM g d dF dL dM g g dN 6d d" dN dM g d dF dN dM g g dL 6d d" dN dL g d dF dN dL g g dM 6d d" dO dP g g dQ 6d d" dQ dP g g dO 6d d" dQ dO g g dP 6dE d; dR dS g g dT 6dE d; dT dS g g dR 6dE d; dT dR g g dS 6dF d; dU dV g g dW 6dF d; dW dV g g dU 6dF d; dW dU g g dV 6dC dB d) d* g g dX 6dC dB dX d* g g d) 6dC dB dX d) g g d* 6}, dY dZ d[ d\ d] d^ g }- | |, j ƒ  k rr| |- k rr| | k rr|, | } x¡| D]–}. d  } d  } xU |
 j j ƒ  D]D \ } } | |. d k r| j } n  | |. d k r÷| j } q÷q÷W| d d }! | d0 d }" | d  k	 rÕ| d  k	 rÕd. G| Gd/ GHt( | | | |! |" ƒ }# xi t) | |. d0 |. dI f |# d |# d d |# d d f ƒ D]* \ } }/ t |
 | |	 d1 | d2 |/ ƒ} qÖW| | k r | j$ | ƒ n  |. d0 | k rD| j$ |. d0 ƒ n  |. dI | k rk| j$ |. dI ƒ qkqÕqÕWn  i d_ d d` da d0 g g db 6d_ d d` db d0 g g da 6d` d d_ dc d0 g g dd 6d` d d_ dd d0 g g dc 6d= d; d7 dD d g d> d; d7 dD d g g dD 6de d d df d g g df 6}0 d dg d dh g }1 | |0 j ƒ  k r$| |1 k r$|0 | } xÇ| D]¼}. d  } d  } d  }  xq |
 j j ƒ  D]` \ } } | |. d k r±| j } n  | |. d k rÍ| j } n  | |. d0 k r‰| j }  q‰q‰W| d d }! | d  k	 ra| d  k	 ra|  d  k	 rad. G| Gd/ GHt* | | |  | |! di |. dj ƒ}# |. dj d k rt |
 | |	 d1 | d2 |# ƒ} n  |. dj d0 k rÚt |
 | |	 d1 | d2 |# d ƒ} t |
 | |	 d1 |. dI d2 |# d ƒ} n  | | k rö| j$ | ƒ n  |. dI | k r| j$ |. dI ƒ qqaqaWn  | | k rVdk G| GH| j$ | ƒ | j  | ƒ n  t | ƒ } q8WHdl G| G| GH| j  | | f ƒ | t | ƒ 7} q� Wdm Gt+ | | ƒ Gdn Gt+ | ƒ Gdo G| | dp | GHHx | D] }2 |2 GHqØW|	 j, ƒ  t | dq ƒ }	 t j d | d | d | dr t% ds | j- j. ƒ  dt t d t j ƒ }3 |	 j, ƒ  |3 j/ ƒ  d  k	 sdt" ‚ |3 j0 ƒ  d  k	 s|t" ‚ |3 j/ ƒ  }4 |3 j0 ƒ  }5 t1 du |4 dv |5 dw dx ƒ |3 j j2 j3 dy |4 j4 ƒ  ƒ |3 j j5 j6 d dz ƒ d  S(|   NsE   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t   mon_lib_srvt   ener_libt	   file_namet   keep_monomer_mappingst   logg        i    t   _ht   ws   Residue name: s   Missing hydrogen atoms: i   s0   missing %4s: bond: %4s %4s bond distance = %5.3fs'           %4s: angle: %4s %4s %4s = %5.3ft   PHEt   TYRt   HISt   TRPt   ARGt   CE1t   CD1t   CZt   ND1t   NE2t   NE1t   CE2t   HE1t   CD2t   HE2t   CE3t   CZ3t   HE3t   CGt   HD1t   HD2t   CH2t   CZ2t   HH2t   HZt   HZ2t   HZ3t   NEt   CDt   HEs	   Building:s    ...i   t   new_atom_namet   new_atom_coordinatest   HAt   HA1t   HA2s   Building: HA1 and HA2t   CARH   t   Ns
   Building: t   CBt   HB2t   OGt   SGt   HB1t   HG2t   HG1t   CEt   NZt   HGt   CG2t   CG1t   OG1t   HBi   s    and t   HB3t   HD12t   HD13t   HD11t   HD22t   HD23t   HD21t   HG22t   HG23t   HG21t   HG12t   HG13t   HG11t   HZ1t   ALAt   LEUt   ILEt   VALt   THRt   LYSt   NH1t   NH2t   HH12t   HH11t   HH22t   HH21t   OHRZ   t   SERt   CYSRQ   i   s   Unknown hydrogen type: s   Still missing: s   Build s    from s    % = g      Y@t   rt   strict_conflict_handlingt   crystal_symmetryt   force_symmetryt   xray_structuret   geometry_restraints_managert   max_iterationsiPÃ  t   new_xyzs   out.pdb(   Rh   Ri   Rj   Rk   Rl   (7   R   t   serverRb   R   t   processt   Truet   syst   stdoutt   all_chain_proxiest   ost   patht   basenamet   opent   all_monomer_mappingst   write_atomst   monomert	   bond_listt
   angle_listt   missing_hydrogen_atomst   keyst	   chem_compt   three_letter_codet   residue_namet   lent	   atom_id_1t	   atom_id_2t   expected_atomst   itemst   xyzt
   value_distt	   atom_id_3t   value_anglet   appendt   Nonet   AssertionErrorR1   t   removet   FalseRA   RI   RO   t   zipR`   t   intt   closet   pdb_inpRº   R¼   R½   t   regularize_modelt	   pdb_atomst   set_xyzt
   sites_cartt   pdb_hierarchyt   write_pdb_file(6   Rc   Ra   Rb   t	   processedt   total_missingt   still_missingt   still_missing_ht   atom_numbert
   file_name_t   filet   monomer_mappingRÍ   RÎ   t	   missing_hRÓ   t	   unknown_ht   n_missedt   ht   blt   atomt   target_atom_namet	   atom_namet   target_sitet	   bond_distt   formatt   anglest   alt   bonded_to_target_sitet   ring_ht   targetsR	   R
   R   R   R   RÙ   t	   build_onet	   build_twot   angleRB   t   cb_or_ha1_or_ha2RC   t	   cb_like_ht   targets_t
   hhh_like_ht   hhh_residuest   targett   coordinatest
   arg_like_ht   residue_namest   itemt   processed_pdb_fileR¼   R½   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   run  s   		

 	%-$,*	$		$	$  	$	$   !	44%%(
	(	$    
		0     $!	#%%%*
J   +
$"
  		
	
c   	      C   s¶  | d  k r | d  k s6 | d  k	 r0 | d  k	 s6 t ‚ | d  k	 rw | t j d | ƒ IJ| t j d | j ƒ  ƒ IJn  | d  k r| d  k rx |  j j ƒ  D]f \ } } | j ƒ  | j	 j ƒ  k sÌ t ‚ | d 7} | j
 } d | | _
 | | j ƒ  IJ| | _
 qŸ Wn¦ |  j j ƒ  d } | d 7} | j
 | j	 | j | j | j f } d | | _
 | | _	 | | _ d | _ d | _ | | j ƒ  IJ| \ | _
 | _	 | _ | _ | _ | S(   NRº   t	   unit_celli   s   %5di    (   RÞ   Rß   R   t   format_cryst1_recordt   format_scale_recordsR  R×   RØ   t   stript   namet   serialt   format_atom_recordt   valuesRÙ   t   occt   b(	   Ró   Rð   t   file_objectR†   R‡   Rº   Rû   Rù   t   orig(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyRË   ¥  s4    	!
	
$				$c      	   C   sm   |  j  ƒ  } t d | d | d t j j d | ƒ ƒ } |  j | ƒ Hd GH| j j ƒ  Hd GH| j j ƒ  d  S(   NRé   R½   t   lbfgs_termination_paramsR¾   s"   Energies at start of minimization:s   Energies after minimization:(	   Ré   t   geometry_restraints_lbfgst   scitbxR   t   termination_parameterst   set_sites_cartt   first_target_resultt   showt   final_target_result(   R¼   R½   R¾   Ré   t	   minimized(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyRæ   Ç  s    t   __main__s   arg.pdbs   lys.pdbs   ala.pdbs   gly.pdbs   his.pdbs   ile.pdbs   leu.pdbs   phe.pdbs   tyr.pdbs   trp.pdbs   thr.pdbs   val.pdbs   cys.pdbs   ser.pdbi   t   relative_paths   phenix_regression/hydrogenst   tests9   Skipping build_hydrogens.run(): input files not available('   t
   __future__R    t   mmtbx.monomer_libraryR   t   mmtbxR   t   mmtbx.monomer_library.servert   iotbxR   t   cctbx.geometry_restraints.lbfgsR   R   t   scitbx.lbfgsR!  t   libtbx.load_envt   libtbxR   RÃ   RÆ   R1   RA   RI   RO   R`   R  RÞ   RË   Ræ   t   __name__t   filesRÔ   t   argvt   envt   find_in_repositoriesRÇ   t   isdirt   pdb_dirRò   t   join(    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/hydrogens/build_hydrogens.pyt   <module>   s@   	8	2	4	#	J	ÿ ‘	