24小时热门版块排行榜    

查看: 1414  |  回复: 8

nufang19a

金虫 (正式写手)


[交流] 【求助】水总去不掉,请指点(已解决,谢谢各位帮助)已有2人参与

生成进通道中含水分子的pdb文件:

1. 通过vmd先找到通道中的水分子,获取它们的编号

2. 然后生成这些水分子的pdb文件(例子):

mol load pdb 1YMG.pdb

set model [atomselect top "water and (resid 411 or resid 415 or resid 455 or resid 426 or resid 407 or resid 426)"]

$model writepdb wat.pdb

exit

3. 生成蛋白的pdb文件:

mol load pdb 1YMG.pdb

set model [atomselect top protein]

$model writepdb 1ymg.pdb

exit

4. 合并wat.pdb 与1ymg.pdb

这一步不用写脚本,直接把wat.pdb的内容(即去头去尾)拷贝到1ymg.pdb的END前即可。

5. over。



构建四聚体(buildtetra.tcl):

mol load pdb 1ymg.pdb
set all [atomselect top all]
$all set segname A
$all writepdb AQP1-A.pdb
$all delete

set sel [atomselect top all]
$sel set segname B
$sel move {{-1.0 0.0 0.0 0.0} {0.0 -1.0 0.0 110.531} {0.0 0.0 1.0 0.0} {0.0 0.0 0.0 1.0}}
$sel writepdb AQP1-B.pdb
$sel delete

mol delete top
mol load pdb 1ymg.pdb
set sel [atomselect top all]
$sel set segname C
$sel move {{0.0 -1.0 0.0 55.2655} {1.0 0.0 0.0 55.2655} {0.0 0.0 1.0 0.0} {0.0 0.0 0.0 1.0}}
$sel writepdb AQP1-C.pdb
$sel delete

mol delete top
mol load pdb 1ymg.pdb
set sel [atomselect top all]
$sel set segname D
$sel move {{0.0 1.0 0.0 -55.2655} {-1.0 0.0 0.0 55.2655} {0.0 0.0 1.0 0.0} {0.0 0.0 0.0 1.0}}
$sel writepdb AQP1-D.pdb
$sel delete

cat AQP1-A.pdb AQP1-B.pdb AQP1-C.pdb AQP1-D.pdb > AQP1.pdb
然后打开AQP1.pdb,搜索END,把中间的三个END及相应的杂项去掉,保存为AQP1-ALL.pdb。此时就生成了四聚体pdb文件。


进行psf生成前的文件准备(prepfiles.tcl):
mol load pdb AQP1-ALL.pdb
foreach S {A B C D} {
set seg [atomselect top "segname $S and chain A"]
$seg writepdb seg$S.pdb
$seg delete
}

foreach S {A B C D} {
set wat [atomselect top "segname $S and resname HOH and within 100 of chain A"]
$wat writepdb crystwat$S.pdb
$wat delete
}
exit

产生psf文件(build.psf):
package require psfgen
topology ../top_all27_prot_lipid.rtf
pdbalias residues HIS HSE
pdbalias atom ILE CD1 CD
pdbalias atom HOH O OH2
pdbalias resid HOH TIP3
foreach S {A B C D} {
segment $S {
pdb seg$S.pdb
}
coordpdb seg$S.pdb $S
regenerate angles dihedrals
segment WC$S {
auto none
pdb crystwat$S.pdb
}
coordpdb crystwat$S.pdb WC$S
}
guesscoord
writepdb aqp1.pdb
writepdb aqp1.psf
exit

solvating过程:
先加载上一步产生的psf pdb文件,然后
set sel [atomselect top all]
measure minmax $sel
solvate -t 3 -minmax {上一步得到的值} -o solaqp1
然后写make_solv.tcl脚本:
set sol_infile solaqp1.pdb
set aqp1_inbase aqp1
set outbase aqp1_solv_raw
package require psfgen
resetpsf
readpsf solaqp1.psf
coordpdb solaqp1.pdb
readpsf ${aqp1_inbase}.psf
coordpdb ${aqp1_inbase}.pdb
writepdb ${outbase}.pdb
writepsf ${outbase}.psf
exit


