© Copyright 2021 トム・ハーシュバーグ、カイル・パイファー、エレニ・パナギオトウ
このコードを使用する場合は、次の論文を参照する必要があります。
Herschberg, T.、Pifer, K.、および Panagiotou, E.、2022 年、ポリマー、タンパク質および周期系におけるトポロジカルもつれを測定するための計算パッケージ (TEPPP)、Comp。物理学。共通。 286 108639
最新情報については、www.elenipanagiotou.com をご覧ください。
TEPPPとは何ですか?
はじめる
建物
使用法
例
ガウスリンク積分
周期的な悶え
ジョーンズ多項式
ジョーンズ多項式をスキャンします
ライセンス
貢献者
TEPPP は、分子システムにおけるいくつかのトポロジカルもつれ値の計算を支援するように設計されたソフトウェア パッケージです。機能する MPI インストールと組み合わせると、シリアルおよびパラレルの両方で動作するように設計されています。
TEPPP には、C++17 (GCC 10 以降) を完全にサポートするコンパイラーが必要です。並列実行が必要な場合は、機能する MPI インストールが PATH 変数に存在する必要があります。
ソフトウェアのシリアル バージョンのみをビルドするには、次のコマンドを実行します。
シリアルを作る
ソフトウェアの並列バージョンのみをビルドするには、次のコマンドを実行します。
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
WR |システム内の各チェーンのWritheを計算します
すべてのbase
コマンドは同じ構文を使用して呼び出されます。
解析するシステムの座標を含むデータ ファイルのファイル名 (パスを含む)、その後に CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM が続きます。 CHAIN_LENGTH: システム内のチェーンの長さ (すべてが同じ長さであると仮定します) NUM_CHAINS:システム内のチェーンの数 アーキテクチャ: 現在サポートされているリングまたはリニア。それぞれ 0、1 で示されます。 NUM_PROJECTIONS: jones にのみ適用されます。これは、Jones 多項式の計算に使用する投影の数です。リング チェーンを使用する場合は、1 を使用します。 BOX_DIM: 立方体ボックスを想定した周期的なボックスの寸法
これらのbase
コマンドに加えて、TEPPP にはいくつかの種類のバリアント コマンドも含まれています。 periodic
コマンドは、周期的な境界条件を考慮しながら、特定のシステムのトポロジー的なもつれを分析します。現在利用可能なperiodic
コマンドは次のとおりです。
定期的_wr |システム内の各チェーンの周期的な蠢きを計算します
周期的_lk |システム内のチェーンの各ペア間の周期的なリンク数を計算します。
periodic
コマンドを呼び出す構文は、 base
コマンドを呼び出す構文と同じです。
scan
コマンドは、チェーン全体ではなく、チェーンの特定の部分のトポロジー的なもつれを分析するために使用されます。たとえば、ユーザーが 1 つのチェーンの中で、そのチェーン全体の蠢きに最も寄与している部分を調べたい場合は、 scan
コマンドを使用します。現在利用可能なscan
コマンドは次のとおりです。
ジョーンズスキャン |指定されたスキャン長で各チェーンに沿ってジョーンズ多項式を計算します。
lk_scan |指定されたスキャン長でチェーンの各ペアに沿ったリンク数を計算します。
wr_scan |指定されたスキャン長で各チェーンに沿ったライスを計算します
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 |システム内の各チェーンの周期的な蠢きを並行して計算します。
周期的_lk_mpi |システム内のチェーンの各ペア間の周期的なリンク数を並行して計算します。
ジョーンズスキャン_mpi |各チェーンに沿って指定された間隔でジョーンズ多項式を並列計算します。
lk_scan_mpi |チェーンの各ペアに沿ったリンク数を指定された間隔で並列に計算します。
wr_scan_mpi |各チェーンに沿ったライスを指定された間隔で並行して計算します。
mpi
コマンドの構文は、対応するbase
、 periodic
、およびscan
と同じですが、コマンド自体を実行するのではなく、 mpirun
を使用して呼び出す必要があります。
「../data/systemA.teppp」にある、長さ 13.35315 の立方体周期ボックス内に長さ 20 の線形チェーン 100 個を含むシステム内のチェーンの各ペア間のガウス結合積分を計算するには、次のようにします。
./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 の立方体周期ボックス内に長さ 20 のチェーン 100 個を含むシステム内の各チェーンの周期的蠢きを計算するには、次のようにします。
./periodic_wr "../data/systemA.teppp" 20 100 1 13.35315
「../data/systemA.teppp」にある、長さ 13.35315 の立方体周期ボックス内に長さ 20 のチェーンが 100 個あるシステム内の各チェーンのジョーンズ多項式を計算するには、次のようにします。
./jones "../data/systemA.teppp" 20 100 1 100 13.35315
各チェーンに沿ってスキャンし、「../data/systemA.teppp」にあるシステム内の各サブチェーンのジョーンズ多項式を計算するには、それぞれ長さ 20 の 100 個のチェーンがあり、スキャン長 5 から開始してスキャン長 10 まで、5 ステップでスキャンします。 :
./jones_scan "../data/systemC.teppp" 20 100 1 100 5 10 5
著作権 (c) 2021、トム・ハーシュバーグ、カイル・パイファー、エレニ・パナギオトウ
無断転載を禁じます。