© 版權所有 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
版權所有。