化學文件格式
本文討論了一些常見的分子文件格式,以及它們之間的使用和轉換。
區分這些格式
編輯化學信息通常以文件或流(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.