oxDNA is a simulation code that was initially conceived as an implementation of the coarse-grained DNA model introduced by T. E. Ouldridge, J. P. K. Doye and A. A. Louis. It has been since reworked and it is now an extensible simulation+analysis framework. It natively supports DNA, RNA, Lennard-Jones and patchy particle simulations of different kinds on both single CPU cores and NVIDIA GPUs.
The development of this software has been partially supported by the European Commission through the Marie Skłodowska−Curie Fellowship No.702298-DELTAS, and ONR grant N000142012094.
The documentation can be browsed here.
The HTML documentation can also be generated locally by running make html
in the docs
folder, and the resulting docs can be browsed by opening the docs/build/html/index.html
file. Run pip install -r docs_requirements.txt
to install the requirements.
Installation instructions can be found in the docs/source/install.md
file or online here.
The examples
folder contains many examples showing the main features of the code. Note that the METADYNAMICS
, OXPY
and OXPY_REMD
examples require oxpy
, oxDNA's python bindings that can be compiled by setting -DPython=ON
during the compilation stage.
The analysis/paper_examples
folder contains examples for oxDNA_analysis_tools
, a suite of command line Python tools for performing generic structural analyses of oxDNA simulations.
Q: How do I simulate oxDNA with LAMMPS?
A: This repository contains the standalone oxDNA software and it is not linked to the code that powers the LAMMPS version of the oxDNA coarse-grained model. If you have any issues/enquiries about the oxDNA LAMMPS package your best bet is to directly contact its authors.
Q: Can oxDNA be run on multiple CPU cores or GPUs?
A: No, oxDNA can run simulations on single cores or single GPUs only. However, the Python bindings (oxpy
) can be used to implement parallel algorithms on top of oxDNA
. See for instance examples/METADYNAMICS
and examples/OXPY_REMD
.
Q: How is the oxDNA force field defined?
A: The functional forms can be found in the original publications:
Please cite these publications for any work that uses the oxDNA simulation package:
- for the code:
- for the CUDA-powered code:
- for oxDNA analysis tools:
oxDNA depends on a minimum number of external libraries (a c++-14-compliant standard library and NVIDIA's CUDA if the user wishes to enable it).
Internally, oxDNA uses the following libraries, which are included in the source tree:
As far as I know, this is compatible with their licenses. If you are a developer or a mantainer of one of these projects and you think that oxDNA does not comply with your license, please contact us.