跳转到主要内容

用于在SAR数据中寻找关键复杂模式的程序

项目描述

非可加性分析

Code style: black

摘要

用于在SAR数据中寻找关键复杂模式的程序

安装

程序需要python >= 3.10。在已配置的环境中,使用以下命令安装NonadditivityAnalysis:

pip install nonadditivity

使用Conda创建Python环境

如果您还没有环境,可以使用提供的(非常简化的)conda环境文件创建一个有效的环境。

conda env create -n <env_name> -f environment.yaml
conda activate <env_name>

或者简单来说

conda create -n <env_name> python=3.*

其中 * 可以是 10、11 或 12。

然后使用 pip install nonadditivity 安装程序。

开发模式

如果您想为开发安装包,则需要一些额外的步骤。

此包由 Poetry 管理,因此您首先需要按照这里描述的方式安装 poetry。之后,只需克隆仓库并使用 poetry 安装代码。

$ git clone git+https://github.com/KramerChristian/NonadditivityAnalysis.git
$ cd NonadditivityAnalysis
$ poetry install

如何运行程序和获取帮助

代码作为一个简单的命令行工具运行。命令行选项通过

nonadditivity --help

示例用法

使用提供的测试文件,一个示例运行可以是

nonadditivity -i <input_file> -d <delimiter> --series-column <series_column_name> -p <property1> -p <property2> ... -u <unit1> -u <unit2>

或者使用双转化循环分类

nonadditivity -i <input_file> -d <delimiter> --series-column <series_column_name> -p <property1> -p <property2> ... -u <unit1> -u <unit2> --classify

输入文件格式

IDENTIFIER [sep] SMILES [sep] property1 ... [sep] series_column(optional) ...

其中 [sep] 是分隔符,可以选择制表符、空格、逗号和分号。


仓库结构

  • examples:包含一些示例输入文件。
  • nonadditivity/:包含包的源代码。有关更多信息,请参阅文件夹中的README
  • tests:包的单元测试。
  • environment.yaml:conda环境的环境文件。
  • poetry.lock:包含使用的库的规范(版本和来源)的文件。
  • pyproject.toml:包含 poetry 的构建指令以及项目的元数据的文件。

发表

如果您在出版物中使用此代码,请引用 Kramer, C. 非加和性分析。J. Chem. Inf. Model. 2019,59,9,4034–4042。

https://pubs.acs.org/doi/10.1021/acs.jcim.9b00631

如果您正在使用分类模块,请引用 Guasch 等人。(一旦出版物被接受,将完成)


背景

整个过程是

  1. 解析输入
    • 读取结构
    • 清洁和转换活性数据
    • 去除盐分

2) 计算MMPs

3) 寻找双转化循环

4) 写入输出并计算统计数据

1) 解析输入

理想情况下,化合物在输入非加和性分析时已经是标准化的。代码不会纠正互变异构体和电荷状态,但它会尝试去除输入中的盐分。

由于非加和性分析仅适用于正态分布的数据,因此输入活性数据可以根据输入单位进行转换。您可以选择“M”、“mM”、“uM”、“nM”、“pM”和“noconv”。‘xM’单位将转换为 pActivity,并使用相应的系数。‘noconv’将保持输入不变,不进行任何转换。

对于多重结构,仅保留首次出现。

2) 计算MMPs

将基于清洁结构计算匹配对。这是通过调用外部 mmpdb 程序的子进程来完成的。默认情况下,使用 20 个并行作业进行碎片化。这可以在第 681 行更改。

3) 寻找双转化循环

这是非加和性算法的核心。在这里,通过两个转化相互连接的四组化合物被识别。有关解释的更多详细信息,请参阅上面的出版物。

4) 分类双转化循环

运行一系列分类函数,这些函数计算双转化循环的拓扑和物理化学性质,以帮助您在分析创建的数据时过滤掉不感兴趣的情况。仅在命令行中提供了 --classify 时才运行。

5) 写入输出并计算统计数据

有关组成循环的化合物和非加和性的分布的信息将写入输出文件。[...] 表示输入文件名。名为

"NAA_output.csv"

包含关于循环和概率分布的信息

名为

"perCompound.csv"

包含关于每个化合物在所有循环中的非加和性聚合信息。

名为

"c2c.csv"

将上述两个文件链接起来,可用于SpotFire中的可视化示例。

如果在命令行中提供--classify标志,则"NAA_output.csv""perCompound.csv"将包含实现描述符的附加列。

如果在命令行中提供--canonicalize标志,则将生成两个额外的文件。

第一个文件名为

"canonical_na_output.csv"

类似于NAAOutput.csv,但变换被归一化,即每个变换只以一种方式发生(例如,只"Cl>>F",而不是"Cl>>F"和"F>>Cl")。

第二个文件名为

"canonical_transformations.csv"

包含此处包含的变换,因此可以使用此输出构建自己的准mmp分析。


版权

NonadditivityAnalysis代码版权所有,由F. Hoffmann-La Roche Ltd于2015-2024年拥有,并按Apache 2.0许可证分发(见LICENSE.txt)。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

nonadditivity-2.0.0.tar.gz (56.1 kB 查看哈希值)

上传时间

构建分布

nonadditivity-2.0.0-py3-none-any.whl (66.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持