该协议的目的是使用开源软件有效地生成和策划小分子结构库。
分子结构的详尽生成具有许多化学和生化应用,例如药物设计,分子数据库构建,替代生物化学的探索等等。从数学上讲,这些是具有化学约束的图形生成器。在现场,目前最高效的发电机(MOLGEN)是一种商业产品,限制了它的使用。除此之外,另一个分子结构生成器MAYGEN是最近的开源工具,其效率可与MOLGEN相媲美,并且用户能够通过添加新功能来提高其性能。可以从这一发展中受益的研究领域之一是天体生物学;结构生成器允许研究人员用替代生物化学的计算可能性来补充实验数据。该协议详细介绍了天体生物学中结构生成的一个用例,即α-氨基酸库的生成和整理。使用开源结构生成器和化学信息学工具,这里描述的实践可以在天体生物学之外实施,以便为任何研究问题低成本地创建和策划化学结构库。
分子结构生成作为详尽图生成的一般问题的实际应用;给定几个节点(原子)及其对连通性的约束(例如,价态,键多重性,所需/不需要的子结构),有多少个连接的图(分子)是可能的?结构生成器在药物发现和药物开发中已经得到了广泛的应用,在那里它们可以为 计算机 筛选1创建大量的新型结构库。
第一个结构生成器CONGEN是为有机化学中的第一个人工智能项目DENDRAL2 (DENDRITIC ALgorithm的缩写)开发的。文献中报道了DENDRAL的几个软件继承者;然而,并非所有这些都得到维护或有效。目前,MOLGEN3 是最先进的分子结构发生器。不幸的是,对于大多数潜在用户来说,它是闭源的,需要支付许可费。因此,需要一个高效的开源结构生成器,可以很容易地适应特定的应用。高效结构发电机的一个挑战是管理组合爆炸;随着分子式大小的增加,化学搜索空间的大小呈指数级增长。最近的一篇综述进一步探讨了分子结构第4代的历史和挑战。
在2021年之前,平行分子发生器(PMG)5 是最快的开源结构发生器,但它仍然比MOLGEN慢几个数量级。MAYGEN6 比 PMG 快约 47 倍,比 MOLGEN 慢约 3 倍,使 MAYGEN 成为市面上最快、最高效的开源结构生成器。更详细的比较和基准测试可以在介绍MAYGEN6的论文中找到。该程序的一个关键特征是其基于字典排序的规范结构测试,这是一种基于Schreier-Sims7 算法的有序图生成方法。该软件可以轻松集成到其他项目中,并根据用户的需求进行增强。
与摩尔根和PMG一样,MAYGEN采用用户定义的分子式,并生成该式的所有可能结构。例如,如果用户使用式C5H12运行MAYGEN,MAYGEN将生成包含5个碳原子和12个氢原子的所有可能结构。与其开源的PMG不同,MAYGEN还可以容纳“模糊”分子式,这些公式使用间隔而不是离散数字来计算每个元素的计数。例如,如果用户使用式C5-7H12-15运行MAYGEN,MAYGEN将生成包含5至7个碳原子和12至15个氢原子的所有可能结构,从而可以简单生成具有各种原子组成的结构。
天体生物学就是这样一个可以从分子结构发生器中受益的领域。天体生物学中一个流行的话题是地球上所有现存生命共享的氨基酸字母表的进化。最后一个通用共同祖先(LUCA)的定义特征之一是它使用二十个遗传编码氨基酸来构建蛋白质8,9。根据对多个领域工作的荟萃分析10,11,12,大约10种这些氨基酸(Gly,Ala,Val,Asp,Glu,Ser,Thr,Leu,Ile,Pro)在非生物条件下很容易形成,并且可能构成LUCA前生物体的氨基酸字母表。随着时间的推移,这个“早期”字母表得到了扩展,以满足不同的结构和功能需求。例如,Moosmann13 最近的一篇综述声称,添加遗传编码氨基酸(即Met,Tyr和Trp)的最新成员,通过防止活性氧的细胞内增殖,允许在富氧环境中生存。
一套不断增长的分析化学技术可以深入了解在非生物条件下可以形成的氨基酸结构。Simkus和其他人最近的一篇综述14 详细介绍了用于检测陨石中许多有机化合物的方法,以及来自早期地球环境 体外 模拟的有机化合物15,16,17。化学结构的系统生成使研究人员能够探索通过仪器检测到的有机化合物之外,填充通过分析化学识别的结构“岛屿”周围的结构空间。在“早期”氨基酸的情况下,这种系统结构生成显示了早期生命可用的可能的蛋白质化学成分,而不限制对在非生物合成条件下通过实验检测到的结构的探索。借助开源化学信息学工具包和高效的结构生成器(如MAYGEN),创建和探索新型化学结构库现在比以往任何时候都更容易,并且可以指导对生命替代化学的更详细的研究。
“早期”氨基酸的一个特征是缺乏硫。前面提到的荟萃分析通常认为含硫编码氨基酸(Cys和Met)是遗传密码中相对较晚的添加,结论得到了陨石和火花管实验中缺乏含硫氨基酸的支持。然而,有机硫化合物很容易在彗星和陨石22中检测到,并且使用H2S气体重新分析火花管实验发现了氨基酸和其它含硫的有机化合物16。在考虑替代氨基酸字母表时,富含硫的氨基酸字母表值得探索。
在上述协议中,结构生成和子结构滤波被认为是关键步骤;根据成品结构库的组成,研究人员可能只需要执行这两个步骤。包括用于附加操作(伪原子替换和添加子结构(在这种情况下,氨基酸封端))的说明和软件,用于更相关的描述符计算(封盖确保XLogP计算受侧链而不是主链胺或羧基的影响)以及通过使用伪原子更快地生成结构,这将在下面更详细地讨论。此外,在这里进行描述符计算是可视化所生成结构多样性并比较成品库中硫富集效果的一种简单方法。
虽然PaDEL描述符可以计算数千个分子性质,但分子体积(作为计算的范德华体积)和分配系数(如XLogP)在这里使用,原因有两个。首先,这两个描述符测量大多数化学家和生物学家都熟悉的分子性质(大小和疏水性)。其次,在氨基酸的情况下,这两个性质是显着的。几十年来,已知氨基酸大小和疏水性会影响蛋白质折叠23的热力学。这两个性质有助于解释氨基酸取代频率,这些频率对于理解蛋白质进化24是不可或缺的。
上面的例子表明,在所研究的两个描述符(分子体积和疏水性)中,用二价硫代替碳和两个氢不会产生显着的变化。硫取代(图3)导致的平均分子体积的轻微,不显着的增加可归因于硫的共价半径(〜103 pm)与sp3 (〜75 pm)或sp2 (〜73 pm)碳25相比。同样,硫取代对均值XLogP的影响最小(图4)。最大的影响是在VAIL和VAIL_S库之间,可能是由于VAIL库的组合特别疏水(侧链只是碳氢化合物)和巯基比它们将取代的甲基更具酸性。硫取代的最小影响在 图2中很明显,其中具有硫取代的库与没有硫取代的类似库占据相同的化学空间。
使用伪原子时,结构数量(图5A)和生成这些结构所需的时间(图5B)的减少并不奇怪。使用伪原子可以减少需要掺入化学图中的重原子的数量,减少图节点的数量,并使生成时间和结构数量呈指数级减少。在这里,选择三价磷作为假原子源于基本的生物化学(没有翻译后添加磷酸基团,没有遗传编码氨基酸含有磷)和取代它的原子的价(三价磷可以很容易地被单独键合到另一个原子或原子群的四价碳所取代)。虽然提供的伪原子取代代码专门用于用丙氨酸子结构替换三价磷,但用户可以自定义代码以使用不同的伪原子或替换子结构,可能在初始结构生成期间使用多个伪原子,然后用更大的分子子结构替换每个伪原子。
类似于MAYGEN采用的结构生成方法(以及神经网络等其他方法)已经用于药物发现,以生成用于 计算机筛选的 化合物库;最近的综述4 更详细地讨论了这些方法。由于这些方法主要用于创建类似药物的分子,因此它们产生分子的能力存在一些限制,例如使用生物或药物特性来限制创建的结构(逆QSPR / QSAR)或从预设数量的子结构构建块创建结构。由于天体生物学更关注可以非生物形成的众多有机化合物,而在任何最终产品或其性质上形成的有机化合物较少,因此MAYGEN的详尽结构生成非常适合创建结构库以解决天体生物学问题。这里描述的子结构滤波方法(通过外部程序生成结构后执行)与竞争对手的MOLGEN程序的不同之处在于,MOLGEN的子结构滤波发生在结构生成过程中。由于MAYGEN是开源的,由于MOLGEN的许可成本,它不仅比MOLGEN更容易访问,而且个人可以在结构生成期间实现新功能,例如子结构过滤。
如前所述,这里描述的协议侧重于生成和策划相对较小的α-氨基酸库。为了生成不同的文库,用户可以向MAYGEN提供不同的分子公式,通过更改允许的最大环尺寸和键价来更改子结构过滤,或者编辑好名单和坏名单文件以添加或删除子结构模式。涉及改变原子和亚结构添加或替换方式(伪原子取代和分子封端)的协议修改是可行的,但需要更多地关注价限制,以避免RDKit关于修改结构中不正确的价态的错误。
上面详述的方案是为小α-氨基酸设计的。然而,一般格式(使用伪原子生成综合结构,然后进行子结构过滤和分子修饰)对于小氨基酸以外的化合物具有高度的灵活性。即使在天体生物学中,最近使用MOLGEN的类似程序也用于研究核酸的体质异构体26。除了上述工具外,MAYGEN还可以与其他开源化学信息学工具配对,使创建和分析新的化学结构变得负担得起,并且可以被广泛的研究领域所接受。
The authors have nothing to disclose.
MAY承认卡尔蔡司基金会的资助。所有数字都是使用微软Excel生成的。
conda v. 4.10.3 | https://www.anaconda.com/products/individual | ||
Java 17 | https://java.com/en/download/help/download_options.html | ||
MAYGEN v. 1.8 | https://github.com/MehmetAzizYirik/MAYGEN/releases | ||
PaDEL-Descriptor v. 2.21 | http://www.yapcwsoft.com/dd/padeldescriptor/ | ||
python v. 3.7.11 | included in Anaconda environment | ||
RDKit v. 2020.09.1.0 | https://www.rdkit.org/docs/Install.html, or installed via conda: https://anaconda.org/rdkit/rdkit | ||
*These specific versions were used for this manuscript; user can obtain more recent versions if available. |