Parser Combinators: a Practical Application for Generating Parsers for NMR Data.

Parser Combinators: a Practical Application for Generating Parsers for NMR Data.
复制标题

DOI:
10.1109/itng.2013.39
复制
发表时间:
2013
期刊:
Proceedings of the ... International Conference on Information Technology: New Generations. International Conference on Information Technology: New Generations
影响因子:
--
通讯作者:
Gryk MR
Gryk MR
中科院分区:
其他
文献类型:
--
作者:
Fenwick M;Weatherby G;Ellis HJ;Gryk MR

文献摘要

相似文献

核磁共振(NMR)光谱是一种用于以原子分辨率获取蛋白质数据并确定大蛋白质分子的三维结构的技术。一个典型的结构确定过程导致大量数据集沉积到BMRB(生物磁共振数据库)。这些数据以一种名为NMR-Star的文件格式存储和共享。这种格式在语法和语义上都很复杂,因此解析起来很困难。然而,解析这些文件对于应用存储在NMR-Star文件中的大量生物信息至关重要,使研究人员能够利用以前的研究结果来指导和验证未来的工作。解析文件的一种强大方法是应用巴科斯-诺尔形式(Backus-Naur Form,BNF)语法,它是文件格式的高级模型。语法模型到可执行解析器的转换可以自动完成。本文将展示我们如何应用NMR-Star格式的模型BNF语法来创建一个免费的开源解析器,使用一种起源于函数式编程世界的方法,称为“解析器组合子”。本文证明了文件规范和解析的原则性方法的有效性。本文还建立在我们以前的工作基础上,1)它应用了函数式编程的概念(即使实现语言Java比函数式编程更主流,这也是相关的),2)该项目的所有工作和成就都将在标准开源许可证下提供,为社区提供学习我们的技术和方法的机会。
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, 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.