Cargando…

CyBy(2): a strongly typed, purely functional framework for chemical data management

We present the development of CyBy(2), 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...

Descripción completa

Detalles Bibliográficos
Autores principales: Höck, Stefan, Riedl, Rainer
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer International Publishing 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6937922/
https://www.ncbi.nlm.nih.gov/pubmed/33430953
http://dx.doi.org/10.1186/s13321-019-0403-2
_version_ 1783483967370952704
author Höck, Stefan
Riedl, Rainer
author_facet Höck, Stefan
Riedl, Rainer
author_sort Höck, Stefan
collection PubMed
description We present the development of CyBy(2), 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 CyBy(2) 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).
format Online
Article
Text
id pubmed-6937922
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher Springer International Publishing
record_format MEDLINE/PubMed
spelling pubmed-69379222020-01-06 CyBy(2): a strongly typed, purely functional framework for chemical data management Höck, Stefan Riedl, Rainer J Cheminform Software We present the development of CyBy(2), 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 CyBy(2) 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). Springer International Publishing 2019-12-30 /pmc/articles/PMC6937922/ /pubmed/33430953 http://dx.doi.org/10.1186/s13321-019-0403-2 Text en © The Author(s) 2019 Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated in a credit line to the data.
spellingShingle Software
Höck, Stefan
Riedl, Rainer
CyBy(2): a strongly typed, purely functional framework for chemical data management
title CyBy(2): a strongly typed, purely functional framework for chemical data management
title_full CyBy(2): a strongly typed, purely functional framework for chemical data management
title_fullStr CyBy(2): a strongly typed, purely functional framework for chemical data management
title_full_unstemmed CyBy(2): a strongly typed, purely functional framework for chemical data management
title_short CyBy(2): a strongly typed, purely functional framework for chemical data management
title_sort cyby(2): a strongly typed, purely functional framework for chemical data management
topic Software
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6937922/
https://www.ncbi.nlm.nih.gov/pubmed/33430953
http://dx.doi.org/10.1186/s13321-019-0403-2
work_keys_str_mv AT hockstefan cyby2astronglytypedpurelyfunctionalframeworkforchemicaldatamanagement
AT riedlrainer cyby2astronglytypedpurelyfunctionalframeworkforchemicaldatamanagement