PDB文件里面的信息有严格的格式的。
各行数据,如标识、原子名、原子序号、残基名称、残基序号等,不仅要按照严格的顺序书写,而且各项所占的空符串长度,及其所处的各行的位置都是严格规定的。
有关PDB文件的格式的全部说明可以在 网站上查询。
对于使用分子模拟而言,最需要关心的是记录着原子坐标的信息。
一个PDB文件可以是按着这样的格式写的:
Example
1 2 3 4 5 6 7 812345678901234567890123456789012345678901234567890123456789012345678901234567890ATOM 32 N AARG A -3 11.281 86.699 94.383 0.50 35.88 N ATOM 33 N BARG A -3 11.296 86.721 94.521 0.50 35.60 NATOM 34 CA AARG A -3 12.353 85.696 94.456 0.50 36.67 CATOM 35 CA BARG A -3 12.333 85.862 95.041 0.50 36.42 CATOM 36 C AARG A -3 13.559 86.257 95.222 0.50 37.37 CATOM 37 C BARG A -3 12.759 86.530 96.365 0.50 36.39 CATOM 38 O AARG A -3 13.753 87.471 95.270 0.50 37.74 OATOM 39 O BARG A -3 12.924 87.757 96.420 0.50 37.26 OATOM 40 CB AARG A -3 12.774 85.306 93.039 0.50 37.25 CATOM 41 CB BARG A -3 13.428 85.746 93.980 0.50 36.60 CATOM 42 CG AARG A -3 11.754 84.432 92.321 0.50 38.44 CATOM 43 CG BARG A -3 12.866 85.172 92.651 0.50 37.31 CATOM 44 CD AARG A -3 11.698 84.678 90.815 0.50 38.51 CATOM 45 CD BARG A -3 13.374 85.886 91.406 0.50 37.66 CATOM 46 NE AARG A -3 12.984 84.447 90.163 0.50 39.94 NATOM 47 NE BARG A -3 12.644 85.487 90.195 0.50 38.24 NATOM 48 CZ AARG A -3 13.202 84.534 88.850 0.50 40.03 CATOM 49 CZ BARG A -3 13.114 85.582 88.947 0.50 39.55 CATOM 50 NH1AARG A -3 12.218 84.840 88.007 0.50 40.76 NATOM 51 NH1BARG A -3 14.338 86.056 88.706 0.50 40.23 NATOM 52 NH2AARG A -3 14.421 84.308 88.373 0.50 40.45 N
Record Format
COLUMNS DATA TYPE FIELD DEFINITION------------------------------------------------------------------------------------- 1 - 6 Record name "ATOM " 7 - 11 Integer serial Atom serial number.13 - 16 Atom name Atom name.17 Character altLoc Alternate location indicator.18 - 20 Residue name resName Residue name.22 Character chainID Chain identifier.23 - 26 Integer resSeq Residue sequence number.27 AChar iCode Code for insertion of residues.31 - 38 Real(8.3) x Orthogonal coordinates for X in Angstroms.39 - 46 Real(8.3) y Orthogonal coordinates for Y in Angstroms.47 - 54 Real(8.3) z Orthogonal coordinates for Z in Angstroms.55 - 60 Real(6.2) occupancy Occupancy.61 - 66 Real(6.2) tempFactor Temperature factor.77 - 78 LString(2) element Element symbol, right-justified.79 - 80 LString(2) charge Charge on the atom.
各行记录中,第1-6位记录的是该行的“标识”。
第7-11位记录的是序号(是serial,不是index,index=serial-1),PDB文件对分子结构处理为segment、chain、residue、atom四个层次(一般并不用到chain),因此这个数位限制只限定了一个残基中的原子最多只能为99999个,显然是完全足够了。
第13-16位为原子名称,但往往是从第14位开始写,占四个字符的原子名才会从第13位开始写。Discovery Studio总是从第14位开始写,对于四个字符的原子名则会将第四个字符写在第13位上,不注意则会引起麻烦。我本科毕设的时候有过惨痛的教训。
第17位定义为可别定位符,尚未遇到这样的用法,不清楚作用为何。
第18-20位为残基名(resname),只有三个字符的长度,因此在定义自己的分子拓扑文件时要注意残基名称的长度。
第21位留空。
第22位是chainID。
第27位是iCode,不清楚用途。
第28-30位留空。
31-38,39-46,47-54位分别记录原子的x、y、z坐标,各是一个8位长度、带有3位小数的浮点数。
55-60为occupancy,没有用到过这个性质;61-66是温度因子,就是所谓的1/(kT)。都是6位长度、2位小数的浮点数。
73-76位在PDB的文档说明里面没有,VMD里面则用来记录segid。
77-78位记录元素符号。
79-80可以记录电荷,但实际上分子模拟中,电荷往往是要重新定义的,所以这一列往往也用不到。VMD写出的PDB文件中,这一列就不存在了。
明白了一个PDB文件的格式,就可以利用程序或脚本批量处理大量的PDB文件了。