如何在PyMOL中解析单引号字符

时间:2019-10-05 07:21:13

标签: pymol

我正在编写解析器来解析PyMOL文件(生物信息学的语言)。 我知道双引号char会生成类似"text"的字符串。但是单引号char '是不同的。这是带有这个奇怪符号的PyMOL行的示例。

load dat/names.pdb

select test,name O4'
select test,*/O4'

select test,*/O4'+O3'
select test,(*/O4',O3')
select test,name O4'+O3'
select test,name "O4'+O3'"

select test,name O4'+Na\+
select test,(name Na\+,O4')
select test,name Na\++O4'
select test,*/Na\++O4'

select test,*/O4'+O4

select test,*/O2\*+O2

select test,*/O2\*+O2'

此引用适用于哪些语言标记?如何给这些线条着色?也许quote-char是单词char,还是分隔符char?在一个示例文件中,我看到了quote的这种用法,它是字符串标记'text'

iterate (all),resn = 'NON'

这是来自PyMOL GitHub repo的有效代码。

1 个答案:

答案 0 :(得分:0)

PyMOL不仅仅是语言,还是软件。但是,它提供了一组命令来支持某些python脚本。您的文件包含的是一组此类命令。

第一个命令load dat/names.pdb加载一个pdb文件(一个文本文件,包含3D坐标,名称和有关分子中原子原子的其他数据,通常是(但不总是)一种蛋白质)。可以在here中找到有关pdb文件的完整文档。

第二个及后续命令在specific syntax之后创建一个PyMOL选择(基本上是原子列表)。关键字name表示您要选择名称包含字符串O4'的原子(对于第一个select命令)。请注意,单引号是原子名称的一部分,而不是语言标记。通常,带有单引号字符的原子名称会指出核酸(DNA或RNA)中的原子。

命令iterate (all),resn = 'NON'是一个PyMOL命令,用于对选择的所有原子进行iterate;在这里,选择为(all),这意味着会话中加载的所有原子。但是语法对我来说似乎不正确。我假设您要遍历属于名为NON的残基的所有原子,在这种情况下,您的命令应看起来像iterate (resn NON), print name来打印所选内容的所有原子的名称。如果要将所有原子的残基名称更改为NON,则应考虑使用PyMOL命令alter