估测所需膜尺寸:
先把我加水并运行过make_solv.tcl所产生的psf pdb加载,然后再
set all [atomselect top all]
measure $all minmax
[][]
然后x2-x1  y2-y1

将蛋白的重心和水盒子的重心重合:
mol load psf aqp1_solv_raw.psf pdb aqp1_solv_raw.pdb
set all [atomselect top all]
$all moveby [vecinvert [measure center $all]]
display resetview
然后估测删除水的值:
将膜的psf pdb加载,然后
set sel [atomselect top lipid]
measure minmax $sel
选择z2 的整数值:25
然后:
set solv [atomselect top "segname SOLV"]
$solv set beta 1
set seltext "segname SOLV and same residue as ((z < -25) or (z > 25))"
set sel [atomselect top $seltext]
$sel set beta 0

set badwater [atomselect top "name OH2 and beta > 0"]
set seglist [$badwater get segid]
set reslist [$badwater get resid]

mol delete all
package require psfgen
resetpsf
topology ../top_all27_prot_lipid.rtf
readpsf aqp1_solv_raw.psf
coorpdb aqp1_solv_raw.pdb
foreach segid $seglist resid $reslist {
delatom $segid $resid
}
writepdb aqp1_solv.pdb
writepsf aqp1_solv.psf

出现的问题:
选择需要去掉的水分子,根本去不掉。我也知道一部分原因:因为我在make_solv.tcl脚本中把segment SOLV那一段给删除了,应该还有其他的原因。我现在把有水盒子的pdb及make_solv.tcl所产生的pdb传上来,大家帮忙分析一下。先谢谢了
http://u.115.com/?ct=index&a ... d=1&cid=2023017
这个链接的用户名:tonme 密码:002725

[ Last edited by nufang19a on 2011-2-28 at 11:47 ]
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wally8962

木虫 (著名写手)

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zh1987hs(金币+4): 谢谢! 2011-02-26 22:47:39
"cat AQP1-A.pdb AQP1-B.pdb AQP1-C.pdb AQP1-D.pdb > AQP1.pdb
然后打开AQP1.pdb,搜索END,把中间的三个END及相应的杂项去掉,保存为AQP1-ALL.pdb。此时就生成了四聚体pdb文件。"

这个步骤是多余的,后面根本用不到这个四聚体,直接用前面的单体就行了。

你想去掉孔道中的水分子?那晶体中的水分子可以一个都不用。

后面孔道中的水分子很可能是你solvate时加进去的。可以用-b调整水分子距蛋白的距离来控制加入的水分子。

更简单的,在vmd中,按数字键“6”,鼠标变成拖弋模式,直接把水分子拖出来,再保存pdb

[ Last edited by wally8962 on 2011-2-26 at 18:36 ]
2楼2011-02-26 18:35:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


为了深入学习VMD NAMD,我现在是找了一篇文章,仿照别人的文章做的。关于上面的问题感觉我没说清楚,我现在是想按照教程把badwater去掉,然后加到膜中,可badwater就是去不掉

[ Last edited by nufang19a on 2011-2-27 at 00:00 ]
3楼2011-02-26 22:51:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


难道跟NAMD tutorial最后面的这一段有关:
### Solvate the molecule in a water box with enough padding (15 A).
### One could alternatively align the molecule such that the vector
### from the center of mass to the farthest atom is aligned with an axis,
### and then use no padding
package require solvate
solvate ${molname}.psf ${molname}.pdb -t 15 -o del_water
resetpsf
package require psfgen
mol new del_water.psf
mol addfile del_water.pdb
readpsf del_water.psf
coordpdb del_water.pdb

### Determine which water molecules need to be deleted and use a for loop
### to delete them
set wat [atomselect top "same residue as {water and ((x-$x1)*(x-$x1) +
(y-$y1)*(y-$y1) + (z-$z1)*(z-$z1))<($max*$max)}"]
set del [atomselect top "water and not same residue as {water and
((x-$x1)*(x-$x1) + (y-$y1)*(y-$y1) + (z-$z1)*(z-$z1))<($max*$max)}"]

