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

Re: [ccp4bb]: NCS averaging



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

Jinsong Liu wrote:
> 
> ***  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 All,
> 
> What is the easiest (or best) way to get a NCS matix out of a phased
> map? I got below average MAD-phased map,  and I know
> 2 Se position. There are 2 monomer per ASU.  I tried FINDNCS ( I also
> have 4 very very weak Pt site positons), and the result seems not
> very convincing.  From the non-averaged DM map, I can see the solvent
> boundary, and I can barely see the two molecules.  I need to
> get the correct NCS-mask, or correct NCS matrix. When I put the NCS
> matrix I got from FINDNCS in DM, it didn't give me anything better
> then I got non-averaged map.
> I have also played with MAPROT, MAPMASK, NCSMASK, tried to get a ncs
> mask but without success.
> Thanks for any help.
> 
> Jinsong
> 


 This is difficult, and each problem needs its own solution.

 FINDNCS needs at least 3 coordinate points per molecule to work, and
maybe the Pt are not sufficiently well placed?

If you Se sit is buried reasonably within the electron density, one way
is to take a sphere of density centred on that point, make a "P1" map
with only that density,  and use that as a search model to find the
second orientation. You have an excellent check because any solution
should position the first Se ontop of the second Se.

 If it is near the edge of an asymmetric unit, extend the map to make
sure you are including only one symmetry copy of this density..



 There is an example in maprot I think.

 You use ncsmask to make an "atom" mask with a radius of 10A say, then
generate SFs from that to use as the "model" in Amore..


 I will send you an old script, but Kevin Cowtan has now improved maprot
so that it is not necessary to generate the bigdummycell.mtz to pass a
pseudo-cell to maprot..

 Here is the script..

 Another procedure is to extend the map twice so that it masks the
density about both Ses - generate sfs from each block, then use almn to
get the fit between the "P1" density centred round Se1 to the "P1"
density centred round Se2.

 Clear as mud? Eleanor



 Old script:
#!/bin/csh -f
goto rot
goto 2
###########################################################
#
# There are lots of alternative ways of getting a masked block of
density.
#  You first need a mask.
# This is the simplest technique I have used..

# Another way is to edit bones, then use bones_to_pdb to write out a
file of
# coordinates, and use ncsmask with that set, and the default atom
radius.
#  ( 3A I think..)
#
####################################################################
#  Make a spherical mask centred at the centroid of the chosen block of 
#  density.
#  You need to choose a volume completely contained within the P1 cell; 
#  ie all parts have coordinates between 0 and 1.
# This is important later on for the amore translation.
#   By choosing the right symmetry operator, I have always managed to do 
#  this.. although sometimes the block radius has had to be restricted a
bit.
#  This doesnt seem to matter - you will have most of the molecular
volume..
###########################################################
#  P65_block_com.pdb 
# REMARK COM of a pva block - 18A radii 
#REMARK X: 22to55/103 Y; 22to62/102 Z; 60 to 89/96 
#CRYSTL  208.400  208.400   96.200  90.00  90.00 120.00    P65
#SCALE1      0.004798  0.002770  0.000000       0.000000
#SCALE2      0.000000  0.005541  0.000000       0.000000
#SCALE3      0.000000  0.000000  0.010395       0.000000
#ATOM xcent Ycent Zcent
#
ncsmask \
xyzin ./P65_block_com.pdb \
mskout $SCRATCH/P65_block_com.msk \
<<eof
#  I have taken a 1A grid.
GRID  204  204   96
AXIS   Y    X    Z
RADIUS 18
END
eof
exit
#
2:
###########################################################
#3) extend the  DM map to the same limits as the msk;
#   you will have to look at the log of Step 1.
#  ( You can get the mask grid by typing 
#     prmap mapin $SCRATCH/P65_block_com.msk )
###########################################################
mapmask \
mapin /y/work2/suresh//nat3_au5_hg2_dm.map \
mapout $SCRATCH//nat3_au5_hg2_dm.ext \
<< eof
XYZLIM  57  93    62 101    56 91
END
eof
exit
rot:
###########################################################
#    Generate a pseudo map in a big cell to act as a "model" for maprot 
#    you will want to generate a list of structure factors 
#    on a fine grid for Amore, and this requires a big cell.
#    There must be other ways of doing it but this works..
#
# You will have to choose this cell sensibly, look at other amore
# TABFUN outputs for guidance
# Must be at least double the density block size
#
#  bigdummycell.pdb  - a dummy cell with only one atom
#  CRYSTL  120.000  120.000  120.000  90.00  90.00  90.00    1
#  REMARK CRYSTAL 259.992  250.904  125.504  90.00  90.00  90.00
#  ATOM      1  CB  ALA    13  1    1.974   3.548   9.307  1.00 61.57  
6
#
sfall \
xyzin ./bigdummycell.pdb \
mapout $SCRATCH/bigdummymap.map \
<<eof
MODE ATMMAP
#SCALE 0.0
SYMM P1
GRID 300 300 300
END
eof

###########################################################
#   Now the tricky bit - put the "good" density in the big P1 cell:
#   This takes a lot of core and crashes my little Indy!
#
rot2:
maprot \
mapin  $SCRATCH/bigdummymap.map \
wrkin $SCRATCH//nat3_au5_hg2_dm.ext \
mskin $SCRATCH/P65_block_com.msk \
mapout $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.map \
<<eof
# "MODE TO" moves the WRKIN map ( after masking with MSKIN) to the MAPIN
grid.
MODE TO
#  No averaging; this is the identity..
SYMM P1
AVERAGE 1
ROTATE EULER 0 0 0
TRANS 0 0 0

