自动测量环糊精大环的椭率!
项目描述
ElliptiCB[n]
自动测量环糊精大环的椭率
在Google Colab上运行
在云中运行程序,无需安装任何软件。
描述
ElliptiCB[n]是俄勒冈大学Pluth和Harms实验室的合作项目
Arman Garcia,Michael Shavlik博士,Mike Harms博士,Mike Pluth博士
描述该软件的手稿即将出版。
ElliptiCB[n]执行以下步骤
-
从xyz文件中提取所有C、N、O和H原子的坐标。
-
通过寻找强连通组件来识别单独的分子。
-
通过键模式、循环连通性和循环大小来识别大环。
-
使用主成分分析来计算中心周期的两个主轴上的方差。
-
计算椭率。这通过两种方法完成
A. pca_ellip: $(V_{ax1}-V_{ax2})/V_{ax1}$ 其中 $V_{ax1}$ 是最长轴(长度)上的主成分分析方差,$V_{ax2}$ 是第二长轴(宽度)上的主成分分析方差。
B. orig_ellip: 使用周长和最大碳到质心的距离来推断椭率。
-
生成输出,包括注释的结构和椭率电子表格。
输入
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": 面向而不是远离宏环的赤道质子数。
注释结构
输出截图如下。代码的实际输出是交互式的。示例在此 处。
本地安装
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
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。