© Hak Cipta 2021 Tom Herschberg, Kyle Pifer dan Eleni Panagiotou
Jika Anda menggunakan kode ini, Anda harus merujuk pada makalah berikut:
Herschberg, T., Pifer, K. dan Panagiotou, E., 2022, Paket komputasi untuk mengukur Keterikatan Topologi dalam Polimer, Protein, dan Sistem Periodik (TEPPP), Comp. Fis. Komunitas. 286 108639
kunjungi www.elenipanagiotou.com untuk informasi terkini
Apa itu TEPPP?
Memulai
Bangunan
Penggunaan
Contoh
Integral penghubung Gauss
Menggeliat Berkala
Polinomial Jones
Pindai Polinomial Jones
Lisensi
Kontributor
TEPPP adalah paket perangkat lunak yang dirancang untuk membantu penghitungan beberapa nilai keterikatan topologi dalam sistem molekuler. Ini dirancang untuk bekerja baik secara serial maupun paralel bila digabungkan dengan instalasi MPI yang berfungsi.
TEPPP memerlukan kompiler yang sepenuhnya mendukung C++17 (GCC 10 dan lebih tinggi). Jika eksekusi paralel diinginkan, instalasi MPI yang berfungsi harus ada dalam variabel PATH.
Untuk membuat perangkat lunak versi serial saja, jalankan perintah berikut:
membuat serial
Untuk membuat perangkat lunak versi paralel saja, jalankan perintah berikut:
membuat mpi
Untuk membuat kedua versi perangkat lunak tersebut, ketikkan perintah berikut:
membuat semua
Versi TEPPP saat ini hanya mendukung menjalankan perintah individual melalui baris perintah untuk mendapatkan hasil yang diinginkan. Jika koordinat sistem yang akan dianalisis ada dalam file dengan ekstensi selain .teppp, maka harus diubah menjadi file yang dapat dibaca oleh TEPPP. Untuk melakukannya, jalankan perintah berikut di direktori instalasi tingkat atas:
./convertor "/path/to/nama file.ext" CHAIN_LENGTH NUM_CHAINS BOX_DIM
dimana CHAIN_LENGTH
adalah jumlah atom pada setiap rantai, NUM_CHAINS
adalah jumlah rantai dalam sistem, dan BOX_DIM
adalah panjang salah satu sisi kotak periodik jika sistem menggunakan kondisi batas periodik. Jika sistem tidak menggunakan kondisi batas periodik, masukkan 0 untuk BOX_DIM
.
? Perhatikan bahwa hanya file .teppp yang didukung. Semua file data lainnya harus dikonversi ke .teppp baik oleh pengguna atau dengan menggunakan utilitas konverter. Hanya file .read_data (dengan semua koordinat dalam bentuk terbuka) yang didukung oleh utilitas konverter saat ini. Setelah perintah convertor dijalankan, file dengan data yang dikonversi akan ditempatkan di direktori
TEPPP/converted
untuk digunakan lebih lanjut.
Setelah file .teppp dengan koordinat yang diinginkan telah dibuat, perintah perangkat lunak apa pun dapat digunakan bersama dengan file tersebut untuk menghasilkan hasil. Perintah base
yang tersedia saat ini adalah:
jones | Menghitung polinomial Jones dari setiap rantai dalam sistem
baik | Menghitung nomor penghubung antara setiap pasangan rantai dalam sistemNomor Penghubung
wr | Menghitung Writhe setiap rantai dalam sistem
Semua perintah base
dipanggil menggunakan sintaks yang sama:
Nama file (termasuk jalur) dari file data yang berisi koordinat sistem yang akan dianalisis diikuti dengan CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM, di mana CHAIN_LENGTH: panjang rantai dalam sistem (dengan asumsi semuanya memiliki panjang yang sama) NUM_CHAINS: jumlah rantai dalam sistem ARSITEKTUR: saat ini mendukung cincin atau linier, masing-masing dilambangkan dengan 0, 1. NUM_PROJECTIONS: hanya berlaku untuk jones-ini adalah jumlah proyeksi yang digunakan untuk penghitungan polinomial Jones. Jika bekerja dengan rantai cincin, gunakan 1. BOX_DIM: dimensi kotak periodik, dengan asumsi kotak kubik
Selain perintah base
tersebut, ada beberapa jenis varian perintah yang juga disertakan dalam TEPPP. perintah periodic
menganalisis keterikatan topologi sistem tertentu sambil memperhitungkan kondisi batas periodik. Perintah periodic
yang tersedia saat ini adalah:
periodik_wr | Menghitung Writhe periodik setiap rantai dalam sistem
periodik_lk | Menghitung nomor penghubung periodik antara setiap pasangan rantai dalam sistem
Sintaks pemanggilan perintah periodic
sama dengan sintaks pemanggil perintah base
.
perintah scan
digunakan untuk menganalisis keterikatan topologi bagian tertentu dari rantai, bukan keseluruhan rantai. Misalnya, jika pengguna ingin bagian dari satu rantai yang berkontribusi paling besar terhadap keseluruhan Writhe rantai tersebut, mereka akan menggunakan perintah scan
. Perintah scan
yang tersedia saat ini adalah:
jones_scan | Menghitung polinomial Jones di sepanjang setiap rantai pada panjang pemindaian tertentu
lk_scan | Menghitung nomor penghubung di sepanjang setiap pasangan rantai pada panjang pemindaian tertentu
wr_scan | Menghitung Writhe di sepanjang setiap rantai pada panjang pemindaian tertentu
Memanggil perintah scan
memerlukan 4 parameter, yang harus disediakan di baris perintah dengan urutan seperti di bawah ini:
Nama file (termasuk jalur) file data yang berisi koordinat sistem yang akan dianalisis, diikuti dengan CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS)
Panjang interval awal untuk memindai.
Panjang interval terakhir untuk memindai.
Jumlah yang akan menambah interval setelah pemindaian selesai.
BOX_DIM (opsional)
Perintah mpi
adalah versi paralel dari perintah base
, periodic
, dan scan
yang dibahas di atas. Mereka memanfaatkan MPI untuk membagi beban kerja antara sejumlah prosesor tertentu daripada melakukan pekerjaan secara serial. Perintah mpi
yang tersedia saat ini adalah:
jones_mpi | Menghitung polinomial Jones dari setiap rantai dalam sistem secara paralel
lk_mpi | Menghitung nomor penghubung antara setiap pasangan rantai dalam sistem secara paralel
wr_mpi | Menghitung Writhe setiap rantai dalam sistem secara paralel
periodik_wr_mpi | Menghitung Writhe periodik setiap rantai dalam sistem secara paralel
periodik_lk_mpi | Menghitung nomor penghubung periodik antara setiap pasangan rantai dalam sistem secara paralel
jones_scan_mpi | Menghitung polinomial Jones di sepanjang setiap rantai pada interval tertentu secara paralel
lk_scan_mpi | Menghitung nomor penghubung di sepanjang setiap pasangan rantai pada interval tertentu secara paralel
wr_scan_mpi | Menghitung Writhe di sepanjang setiap rantai pada interval tertentu secara paralel
Perintah mpi
memiliki sintaks yang sama dengan perintah base
, periodic
, dan scan
tetapi harus dipanggil menggunakan mpirun
daripada menjalankan perintah itu sendiri.
Untuk menghitung integral penghubung Gauss antara setiap pasangan rantai dalam suatu sistem ditemukan di "../data/systemA.teppp" dengan 100 rantai linier masing-masing panjang 20 dalam kotak periodik kubik dengan panjang 13.35315:
./lk "../data/systemA.teppp" 20 100 1 13.35315
menggunakan MPI untuk membagi pekerjaan antara 4 proses berbeda:
mpirun -np 4 ./lk_mpi "../data/systemA.teppp" 20 100 1 13.35315
Untuk menghitung Geliat Periodik setiap rantai dalam sistem terdapat di "../data/systemA.teppp" dengan 100 rantai masing-masing panjang 20 dalam kotak periodik kubik dengan panjang 13.35315:
./periodic_wr "../data/systemA.teppp" 20 100 1 13.35315
Untuk menghitung polinomial Jones setiap rantai dalam sistem ditemukan di "../data/systemA.teppp" dengan 100 rantai masing-masing panjang 20 dalam kotak periodik kubik dengan panjang 13.35315:
./jones "../data/systemA.teppp" 20 100 1 100 13.35315
Untuk memindai sepanjang setiap rantai dan menghitung polinomial Jones dari setiap subrantai dalam sistem yang ditemukan di "../data/systemA.teppp" dengan 100 rantai masing-masing panjang 20 dimulai dengan panjang pemindaian 5 hingga panjang pemindaian 10 dengan langkah 5 :
./jones_scan "../data/systemC.teppp" 20 100 1 100 5 10 5
Hak Cipta (c) 2021, Tom Herschberg, Kyle Pifer dan Eleni Panagiotou
Semua hak dilindungi undang-undang.