© Copyright 2021 Tom Herschberg, Kyle Pifer et Eleni Panagiotou
Si vous utilisez ce code, vous devez référencer le document suivant :
Herschberg, T., Pifer, K. et Panagiotou, E., 2022, Un progiciel informatique pour mesurer l'intrication topologique dans les polymères, les protéines et les systèmes périodiques (TEPPP), Comp. Phys. Commun. 286 108639
visitez www.elenipanagiotou.com pour des informations mises à jour
Qu’est-ce que le TEPPP ?
Commencer
Bâtiment
Usage
Exemples
Intégrale de liaison de Gauss
Torsion périodique
Polynôme de Jones
Polynôme de Scan Jones
Licence
Contributeurs
TEPPP est un progiciel conçu pour faciliter le calcul de plusieurs valeurs d'intrication topologique dans les systèmes moléculaires. Il est conçu pour fonctionner à la fois en série et en parallèle lorsqu'il est associé à une installation MPI fonctionnelle.
TEPPP nécessite un compilateur prenant entièrement en charge C++17 (GCC 10 et versions ultérieures). Si une exécution parallèle est souhaitée, une installation MPI fonctionnelle doit être présente dans la variable PATH.
Pour créer uniquement la version série du logiciel, exécutez la commande suivante :
faire une série
Pour créer uniquement la version parallèle du logiciel, exécutez la commande suivante :
faire mpi
Pour créer les deux versions du logiciel, tapez la commande suivante :
faire tout
La version actuelle de TEPPP prend uniquement en charge l'exécution de commandes individuelles via la ligne de commande pour obtenir les résultats souhaités. Si les coordonnées du système à analyser sont dans un fichier avec une extension autre que .teppp, elles doivent être converties en un fichier lisible par TEPPP. Pour ce faire, exécutez la commande suivante dans le répertoire d'installation de niveau supérieur :
./convertisseur "/path/to/filename.ext" CHAIN_LENGTH NUM_CHAINS BOX_DIM
où CHAIN_LENGTH
est le nombre d'atomes dans chaque chaîne, NUM_CHAINS
est le nombre de chaînes dans le système et BOX_DIM
est la longueur d'un côté de la boîte périodique si le système utilise des conditions aux limites périodiques. Si le système n'utilise pas de conditions aux limites périodiques, entrez 0 pour BOX_DIM
.
? Notez que seuls les fichiers .teppp sont pris en charge. Tous les autres fichiers de données doivent être convertis en .teppp soit par l'utilisateur, soit à l'aide de l'utilitaire de conversion. Seuls les fichiers .read_data (avec toutes les coordonnées sous forme non emballée) sont actuellement pris en charge par l'utilitaire de conversion. Une fois la commande de conversion exécutée, le fichier contenant les données converties sera situé dans le répertoire
TEPPP/converted
pour une utilisation ultérieure.
Une fois qu'un fichier .teppp avec les coordonnées souhaitées a été généré, n'importe laquelle des commandes du logiciel peut être utilisée conjointement avec le fichier pour générer des résultats. Les commandes base
actuellement disponibles sont :
Jones | Calcule le polynôme de Jones de chaque chaîne du système
lk | Calcule le numéro de liaison entre chaque paire de chaînes dans le systèmeLinking Numbers
wr | Calcule le Writhe de chaque chaîne du système
Toutes les commandes base
sont appelées en utilisant la même syntaxe :
Le nom (y compris le chemin) du fichier de données contenant les coordonnées du système à analyser suivi de CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM, où CHAIN_LENGTH : la longueur des chaînes du système (en supposant qu'elles aient toutes la même longueur) NUM_CHAINS : le nombre de chaînes dans le système ARCHITECTURE : actuellement supportant l'anneau ou le linéaire, noté respectivement 0, 1. NUM_PROJECTIONS : s'applique uniquement à Jones - c'est le nombre de projections à utiliser pour le calcul du polynôme de Jones. Si vous travaillez avec des chaînes à anneaux, utilisez 1. BOX_DIM : dimensions périodiques de la boîte, en supposant une boîte cubique
En plus de ces commandes base
, il existe plusieurs types de commandes variantes également incluses dans TEPPP. Les commandes periodic
analysent l'intrication topologique d'un système donné tout en tenant compte des conditions aux limites périodiques. Les commandes periodic
actuellement disponibles sont :
périodique_wr | Calcule la torsion périodique de chaque chaîne du système
périodique_lk | Calcule le numéro de liaison périodique entre chaque paire de chaînes du système
La syntaxe d'appel des commandes periodic
est la même que celle d'appel des commandes base
.
Les commandes scan
sont utilisées pour analyser l'intrication topologique de certaines parties de chaînes plutôt que de la chaîne entière. Par exemple, si un utilisateur souhaite connaître la partie d'une chaîne unique qui contribue le plus à la torsion globale de cette chaîne, il utilisera une commande scan
. Les commandes scan
actuellement disponibles sont :
jones_scan | Calcule le polynôme de Jones le long de chaque chaîne à des longueurs de balayage données
lk_scan | Calcule le numéro de liaison le long de chaque paire de chaînes à des longueurs de balayage données
wr_scan | Calcule la torsion le long de chaque chaîne à des longueurs de balayage données
L'appel de commandes scan
nécessite 4 paramètres, qui doivent être fournis dans la ligne de commande dans l'ordre indiqué ci-dessous :
Le nom du fichier (y compris le chemin) du fichier de données contenant les coordonnées du système à analyser, suivi de CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS)
La longueur de l’intervalle initial d’analyse.
La longueur de l’intervalle final auquel analyser.
Montant permettant d'augmenter l'intervalle une fois l'analyse terminée.
BOX_DIM (facultatif)
Les commandes mpi
sont des versions parallèles des commandes base
, periodic
et scan
décrites ci-dessus. Ils exploitent MPI pour répartir la charge de travail entre un nombre donné de processeurs plutôt que d'effectuer le travail en série. Les commandes mpi
actuellement disponibles sont :
jones_mpi | Calcule le polynôme de Jones de chaque chaîne du système en parallèle
lk_mpi | Calcule le numéro de liaison entre chaque paire de chaînes du système en parallèle
wr_mpi | Calcule le Writhe de chaque chaîne du système en parallèle
périodique_wr_mpi | Calcule la torsion périodique de chaque chaîne du système en parallèle
périodique_lk_mpi | Calcule le numéro de liaison périodique entre chaque paire de chaînes du système en parallèle
jones_scan_mpi | Calcule le polynôme de Jones le long de chaque chaîne à des intervalles donnés en parallèle
lk_scan_mpi | Calcule le numéro de liaison le long de chaque paire de chaînes à des intervalles donnés en parallèle
wr_scan_mpi | Calcule le Writhe le long de chaque chaîne à des intervalles donnés en parallèle
Les commandes mpi
ont la même syntaxe que leurs homologues base
, periodic
et scan
mais doivent être appelées à l'aide mpirun
plutôt que d'exécuter la commande elle-même.
Pour calculer l'intégrale de liaison de Gauss entre chaque paire de chaînes dans un système trouvé dans "../data/systemA.teppp" avec 100 chaînes linéaires chacune de longueur 20 dans une boîte périodique cubique de longueur 13,35315 :
./lk "../data/systemA.teppp" 20 100 1 13.35315
utiliser MPI pour répartir le travail entre 4 processus différents :
mpirun -np 4 ./lk_mpi "../data/systemA.teppp" 20 100 1 13.35315
Pour calculer la torsion périodique de chaque chaîne dans un système trouvé dans "../data/systemA.teppp" avec 100 chaînes chacune de longueur 20 dans une boîte périodique cubique de longueur 13,35315 :
./periodic_wr "../data/systemA.teppp" 20 100 1 13.35315
Pour calculer le polynôme de Jones de chaque chaîne dans un système trouvé dans "../data/systemA.teppp" avec 100 chaînes chacune de longueur 20 dans une boîte périodique cubique de longueur 13,35315 :
./jones "../data/systemA.teppp" 20 100 1 100 13.35315
Pour scanner le long de chaque chaîne et calculer le polynôme de Jones de chaque sous-chaîne dans un système trouvé dans "../data/systemA.teppp" avec 100 chaînes chacune de longueur 20 en commençant par la longueur de balayage 5 jusqu'à la longueur de balayage 10 avec un pas de 5 :
./jones_scan "../data/systemC.teppp" 20 100 1 100 5 10 5
Copyright (c) 2021, Tom Herschberg, Kyle Pifer et Eleni Panagiotou
Tous droits réservés.