Introduction
Base idea: add restraints to model using a priori chemical knowledge, such as the number of neighbours around one atom, or the distance between two atoms (e.g. from NMR knowledge).
The following definitions are used:
specific atom designates a single unique atom in the crystal structure (e.g. C1)
type of atom applies to all atoms which have the same scattering power/ atomic number.
List of restraints which could possibly used:
a specific atom should have a number N+-sigma(N) of neigbours between two given distances dmin and dmax. The type of allowed neighbours may or may not be restricted
one type of atom should have a number N+-sigma(N) of neigbours between two given distances dmin and dmax. The type of allowed neighbours may or may not be restricted
a specific atom should have another specific atom at a given distance (note: it may be a symmetric of the same atom)
Is it needed to know if the neighbouring atom belongs to another molecule ?
Algorithm issues (important!)
As powerful this type of chemical information may be, it cannot be used in a too strict manner during the optimization. e.g. if a distance between two atoms is known to be 1.812A, it should still be allowed to have a much greater distance - or even no neighbour at all. This is needed because the Monte-Carlo search is and must remain ergodic. Of course a relatively strict distance restraint can be achieved for two atoms in the same Molecule object, but this cannot easily be done for other atoms.
In practice, this means that it will be easy to use this as a criterion whether the structure found is correct (after the optimization is stopped), but it will more difficult to use during the optimization. The algorithm will take into account a cost associated with the different restraints, but the amplitude of this cost should not inhibit a flexible search. This implies that the restraint cost should not be too high compared to the cost of the diffraction data.
New handling of restraint/likelihood
Instead of adding a cost which will be difficult to scale to the diffraction data, the cost could be meterialized as a multiplier of other costs. e.g. if the Chi2 from diffraction data is equal to 108000, this cost is multiplied by a factor>1.0, representing how good these other restraints are. Or we could use this as an auto-scaled log-likelihood, using:
- the currently available (but deactivated) likelihood statistics and scaling
a cost within [0;10], to be multiplied by the temperature of the algorithm (or a multiple of). For this a function RefinableObj:GetScalableLogLikelihood() would be added.
Implementation issues
This may conflict with the use of mixed sites when these are available.
- All restrictions should be enacted in the Crystal structure - this will require all sub-scatterers to maintain a consistent list (number and order) of atoms, at least if restrictions are made to specific atoms.
The graphical interface will be complex, and may composed of several panels:
- One panel to list number of neighbours for a given type of atom, with several columns:
- One description could be :
- The type of atom this applies to
- The min/max number of neighbours (a sigma of 1 will be used)
- The min/max distance where these neigbours should be (a sigma will be used to avoid non-continuous cost variations)
- The type of neighbours allowed
Alternatively, a single text cell could be used to describe this: e.g. "(O,F) 4 5 1.8 2.2" would mean that between 4 and 5 neighbours of type O or F should be present between 1.8 and 2.2 A
- One description could be :
- One panel to list the number of neighbours for a specific atom - description as above, except that one column should be added to list the actual number of neighbours observed
- One panel to list distance restrictions between specific atoms. This can either consist of:
- A matrix with lines and columns corresponding to each specific atom, and several sub-panels for:
- the desired distance
- the observed distance
- the allowed sigma
- Or a single panel, with columns:
- the couple of specific atoms concerned
- the desired distance
- the allowed sigma
- the observed distance
- A matrix with lines and columns corresponding to each specific atom, and several sub-panels for:
- One panel to list number of neighbours for a given type of atom, with several columns:
Questions:
- when using restraints on specific atoms, handle when one atom is removed/added - especially since the Crystal object may not be directly aware of a modification in a sub-molecule
FOX Wiki