Hi Anna,
I used phenix.ready_set to add deuterium atoms to the exchangeable hydrogen positions.
Note that phenix.ready_set currently adds exchangeable H/D to proteins only and adds H to the rest. So if you have a ligand you may want to check and replace H to D.
I ran a perl script to set the initial occupancies of those to 0.5 H and 0.5 D (they had been output as 1.0).
You don't need to do this manually: phenix.refine does this automatically. However, I agree, it would be less confusing if phenix.ready_set sets 0.5 from the start.
When I ran phenix.refine with riding hydrogen positions or with individual hydrogen positions, the H and D atoms refined to different positions.
How can I constrain the H and D positions to be identical?
Are they very different? I can easily change the code so phenix.refine makes them identical. The question is do we really need it? I'm not arguing but just asking. Also, my observation is that in joint refinement or in refinement using neutron data only, very often it is good to try this option: "optimize_wxc=true optimize_wxu=true". This will optimize the relative X-ray or Neutron / geometry weights. Note, it may take a while. Pavel.