当前位置: X-MOL 学术J. Cheminfom. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
CyBy2: a strongly typed, purely functional framework for chemical data management
Journal of Cheminformatics ( IF 8.6 ) Pub Date : 2019-12-30 , DOI: 10.1186/s13321-019-0403-2
Stefan Höck , Rainer Riedl

We present the development of CyBy2, a versatile framework for chemical data management written in purely functional style in Scala, a modern multi-paradigm programming language. Together with the core libraries we provide a fully functional example implementation of a HTTP server together with a single page web client with powerful querying and visualization capabilities, providing essential functionality for people working in the field of organic and medicinal chemistry. The main focus of CyBy2 are the diverse needs of different research groups in the field and therefore the flexibility required from the underlying data model. Techniques for writing type level specifications giving strong guarantees about the correctness of the implementation are described, together with the resulting gain in confidence during refactoring. Finally we talk about the advantages of using a single code base from which the server, the client and the software’s documentation pages are being generated. We conclude with a comparison with existing open source solutions. All code described in this article is published under version 3 of the GNU General Public License and available from GitHub including an example implementation of both backend and frontend together with documentation how to download and compile the software (available at https://github.com/stefan-hoeck/cyby2).

中文翻译:

CyBy 2:用于化学数据管理的强类型纯功能框架

我们介绍CyBy2的开发,CyBy2是一种化​​学数据管理的通用框架,它以纯函数式语言Scala(一种现代的多范式编程语言)编写。我们与核心库一起,提供了HTTP服务器的完整功能示例实现,以及具有强大查询和可视化功能的单页Web客户端,为从事有机和药物化学领域工作的人员提供了必需的功能。CyBy2的主要关注点是该领域不同研究小组的不同需求,因此基础数据模型也需要灵活性。描述了编写类型级别规范的技术,这些技术为实现的正确性提供了有力的保证,并提供了重构期间的置信度。最后,我们讨论使用单一代码库的优势,从该代码库生成服务器,客户端和软件的文档页面。我们以与现有开源解决方案的比较作为结束。本文中描述的所有代码均以GNU通用公共许可证的第3版发布,可从GitHub获得,包括后端和前端的示例实现以及有关如何下载和编译软件的文档(可从https://github.com获得)。 / stefan-hoeck / cyby2)。
更新日期:2019-12-30
down
wechat
bug