化学信息程序设计语言

化学信息学涵盖小分子及其相关数据的表示、管理和分析。这意味着这些活动是在计算机上执行的。但是如何在计算机上表示一个分子呢?那么,人们如何对这种表示进行计算呢?

编程语言是在计算机上处理分子结构的基础。表示化学结构(如连接表或图形)的数据结构和操作它们的算法用编程语言实现。重要的是,有许多编程语言,每种语言都可以用来实现化学信息学算法,并具有不同程度的易用性。考虑到有这么多语言,如何为化学信息学项目选择语言?

考虑到有这么多语言,如何为化学信息学项目选择语言?

为了帮助回答这个问题化学信息学杂志创造了一个主题系列重点介绍化学信息社区中使用的不同编程语言。本系列由特邀文章组成,介绍如何使用给定语言解决化学信息学问题,以及该语言的特性如何帮助开发此类解决方案。

虽然大多数化学信息从业者可能不了解现代编程语言(PL)研究,但这些努力创造了化学信息项目中常用的语言特性,因为它们是所用编程语言的一部分。例如,函数式编程被吹捧为使实践者能够编写简洁的代码,减少bug。虽然这在某些情况下是正确的,但尚不清楚这是否能使化学信息软件更好。

这就引出了为化学信息学项目选择语言的原始问题。该系列文章并不打算推荐任何一种特定的语言而不是另一种语言。相反,作者表达了他们认为语言能让他们做什么。根据本系列当前的文章,用于实现化学信息学的语言的一个共同特点是支持库和社区的存在。用一种只有开发人员才能支持的语言编写软件没有什么好处。因此,尽管利基语言可能提供独特的功能,但缺乏社区支持(以及相关工具)可能会阻碍其更广泛的使用。

该系列文章并不打算推荐任何一种特定的语言而不是另一种语言。相反,作者表达了他们认为语言能让他们做什么。

在此基础上,围绕语言的基础设施可以极大地帮助开发。例如Jupyter笔记本制造识字编程对于Python、R甚至C++等多种语言来说,更容易访问。同样地,斯图迪奥作为R开发环境,可以显著改变数据分析工作流程。随着web应用程序的兴起,支持web应用程序中的化学信息数据结构和算法的能力变得非常重要。虽然可以使用传统语言,如C++来编写Web应用程序,但现代Web项目往往使用JavaScript及其变体。因此,化学信息工具包用Javascript实现已经出现,使功能从描述化学结构到描述符计算。

总之,随着本专题系列的出版,希望读者能够接触到各种编程语言,并能够识别这些语言中可能对他们的下一个项目有用的特性。

查看物理科学主页上的最新帖子

评论