S. Fushinobu
水を拾う方法として、現時点で一番ラクチンだと思うのは、CNSの "water_pick.inp" を使う方法です。全自動で拾ってくれる上に、位置やBまで精密化してくれます。rejection criteriaまで思いのままなので、変なピークを拾うことも少ないです(でも、Oなどで必ずピークを確認すること)。ただし、この方法は、Fo-Fcまたは2Fo-Fcマップの片方しか見てくれません。
ccp4のexampleのwaterpeaksというスクリプトは、2Fo-FcとFo-Fcの平均マップを見てくれるので、以前はこれがお気に入りでよく使っていました。rejection criteriaを甘めにして多めに拾い、精密化したBを見たり、Oなどでマップと周辺環境をじっくり見て切り捨てていくのがいいと思います。
注意事項
結構面倒くさいですね。(スクリプトの後に続きあり)
--------------- 0pdbset.sh --------------- #!/bin/csh -f #!Take output from Xplor into a form suitable for ccp4 pdbset xyzin foo_1.pdb \ xyzout foo_ccp4.pdb << 'eof-1' cell 98.801 98.801 149.341 90.00 90.00 120.00 spacegroup P3221 xplor 'eof-1' exit --------------- 0pdbset.sh --------------- --------------- 1avewat.sh --------------- #!/bin/sh # # Procedure for finding water peaks. # An atom map generated with SFALL is used to mask out the protein regions in # both an fo-fc and 2fo-fc map. These solvent maps are then averaged and # searched for peaks. # # fofcmap script does the same thing but only uses fo-fc map # set -e ######################################################################## # Generate atom map for final coordinates ######################################################################## sfall \ MAPOUT junk_fc.map \ XYZIN foo_ccp4.pdb \ << END-sfall MODE ATMMAP RESMOD FORM NGAU 2 SFSG P3221 symm P3221 END-sfall ######################################################################## # Calculate sfs for final coordinates - ######################################################################## sfall \ HKLIN foo.mtz \ HKLOUT junk_fofc.mtz \ XYZIN foo_ccp4.pdb \ << END-sfall MODE SFCALC XYZIN HKLIN FORM NGAU 2 RESO 8 2.8 BINS 40 RSCB 8 2.8 BADD 0 LABI FP=FP SIGFP=SIGFP LABO FC=FC PHIC=AC END-sfall # ######################################################################## # Fo-Fc map from final coordintes. ######################################################################## # fft \ HKLIN junk_fofc.mtz \ MAPOUT junk_fo-fc.map \ << END-fft RESO 8 2.8 SCALE F1 1.0 0.0 SCALE F2 1.0 0.0 GRID 294 294 450 ! see 1st sfall output to determine XYZLIM 0 293 0 293 0 75 ! GRID and XYZLIM BINMAPOUT LABI F1=FP SIG1=SIGFP F2=FC PHI=AC END-fft # ######################################################################## # 2Fo -fc map from final coordintes. ######################################################################## # # fft \ HKLIN junk_fofc.mtz \ MAPOUT junk_2fo-fc.map \ << END-fft RESO 8 2.8 SCALE F1 2.0 0.0 SCALE F2 1.0 0.0 GRID 294 294 450 ! see 1st sfall output to determine XYZLIM 0 293 0 293 0 75 ! GRID and XYZLIM BINMAPOUT LABI F1=FP SIG1=SIGFP F2=FC PHI=AC END-fft # # ######################################################################## # exclude points from 2fo-fc map which occur in fcalc map ######################################################################## overlapmap \ MAPIN1 junk_fc.map \ MAPIN2 junk_2fo-fc.map \ MAPOUT junk_2fo-fc_masked.map \ << end-over MAP EXCLUDE end-over # ######################################################################## # exclude points from fo-fc map which occur in fcalc map ######################################################################## # overlapmap \ MAPIN1 junk_fc.map \ MAPIN2 junk_fo-fc.map \ MAPOUT junk_fo-fc_masked.map \ << end-over MAP EXCLUDE end-over # ######################################################################## # average 2 solvent maps now ######################################################################## # overlapmap \ MAPIN1 junk_fo-fc_masked.map \ MAPIN2 junk_2fo-fc_masked.map \ MAPOUT junk_av_masked.map \ << end-over MAP AVERAGE end-over ######################################################################## # run peakmax with electron density level 0.15 - look at 2fo-fc, fo-fc # to get sensible level ######################################################################## # run extend to cover molecule extend \ XYZIN foo_ccp4.pdb \ MAPIN junk_av_masked.map \ MAPOUT junk_av_masked.ext \ << END border 4.0 end END # ######################################################################## # Some peaks may appear twice since map has been extended. ######################################################################## peakmax \ XYZOUT junk_peaks.pdb \ MAPIN junk_av_masked.ext \ << END-peakmax NUMPEAKS 1200 THRESHOLD rms 1.5 RESIDUE TIP ATNAME OH2 CHAIN S END-peakmax # ######################################################################## # run atpeak to check distances within 4.0A ######################################################################## # watpeak \ PEAKS junk_peaks.pdb \ XYZIN foo_ccp4.pdb \ xyzout foo_wat.pdb \ <<END-watpeak TITLE 2.0 to 4.0, no HETATOMONLY DISTANCE 2.0 4.0 SYMMETRY P3221 !HETATOMONLY ! use if only distances from O and N wanted END-watpeak # rm junk* exit --------------- 1avewat.sh ---------------
水分子の名前 (HOH, WAT, TIP等)と水原子の名前(OH2, OW, O1等)、chain(なし、S等)は、nedit等を使って、適当なものに変換すること。
Oのwater_pekpikを使う場合、以下のように行う。
s_a_i foo_wat.pdb water (読み込み) mol water zone ; end (表示) ce_at water 1 OW (1個目の水を見る) water_init newat (mol nameをnewatにする) (number: return: [100]) (resname: return: [1]) water_pekpik water (pekmol) (zone: return: [all molecule]) newat (solmol) (first resname: return: [1])
map、環境を見ながら、yes/noで選択していく。途中でやめたいときはclear_flags。
newatというmolの中に選んだ水が入っているので、
s_a_o newat.pdb newat ;;;;;
で出力。ファイルをneditで開き、選んだ水以降の座標が全て1500になってるのでこれを削除。精密化プログラム(CNS等)の好きな水分子名/原子名/chainに変換。
connectivity Dbがない、と言われた時は、
odat/all.datのファイルの中の、読み込んでいる水分子の名前(HOH, WAT等)を確認し、
conn_file all.dat
でファイルを読み直したり、読み込むファイルの水分子の名前をnedit等で変更する。