Fenwick Matthew, Weatherby Gerard, Ellis Heidi Jc, Gryk Michael R
Department of Microbial, Molecular and Structural Biology, University of Connecticut Health Center, 263 Farmington Avenue Farmington, Connecticut 06030.
Department of Computer Science / Information Technology, Western New England University, Springfield, Massachusetts.
Proc Int Conf Inf Technol New Gener. 2013. doi: 10.1109/ITNG.2013.39.
Nuclear Magnetic Resonance (NMR) spectroscopy is a technique for acquiring protein data at atomic resolution and determining the three-dimensional structure of large protein molecules. A typical structure determination process results in the deposition of a large data sets to the BMRB (Bio-Magnetic Resonance Data Bank). This data is stored and shared in a file format called NMR-Star. This format is syntactically and semantically complex making it challenging to parse. Nevertheless, parsing these files is crucial to applying the vast amounts of biological information stored in NMR-Star files, allowing researchers to harness the results of previous studies to direct and validate future work. One powerful approach for parsing files is to apply a Backus-Naur Form (BNF) grammar, which is a high-level model of a file format. Translation of the grammatical model to an executable parser may be automatically accomplished. This paper will show how we applied a model BNF grammar of the NMR-Star format to create a free, open-source parser, using a method that originated in the functional programming world known as "parser combinators". This paper demonstrates the effectiveness of a principled approach to file specification and parsing. This paper also builds upon our previous work [1], in that 1) it applies concepts from Functional Programming (which is relevant even though the implementation language, Java, is more mainstream than Functional Programming), and 2) all work and accomplishments from this project will be made available under standard open source licenses to provide the community with the opportunity to learn from our techniques and methods.
核磁共振(NMR)光谱学是一种用于在原子分辨率下获取蛋白质数据并确定大型蛋白质分子三维结构的技术。一个典型的结构确定过程会导致将大量数据集存入BMRB(生物磁共振数据库)。这些数据以一种名为NMR-Star的文件格式存储和共享。这种格式在语法和语义上都很复杂,解析起来具有挑战性。然而,解析这些文件对于应用存储在NMR-Star文件中的大量生物学信息至关重要,它能让研究人员利用先前研究的结果来指导和验证未来的工作。一种强大的文件解析方法是应用巴克斯-诺尔范式(BNF)语法,它是一种文件格式的高级模型。可以自动完成将语法模型转换为可执行解析器的操作。本文将展示我们如何应用NMR-Star格式的模型BNF语法,使用一种源自函数式编程领域的方法“解析器组合子”来创建一个免费的开源解析器。本文展示了一种有原则的文件规范和解析方法的有效性。本文还基于我们之前的工作[1],即1)它应用了函数式编程的概念(尽管实现语言Java比函数式编程更主流,但该概念仍然相关),2)该项目的所有工作和成果都将根据标准开源许可提供,以便社区有机会学习我们的技术和方法。