This is a webpage dedicated to my project, which is allocated 20% of my time whilst working at CCP4. It will be updated as progress is made.
At present the ideas are rather ill-defined. I am looking at improvements to the MLPHARE program, particularly when using data from MAD experiments.
My proposed changes are currently:
My understanding of the MLPHARE program has been helped greatly by the report of Paul Cooper, a sandwich student at Daresbury in 1995.
The MLPHARE program refines heavy atom parameters and error estimates, and then uses these refined parameters to generate phase information. Generally it is used to generate initial phases which can then be used in some phase improvement program. The program was originally written to deal with MIR data, but can also be used for MAD data by interpreting the different wavelengths as different "derivatives".
MLPHARE refines the following parameters which describe the heavy atom sites:
X,Y,Z (refined coordinates of the site)
Real and anomalous Occupancies
Although the program can already output the heavy atom parameters in a form suitable for re-using in MLPHARE, the new coords keyword will also produce a pseudo-pdb file which contains the cell information and the refined heavy atom coordinates in orthogonal format.
The method currently used in MLPHARE is that due to Crick and Blow.
In this standard MIR approach (or pseudo-MIR in the case of MAD data) the
requirement is that one of the data sets be treated as the native dataset
and is considered to have no errors.
Knowledge of the heavy atom parameters allows heavy atom structure factors to be calculated and then combined with the native amplitudes to obtain estimates for the derivative structure factors.
In the alternative approach of Cullis et al, all of the datasets are
treated equally, along with their errors (in the case of MIR the native
dataset is thought of as a special instance of a derivative with no heavy
In this case each derivative amplitude combined with the calculated heavy atom structure factors contributes an estimate of the native structure factors.
The advantage of the Cullis method is that all reflections which have structure factor measurements for at least one derivative can contribute to the phasing.
The core modified source code that I'm working on is mlphare_cull.f but this doesn't yet run. Other files which will eventually be integrated into the full code are: