2.5 Structure Completion: peaks2d
This code has been superceded by the peaks window within edm. The following information is only for historical purposes, for older installations
This program does a reasonable job at finding additional atoms and completing the structure. However, it is not perfect so some care is required. (Work is in progress to improve this program.) Note: it requires a file called name.ext (not name.hkl) as input with some phases given. The shell code peaks2D.sh run as
peaks2D.sh name num
will produce solutions 1-num and allow you to analyze each of them in order. Progress of the algorithm can be monitored by using a file called index.htm which can be viewed using Netscape or Internet Explorer. It is an html file which contains images (output as requested by the user) and is updated as the program runs. You will therefore want to use the "Reload" command within your viewer as you go to see the next images.
This is a complicated program, and requires manual intervention in many cases. What you are trying to do is replace the peaks in your solution by actual atoms and refine these atom positions. For reasons of speed the refinement and the replacement by atoms is not rigorously accurate, so you will need to perform a final refinement using some other program. It is not guaranteed to find all the atoms -- it will do a fair job.
The general procedure for its use is:
All the above is achieved through combining finding the atoms (Command (A)), finding the occupancies (Command (O)), improving the current map (Commands (F) or (J) followed by another Entropy/Mixed/Positivity refinement) and finding the additional atoms (Command (D)).
An example can be found in Examples/Si_Peaks/index.htm
Interactive commands within peaks2D
The program peaks2D has a number of interactive commands
Further iteration commands
Positivity Run (P) Do another cycle from current phases using positivity mode. If you have a good initial solution, doing a positivity run will probably help -- it is also useful after projecting onto an existing model of atoms.
Mixed Run (M) Do another cycle from current phases using mixed mode
Entropy Run (E) Do another cycle from current phases using entropy mode
Finding peaks (atoms) in the current map
Atom peaks (A) Find peaks and the center-of-mass from current estimate. A list of peaks is kept within the program as the current atomic positions, and also output to a file called "peaks.lst". With a little editing, this file can be used with either atoms or other code such as SHELX for further display or refinement.
List atoms (L) List the current atoms (peaks)
Finding the best peaks (atoms) in the current map
Occupancies (O) Given a set of peaks found previously, this code will perform a search to find the best approximate R-factor that matches the experimental data. (Note: this is an approximate R-factor based upon the windowed, unitary structure factors, not a full fit.) If there is only one type of atom and less than 16 peaks it will do a grid search of all possible values. Otherwise it will use a genetic algorithm to perform a search. The best solutions are saved in a file called "search.lst" with x, y, z, Height values. With a little editing, this file can be used with either atoms or other code such as SHELX for further display or refinement. If in your original name.ins file you gave it more than one type of atom, it will print out the Z*occ input (occ=occupancy). By default it will assume that you have this many types of atoms (you can over-ride this, or use more if you want to) and ask you for Z*occ values. If you have strictly kinematical data, you should use the values that it gave you; with dynamical transmission electron diffraction data you should use a value which can, in principle, be obtained from a chanelling analysis. The later is an area of current research, so you are on your own!
G-of-F (G) Determines the current Goodness of Fit (R-factor).
Refine (R) Refine the current positions
Recycling commands
Fix Atoms (F) For a given set of atoms with either variable or fixed heights (all the same), this will replace the peaks in real space by those due to the "known" atoms, eliminate negative regions and recorrect the moduli in reciprocal space to the experimental values. In effect this projects the solutions onto the set with atoms in certain known positions. A number of cycles of this projection can be applied to improve the current map.
Difference Proj (J) This is similar to the above command, but instead looks at the difference between the "known" atoms and the current map. Since this difference should be atoms, it does an entropy-type projection of this difference then adds back in the known structure. A number of cycles of this projection can be applied to improve the current map.
Difference (D) This command will look at the difference map between the current image and current set of atoms, locate the top three peaks and then attempt to fit some combination of these using atoms. It will search each of the 8 permutations, refining each one then pick the best one.
Input/Output
Import sites (I) Allows you to read back in either peaks that have been manually edited (in peaks.new) or one of the existing solutions in search.lst.
Save Image (S) Saves, for display using Semper and Gif formats the current map. The number of the map is automaticaly incremented as the file Isolve"n" for Semper and Isove"n".gif for a Gif file, viewable using an internet viewer via the file index.htm.
Current Model (C) Save, for display using Semper and Gif formats an image showing the current projected potential (for electrons) or charge density (for x-rays) for comparison with the map.
Miscellaneous
Z*Occ (Toggle) (Z) Toggle between using peaks of the same height and weighted peaks
Symm (S) Change the symmetry. For instance, you might want to run your maps in p6mm then refine in p3m1. Note: this may not work, and the code does not check that you are using a realistic symmetry (subgroup of the initial symmetry).
Quit (Q) Exit the program