Chemoinformatics and structural bioinformatics in OCaml

J Cheminform. 2019 Feb 5;11(1):10. doi: 10.1186/s13321-019-0332-0.

Abstract

Background: OCaml is a functional programming language with strong static types, Hindley-Milner type inference and garbage collection. In this article, we share our experience in prototyping chemoinformatics and structural bioinformatics software in OCaml.

Results: First, we introduce the language, list entry points for chemoinformaticians who would be interested in OCaml and give code examples. Then, we list some scientific open source software written in OCaml. We also present recent open source libraries useful in chemoinformatics. The parallelization of OCaml programs and their performance is also shown. Finally, tools and methods useful when prototyping scientific software in OCaml are given.

Conclusions: In our experience, OCaml is a programming language of choice for method development in chemoinformatics and structural bioinformatics.

Keywords: Bisector tree; Chemoinformatics; Functional programming; OCaml; Open source; Scientific software; Software prototyping; Structural bioinformatics.