set seg [$del get segid]
set res [$del get resid]
set name [$del get name]
for {set i 0} {$i < [llength $seg]} {incr i} {
delatom [lindex $seg $i] [lindex $res $i] [lindex $name $i]
}
writepsf ${molname}_ws.psf
writepdb ${molname}_ws.pdb
mol delete top
mol new ${molname}_ws.psf
mol addfile ${molname}_ws.pdb
puts "CENTER OF MASS OF SPHERE IS: [measure center [atomselect top all] weight mass]"
puts "RADIUS OF SPHERE IS: $max"
mol delete top
4楼2011-02-27 00:24:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


确实是SOLV的问题,水分子有多个segname。因此
我把:
set solv [atomselect top "segname SOLV"]
改成了:
set solv [atomselect top "segname SOLV or segname WT1"]
水分子去掉了,下图:(这样应该不对,说明我的水分子区域选择应该有问题


[ Last edited by nufang19a on 2011-2-27 at 16:21 ]
5楼2011-02-27 15:35:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


这是我去水的脚本:

哪里出问题了呢??
6楼2011-02-27 16:07:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


我先估测了膜的尺寸:
先把我加水并运行过make_solv.tcl所产生的psf pdb加载,然后再
set all [atomselect top all]
measure  minmax $all
[][]
然后x2-x1  y2-y1,将膜建好

再然后我有估测了需要删除的水分子:
将膜的psf pdb加载,然后
set sel [atomselect top lipid]
measure minmax $sel
选择z2 的整数值:25

再然后:
set solv [atomselect top "segname SOLV  or segname WT1"]
$solv set beta 1
set seltext "segname SOLV and same residue as ((z < -25) or (z > 25))"
set sel [atomselect top $seltext]
$sel set beta 0

set badwater [atomselect top "name OH2 and beta > 0"]
set seglist [$badwater get segid]
set reslist [$badwater get resid]

mol delete all
package require psfgen
resetpsf
topology ../top_all27_prot_lipid.rtf
readpsf aqp1_solv_raw.psf
coorpdb aqp1_solv_raw.pdb
foreach segid $seglist resid $reslist {
delatom $segid $resid
}
writepdb aqp1_solv.pdb
writepsf aqp1_solv.psf

那么删除水分子的过程,难道不对??


[ Last edited by nufang19a on 2011-2-27 at 16:28 ]
7楼2011-02-27 16:16:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


疑惑:
删除水分子我是按照大家的经验和膜教程来进行的啊,难道还与SOLV有关???
8楼2011-02-27 19:05:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nufang19a

金虫 (正式写手)


★ ★ ★ ★ ★ ★ ★ ★ ★ ★
ghcacj(金币+10): LZ一贯喜欢自弹自唱,呵呵,谢谢分享解决方法。 2011-02-28 13:52:38
解决了,另外水的厚度不够,在z轴方向有加了5A的水分子。
解决方法(还要保留孔道中的结晶水):
删除水(remove_wat.tcl):
mol load psf aqp1_solv_raw.psf pdb aqp1_solv_raw.pdb
set all [atomselect top all]
$all moveby [vecinvert [measure center $all]]
display resetview

set solv [atomselect top water]
$solv set beta 1
set seltext "water and ((z<-25) or (z>25)) or (segname WCA) or (segname WCB) or (segname WCC) or (segname WCD)"
set sel [atomselect top $seltext]
$sel set beta 0

set badwater [atomselect top "name OH2 and beta >0"]
set seglist [$badwater get segid]
set reslist [$badwater get resid]

mol delete all
package require psfgen
resetpsf
topology ../top_all27_prot_lipid.rtf
readpsf aqp1_solv_raw.psf
coordpdb aqp1_solv_raw.pdb
foreach segid $seglist resid $reslist {
delatom $segid $resid
}
writepdb aqp1_solv.pdb
writepsf aqp1_solv.psf
exit
9楼2011-02-28 11:46:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nufang19a 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见