化學檔案格式
本文討論了一些常見的分子檔案格式,以及它們之間的使用和轉換。
區分這些格式
化學資訊通常以檔案或流(stream)的形式提供,人們已經建立了許多格式,分別具有不同詳細程度的文件。格式通過以下三種方式表示(參見 "Chemical MIME" 部分)
- 副檔名(通常為 3 個字母)。這不是十分可靠,因為包括非化學檔案在內的許多檔案類型共用這些常見的字尾,例如「.mol」和「.dat」。
- 檔案中包含格式資訊的自描述檔案。例如CIF和CML。
- 可以傳輸化學資訊的伺服器傳輸的Chemical/MIME流。
化學標記式語言(CML)
化學標記式語言(CML) 是一種用於表示分子和其他化學數據的開源格式。其開源專案包含XML Schema、用於解析和使用CML數據的一整套原始碼以及一個活躍的社區。許多工具都相容CML數據檔案,包括JChemPaint、Jmol、XDrawChem和MarvinView。
蛋白質資料庫(PDB)
PDB格式通常用於蛋白質,但也可用於其他類型的分子。它最初的設計為固定列寬格式,因此具有最大原子數、殘基數和鏈數的限制;這導致較大的結構(例如核糖體)需要被拆分為多個檔案。但是也有許多工具可以讀取超出這些限制的檔案。例如,E.coli 70S核糖體 在 2009 年被分割為 4 個PDB檔案: 3I1M (頁面存檔備份,存於互聯網檔案館)、3I1N (頁面存檔備份,存於互聯網檔案館)、3I1O和 3I1P,在2014 年又被合併為一個檔案4V6C (頁面存檔備份,存於互聯網檔案館) 。
一些PDB檔案擁有描述原子連接性和位置的可選功能。因為這些檔案有時用於描述大分子組裝體或在顯式溶劑中表示的分子,所以它們的體積會非常大且被壓縮。一些工具,例如Jmol和KiNG, [1]可以讀取 .gz格式的PDB檔案。 wwPDB制定並維護PDB及其XML替代方案PDBML的規範。 2007 年 8 月,PDB格式規範(版本 3.0)發生了相當大的變化,並且修復了現有資料庫中的許多檔案問題。 [2] PDB檔案的典型副檔名是.pdb ,一些較舊的檔案也可能使用.ent或.brk 。一些分子建模工具根據自己的需要調整基本格式為非標準的PDB樣式檔案。
GROMACS
GROMACS系列檔案格式是為與分子模擬軟件套件GROMACS一起使用而建立的。它與PDB格式非常相似,但允許額外的數值精度,並可選擇保留有關粒子速度以及模擬軌跡中給定點的位置的資訊。這是因為它被設計用於儲存分子動力學模擬的輸出。GROMACS不允許儲存連接資訊,這些資訊是從單獨的分子和系統拓撲檔案中獲得的。 GROMACS檔案的典型副檔名是.gro 。
CHARMM
CHARMM分子動力學軟件套件[3]可以讀寫多種標準的化學和生化檔案格式;但CARD(coordinate, 坐標)和PSF(Protein Structure File, 蛋白質結構檔案)幾乎是CHARMM獨有的。 CARD格式是固定列寬的,類似於PDB格式,專門用於儲存原子坐標。 PSF檔案包含原子連接資訊(即描述原子之間的鍵),這在在開始分子動力學模擬之前是必需的。使用的典型副檔名分別是.crd和.psf 。
GSD(General Simulation Data)
通用模擬數據(General Simulation Data, GSD)格式用於高效地讀取和寫入主要來自(但不限於)HOOMD-blue的粒子模擬數據。該軟件套件包含的一個python模組可以以易於使用的語法讀取和寫入HOOMD模式的gsd檔案。 [1]
Ghemical
Ghemical軟件可以使用OpenBabel匯入和匯出多種檔案格式,預設使用GPR格式。該檔案由幾個部分組成,由 !Header
!Info
!Atoms
!Bonds
!Coord
!PartialCharges
!End
分隔。
這種格式的推薦MIME類型為application/x-ghemical 。
SYBYL線性字串(SYBYL Line Notation,SLN)
SYBYL線性字串(SYBYL Line Notation, SLN)是一種用字串表示化學結構的方法。因其基於SMILES,所以包含用於特定相對立體化學的完整表示方式。 SLN具有豐富的查詢語法,允許查詢Markush結構,還支援ChemDraw組合庫的規範。
例:
SLN字串 | |
---|---|
苯 | C[1]H:CH:CH:CH:CH:CH:@1 |
丙氨酸 | NH2C[s=n]H(CH3)C(=O)OH |
要求顯示R側鏈 | R1[hac>1]C[1]:C:C:C:C:C:@1 |
酰胺/磺胺 | NHC=M1{M1:O,S} |
簡化分子線性輸入規範(SMILES)
Simplified Molecular Input Line Entry Specification(簡化分子線性輸入規範,SMILES)[4]用一串字元描述分子。 SMILES字串包括連接情況,但不包括 2D和 3D坐標。
氫原子會被略去,原子用在方括號內的化學元素符號表示,例如[Au]表示「金」。有機物中的C、N、O、P、S、Br、Cl、I等原子可以省略方括號,其他元素必須包括在方括號之內。離子用方括號括起,用元素符號和電荷表示,"+"表示正電荷、"-"表示負電荷,電荷數跟在正負號之後。如果該原子與氫原子相連,氫原子寫在元素符號後面。
符號「=」表示雙鍵,「#」表示三鍵。 () 表示分支。如果結構中有環,則要打開。斷開處的兩個原子用同一個數字標記,表示原子間有鍵相連。
芳環中的C、O、S、N原子分別用用小寫字母c,o,s,n表示。如苯表示為c1ccccc1
例:
名稱 | 化學式 | SMILES字串 |
---|---|---|
甲烷 | CH4 | C |
乙醇 | C2H6O | CCO |
苯 | C6H6 | C1=CC=CC=C1 or c1ccccc1 |
乙烯 | C2H4 | C=C |
XYZ
XYZ是一種簡單的格式,通常在第一行給出原子數,在第二行給出註釋,然後是幾行原子符號(或原子序數)和坐標參數。
MDL編號
MDL編號包含每個反應和變化的唯一標識號。格式為RXXXnnnnnnnn。 R表示一個反應(reaction),XXX表示哪個資料庫包含反應記錄。數字部分nnnnnnnn是一個 8 位數字。
其他常見格式
最广泛使用的工业标准之一是化学表格文件({{tsl|en|Chemical_table_file|Chemical_table_file|Chemical table file}})格式,例如結構數據格式(Structure Data Format,SDF) 檔案。這些文字檔案遵循着嚴格格式,用於表示多個化學結構和相關數據。該格式最初由Molecular Design Limited (MDL) 開發和發佈。 MOL是MDL的另一種檔案格式。它記錄在CTfile格式的第 4 章中。 [5]
PubChem還有XML和ASN1 格式,是PubChem線上資料庫的匯出選項。二者均基於文字(ASN1 通常是二進制格式)。
下表列出了大量其他格式
格式轉換
OpenBabel和JOELib是免費提供的開源工具,專門被設計用來將檔案在各種格式之間轉換。他們的化學專家系統(chemical expert systems)支援大型的檔案轉換。
OpenBabel的基本命令是
babel -i input_format input_file -o output_format output_file
例如,要將SDF中的 腎上腺素.sdf 檔案轉換為CML格式:
babel -i sdf epinephrine.sdf -o cml epinephrine.cml
生成的檔案是 腎上腺素.cml
IOData (頁面存檔備份,存於互聯網檔案館)是一個免費的開源Python庫,用於解析、儲存和轉換量子化學、分子動力學和平面波密度泛函理論軟件程式常用的各種檔案格式。它還能為各種軟件套件生成匯入檔案的靈活框架。有關支援格式的完整列表,請訪問https://iodata.readthedocs.io/en/latest/formats.html 。
許多用於檢視和編輯分子結構的工具能夠讀取多種格式的檔案並以其他格式輸出。例如:JChemPaint(基於Chemistry Development Kit)、XDrawChem(基於OpenBabel)、Chime、Jmol、Mol2mol [6] 和Discovery Studio。
化學MIME專案
「化學MIME」是一種將化學資訊流附加到MIME類型的方法。
該專案於 1994 年 1 月開始,並於 1994 年 5 月在CERN舉行的第一屆WWW國際會議的化學研討會上首次宣佈。……草案的第一個版本在 1994 年 5 月至 10 月期間發佈,第二個修訂版在 1995 年 4 月至 9 月期間發佈。在 1996 年 8 月的IUPAC會議上提交給CPEP(印刷和電子出版物委員會)的論文尚待商榷。 [7]
1998年該檔案在JCIM上正式發表。 [8]
檔案拓展名 | MIME類型 | 全名 | 備註 |
---|---|---|---|
alc | chemical/x-alchemy | Alchemy格式 | |
csf | chemical/x-cache-csf | CAChe MolStruct CSF | |
cbin, cascii, ctab | chemical/x-cactvs-binary | CACTVS格式 | |
cdx | chemical/x-cdx | ChemDraw eXchange檔案 | |
cer | chemical/x-cerius | MSI Cerius II格式 | |
c3d | chemical/x-chem3d | Chem3D格式 | |
chm | chemical/x-chemdraw | ChemDraw檔案 | |
cif | chemical/x-cif | 晶體學資訊文件,晶體學資訊框架 | 由國際晶體學聯合會頒佈 |
cmdf | chemical/x-cmdf | CrystalMaker數據格式 | |
cml | chemical/x-cml | 化學標記式語言 | 基於XML的 化學標記式語言 |
cpa | chemical/x-compass | Compass program of the Takahashi | |
bsd | chemical/x-crossfire | Crossfire檔案 | |
csm, csml | chemical/x-csml | 化學特色標記式語言Chemical Style Markup Language | |
ctx | chemical/x-ctx | Gasteiger group CTX格式 | |
cxf, cef | chemical/x-cxf | Chemical eXchange格式 | |
emb, embl | chemical/x-embl-dl-nucleotide | EMBL Nucleotide格式 | |
spc | chemical/x-galactic-spc | 光譜學和色譜學的SPC格式 | |
inp, gam, gamin | chemical/x-gamess-input | GAMESS輸入格式 | |
fch, fchk | chemical/x-gaussian-checkpoint | Gaussian檢查點格式 | |
cub | chemical/x-gaussian-cube | Gaussian Cube (Wavefunction) 格式 | |
gau, gjc, gjf, com | chemical/x-gaussian-input | Gaussian輸入格式 | |
gcg | chemical/x-gcg8-sequence | Protein Sequence格式 | |
gen | chemical/x-genbank | ToGenBank格式 | |
istr,ist | chemical/x-isostar | 分子間反應的IsoStar Library | |
jdx, dx | chemical/x-jcamp-dx | JCAMP光譜學數據交換格式 | |
kin | chemical/x-kinemage | Kinetic (蛋白質結構) 圖像; Kinemage | |
mcm | chemical/x-macmolecule | MacMolecule格式 | |
mmd, mmod | chemical/x-macromodel-input | MacroModel分子機理 | |
mol | chemical/x-mdl-molfile | MDL Mol檔案 | |
smiles, smi | chemical/x-daylight-smiles | 簡化分子線性輸入規範 | 對分子的線性字元描述 |
sdf | chemical/x-mdl-sdfile | 結構數據檔案 | |
el | chemical/x-sketchel | SketchEl分子檔案 | |
ds | chemical/x-datasheet | SketchEl XML數據表 | |
inchi | chemical/x-inchi | IUPAC國際化學標識 | |
jsd, jsdraw | chemical/x-jsdraw | JSDraw原生檔案格式 | |
helm, ihelm | chemical/x-helm | Pistoia Alliance HELM字串 | 對生物化學分子的線性字元描述 |
xhelm | chemical/x-xhelm | Pistoia Alliance XHELM XML檔案 | 基於XML的 大分子分級編輯語言 ,包含單體的結構 |
化學數據來源
以下是部分免費提供的分子數據來源。互聯網上的資源比此處列出的要多得多。下面的參考資料中給出了這些來源的連結。
- 美國國家衛生研究院PubChem資料庫是一個巨大的化學數據來源。所有數據都是二維的。數據包括SDF、SMILES、PubChem XML和PubChem ASN1 格式。
- 全球蛋白質資料庫(wwPDB (頁面存檔備份,存於互聯網檔案館))[9]是蛋白質和核酸分子坐標數據的極好來源。數據是三維的,以蛋白質資料庫(PDB)格式提供。
- eMolecules是一個用於分子數據的商業資料庫。數據包括每個化合物的二維結構圖和微笑字串。 eMolecules支援基於部分分子結構的快速子結構搜尋。
- ChemExper是用於分子數據的商業資料庫。搜尋結果包括許多化合物的二維結構圖和摩爾檔案。
- 紐約大學 3-D分子結構圖書館 (頁面存檔備份,存於互聯網檔案館)。
- 美國環境保護署的分散式結構可搜尋毒性(DSSTox)資料庫網絡是EPA計算毒理學計劃的一個專案。該資料庫提供SDF分子檔案,重點關注致癌物質和其他有毒物質。
另請參見
- 檔案格式
- OpenBabel,JOELib, OELib
- 化學開發工具包(Chemistry Development Kit)
- 化學標記式語言
- 分子建模軟件(Software for molecular modeling)
- NCI/CADD化學識別碼解析器 (頁面存檔備份,存於互聯網檔案館)
參考文獻
- ^ Chen, V.B.; et al. KING (Kinemage, Next Generation): A versatile interactive molecular and scientific visualization program. Protein Science. 2009, 18 (11): 2403–2409. PMC 2788294 . PMID 19768809. doi:10.1002/pro.250.
- ^ Henrick, K.; et al. Remediation of the protein data bank archive. Nucleic Acids Research. 2008, 36 (Database issue): D426–D433. PMC 2238854 . PMID 18073189. doi:10.1093/nar/gkm937.
- ^ Brooks, B.M.; et al. CHARMM: A program for macromolecular energy, minimization, and dynamics calculations. J. Comput. Chem. 1983, 4 (2): 187–217. doi:10.1002/jcc.540040211.
- ^ Weininger, David. SMILES, a Chemical Language and Information System: 1: Introduction to Methodology and Encoding Rules. Journal of Chemical Information and Modeling. 1988, 28 (1): 31–36. doi:10.1021/ci00057a005.
- ^ MDL Information System 2005
- ^ Mol2mol homepage. [2022-03-24]. (原始內容存檔於2021-02-28).
- ^ The Chemical MIME Home Page (頁面存檔備份,存於互聯網檔案館) (accessed 2013-January-24)
- ^ Rzepa, H. S.; Murray-Rust, P.; Whitaker, B. J. The Application of Chemical Multipurpose Internet Mail Extensions (Chemical MIME) Internet Standards to Electronic Mail and World Wide Web Information Exchange. Journal of Chemical Information and Modeling. 1998, 38 (6): 976. doi:10.1021/ci9803233.
- ^ Berman, H.M.; et al. Announcing the worldwide Protein Data Bank. Nature Structural Biology. 2003, 10 (12): 980. PMID 14634627. doi:10.1038/nsb1203-980.