NESSie.jl
is a software package for the popular Julia language,
providing efficient numerical solvers for local and nonlocal protein electrostatics
computations in structured solvents.
This version of NESSie.jl
requires Julia 1.6 or above. In the Julia shell, switch to the
Pkg
shell by pressing ]
and enter the following command:
pkg> add NESSie
Analogously, the NESSie.jl
can be removed at any time using the following command in the
Pkg
shell:
pkg> rm NESSie
All functionality is organized into separate modules:
Module | Description |
---|---|
NESSie |
Models and utility functions |
NESSie.BEM |
Local and nonlocal BEM solvers |
NESSie.Format |
Input and output file formats |
NESSie.TestModel |
Test models with analytical solutions |
The following Julia code shows how to compute and print the nonlocal reaction field energy of a single Na+ ion (modeled as a spherically-symmetric, vacuum-filled system) in water:
using NESSie
using NESSie.BEM
using NESSie.Format: readoff, readpqr
# I. Create model
model = readoff("data/born/na.off")
model.charges = readpqr("data/born/na.pqr")
model.params.εΩ = 1 # dielectric constant for vacuum model
model.params.εΣ = 78 # dielectric constant for water
# II. Apply nonlocal solver
bem = solve(NonlocalES, model)
# III. Apply postprocessor
val = rfenergy(bem)
println("Reaction field energy: $val kJ/mol")
More examples are available in the docs/examples/
directory.
A detailed documentation of NESSie.jl
is available
online.
You can also build the same documentation manually using the following command in the
docs/
directory:
shell> julia make.jl
Please note that this additionally requires the
Documenter.jl
package to be installed. This can be achieved by using the following command in the Pkg
shell:
pkg> add Documenter
After the build process has finished successfully, the documentation can be
found in the docs/build/
directory.
NESSie.jl
provides tests for most of its functions. You can run the test suite with the
following command in the Pkg
shell:
pkg> test NESSie
NESSie.jl
ships with the following extra tools:
- Converter.jl, a simple Julia script to convert surface and volume meshes into different formats
- Mesher, a wrapper application for the GAMer library to create surface and volume meshes from PDB files
Please refer to the respective tool's README file for more details.
If you use NESSie.jl
in your research, please cite the following publications:
Kemmer, T, Rjasanow, S., Hildebrandt, A (2018). NESSie. jl - Efficient and Intuitive Finite Element and Boundary Element Methods for Nonlocal Protein Electrostatics in the Julia Language. Journal of Computational Science 28, 193-203.
Kemmer, T (2021). Space-efficient and exact system representations for the nonlocal protein electrostatics problem. Ph. D. thesis, Johannes Gutenberg University Mainz. Mainz, Germany.
Citations items for BibTeX can be found in CITATION.bib.