© Copyright 2021 Tom Herschberg, Kyle Pifer e Eleni Panagiotou
Se você usar este código, deverá consultar o seguinte documento:
Herschberg, T., Pifer, K. e Panagiotou, E., 2022, Um pacote computacional para medir o emaranhamento topológico em polímeros, proteínas e sistemas periódicos (TEPPP), Comp. Física. Comum. 286 108639
visite www.elenipanagiotou.com para obter informações atualizadas
O que é o TEPP?
Começando
Prédio
Uso
Exemplos
Integral de ligação de Gauss
Contorção Periódica
Polinômio de Jones
Digitalizar polinômio de Jones
Licença
Colaboradores
TEPPP é um pacote de software desenvolvido para auxiliar no cálculo de diversos valores de emaranhamento topológico em sistemas moleculares. Ele foi projetado para funcionar em série e em paralelo quando acoplado a uma instalação MPI funcional.
TEPPP requer um compilador que suporte totalmente C++17 (GCC 10 e superior). Se a execução paralela for desejada, uma instalação MPI funcional deverá estar presente na variável PATH.
Para construir apenas a versão serial do software, execute o seguinte comando:
fazer série
Para construir apenas a versão paralela do software, execute o seguinte comando:
fazer mpi
Para fazer as duas versões do software, digite o seguinte comando:
faça tudo
A versão atual do TEPPP suporta apenas a execução de comandos individuais através da linha de comando para obter os resultados desejados. Caso as coordenadas do sistema a ser analisado estejam em um arquivo com extensão diferente de .teppp, elas deverão ser convertidas em um arquivo legível pelo TEPPP. Para fazer isso, execute o seguinte comando no diretório de instalação de nível superior:
./convertor "/caminho/para/nome do arquivo.ext" CHAIN_LENGTH NUM_CHAINS BOX_DIM
onde CHAIN_LENGTH
é o número de átomos em cada cadeia, NUM_CHAINS
é o número de cadeias no sistema e BOX_DIM
é o comprimento de um lado da caixa periódica se o sistema usar condições de contorno periódicas. Se o sistema não usar condições de limite periódicas, insira 0 para BOX_DIM
.
? Observe que apenas arquivos .teppp são suportados. Todos os outros arquivos de dados devem ser convertidos para .teppp pelo usuário ou usando o utilitário conversor. Somente arquivos .read_data (com todas as coordenadas em formato desembrulhado) são suportados pelo utilitário conversor no momento. Assim que o comando do conversor for executado, o arquivo com os dados convertidos estará localizado no diretório
TEPPP/converted
para uso posterior.
Uma vez gerado um arquivo .teppp com as coordenadas desejadas, qualquer um dos comandos do software pode ser usado em conjunto com o arquivo para gerar resultados. Os comandos base
disponíveis atualmente são:
jones | Calcula o polinômio de Jones de cada cadeia do sistema
lk | Calcula o número de ligação entre cada par de cadeias no sistemaLinking Numbers
wr | Calcula o Writhe de cada cadeia do sistema
Todos os comandos base
são chamados usando a mesma sintaxe:
O nome do arquivo (incluindo o caminho) do arquivo de dados contendo as coordenadas do sistema a ser analisado seguido por CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM, onde CHAIN_LENGTH: o comprimento das cadeias no sistema (assumindo que todas tenham o mesmo comprimento) NUM_CHAINS: o número de cadeias no sistema ARQUITETURA: atualmente suportando anel ou linear, denotado por 0, 1, respectivamente. NUM_PROJECTIONS: aplica-se apenas a jones - é o número de projeções a serem usadas para o cálculo do polinômio de Jones. Se estiver trabalhando com cadeias de anéis, use 1. BOX_DIM: dimensões periódicas da caixa, assumindo caixa cúbica
Além desses comandos base
, existem vários tipos de comandos variantes também incluídos no TEPPP. comandos periodic
analisam o emaranhado topológico de um determinado sistema enquanto levam em conta as condições de contorno periódicas. Os comandos periodic
atualmente disponíveis são:
periódico_wr | Calcula o Writhe periódico de cada cadeia do sistema
periódico_lk | Calcula o número de ligação periódica entre cada par de cadeias no sistema
A sintaxe para chamar comandos periodic
é a mesma sintaxe para chamar comandos base
.
Os comandos scan
são usados para analisar o emaranhado topológico de certas partes das cadeias, em vez de toda a cadeia. Por exemplo, se um usuário quiser a parte de uma única cadeia que mais contribui para o Writhe geral dessa cadeia, ele usaria um comando scan
. Os comandos scan
disponíveis atualmente são:
jones_scan | Calcula o polinômio de Jones ao longo de cada cadeia em determinados comprimentos de varredura
lk_scan | Calcula o número de ligação ao longo de cada par de cadeias em determinados comprimentos de varredura
wr_scan | Calcula a contorção ao longo de cada cadeia em determinados comprimentos de varredura
Chamar comandos scan
requer 4 parâmetros, que devem ser fornecidos na linha de comando na ordem mostrada abaixo:
O nome do arquivo (incluindo o caminho) do arquivo de dados que contém as coordenadas do sistema a ser analisado, seguido por CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS)
A duração do intervalo inicial no qual fazer a varredura.
A duração do intervalo final no qual fazer a varredura.
O valor para aumentar o intervalo após a conclusão de uma verificação.
BOX_DIM (opcional)
Os comandos mpi
são versões paralelas dos comandos base
, periodic
e scan
discutidos acima. Eles aproveitam o MPI para dividir a carga de trabalho entre um determinado número de processadores, em vez de executar o trabalho em série. Os comandos mpi
disponíveis atualmente são:
jones_mpi | Calcula o polinômio de Jones de cada cadeia do sistema em paralelo
lk_mpi | Calcula o número de ligação entre cada par de cadeias no sistema em paralelo
wr_mpi | Calcula o Writhe de cada cadeia do sistema em paralelo
periódico_wr_mpi | Calcula o Writhe periódico de cada cadeia do sistema em paralelo
periódico_lk_mpi | Calcula o número de ligação periódica entre cada par de cadeias no sistema em paralelo
jones_scan_mpi | Calcula o polinômio de Jones ao longo de cada cadeia em determinados intervalos em paralelo
lk_scan_mpi | Calcula o número de ligação ao longo de cada par de cadeias em determinados intervalos em paralelo
wr_scan_mpi | Calcula a contorção ao longo de cada cadeia em determinados intervalos em paralelo
Os comandos mpi
têm a mesma sintaxe de suas contrapartes base
, periodic
e scan
, mas devem ser chamados usando mpirun
em vez de executar o comando em si.
Para calcular a integral de ligação de Gauss entre cada par de cadeias em um sistema encontrado em "../data/systemA.teppp" com 100 cadeias lineares cada uma de comprimento 20 em uma caixa periódica cúbica de comprimento 13,35315:
./lk "../data/systemA.teppp" 20 100 1 13.35315
usando MPI para dividir o trabalho entre 4 processos diferentes:
mpirun -np 4 ./lk_mpi "../data/systemA.teppp" 20 100 1 13.35315
Para calcular a contorção periódica de cada cadeia em um sistema encontrado em "../data/systemA.teppp" com 100 cadeias cada uma de comprimento 20 em uma caixa periódica cúbica de comprimento 13,35315:
./periodic_wr "../data/systemA.teppp" 20 100 1 13.35315
Para calcular o polinômio de Jones de cada cadeia em um sistema encontrado em "../data/systemA.teppp" com 100 cadeias cada uma de comprimento 20 em uma caixa periódica cúbica de comprimento 13,35315:
./jones "../data/systemA.teppp" 20 100 1 100 13.35315
Para fazer a varredura ao longo de cada cadeia e calcular o polinômio de Jones de cada subcadeia em um sistema encontrado em "../data/systemA.teppp" com 100 cadeias cada uma de comprimento 20, começando com o comprimento de varredura 5 até o comprimento de varredura 10 com um passo de 5 :
./jones_scan "../data/systemC.teppp" 20 100 1 100 5 10 5
Copyright (c) 2021, Tom Herschberg, Kyle Pifer e Eleni Panagiotou
Todos os direitos reservados.