The proto-Nucleic-Acid Builder (pNAB)
|
Clone the GitHub repository at https://github.com/alenaizan/pnab. And compile the package. All the dependcies can be satisfied through conda.
The C++ compiler in linux can also be installed using Conda.
The code has been tested using the gcc 7.3 and 9.3 compilers in Linux, clang 8.0 and 10.0 compilers in Mac, and Visual Studio 2015/
The code uses the pytest package for testing. To test that the code works, first install pytest:
Then, execute:
All the code for manipulating the molecule and computing the energies is written in C++. The main C++ classes that are used for defining the options can be accessed in python. It is sufficient to write an input file and call the program using this syntax:
The advantage of this approach is that it performs basic validation of the user defined options. Additionally, for runs with multiple helical configurations, the independent configurations can be run in parallel using the multiprocessing library. This is managed internally by the python program. However, if the user wants to access the C++ classes directly through python, then this can be performed as follows:
The output from the run is a string containing the data in CSV format.
The C++ classes exposed to python are only for defining options and running the program. The other classes can be accessed through the C++ code.