This example uses example Cimetidine data from the EXPO software
At present (September 2000) Rietveld programs are not as powerful for calculating
hydrogen positions and setting found and calculated hydrogens refining as riding atoms.
Thus it can be easier to use a single crystal program to provide calculated hydrogen
positions.
(This is most reliable if you know where the hydrogens are located. Care - and some confirming NMR spectra may be required) Now having refined the structure using a Rietveld program (such as LHPM-Rietica, Fullprof, GSAS, etc), it would be a good idea to add calculated hydrogens where possible as this is part of the total scattering intensity you are trying to model. In the following case, it will be assumed that the structure has been refined in LHPM-Rietica (though it is the same procedure if this was a Fullprof or GSAS file).
Obtain a dummy Shelx HKL fileObtain a dummy HKL file in Shelx format (using the Le Bail extracted HKL file would be OK but any HKL file will do). Some parts of Crystals will not be happy unless it can see a dummary HKL file.If you don't have a dummy Shelx HKL file click here to obtain one. |
Ortep-3 MS Windows - Louis J. Farrugia
The Shelx file probably does not have the SFAC for Hydrogen so it would be good to add this in now. Manually edit the Shelx file and change: SFAC S N C UNIT 1 6 10to: SFAC S N C H UNIT 1 6 10 9 You may like to copy this file into a new directory before running Crystals (or any other single crystal suite)
|
WinCRYSTALS 2000 (Crystals for Windows Single Crystal Suite) - David Watkin
WinCRYSTALS 2000 (Crystals for Windows Single Crystal Suite) - David Watkin
Run Crystals and select the working directory using File, New Working Directory Import the Shelx file using X-ray Data, Shelx file (INS or RES). As Crystals cannot interpret the Shelx symmetry operators to obtain a spacegroup symbol, when prompted input the spacegroup (P 21/A)
If Crystals has the number of atoms to search for in the Shelx file incorrect, input the correct number of atoms (in this case 17 instead of 8). If prompted, there are no Q peaks to rename, you don't want to look at the structure in cameron, and keep the present atom numbering.
Now select X-ray Data, Reflection data and import a dummary HKL file. It does not really matter what options you use as long as this file goes in. For outputting the structure later, Crystals can be unhappy if you do not have an HKL data file. |
Automatic Placement of Hydrogens but some Inaccurate AssignmentsA note from David Watkin on this (in the context of Rietveld refinement before placing the hydrogens):
More information on "To restrain - or not to restrain"Date: Wed, 13 Sep 2000 11:18:59 +0100 (BST) From: David Watkin [[email protected]] To: Lachlan Cranswick [[email protected]] This is a deep philisophical problem, and draws in the Bayesian/non-Bayesian people. The non-Bayesians say that each experinent should be treated as separate from any other, so you just refine as best you can with the x-ray data you have. The Baysians say that this is daft. If some other good experiment has given good values for something, you should include this knowlwdge in the current process. The trick is to know what weight to give this external information. A weight of zero makes it a non-Baysian calculation. A weight of infinity makes it a constrained calculation. Other weights lead to restraints. Im a Bayesian myself. If a bond length is weird, either its a fantastic discovery, or its wrong. If it's wrong - what's the point in publishing it? Put it right. If the Rfactor goes up, then the data is rubbish and needs improving. If it stays about the same, then the data doesn't define the parameter - but it may also fall showing that the trial model was poor. If one parameter is left at a poor value, others may take on incorrect values to try to compensate - this is because the parameters are always correllated! Best wishes David |
Automatic Placement of Hydrogens but some Inaccurate Assignments - cont'dWith the given caveates above: select Structure, Add Hydrogen and Crystals will now calculate the position of hydrogens off the carbon positions. Note that depending on the accuracy of the Rietveld refinement to give decent bonds lengths and angles, Crystals may not get the correct Carbon type as it assumes high quality single crystal data is being used. For example it has not picked up the Methyl carbons correctly. One solution (most likely dodgy given the above comments by David Watkin) is to add the hydrogens to the offending carbons via scripts
|
Semi-Automatic Placement of HydrogensThe above assignments were not adding the Methyl hydrogens correctly because the Rietveld refinement is not providing accurate enough atomic positions. As an exercise (in this case noting a bond length restrained Rietveld refinement may be a better option before proceeding) we will manually add the hydrogens to the two Methyl Carbons, then automatically add hydrogens to the rest of the carbon atoms where they are applicable. At present manual addition of hydrogens is done by the script interface but it can be expected this will also migrate to the GUI menu system in the near future. If you have the hydrogens placed incorrectly already, select Structure, Remove Hydrogen
|
The options for hydrogen placement can be found with the computer based manual by selecting Help, Manual, Atomic and Structural Parameters; then select the webpage option of Hydrogen placing - \HYDROGENS Via the bottom left script interface into Crystals (up arrow goes through previous commands), type:
\HYDROGENS and [ENTER] The Sequence would look like the following on the script command line:
\HYDROGENS H33 C(15) C(8) C(13) H33 C(16) N(2) C(11) end The will result in the C(15) and C(16) atoms having methyl hydrogens added to them.
|
Now select Structure, Add Hydrogen and Crystals will now calculate the remaining hydrogen
positions off the carbon positions.
|
Exporting the Structure from CrystalsAn option on the latest Crystals is to select Publish, Platon which will output a Shelx *.RES file (after trying to spawn Platon). If you do not want to spawn Platon, you could do the following from the script interface:
#FOREIGN PLATON END
|