END
eof
#
#
###########################################################
#
#  Generate structure factors from this density ready for Amore
# Then delete the *bigdummy*maps - they are HUGE..
3:
sfall \
mapin  $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.map \
hklout $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.mtz \
<<eof
MODE SFCALC MAPIN
SYMM P1
RESO 37 2.5
LABO FC=FC1 PHIC=PHIC1
END
eof

#
#  Now run new Amore to read these SFS in and generatethe TABLE
#####################################################3
#    sorting run:
#####################################################3
#  mtz file contains cell and symmetry.
#
amore \
hklin $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.mtz \
table1 $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.tab  \
<<'END'
VERBOSE
TITLE   ** packing h k l F for crystal**

SORTFUN MODEL 100 3
LABI FC=FC1  PHIC=PHIC1
'END'

#
#
#!/bin/csh -f
goto rot
goto 2
###########################################################
#
# There are lots of alternative ways of getting a masked block of
density.
#  You first need a mask.
# This is the simplest technique I have used..

# Another way is to edit bones, then use bones_to_pdb to write out a
file of
# coordinates, and use ncsmask with that set, and the default atom
radius.
#  ( 3A I think..)
#
####################################################################
#  Make a spherical mask centred at the centroid of the chosen block of 
#  density.
#  You need to choose a volume completely contained within the P1 cell; 
#  ie all parts have coordinates between 0 and 1.
# This is important later on for the amore translation.
#   By choosing the right symmetry operator, I have always managed to do 
#  this.. although sometimes the block radius has had to be restricted a
bit.
#  This doesnt seem to matter - you will have most of the molecular
volume..
###########################################################
#  P65_block_com.pdb 
# REMARK COM of a pva block - 18A radii 
#REMARK X: 22to55/103 Y; 22to62/102 Z; 60 to 89/96 
#CRYSTL  208.400  208.400   96.200  90.00  90.00 120.00    P65
#SCALE1      0.004798  0.002770  0.000000       0.000000
#SCALE2      0.000000  0.005541  0.000000       0.000000
#SCALE3      0.000000  0.000000  0.010395       0.000000
#ATOM xcent Ycent Zcent
#
ncsmask \
xyzin ./P65_block_com.pdb \
mskout $SCRATCH/P65_block_com.msk \
<<eof
#  I have taken a 1A grid.
GRID  204  204   96
AXIS   Y    X    Z
RADIUS 18
END
eof
exit
#
2:
###########################################################
#3) extend the  DM map to the same limits as the msk;
#   you will have to look at the log of Step 1.
#  ( You can get the mask grid by typing 
#     prmap mapin $SCRATCH/P65_block_com.msk )
###########################################################
mapmask \
mapin /y/work2/suresh//nat3_au5_hg2_dm.map \
mapout $SCRATCH//nat3_au5_hg2_dm.ext \
<< eof
XYZLIM  57  93    62 101    56 91
END
eof
exit
rot:
###########################################################
#    Generate a pseudo map in a big cell to act as a "model" for maprot 
#    you will want to generate a list of structure factors 
#    on a fine grid for Amore, and this requires a big cell.
#    There must be other ways of doing it but this works..
#
# You will have to choose this cell sensibly, look at other amore
# TABFUN outputs for guidance
# Must be at least double the density block size
#
#  bigdummycell.pdb  - a dummy cell with only one atom
#  CRYSTL  120.000  120.000  120.000  90.00  90.00  90.00    1
#  REMARK CRYSTAL 259.992  250.904  125.504  90.00  90.00  90.00
#  ATOM      1  CB  ALA    13  1    1.974   3.548   9.307  1.00 61.57  
6
#
sfall \
xyzin ./bigdummycell.pdb \
mapout $SCRATCH/bigdummymap.map \
<<eof
MODE ATMMAP
#SCALE 0.0
SYMM P1
GRID 300 300 300
END
eof

###########################################################
#   Now the tricky bit - put the "good" density in the big P1 cell:
#   This takes a lot of core and crashes my little Indy!
#
rot2:
maprot \
mapin  $SCRATCH/bigdummymap.map \
wrkin $SCRATCH//nat3_au5_hg2_dm.ext \
mskin $SCRATCH/P65_block_com.msk \
mapout $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.map \
<<eof
# "MODE TO" moves the WRKIN map ( after masking with MSKIN) to the MAPIN
grid.
MODE TO
#  No averaging; this is the identity..
SYMM P1
AVERAGE 1
ROTATE EULER 0 0 0
TRANS 0 0 0

END
eof
#
#
###########################################################
#
#  Generate structure factors from this density ready for Amore
# Then delete the *bigdummy*maps - they are HUGE..
3:
sfall \
mapin  $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.map \
hklout $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.mtz \
<<eof
MODE SFCALC MAPIN
SYMM P1
RESO 37 2.5
LABO FC=FC1 PHIC=PHIC1
END
eof

#
#  Now run new Amore to read these SFS in and generatethe TABLE
#####################################################3
#    sorting run:
#####################################################3
#  mtz file contains cell and symmetry.
#
amore \
hklin $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.mtz \
table1 $SCRATCH/nat3_au5_hg2_dm_cent_bigdummycell.tab  \
<<'END'
VERBOSE
TITLE   ** packing h k l F for crystal**

SORTFUN MODEL 100 3
LABI FC=FC1  PHIC=PHIC1
'END'

#
#