[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mask bulk solvent correction within CCP4



***  For details on how to be removed from this list visit the  ***
***    CCP4 home page http://www.dl.ac.uk/CCP/CCP4/main.html    ***

Dear CCP4 users,

in the CCP4 workshop last weekend, I've noticed that there might be some
interest to do a mask bulk solvent correction within CCP4, which then
can be read in by REFMAC (for instance) as FPART and PHIP (instead of
getting these values from X-PLOR). A few weeks ago, I've made a series
with ncsmask using different radii to generate a mask from (refined)
coordinates in order to see whether it is possible to get about the same
bulk solvent correction as with X-PLOR 3.851 (or 98.0). Here are the
results:

Data from EcoRV complexed with DNA, PDB entry 1rva
==================================================
a=49.44 b=50.15 c=63.95 alpha=96.54 beta=109.05 gamma=108.11
Space Group P1 (No. 1)
33332 reflections 20.0-2.0 A
Mw=63706.9 Da
Vcell=138297.4 A^3
Vm=2.17 A^3/Da
Vsol=43.3%

Overall scale calculated for the resolution range 5.0-2.0A 
and applied to the whole resolution range 20.0-2.0A.
Mask Fpart scaled with k=0.33, B=50A**2.

| Mask Radius [A] | VBulk [%] | R-factor (20-5A) | R-factor (20-2A) |
|=================|===========|==================|==================|
| no bulk solvent | ---       | 0.676            | 0.206            |
| X-Plor 3.851    | 38.6      | 0.148            | 0.164            |
|-----------------|-----------|------------------|------------------|
| CCP4 1.5        | 67.8      | 0.321            | 0.186            |
| CCP4 1.75       | 56.2      | 0.218            | 0.178            |
| CCP4 1.9        | 49.6      | 0.182            | 0.173            |
| CCP4 2.0        | 45.6      | 0.171            | 0.170            |***
| CCP4 2.05       | 43.7      | 0.170            | 0.169            |***
| CCP4 2.1        | 41.9      | 0.173            | 0.168            |***
| CCP4 2.25       | 37.3      | 0.199            | 0.169            |
| CCP4 2.5        | 31.7      | 0.275            | 0.175            |
| CCP4 3.0        | 24.2      | 0.442            | 0.193            |
| CCP4 3.5        | 18.7      | 0.580            | 0.207            |
| CCP4 3.5        | 14.2      | 0.680            | 0.214            |
|-----------------|-----------|------------------|------------------|

The best bulk solvent correction is still that of X-Plor, but given the
single radius for all atoms in ncsmask, it works remarkebly well if a
radius between 2.0-2.1 A is chosen (look at VBulk ~ Vsol and the
R-factors). If there would be different radii for different chemical
elements, I believe, it would even work better.

The script does the following steps:
1). gensym is used to fill the asymmetric unit +/- a padding with atoms
2). ncsmask is used to calculate the model mask
3). mapmask is used to invert this mask to get the solvent mask
4). sfall is used to calculate partial structure factors from the
solvent mask
5). sfall is used to put the partial structure factors on the expected
scale and B-factor (REFMAC 3.3 could only apply a scale, but no B-factor
!) and calculate the R-factor of Ftotal=Fcalc+Fpart against Fobs as a
check. The output file from the last sfall step can then be used as
input file for REFMAC. Please note, that P1 was the real space group
symmetry and not a symmetry expansion.

Good luck,
Dirk.

*******************************************************
* Dirk Kostrewa                phone: +41-61-688-7750 *
* F.Hoffmann-La Roche Ltd.       fax: +41-61-688-7408 *
* PRPC-S B65/R312                                     *
* CH-4070 Basel, Switzerland                          *
* e-mail: dirk.kostrewa@roche.com                     *
*******************************************************

#!/bin/csh -f
#
# fill asymmetric unit with symmetry equivalent atoms and
# add small padding to get the contribution from atoms just outside the
box
#
gensym xyzin 1rva.pdb xyzout model.pdb << eof > ccp4_bulksolvent.log
cell 49.440   50.150   63.950  96.54 109.05 108.11
symmetry p1
xyzlim -0.02 1.02 -0.02 1.02 -0.02 1.02 
read
brookhaven
noprint
eof
#
# generate model mask
#
ncsmask xyzin model.pdb mskout model.mask << eof >> ccp4_bulksolvent.log
symmetry P1
grid 110  112  144
radius 2.05
eof
#
# invert model mask and cut it back to the asymmetric unit 
#
mapmask mskin model.mask mskout bulk.mask mapout bulk.map << eof >>
ccp4_bulksolvent.log
xyzlim asu
scale factor -1.0 1.0
eof
#
# calculate partial structure factors from inverted mask and get Fobs &
sigma(Fobs)
#
sfall  hklin 1rva_fobs.mtz mapin bulk.map hklout 1rva_sfall.mtz << eof
>> ccp4_bulksolvent.log
mode   sfcalc mapin hklin
noscale
labin  FP=FN3 SIGFP=SIGFN3
labout FC=Fpart PHIC=PHIpart
eof
#
# put Fpart on the expected scale and B-factor,
# calculate Ftotal=Fcalc+Fpart for R-factor check
#
sfall xyzin 1rva_sfall.pdb hklin 1rva_sfall.mtz hklout
1rva_fobs_fpart.mtz << eof >> ccp4_bulksolvent.log
mode   sfcalc xyzin hklin
formfactor ngauss 5 H C N O S P
noscale
scale FPART 0.33 50.0
LABIN FP=FN3 SIGFP=SIGFN3 FPART=Fpart PHIP=PHIpart
LABOUT FC=Ftotal PHIC=PHItotal
END
eof
#
exit