问题
不属于一条多肽或多核苷酸链的游离的标准氨基酸或核苷酸,在仅显示主链(如卡通、二级结构、N->C虹彩等模式及隐藏侧链的藤蔓模式)的情况下不能显示。这是因为主链是通过连接分子链的α碳原子或磷原子勾画出的。如果在一个“分子链”中仅有一个这样的原子,自然就无甚可连,于是也就无法显示游离氨基酸或核苷酸的“主链”了。
例子:在1BKX中,腺苷A351:B与蛋白质结合。尽管这个标准残基未被磷酸化,也被正确缩写为A而被Jmol归入RNA中;但是,在仅显示主链的情况下,这个重要的残基是不可见的。另一个例子是4CPA中的GLY1:G残基,它是一个与蛋白结合的游离甘氨酸。
多数非标准残基及绝大多数配体都不会被Jmol判断为蛋白质、DNA或RNA。通过选择“非(蛋白、核酸、水分子)”和填充模式很容易把他们显示出来。但是,这种方法对上述例子中的腺苷仍然无效(一目了然0.98及以前版本。译者注:我们的中文镜像基于FG1.0版,已解决上述问题)。
核酸主链主要通过连接磷原子而得到。但是,标准的多核苷酸链开头是5'羟基。因此,5'端缺乏磷原子。Jmol通过延长主链线来纳入O5*末端。例如,在1d66中,DNA链5'端(C1:D和C20:E)没有磷原子,但能够在只显示主链的情况下显示出来。
解决方案
在默认及所有显示主链的模式中,用填充模式来显示游离的标准残基(或缺失特定原子的标准残基)。由于Jmol 10.2引入了“连接”这个新命令,能够选择与特定原子共价链接的原子,因此前述解决方案变得可行。
用一段名为defineBackboneInvisibleSpt(见scripts.js文件)的脚本,选择在FG默认模式中可能不可见(otherwise-invisible)的残基。该脚本把它们纳入Jmol中的~backbone_invisible。这些可能不可见的残基被排除在“蛋白”(见scripts.js中proteinSpt的定义)之外,而被纳入“配体+”(见scripts.js中ligandSpt的定义)之中。
以下是使用Jmol“连接”命令的一个例子。它选择含有主链氮原子的氨基酸,但所选氮原子并不与主链碳原子形成肽键。因为*.N和*.C原子始终是被α碳原子(*.CA)分隔开的,所以在一个氨基酸内*.N不会直接与*.C原子共价链接。因此,如果.N原子与.C原子成键,含.N的氨基酸一定是与另一个含.C原子的氨基酸形成了肽键。
select (protein and *.n) and not connected(*.c);
实例测试
在描述上述问题时,一些已发布的PDB文件被用作例子。
1B07中有一个组氨酸(HIS),使用了一个单独的分子链名而不是它共价链接的那个分子链名。因为它与另一氨基酸有共价链接,这个“单残基链”没有被包括在“配体+”中,在初始默认视图中被用另一种颜色显示,仿佛长了一个尾巴似的。
我们根据1d66.pdb,人工创建了一套例子以便验证。其结果bb-invis.pdb已打包到一目了然中,包括:
蛋白质
|
残基 |
描述 |
.N |
.C |
检测为* |
GLU8:A |
游离氨基酸 |
未与.C成键 |
未与.N成键 |
~unchained_aas |
ALA10:A |
游离氨基酸 |
缺失 |
未与.N成键 |
~unbondable_aas (注1) |
ASP12:A |
游离氨基酸 |
未与.C成键 |
缺失 |
~unbondable_aas (注1) |
CYS14:A |
游离氨基酸,
α碳原子缺失 |
未与.C成键 |
未与.N成键 |
~nobackbone_aas (注1) |
LYS17-LYS18:A |
二肽 |
n/a |
n/a |
(显示了主链) |
核酸
|
残基 |
描述 |
.P |
.O3* |
检测为* |
C1:D |
游离DNA残基,未磷酸化 |
缺失 |
未与.P成键 |
~hydroxy_unchained_nucs |
G3:D |
游离DNA残基,磷酸化 |
未与.O3*成键 |
未与.P成键 |
~unchained_nucs |
A5:D |
游离DNA残基,磷酸化 |
未与.O3*成键 |
缺失 |
非"DNA" |
G7-A8:D |
二脱氧核糖核酸,都磷酸化 |
n/a |
n/a |
(显示了主链) |
G10-A11:D |
二脱氧核糖核酸,5'未磷酸化 |
n/a |
n/a |
(显示了主链) |
* 波浪号(~)开头的术语由scripts.js中的defineInvisibleBackboneSpt在Jmol中定义。
注1: 这种氨基酸不会被Jmol判断为“蛋白质”。但是,FG并不依赖Jmol预定义的原子集“蛋白质”,因为它有时甚至不能把标准氨基酸包括在内(见Jmol命令脚本问题选辑)。所以,FG在scripts.js中用脚本proteinSpt来纳入蛋白质或20种标准氨基酸。因此,一个氨基酸不被Jmol判别为“蛋白质”,其信息不适用于FG。 因此,FG需要额外的测试以确定标准氨基酸是否含有.CA、.C及.N。 这些测试包含在scripts.js的defineInvisibleBackboneSpt中。
反馈信息给