跳转到主要内容

自动测量环糊精大环的椭率!

项目描述

ElliptiCB[n]

自动测量环糊精大环的椭率

在Google Colab上运行

在云中运行程序,无需安装任何软件。

Open In Colab

描述

ElliptiCB[n]是俄勒冈大学Pluth和Harms实验室的合作项目

Arman Garcia,Michael Shavlik博士,Mike Harms博士,Mike Pluth博士

描述该软件的手稿即将出版。

ElliptiCB[n]执行以下步骤

  1. 从xyz文件中提取所有C、N、O和H原子的坐标。

  2. 通过寻找强连通组件来识别单独的分子。

  3. 通过键模式、循环连通性和循环大小来识别大环。

  4. 使用主成分分析来计算中心周期的两个主轴上的方差。

  5. 计算椭率。这通过两种方法完成

    A. pca_ellip: $(V_{ax1}-V_{ax2})/V_{ax1}$ 其中 $V_{ax1}$ 是最长轴(长度)上的主成分分析方差,$V_{ax2}$ 是第二长轴(宽度)上的主成分分析方差。

    B. orig_ellip: 使用周长和最大碳到质心的距离来推断椭率。

  6. 生成输出,包括注释的结构和椭率电子表格。

输入

ElliptiCB[n] 以 XYZ格式 接受分子结构。前两行被忽略。我们假设坐标以埃为单位。可以使用像 Open Babel 这样的软件将其他结构格式生成XYZ文件。

输出

使用结构 HUXMAR 作为输入的计算输出。

椭率表

id size pca_ellip orig_ellip nearby_atoms bad_protons
0 20 0.121369 0.123284 2 0
1 10 0.018906 0.066456 2 0
2 14 0.075018 0.087605 10 0
  • "id": 循环的标识符(与可视化和表格匹配)
  • "size": 宏环中赤道甘脲sp3碳原子的数量
  • "pca_ellip": 由主成分分析计算的椭率
  • "orig_ellip": 通过质心、最近碳原子和周长计算的椭率。
  • "nearby_atoms": 宏环质心周围 GUEST_SEARCH_RADIUS 范围内的不同分子中的原子数。(用于识别客体分子)
  • "bad_protons": 面向而不是远离宏环的赤道质子数。

注释结构

输出截图如下。代码的实际输出是交互式的。示例在此

img

本地安装

ElliptiCB[n] 可以本地安装并用作命令行工具。

使用pip安装

在终端运行

pip install ellipticbn

从源码安装

在终端运行

git clone https://github.com/harmslab/ellipticbn.git
cd ellipticbn
python -m pip install . pyproject.toml

在命令行运行

ElliptiCB[n] 接受一个或多个 .xyz 文件作为输入。假设 HUMAR.xyz 在工作目录中,运行此命令

$> ellipticbn HUMXAR.xyz

将生成以下输出

Analyzing ./CB10/HUMXAR.xyz.
3 macrocycles identified.

Calculating ellipticities for 3 macrocycles.

Results:
    id  size  pca_ellip  orig_ellip  nearby_atoms  bad_protons
0  0.0    20   0.121369    0.123284             2            0
1  1.0    10   0.018906    0.066456             2            0
2  2.0    14   0.075018    0.087605            10            0

Saving plot to ./HUMXAR.xyz.html

它还会在当前目录中生成 HUXMAR.xyz.html(可视化)和 HUXMAR.xyz.xlsx(椭率表)。

您还可以在多个xyz文件上运行程序

$> ellipticbn HUMXAR.xyz LAZPIM.xyz

将生成以下输出

Analyzing HUMXAR.xyz.
3 macrocycles identified.

Calculating ellipticities for 3 macrocycles.

Results:
    id  size  pca_ellip  orig_ellip  nearby_atoms  bad_protons
0  0.0    20   0.121369    0.123284             2            0
1  1.0    10   0.018906    0.066456             2            0
2  2.0    14   0.075018    0.087605            10            0

Saving plot to ./HUMXAR.xyz.html

Analyzing LAZPIM.xyz.
1 macrocycles identified.

Calculating ellipticities for 1 macrocycles.

Results:
    id  size  pca_ellip  orig_ellip  nearby_atoms  bad_protons
0  0.0    20    0.29813    0.212848            20            0

Saving plot to ./LAZPIM.xyz.html

除了可视化html和单个椭率文件外,此调用还会生成一个包含所有计算椭率的单个电子表格("summary.xlsx")

id size pca_ellip orig_ellip nearby_atoms bad_protons 文件
0 20 0.121369 0.123284 2 0 HUMXAR.xyz
1 10 0.018906 0.066456 2 0 HUMXAR.xyz
2 14 0.075018 0.087605 10 0 HUMXAR.xyz
0 20 0.29813 0.212848 20 0 LAZPIM.xyz

也可以更改计算中使用的参数。要在终端中查看可用选项,请键入以下内容

ellipticbn --help

截至本文撰写时(版本 2.0.1),这会给出以下输出

usage: ellipticbn [-h] [--min_num_carbons MIN_NUM_CARBONS]
                  [--max_num_carbons MAX_NUM_CARBONS]
                  [--guest_search_radius GUEST_SEARCH_RADIUS]
                  [--summary_file SUMMARY_FILE] [--output_dir OUTPUT_DIR]
                  [--overwrite] [--version]
                  filename [filename ...]

    Run an ElliptiCbn calculation.

    Parameters
    ----------
    filename : str or list
        xyz file name (or list of xyz files) to read
    min_num_carbons : int, default=10
        reject any macrocycle with a central cycle that has less than
        min_num_carbons
    max_num_carbons : int, default=20
        reject any macrocycle with a central cycle that has more than
        max_num_carbons
    guest_search_radius : float, default=4
        look for guest atoms within this radius (in angstroms) of the atom
        centroid.
    summary_file : str, default="summary.xlsx"
        write all cycles to this single summary file if there is more than one
        xyz file specified.
    output_dir : str, default="."
        write output to output_dir.
    overwrite : bool, default=False
        overwrite existing output files


positional arguments:
  filename

options:
  -h, --help            show this help message and exit
  --min_num_carbons MIN_NUM_CARBONS
  --max_num_carbons MAX_NUM_CARBONS
  --guest_search_radius GUEST_SEARCH_RADIUS
  --summary_file SUMMARY_FILE
  --output_dir OUTPUT_DIR
  --overwrite
  --version             show program's version number and exit

项目详细信息


下载文件

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

源代码分发

ellipticbn-2.1.2.tar.gz (17.7 kB 查看哈希值)

上传时间

构建分发

ellipticbn-2.1.2-py2.py3-none-any.whl (16.2 kB 查看哈希值)

上传于 Python 2 Python 3

由 ... 支持