使用 R 包 Bio3d 绘制键 PyMOL
Draw bonds PyMOL using R package Bio3d
使用 R 包 bio3d
我想在蛋白质上的两个原子之间绘制键并使用 pymol()
将结构解析为 PyMOL。
library(bio3d)
# Import PDB file
pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") )
# Atom 1
sele.1 <- atom.select(pdb, "calpha", resno=43, verbose=TRUE)
# Atom 2
sele.2 <- atom.select(pdb, "calpha", resno=54, verbose=TRUE)
在这个例子中,我想在原子 sele.1
和 sele.2
之间画一个 bond/tangent/line - 一个相当微不足道的问题,这可能吗?
可以从 R:
解析 PyMOL 脚本
# Return a string of commands to draw
pymol.bond.sele.command = function(atom1, atom2, nbond, chainID){
# return PyMOL command to draw a bond between atoms 1 and 2
return(paste(paste('distance ', paste('mydist', nbond, ', ', sep=''),
'chain ', pymolchain, ' and ', atom1, '/CA, ', 'chain ', pymolchain, ' and ', atom2, '/CA', sep='')))
}
> pymol.bond.sele.command(43, 54, 1, A)
[1] distance mydist1, chain A and 43/CA, chain A and 54/CA
将 pymol.bond.sele.command()
的输出复制到 PyMOL 终端。
要删除距离标签:
pymol.bond.lab.rm.command = function(nbond, chainID){
# return PyMOL command to remove the distance label drawn for distance element x
return(paste('hide labels, mydist', nbond, sep=''))
}
> pymol.bond.lab.rm.command(1, A)
[1] hide labels, mydist1
将 pymol.bond.lab.rm.command()
的输出复制到 PyMOL 终端。
使用 R 包 bio3d
我想在蛋白质上的两个原子之间绘制键并使用 pymol()
将结构解析为 PyMOL。
library(bio3d)
# Import PDB file
pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") )
# Atom 1
sele.1 <- atom.select(pdb, "calpha", resno=43, verbose=TRUE)
# Atom 2
sele.2 <- atom.select(pdb, "calpha", resno=54, verbose=TRUE)
在这个例子中,我想在原子 sele.1
和 sele.2
之间画一个 bond/tangent/line - 一个相当微不足道的问题,这可能吗?
可以从 R:
解析 PyMOL 脚本# Return a string of commands to draw
pymol.bond.sele.command = function(atom1, atom2, nbond, chainID){
# return PyMOL command to draw a bond between atoms 1 and 2
return(paste(paste('distance ', paste('mydist', nbond, ', ', sep=''),
'chain ', pymolchain, ' and ', atom1, '/CA, ', 'chain ', pymolchain, ' and ', atom2, '/CA', sep='')))
}
> pymol.bond.sele.command(43, 54, 1, A)
[1] distance mydist1, chain A and 43/CA, chain A and 54/CA
将 pymol.bond.sele.command()
的输出复制到 PyMOL 终端。
要删除距离标签:
pymol.bond.lab.rm.command = function(nbond, chainID){
# return PyMOL command to remove the distance label drawn for distance element x
return(paste('hide labels, mydist', nbond, sep=''))
}
> pymol.bond.lab.rm.command(1, A)
[1] hide labels, mydist1
将 pymol.bond.lab.rm.command()
的输出复制到 PyMOL 终端。