化学文件格式

本文讨论了一些常见的分子文件格式,以及它们之间的使用和转换。

区分这些格式

编辑

化学资讯通常以文件(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]表示“”。有机物中的CNOPSBrClI等原子可以省略方括号,其他元素必须包括在方括号之内。离子用方括号括起,用元素符号和电荷表示,"+"表示正电荷、"-"表示负电荷,电荷数跟在正负号之后。如果该原子与氢原子相连,氢原子写在元素符号后面。

符号“=”表示双键,“#”表示三键。 () 表示分支。如果结构中有环,则要打开。断开处的两个原子用同一个数字标记,表示原子间有键相连。

芳环中的COSN原子分别用用小写字母c,o,s,n表示。如表示为c1ccccc1

例:

名称 化学式 SMILES字符串
甲烷 CH4 C
乙醇 C2H6O CCO
C6H6 C1=CC=CC=C1 or c1ccccc1
乙烯 C2H4 C=C

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大分子分级编辑语言 ,包含单体的结构

化学数据来源

编辑

以下是部分免费提供的分子数据来源。互联网上的资源比此处列出的要多得多。下面的参考资料中给出了这些来源的链接。

  1. 美国国家卫生研究院PubChem数据库是一个巨大的化学数据来源。所有数据都是二维的。数据包括SDF、SMILES、PubChem XML和PubChem ASN1 格式。
  2. 全球蛋白质数据库(wwPDB页面存档备份,存于互联网档案馆))[9]是蛋白质和核酸分子坐标数据的极好来源。数据是三维的,以蛋白质数据库(PDB)格式提供。
  3. eMolecules是一个用于分子数据的商业数据库。数据包括每个化合物的二维结构图和微笑字符串。 eMolecules支持基于部分分子结构的快速子结构搜索。
  4. ChemExper是用于分子数据的商业数据库。搜索结果包括许多化合物的二维结构图和摩尔文件。
  5. 纽约大学 3-D分子结构图书馆页面存档备份,存于互联网档案馆)。
  6. 美国环境保护署的分布式结构可搜索毒性(DSSTox)数据库网络是EPA计算毒理学计划的一个项目。该数据库提供SDF分子文件,重点关注致癌物质和其他有毒物质。

另请参见

编辑

参考文献

编辑
  1. ^ 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. 
  2. ^ 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. 
  3. ^ 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. 
  4. ^ 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. 
  5. ^ MDL Information System 2005
  6. ^ Mol2mol homepage. [2022-03-24]. (原始内容存档于2021-02-28). 
  7. ^ The Chemical MIME Home Page页面存档备份,存于互联网档案馆) (accessed 2013-January-24)
  8. ^ 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. 
  9. ^ 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.