© Copyright 2021 Том Хершберг, Кайл Пайфер и Элени Панайоту
Если вы используете этот код, вам необходимо обратиться к следующему документу:
Хершберг Т., Пайфер К. и Панагиоту Э., 2022, Вычислительный пакет для измерения топологической запутанности в полимерах, белках и периодических системах (TEPPP), Comp. Физ. Коммун. 286 108639
посетите сайт www.elenipangiotou.com для получения обновленной информации.
Что такое ТЭПП?
Начиная
Здание
Использование
Примеры
Интеграл связи Гаусса
Периодические корчи
Полином Джонса
Полином Сканирования Джонса
Лицензия
Авторы
TEPPP — это пакет программного обеспечения, предназначенный для расчета нескольких значений топологической запутанности в молекулярных системах. Он предназначен для работы как последовательно, так и параллельно в сочетании с работающей установкой MPI.
Для TEPPP требуется компилятор, полностью поддерживающий C++17 (GCC 10 и выше). Если желательно параллельное выполнение, в переменной PATH должна присутствовать работающая установка MPI.
Чтобы собрать только серийную версию программного обеспечения, выполните следующую команду:
сделать сериал
Чтобы собрать только параллельную версию программного обеспечения, выполните следующую команду:
сделать MPI
Чтобы создать обе версии программного обеспечения, введите следующую команду:
сделать все
Текущая версия TEPPP поддерживает только запуск отдельных команд через командную строку для получения желаемых результатов. Если координаты анализируемой системы находятся в файле с расширением, отличным от .teppp, их необходимо преобразовать в файл, читаемый TEPPP. Для этого выполните следующую команду в каталоге установки верхнего уровня:
./конвертер "/путь/к/имя_файла.ext" CHAIN_LENGTH NUM_CHAINS BOX_DIM
где CHAIN_LENGTH
— количество атомов в каждой цепочке, NUM_CHAINS
— количество цепочек в системе, а BOX_DIM
— длина одной стороны периодического ящика, если в системе используются периодические граничные условия. Если система не использует периодические граничные условия, введите 0 для BOX_DIM
.
? Обратите внимание, что поддерживаются только файлы .teppp. Все остальные файлы данных должны быть преобразованы в .teppp либо пользователем, либо с помощью утилиты конвертера. В настоящее время утилитой конвертера поддерживаются только файлы .read_data (со всеми координатами в развернутом виде). После запуска команды конвертера файл с преобразованными данными будет расположен в каталоге
TEPPP/converted
для дальнейшего использования.
После создания файла .teppp с нужными координатами любую команду программного обеспечения можно использовать вместе с файлом для получения результатов. base
команды, доступные на данный момент:
Джонс | Вычисляет полином Джонса для каждой цепи в системе.
лк | Вычисляет связующее число между каждой парой цепей в системе. Связывающие числа.
писать | Рассчитывает изгиб каждой цепи в системе.
Все base
команды вызываются с использованием одного и того же синтаксиса:
Имя файла (включая путь) файла данных, содержащего координаты анализируемой системы, за которым следует CHAIN_LENGTH NUM_CHAINS ARCHITECTURE (NUM_PROJECTIONS) BOX_DIM, где CHAIN_LENGTH: длина цепочек в системе (при условии, что все они имеют одинаковую длину) NUM_CHAINS: количество цепей в системе АРХИТЕКТУРА: поддерживающие на данный момент кольцевые или линейные, обозначаются 0, 1 соответственно. NUM_PROJECTIONS: применяется только к Джонсу — это количество проекций, которые будут использоваться для вычисления полинома Джонса. При работе с кольцевыми цепочками используйте 1. BOX_DIM: размеры периодического блока, предполагая кубический блок.
Помимо этих base
команд, в TEPPP также включено несколько типов вариантов команд. periodic
команды анализируют топологическую запутанность данной системы, учитывая периодические граничные условия. В настоящее время доступны следующие periodic
команды:
периодический_wr | Рассчитывает периодическое колебание каждой цепи в системе.
периодический_лк | Вычисляет периодическое число связей между каждой парой цепей в системе.
Синтаксис вызова periodic
команд такой же, как синтаксис вызова base
команд.
Команды scan
используются для анализа топологической запутанности отдельных частей цепей, а не всей цепи. Например, если пользователь хочет найти часть одной цепочки, которая вносит наибольший вклад в общий Writhe этой цепочки, он будет использовать команду 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 | Параллельно вычисляет изгиб каждой цепи в системе.
period_wr_mpi | Параллельно рассчитывает периодическое скручивание каждой цепи в системе.
period_lk_mpi | Вычисляет периодическое число связей между каждой парой цепей в параллельной системе.
Джонс_scan_mpi | Параллельно вычисляет полином Джонса вдоль каждой цепи через заданные интервалы.
lk_scan_mpi | Параллельно вычисляет число связей вдоль каждой пары цепей через заданные интервалы.
wr_scan_mpi | Вычисляет Writhe вдоль каждой цепи через заданные интервалы параллельно.
Команды mpi
имеют тот же синтаксис, что и их аналоги base
, periodic
и scan
, но их нужно вызывать с помощью mpirun
а не запускать саму команду.
Чтобы вычислить интеграл связи Гаусса между каждой парой цепей в системе, найденной в «../data/systemA.teppp», со 100 линейными цепями длиной 20 каждая в кубическом периодическом ящике длиной 13,35315:
./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», со 100 цепочками длиной 20 каждая в кубической периодической ячейке длиной 13,35315:
./ periodic_wr "../data/systemA.teppp" 20 100 1 13.35315
Чтобы вычислить полином Джонса для каждой цепочки в системе, найденной в «../data/systemA.teppp», со 100 цепочками длиной 20 каждая в кубическом периодическом ящике длиной 13,35315:
./jones "../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
Copyright (c) 2021, Том Хершберг, Кайл Пайфер и Элени Панайоту.
Все права защищены.