|
Overview
The stepwise structure determination procedure explained in this chapter combines two major tasks: The building of a plausible chemical model by interpretation of electron desity and, on the other hand, the mathematical refinement of the structural parameters (given by the model) to optimize the fit of the model to the experimental data. The single steps are normally carried out in the following order: 1. Assignment of
all atoms except for hydrogen atoms (see previous chapter)
After each single step of model editing in XP you will use the refinement program SHELXL. Therefore at certain stages of the refinement you will have to 1. edit the instructions
file (INS) for SHELXL
In our tutorial, the mathematical refinement of the model (just saved at the end of the previous chapter) will be the next task to do, so first the special features of a refinement instructions file will be explained. The INS file
|
| Open the file with a text editor: nedit momo-new-1.ins & |
![]() |
| The refinement
instructions
The new instructions found after the UNIT line are L.S., BOND, FMAP, PLAN and FVAR. The purpose of the first four is written in the same line, as you can see in the picture. For this, we have used comments starting with the exclamation mark (!). Note: Comments written as a complete line start with the REM keyword, whereas comments appended to a normal intruction line are defined by the !. Generally, comments are recommended, since they can make the use and the purpose of instructions or parameters more understandable. FVAR is an instruction managing all free variables of the refinement. More about the concept of free variables will be explained later - at the moment there is only one value of 1.00000 anyway. This first FVAR value has always the function of the overall scale factor (OSF), indicating how calculated structure factors are scaled on the experiental ones. During the first refinement calculation, the OSF will change a little. The atom lines
Starting the refinement job |
| According to the upper picture, you should set the number of refinement cycles (L.S.) to 8. This is the only change to be made, except for the comments that you may wish to add to your instructions. Do not forget to save the INS file with the text editor option file->save, keeping its name. Then, leave the editor with file->exit. |
| Just like SHELXS before, also SHELXL needs two files of the same name, the INS- and the HKL file. The experimental data are of course not affected by any model changes, hence you always have to use the same HKL file. But once you update the INS file name for a new step, you also have to change the HKL name accordingly. |
| There are several ways to update a HKL file name without changing the original content. The probably easiest way (also saving most disc space) is to simply rename the file, in our case type the Linux command mv momo-new.hkl momo-new-1.hkl. Now start the program SHELXL as usual with the common file name, typing shelxl momo-new-1 to the terminal. |
![]() |
| This picture displays
a part of the terminal output messages of SHELXL. The program additionally
creates a RES file (momo-new-1.res),
containing the model with updated parameters (x ,y, z, U) and new difference
electron density peaks as result of the refinement calculation. The second
output file ist of LST type (momo-new-1.lst),
in which detailed diagnostic and other information is found for every cycle
of the refinement.
You can regard the terminal output as a very short summary of the LST file, listing only the most important quality criteria for each of the 8 L.S. cycles. Parameter refinement
and R-values
Difference electron
density
Analyzing
and editing the refined model
|
| Type xp momo-new-1 to the terminal. As usual, the first XP command is fmol in order to create the model connectivities from the coordinates. Next, have a first look at the model by typing proj: |
![]() |
| As you see, the connection of the new Qs to the old atoms is somewhat confusing. The main reason is that many internal bonds are assumed by XP due to very close positions. Since the current model lacks only hydrogen atoms making single bonds, it is justified to assume that the Qs should only bond to one model atom each. |
| The command prun reduces the number of remaining bonds to the n shortest for all atoms named. Type prun 1 $q in order to reduce the number of bonds to one for all Qs - only the bonds to the closest non-H atom should remain. A new proj display reveals the possible hydrogen atom positions in a much clearer way: |
![]() |
| At many of the expected
hydrogen positions you can observe Qs. Only because of the PLAN instruction
(INS file) being limited to 20 peaks, you do not see them all.
Still, something else is striking: The presence of four peaks, Q1 to Q4 close to the atoms C6 and C6'. These peaks do not seem to be hydrogen atoms, because they are too close to the carbon atoms and the geometry appears to be strange. Remember also that C6 and C6' have been the two atoms with the largest parameter shifts. Both the peaks and the shifts are good arguments for a closer look at the apparent problem and its possible solution. |
| Type info to list all atoms and Q's. |
| The peak values for Q1 to Q4 are much higher than for the rest, so these peaks can obviously be distinguished from normal 'pseudo' hydrogen atoms. |
![]() |
| Looking at the atoms and their refined U-values, C6 with U = 0.007 and C6' with U = 0.008 also seem to be 'irregular', because the normal range of U-values is 0.021-0.028. |
![]() |
| U-values are quantities to describe the electron (density) distribution around atom centres. Thus, a better way than just giving the number is to calculate and display graphical objects from it. Using the model orientation from the last proj operation, you can show the atomic displacements graphically by creating an ORTEP plot. |
| Type telp 0 -50 0.01 less $q to generate the ORTEP plot for all assigned atoms. A name has to be given for the picture to create, type e.g. test. |
![]() |
| As just said, ORTEP
plots visualize the electronen density distribution around atoms according
to the refined U values. The second parameter of the TELP instruction is
-50, the minus activates the ORTEP display mode, the value 50 specifies
an electron probability of 50%, which is the standard for thermal ellipsoids. The remaining
two parameters are rather unimportant: 0 is for a non-stereo picture, 0.01
gives the relative bondwidth in the model display. 'Less $q' excludes the
Qs from display as usual.
As you see in the picture, the electron distributions have a spherical shape. This results from the fact, that only one displacement parameter U(eq) has been refined so far. You call this a isotropic U-value refinement. U(eq) is just the radius of the sphere describing the isotropic distribution. At this stage of refinement, directional atomic displacements cannot be seen yet, but the ORTEP plot helps checking the correctness of atom assignments. Note: If a model atom is lighter, i.e. has less electrons than the real atom, then the U value attempts to compensate this by refining to an unreasonably small value, which concentrates the electron density. Similarly, too heavy model atoms lead to unreasonably big ellipsoids. In our case C6 and C6' are responsible for unreasonably small ellipsoids, because they really are oxygen atoms (which you also would expect chemically). |
| Finish the TELP/ORTEP display by pressing the escape key. |
| If you want to change just a few atom types by renaming the labels, it is faster to do this by single text commands than by starting a graphical pick session (see above). The XP command name [old atom name] [new atom name] is the appropriate instruction for this, it works just like the Linux mv command. Note than renamed atoms (both with pick and name) automatically get the correct SFAC number when saving the model into a new INS file. |
| Use the two commands name C6 O6 and name C6' O6' for a fast renaming. Then, erase all Qs ( kill $q) - this time you don't need to place new atoms from Qs. Save the new model with file momo-new-2, as RES source momo-new-1.res is given. |
|
Anisotropic U-value refinement The two new O-atoms are the only model changes in the new INS file. Although visible, hydrogen atoms still are not placed. Now, that all non-H atoms have been correctly assigned, it is first necessary to refine their anisotropic displacement parameters (ADPs). |
| Edit the new INS file: nedit momo-new-2.ins &. Insert the SHELXL instruction ANIS into the text, as shown in the following picture. In priciple, the order of instructions within the INS lines is flexible; to make sure the program runs properly, new lines should however be placed in between the instructions UNIT and WGHT. |
![]() |
| ANIS tells SHELXL to refine six displacement parameters instead of one. These 6 parameters describe both the shape of the electron density distribution (which now can become really ellipsoidal) and its orientation relative to the 3 axial directions. The anisotropic distribution is often based on atomic vibration alone. Hence, by looking at the ORTEP plot you can tell whether an atom vibrates in a particular direction (the thermal ellipsoid has a cigar shape) and - by the orientation of the ellipsoid - also in which direction it vibrates. |
| Additionally, set PLAN 20 to PLAN 40, thus enabling the display of more hydrogen peaks. Don't forget to save the INS file and to update the HKL file name to momo-new-2.hkl. Finally, start the next SHELXL job: shelxl momo-new-2. |
![]() |
| Looking at the output, you see that all quality indicators significantly improve (R1 = 0.675). This due to the much more realistic description of the model with ADPs, but also due to the corrected atom assignment. |
| Now
type the usual commands for XP:
xp momo-new-2
|
![]() |
| Now almost all hydrogen positions can be identified by the peaks. A look at the ORTEP display using |
| telp 0 -50 0.01 less $q |
| confirms the oxygen atoms at positions 6/6' - the ellipsoids have a reasonable size compared to the rest. All ORTEPs still have quite a spherical shape, so there are apparently no exceptional atom vibrations. |
![]() |
| Bond lengths
and angles
From the crystallographic point of view, bond lengths and angles are only derived quantities, resulting from the atomic positions (x,y,z). For the structural chemist however, they are the most important molecular characteristics aimed at. In our case, the bond lengths have already been helpful for the question whether carbon or oxygen is more likely at position 6/6'. Now, they can indirectly confirm hydrogen positions, because even if no Qs were at certain positions, you could prove then with help of the carbon atom geometries. The XP command bang [atom name] lists the lengths and angles of all bonds to neighbouring atoms for any specified atom - or for all atoms if no name is given. For example it would be a good idea to apply this command on the atoms C3 and C8 to deduce the hybridization of these atoms as well as their bond partners. This will also enable us to determine all hydrogen atoms connected to the respective non-H atoms. |
| Type bang c3 c8 in order to list all bond lengths and angles belonging to these two atoms. |
![]() |
| You read the 'bang'
list like a crossword table: The bond lengths are always found in the first
column after the two atom names specifying the bond. In the next columns
the angles between the respective atom pair and a third atom, written at
the bottom of the angle column, are listed. An example:
1.523 A for the bond between C8 and C5 (1st line, 3rd column of the table for C8) and 109.3° for the angle between the bonds C8-C10 and C8-C5 (3rd line, 4th column). In order to interpret the given values, you need to compare them to theoretically expected ones, as found for example in the International Tables of Crystallography. According to that source, C8-C5 and C8-C10 are single bonds between two sp3-C atoms, C8-O9 is a C-O single bond, C3-C2 is a single bond between two sp2-C atoms, C3-C4 is a C-C double bond and finally, C3-O7 is a single bond with a C-sp2 atom. All these results are also consistent with the experimentally found hydrogen peak positions. This is the chemical structure formula of our compound: |
![]() |
| Note: We didn't
look at the angles explicitly, which are, by the way, agreeing quite well
to the proposed geometry. Angle O7-C3-C4 is widened and C2-C3-C4 is narrowed
compared to the expected 120 degree of a sp2 carbon atom. However,
this is not unusual for a 5-membered ring.
Placement
and refinement of hydrogen atoms
|
| The model has not been modified at all this time, so that you can leave XP (quit) without saving. Open the latest RES file: nedit momo-new-2.res & and insert the instruction TEMP -140, the HFIX lines, and the LIST 3 instruction, as shown in the following image: |
![]() |
|
HFIX tells SHELXL to calculate geometrically ideal positions for the hydrogen atoms (depending on the carbon atom type they are bound to). The experimental temperature given with TEMP -140 is needed for the correct theoretical C-H bond lengths, taking librational motion into account. The refinement will then be applied isotropically, using the so-called riding model. This means, the H-atoms are positionally shifted, parallel to the C-atoms they are bound to. Also the isotropic displacement parameter is coupled to the one of the C-atoms, having the 1.2- or 1.5-fold value. The syntax of the HFIX instruction is HFIX code name, where the 'code' consists of two parts: First a number (m) for the geometrical group type, e.g. 1 for tertiary CH, 2 for methylen CH2, 3 for methyl CH3, 4 for aromatic CH. The first three types are present in our molecule. The second part (n) of the HFIX code determines the way the refinement is done, type 3 for a normal riding model is applied in most cases. So in principle, you could use the HFIX codes (mn) 13, 23 and 33. If the data are very good, it is worth using a different model for the methyl groups, additionally refining the rotation position (conformation). Due to the rotable single C-CH3 bond, the exact position of the hydrogens is not fixed and should not be pre-determined by the geometric model. Instead, a free angle refinement is combined with the riding model. If there are localizable peaks (Qs), the refinement will fit this optimal position. The HFIX for such a methyl group refinement is 137 (m=13, n=7). The oxygen-bound hydrogen atoms are completely ignored for now. Their distance to the oxygen atoms is more interesting, especially with regard to possible hydrogen bridges. We will take care of them later. To examine the electron density distribution around the oxygen atoms more closely in the next XP session, it is necessary to create a special file at the end of this SHELXL refinement. The instruction for the INS file is LIST 3 and the output file will be of FCF type. It closely resembles a HKL file, but also containing the reflection phases (given as complex vectors instead of angles) needed for a contoured electron density map display. A remark about the ANIS and HFIX instructions: You maybe have wondered why the ANIS line has disappeared after the last refinement (the same will happen to the HFIX lines). This is because both are provisory instructions, changing the information content of the atom lines, starting with the first RES file after their application. ANIS extends the atom lines by 5 additional displacement parameters (they actually end with an equal sign (=) which means that they are continued in the next line). HFIX creates new atom lines for H-atoms, included in a AFIX group directly following the non-H atom they are coupled to. After the changes are made, all following refinements are automatically done anisotropically (because SHELXL finds 6 ADPs) and with the model hydrogens (because SHELXL finds the AFIX groups). The ANIS and HFIX instructions are not needed anymore. The benefit of them is that they save the user a lot of work in typing and calculating. |
| Check whether the atom names given in the proposed HFIX lines are correct (I.e. compare with atom name and CH-group type in the XP model). If you agree, save the RES file as new INS file using the nedit menu: File -> Save As -> momo-new-3.ins. After updating the HKL file name as usual, start the SHELXL job: shelxl momo-new-3. After that, don't start XP imediately, but have a look at the LST file first: nedit momo-new-3.lst & |
| The very first part of every LST file is a complete echo of the INS lines, then the connectivity table and some data statistics are given. After that, you find the relevant part about the hydrogen atom refinement (only in LST files where HFIX has been introduced in the current refinement step): |
![]() |
| First, the temperature-dependent libration effect is mentioned, then a difference electron density profile for the '360° cone' around the methyl carbon atoms is listed. Within the 15° steps, always 3 maxima for the density are found, e.g. 87, 59/63 and 109 for the methyl group at C19'. Indeed, these peaks are about 120° apart in projection (8 x 15°), as expected for three hydrogen atoms. Should such a profile not be observed, the simpler instruction HFIX 33 would be preferable to 137. |
| Close
nedit, then start and setup XP as usual:
fmol info $q kill q7 to q40 proj |
![]() |
| Creating electron
density maps
You hopefully recognize that the 6 highest Qs correspond to the remaining hydrogen atoms bound to oxygen, which have not yet been assigned. To further illustrate the difference density distribution, the density map will be created from the FCF file - giving a realistic contour line profile (whereas Qs only indicate the point positions of the peaks). Unfortunately, a 3-dimensional view on the map is not possible in XP and only a 2-dimensional planar section can be displayed. Our example takes peak Q1, which is close to O9. Also C8 shall be displayed in the resulting image. We prepare the picture in a way that you will look perpendicularly on the bond O9-Q1. |
| Therefore,
remove all atoms except for the ones just mentioned and make the plane
built by these 3 atoms the view plane (this is done with the mpln
command):
kill $o less o9 kill $c less c8 mpln Now, create the electron density diagram by typing the command eden and giving some necessary parameters you are asked for by the program: |
![]() |
| Type the values
shown in the picture. Most of them are defaults that can be confirmed by
pressing the return key. When asked for, give the name of the FCF file
(type: momo-new-3). Reading it, XP calculates the density map on which
the diagram will be based. F(000) is the total number of electrons
per unit cell or in case of a difference density map the sum of all electrons
that have not been assigned. We assume 6 missing electrons (= 6 hydrogen
atoms) per asymmetric unit, so with four of them (space group P212121)
F(000) becomes 24. This number is needed to scale the following contour
lines.
Now, the contour line generation starts. All the user needs to set is the height of the contours. The values should be distributed equally between 0.00 and the maximal value of a section (here: 0.54), the number of lines is free. After having finished the contours, the atoms may be labeled the same way like in a telp plot (as usual, break with 'b' or with '/'). |
![]() |
| Now
rename the 6 Qs to H-atoms (you should assign numbers corresponding to
the O-atoms). Save the same way as usual, insert the instruction HTAB
into the new INS file (nedit), then carry out the SHELXL refinement:
name Q1 H9
|
|
Hydrogen bonds and crystal packing HTAB causes SHELXL to look for possible hydrogen bonds. Such a bond type is assumed, if O-H -- O distances are shorter than a certain value and the angle at the H is close to linear. Before looking at the hydrogen bonds, we will first check the present O-H bond lengths in XP. |
|
fmol kill $q bang o7 o9 o11 |
![]() |
| The values are within
a reasonable range from 0.85 to 0.94 Angstrom. In x-ray structures, bonds
involving H-atoms are shorter than the actual atom core distances, because
the single electron is usually shifted towards the bond partner (polar
bonds). For O-H, values below 0.8 A are not unusual, but in the case of
hydrogen bonds, the bonds are weaker and therefore longer. This is also
the case here: the values found are a first hint for hydrogen bonds.
If you had observed bond lengths shorter than 0.7 A or longer than 1 A,
or extremely differing lengths for equivalent bonds like O9-H9 and O9'-H9',
it would have been justified to apply restraints
in order to force the values towards a chemically reasonable value.
After HTAB has been used, the program analysis of hydrogen bonds is found in the LST file, more precisely almost at the end, just before the list of peaks: |
![]() |
| The table shows
that all hydrogen bonds are intermolecular, and that they do not
connect two molecules of the same asymmetric unit, but always symmetry
equivalent molecules. For example, the expression O9 [x+1, y, z]
tells you, that the acceptor atom O9 belongs to a molecule shifted by one
unit cell along the x axis direction.
There is a second way to use the HTAB instruction in the INS file. Its purpose is to include the hydrogen bonds previously found into the connective table as normal bonds. This enables the listing of those bonds in the output files and their display in pictures. Besides typing the new HTAB lines, you also have to define the symmetry equivalents involved. This is also done in the new INS file, the instruction is called EQIV. |
| Close
XP (if still open) without saving and edit the latest RES file (to a new
INS file), inserting the instructions EQIV, HTAB, SIZE and ACTA, as shown
in the picture below. Then, carry out the refinement.
nedit momo-new-4.res &
|
![]() |
| Now some explanations
about the new instructions: EQIV defines a symmetry operation using a variable,
e.g. $1. The expression of the coordinate transformation applied
is in principle analogous to the SYMM instructions of the space group or
to the HTAB expressions in the LST file (as just seen). The HTAB instruction
is given for each H-bond separately with the syntax HTAB
donor acceptor, in case with the extension _$n to specify
a symmetry equivalent atom related via operator $n.
SIZE is used to specify the crystal size in mm (long edge x medium edge x short edge). It is only needed in connection to instruction ACTA, which creates a text file of type CIF, here: momo-new-5.cif. CIF files are only generated at the end of a structure determination (which you have almost reached). They contain all structural information worth retaining for documentation and publication. The lists and tables in the CIF file are however written in a special keyworded syntax and look somehow 'encrypted'. This is because a CIF file is never printed directly, but either printable tables are generated from it with certain SHELXTL utilities or the CIF file is submitted to data bases and journals for publishing. Call XP a last time - now it is the crystal packing we are interested in. The necessary XP command is called pack. To avoid a confusing display, remove all carbon-bound hydrogen atoms. Note also, that it may not be possible to recover the orginal molecules after having created symmetry equivalents with pack. If you want to save a certain state of work or display in XP (to return to it later), use the command save name (here: 'work'). Always use 'save' before 'pack'! |
|
fmol kill $q $h less h7 h7' h9 h9' h11 h11' save work pack |
| The graphical window of 'pack' is similar to the one of 'proj' - again you find menu buttons on the right. The symmetry equivalent molecules within a given packing radius are shown in red-blue stereo display (used with simple 3D glasses to improve the packing depth visibility). The crystal unit cell is shown as well, and hydrogen bonds are drawn automatically. This display is not rotable, but you can include a selection from the pack mode into the connectivity list, thus diplaying it with proj later. You can use the SCAN buttons to select molecules, atoms and bonds sequentially - like in the 'pick' mode, they are blinking if selected. With [space] you proceed to the next object, with [backspace] you go back and with [return] you delete a selected object - it is often a good option to delete some molecules hiding others, so that the display gets clearer. |
| Click
the SGEN/FMOL button (do
not 'SCAN'). The current molecules are added to the atom and connectivity
list. Leave the packing mode and type the following two instructions:
matr 1
|
![]() |
| The proj window
should look more or less like in the picture. Matr is a command
that sets the viewpoint relative to the cartesian axes. In a rectangular
spacegroup like yours, a single parameter after matr corresponds to the
respective cell edge, so 'matr 1' will let you look along cell edge a.
The well-known command proj does also allow the parameter cell,
so that the unit cell is drawn together with the model. (The same is possible
for 'telp', too).
After having displayed the packing of several molecules, the exemplary hydrogen bond H7' O9_$1 shall be displayed alone, so only two molecules have to be shown, of which one is shifted by cell edge length a (1 0 0). This task will involve some special commands and more steps than simple operations. There are several ways to prepare the display, but the use of the SGEN command is probably the best way in a crystallographic sense. SGEN applies every allowed space group symmetry operation, including cell shifts. XP knows the allowed operations from the SYMM lines of the RES/INS file. You can list them within XP using the same command name: SYMM. For each coordinate transformation, the SGEN code is given, e.g. SYMM -> 1555 = +X, +Y, +Z. The first number (1) is the operator number, 1 is always refering to the original coordinates without transformation. The remaining number 555 is specifying the current cell, 655 would be a neighbouring cell (plus one edge length a away), 444 would be a cell shifted by minus one cell edge in all directions, and so on. For your task you need SGEN 1655, or even better SGEN -1655. The minus causes the old atom positions to be deleted, so that the number of molecules will not be doubled upon transformation. Still, a problem remains: The complete content of the asymmetric unit will be transformed, and not just one of the two molecules. Therefore you have to bother specifying all atoms that shall actually be shifted. Their labels are given as second sgen argument after the code. Luckily for the second molecule, all atom labels end with an apostroph. XP knows the ? placeholder (see linux tutorial), so you can adress all atoms of molecule two using the expressions ??' and ???'. |
| Type
in the following commands:
next work
|
| Again, this is quite
a lot of commands. Here is some explanation:
After the pack procedure, the whole work has not to be done again, because we have saved before. With next, a saved state can be recovered, 'work' in our case. If you wonder about the sgen codes, note that for your special case it is smarter to shift molecule two by -a (455) than to shift molecule one by +a (655). This is because the selection argument is much shorter for the second molecule, where you can use the placeholders. Finally, the command join binds any pair of atoms given - no matter how far they are apart. Parameter 7 causes proj to draw the bonds in dotted lines. The result should look more or less like this: |
![]() |
|
Creation and printing of pictures Depending on the number of pictures you have finished with 'telp' and 'eden' (i.e. not aborted with ESC), some PLT files should already exist in the user directory, e.g. q1-fo-fc.plt. These files were created by XP automatically and can only be displayed in XP. To look at existing PLT files use the command view name (e.g. view q1-fo-fc). However, these files are not printable and have to be transformed to PostScript files (or similar formats) for program-independent use. Applying the draw command, you have to give some options (A for Adobe PostScript, next the name of the target PS file - usually identical to the one of the PLT file - and finally option C for a color picture). |
| Type
the following commands:
view q1-fo-fc
|
![]() |
| Now
leave XP, look at the PS file with program GhostView (if installed)
and print it on the color laser printer:
quit
|
|
Adjustment of the weighting scheme Congratulations, you have finished (the manual part of) the structure determination! But to complete the refinement properly, one more important feature has to be taken care of: The weighting scheme. In SHELXL, the internal weighting parameters g1 and g2 affect mainly the wR2 and GooF value. These two parametes are controlled by the WGHT instruction in the INS file. Until now they have been constantly set to g1 = 0.10000 and g2 = 0.0000, in order to enable a better convergence of the parameter refinement. The recommended values for WGHT are always found in the latest RES file, directly after the END instruction: |
![]() |
| Note: Lines following the END instruction are ignored during the refinement. |
| The update of the WGHT parameters is done quite easily: Open the RES file with nedit, copy the recommended line to the place of the regular WGHT instruction and delete the old one (or comment it out writing a REM in from of it). Do not forget to save the RES file as INS file, then refine gain. Note that new file names with higher numbers for INS/HKL are not necessary for this last step. |
![]() |
| This procedure is repeated until the recommended value is (almost) identical to the refined one. This may take some steps (about five). You can avoid the trouble of doing all the operations over and over by applying the small utility script WFIT - (c) Thomas Pape - which automatizes the repeated update and refinement: |
| wfit momo-new-5 |
|
And this is the end of the structure determination and the tutorial. Goodbye! back to start |