愈创木酚:新分子设计的基准

guacamol的Python项目详细描述


愈创木酚

Build Status

guacamol是一个开源的python包,用于为 de novo分子设计。

为了深入解释基准和基线分数的类型, 请查阅我们的报纸 Benchmarking Models for De Novo Molecular Design

安装

安装guacamol的最简单方法是使用pip

pip install guacamol

guacamol需要RDKit library(版本2018.09.1.0或更新版本)。

基准模型

对于分布式学习基准,专门化DistributionMatchingGenerator (来自guacamol.distribution_matching_generator)为您的模型。 这个类的实例必须能够生成类似于训练集的分子。
对于实际的基准测试,请调用assess_distribution_learning (来自guacamol.assess_distribution_learning)一个类的实例。 您还必须提供培训集文件的位置(请参见下面的“数据”部分)。

对于目标导向的基准,专门化GoalDirectedGenerator (来自guacamol.goal_directed_generator)为您的模型。 这个类的实例必须能够生成指定数量的分子 在给定的评分函数中获得高分的。
对于实际的基准测试,请调用assess_goal_directed_generation (来自guacamol.assess_goal_directed_generation)一个类的实例。

基线方法的示例实现可从https://github.com/BenevolentAI/guacamol_baselines获得。

数据

为了公平评估基准和结果的可比性, 您应该使用包含chembl数据集分子的训练集。 按照下面描述的过程获取标准化数据集。

下载

您可以下载预构建的数据集here

md505ad85d871958a05c02ab51a4fde8530training
md5e53db4bff7dc4784123ae6df72e3b1f0validation
md5677b757ccec4809febd83850b43e1616test
md57d45bc95c33c10cb96ef5e78c38ac0b6all

生成

要自己生成培训数据,请运行

python -m guacamol.data.get_data -o [output_directory]

它将在当前文件夹中为您下载和处理chembl。

这个脚本将使用 ^{} 作为一个坚持集,并将排除分子非常相似的这些。

python包的不同版本可能会导致生成的数据集不同,从而导致脚本失败。 请参阅下面的部分(“docker”)以使用上面给出的散列重复生成标准化数据集。

Docker

要确保您有正确的依赖关系,您可以构建一个docker映像,请从顶层目录运行:

docker build -t guacamol-deps dockers/

然后您可以运行:

docker run --rm -it  -v `pwd`:/guacamol -w /guacamol guacamol-deps python -m guacamol.data.get_data -o guacamol/data --chembl

排行榜

很快就会来。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?