PDB文件里面的信息有嚴格的格式的。
各行數據,如標識、原子名、原子序號、殘基名稱、殘基序號等,不僅要按照嚴格的順序書寫,而且各項所占的空符串長度,及其所處的各行的位置都是嚴格規定的。
有關PDB文件的格式的全部說明可以在
http://www.wwpdb.org/docs.html網站上查詢。
對於使用分子模擬而言,最需要關心的是記錄着原子坐標的信息。
一個PDB文件可以是按着這樣的格式寫的:
Example
1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 ATOM 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 N ATOM 34 CA AARG A -3 12.353 85.696 94.456 0.50 36.67 C ATOM 35 CA BARG A -3 12.333 85.862 95.041 0.50 36.42 C ATOM 36 C AARG A -3 13.559 86.257 95.222 0.50 37.37 C ATOM 37 C BARG A -3 12.759 86.530 96.365 0.50 36.39 C ATOM 38 O AARG A -3 13.753 87.471 95.270 0.50 37.74 O ATOM 39 O BARG A -3 12.924 87.757 96.420 0.50 37.26 O ATOM 40 CB AARG A -3 12.774 85.306 93.039 0.50 37.25 C ATOM 41 CB BARG A -3 13.428 85.746 93.980 0.50 36.60 C ATOM 42 CG AARG A -3 11.754 84.432 92.321 0.50 38.44 C ATOM 43 CG BARG A -3 12.866 85.172 92.651 0.50 37.31 C ATOM 44 CD AARG A -3 11.698 84.678 90.815 0.50 38.51 C ATOM 45 CD BARG A -3 13.374 85.886 91.406 0.50 37.66 C ATOM 46 NE AARG A -3 12.984 84.447 90.163 0.50 39.94 N ATOM 47 NE BARG A -3 12.644 85.487 90.195 0.50 38.24 N ATOM 48 CZ AARG A -3 13.202 84.534 88.850 0.50 40.03 C ATOM 49 CZ BARG A -3 13.114 85.582 88.947 0.50 39.55 C ATOM 50 NH1AARG A -3 12.218 84.840 88.007 0.50 40.76 N ATOM 51 NH1BARG A -3 14.338 86.056 88.706 0.50 40.23 N ATOM 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文件了。