© 版权所有 2021 Tom Herschberg、Kyle Pifer 和 Eleni Panagiotou
如果您使用此代码,您必须参考以下论文:
Herschberg, T.、Pifer, K. 和 Panagiotou, E.,2022,用于测量聚合物、蛋白质和周期系统中拓扑纠缠的计算包 (TEPPP),比较。物理。交流。 286 108639
请访问 www.elenipanagiotou.com 了解最新信息
什么是TEPPP?
入门
建筑
用法
示例
高斯链接积分
周期性扭动
琼斯多项式
扫描琼斯多项式
执照
贡献者
TEPPP 是一个软件包,旨在帮助计算分子系统中的多个拓扑纠缠值。当与功能正常的 MPI 安装结合使用时,它可以串行和并行工作。
TEPPP 需要完全支持 C++17(GCC 10 及更高版本)的编译器。如果需要并行执行,则 PATH 变量中必须存在有效的 MPI 安装。
要仅构建软件的串行版本,请运行以下命令:
制作连续剧
要仅构建软件的并行版本,请运行以下命令:
制作MPI
要制作该软件的两个版本,请键入以下命令:
使所有
当前版本的TEPPP仅支持通过命令行运行单个命令以获得期望的结果。如果要分析的系统坐标位于扩展名为 .teppp 以外的文件中,则必须将它们转换为 TEPPP 可读的文件。为此,请在顶级安装目录中运行以下命令:
./convertor "/path/to/filename.ext" CHAIN_LENGTH NUM_CHAINS BOX_DIM
其中CHAIN_LENGTH
是每个链中的原子数, NUM_CHAINS
是系统中的链数, BOX_DIM
是周期盒一侧的长度(如果系统使用周期性边界条件)。如果系统不使用周期性边界条件,请为BOX_DIM
输入 0。
?请注意,仅支持 .teppp 文件。所有其他数据文件必须由用户或使用转换器实用程序转换为 .teppp。目前,转换器实用程序仅支持 .read_data 文件(所有坐标均采用展开形式)。运行转换器命令后,包含转换数据的文件将位于
TEPPP/converted
目录中以供进一步使用。
生成具有所需坐标的 .teppp 文件后,任何软件命令都可以与该文件结合使用来生成结果。当前可用的base
命令是:
琼斯|计算系统中每条链的琼斯多项式
路克 |计算系统中每对链之间的链接数Linking Numbers
写 |计算系统中每条链的扭动
所有base
命令都使用相同的语法调用:
包含要分析的系统坐标的数据文件的文件名(包括路径),后跟 CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM,其中 CHAIN_LENGTH:系统中链的长度(假设它们都具有相同的长度) NUM_CHAINS:系统中链的数量 ARCHITECTURE:目前支持环形或线性,分别用0、1表示。 NUM_PROJECTIONS:仅适用于琼斯 - 它是用于计算琼斯多项式的投影数。如果使用环链,请使用 1. BOX_DIM:周期性盒子尺寸,假设立方盒子
除了这些base
命令之外,TEPPP 中还包含多种类型的变体命令。 periodic
命令分析给定系统的拓扑纠缠,同时考虑周期性边界条件。当前可用的periodic
命令有:
周期_wr |计算系统中每条链的周期性Writhe
周期_lk |计算系统中每对链之间的周期链接数
调用periodic
命令的语法与调用base
命令的语法相同。
scan
命令用于分析链的某些部分而不是整个链的拓扑纠缠。例如,如果用户想要单个链中对该链的整体 Writhe 贡献最大的部分,他们将使用scan
命令。当前可用的scan
命令有:
琼斯_扫描 |计算给定扫描长度沿每条链的琼斯多项式
lk_扫描 |计算给定扫描长度下每对链的链接数
wr_扫描|计算给定扫描长度下沿每条链的扭动
调用scan
命令需要4个参数,必须在命令行中按如下顺序提供:
包含要分析的系统坐标的数据文件的文件名(包括路径),后跟 CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS)
扫描的初始间隔的长度。
最终扫描间隔的长度。
扫描完成后增加的间隔量。
BOX_DIM(可选)
mpi
命令是上面讨论的base
、 periodic
和scan
命令的并行版本。他们利用 MPI 在给定数量的处理器之间分配工作负载,而不是串行执行工作。当前可用的mpi
命令有:
琼斯_mpi |并行计算系统中每条链的琼斯多项式
lk_mpi |并行计算系统中每对链之间的链接数
wr_mpi |并行计算系统中每条链的 Writhe
周期_wr_mpi |并行计算系统中每条链的周期Writhe
周期_lk_mpi |并行计算系统中每对链之间的周期链接数
琼斯_扫描_mpi |以给定间隔并行计算沿每条链的琼斯多项式
lk_scan_mpi | lk_scan_mpi |并行计算给定间隔内每对链的链接数
wr_scan_mpi |以给定间隔并行计算沿每条链的扭动
mpi
命令与其对应的base
、 periodic
和scan
具有相同的语法,但必须使用mpirun
调用,而不是运行命令本身。
要计算“../data/systemA.teppp”中的系统中每对链之间的高斯链接积分,该系统在长度为 13.35315 的立方周期框中有 100 个线性链,每个长度为 20:
./lk“../data/systemA.teppp”20 100 1 13.35315
使用 MPI 将工作分配给 4 个不同的进程:
mpirun -np 4 ./lk_mpi“../data/systemA.teppp”20 100 1 13.35315
要计算“../data/systemA.teppp”中的系统中每条链的周期扭曲,该系统在长度为 13.35315 的立方周期框中有 100 条链,每条链的长度为 20:
./periodic_wr“../data/systemA.teppp”20 100 1 13.35315
要计算“../data/systemA.teppp”中的系统中每个链的琼斯多项式,该系统在长度为 13.35315 的立方周期框中有 100 个链,每个链的长度为 20:
./琼斯“../data/systemA.teppp”20 100 1 100 13.35315
沿着每个链扫描并计算“../data/systemA.teppp”中的系统中每个子链的琼斯多项式,该系统有 100 个长度为 20 的链,从扫描长度 5 开始,直到扫描长度 10,步长为 5 :
./jones_scan“../data/systemC.teppp”20 100 1 100 5 10 5
版权所有 (c) 2021,Tom Herschberg、Kyle Pifer 和 Eleni Panagiotou
版权所有。