Information about new developments in Fox
On this page, you will notably find information about new feautures included in Fox BETA (TEST) versions. You can [http://sourceforge.net/project/showfiles.php?group_id=27546&package_id=162603 download these beta versions], but be aware that these are less stable than official releases. It is highly recommended to subscribe to the [:FoxMailingList: Fox mailing list] when using these versions, as new beta versions are announced on that list (including possible bugs).
NOTE: all beta versions between 20050707 and 20051001 are affected with a bug which produces wrong multiplicity for acentric reflections. Please update to a more recent version.
New Features in current beta versions
- [#mol New Molecule]
- [#crystal Crystal Scattering Powers interface]
- [#bv Bond Valence]
- [#multi Multiple Optimizations]
New Molecule Object
Rigid Groups have been added: the atoms included in such a group are garanteed to never move relatively to each other, within the molecule's reference frame (i.e. they can be translated and rotated by the same amount), no matter which 'flexibility model' has been chosen. Note: use this with caution... having flexibility is generally a help to find the global minimum.
Flexibility: the stretch modes which are used to randomly changed the structure of the Molecule have been entirely rewritten, to respect more the given restraints. There are now three possible options, similar to those in the previous version of Fox:
Automatic from Restraints - relaxed: this is the default, and highly recommended, mode. the stretch modes used (listed when the optimization is begun) modify the bond lengths, bond angles, and torsion angles (multiple or single branches). Whenever a stretch mode is associated with a restraint, the algorithm will try to respect it. The only case when it will not manage to do this is when there are conflicting restraints (e.g. if you define a CH4 group with 6 bond angle restraints, the move of any of these bond angles is likely to break the other ones) ; in the case of conflicting restraints the algorithm will do smaller moves for the corresponding stretch modes, but may end up distorting the molecule. To avoid this you can use a rigid group.
Rigid Body: classical rigid body - only the translation and the orientation of the entire molecule are changed. The rotation can be inhibited by using the Optimize Orientation option, and the translation can be restricted by fixing the x, y and z parameters of the Molecule.
Automatic from Restraints - strict: this is the same as the relaxed version, except that whenever a conflict (e.g. modifying a bond angle will break another one) is found, no move is done.
Specific Atom as Rotation Center: the default mode is to center the Molecule around its geometrical center (i.e. located at the average -unweighted- of all the atom's coordinates). You can now choose to center the Molecule on a given atom. To do this you must (1) set the Rotation Center option to User-chosen Atom, and (2) choose the Center Atom by clicking on the corresponding button just above the list of atoms. This can also be used to fix one atom at a specific position in the unit cell (the fractional coordinates of the Molecule correspond to the center).
Graphical Interface: the list of atoms is now displayed in a grid, and can display much faster large structures. The same layout is used for bond, angle, dihedral, and rigid groups restraints, which are grouped in a single window.
Crystal Scattering Power properties interface
The interface to all Scattering Powers (atom types) has been merged into a single tabular window. Use the Scatterers->Show Scattering Powers Parameters Window menu to open the window. You can edit all parameters:
Scattering Powers window:
Charge: the expected formal charge. This is only used to compare to bond valence calculations
Colour, as red, green and blue components (each between 0.0 and 1.0)
ML Error: this is the Maximum Likelihood positionnal error parameter - only use this if you know what you are doing ! A non-zero value means that you wish to tell the algorithm that you do not exactly know where these atoms are. It changes the calculated intensity as well as introduces an uncertainty on the calculated structure factors. Useful values are between 0.0 and 0.3, if you really want to try this.
#ghost: Currently does nothing ! Eventually this will hold the number of blurred atoms (atoms that are in the unit cell, but you have absolutely no idea where (see [http://dx.doi.org/doi:10.1107/S010876730200510X Acta Cryst. A58 (2002), 316-326].
AntiBump window: This lists all anti-bump parameters. Just add a value between the scattering powers that should not overlap (note: for diagonal antibump parameters -same element- the antibump allows a full overlap). To remove one antibump, simply delete the value, or put 0.
BondValence window: This lists all bond valence parameters. Just add Ro values corresponding to the pair of scattering powers. To remove one Ro, simply delete the value, or put 0.
Bond valence calculations have been added. You can add a bond valence (Ro, see tabulated data at http://marie.epfl.ch/orlov/bondval/). Right now it can be used to validate structures, or as a cost function to minimize it (but this is experimental - notably you will need to find the correct scale factor for the Bond Valence cost). To add a bond valence parameter, use the now [#crystal unified interface for Scattering Powers parameters]. To compare the calculated valence to the expected formal charge, save the crystal structure as text, and all calculated valences will be included.
Fox can now perform Multiple Optimizations, i.e. launch successively several optimizations runs. This is a Dash-like feature, but the aim is not to ensure that you will find the global minimum (the parallel tempering algorithm should ensure that), but rather to provide several solutions so that you can have a better feeling about whether you have found the actual global minimum: if you find repeatedly the same solution,then that should be it.BRBR When launching a multiple optimization, each one starts from a random configuration, discarding any previous solution. After stopping the optimization, use the Solutions->Browse Solutions menu to select each configuration (the display - powder patterns, 3D structure- will be updated).BRBR Note that the multiple solutions are not saved in an xml file, so do not exit before looking at all of them ! You should use the Save Best Config Regularly -> Every Run option to save the result of each run in an xml file.
It is also possible to use the multiple runs from the command line - Fox will save the result of each run in a different xml file, independantly of the current value of the auto-save option. Example:
Fox -i example/pbso4-joint.xml --nogui -n 30000 --nbrun 20 --silent
To do systematic tests of Fox, you can also use --finalcost to stop the minimization when it has been reached. For multiple runs, Fox will give you statistics at the end of all runs. Examples:
src/Fox -i example/pbso4-joint.xml --nogui -n 30000 --finalcost 12000 --nbrun 20 --silent
src/Fox -i example/Cimetidine-powder.xml --nogui -n 3000000 --finalcost 210000 --nbrun 20 --silent
Note for windows users: As the console output is now deactivated, you should redirect the output to a file by appending > log.txt at the end of the command line. Otherwise you won't see what is happening, but you still get the saved xml files.
Note: using --nbrun -1 will have the same effect as in the GUI, i.e. Fox will run until it is killed.