The code is under active development and thus it supports a growing set of features. Here we list the ones we consider to be stable and ready for end users.
- Molecular and Brownian dynamics
- The code can run both NVE and NVT simulations. The NVT ensemble can be enforced with three different kinds of thermostats. These simulations can also run on GPUs via NVIDIA's CUDA technology. The speed-up for the DNA model depends on the details of the simulation but it is of the order of 30-50 for a single GPU vs a single CPU core.
- Monte Carlo simulations
- Regular Metropolis Monte Carlo simulations, with only nucleotide roto-translational moves, can be performed. In addition, oxDNA supports Virtual Move Monte Carlo (VMMC) simulations for the DNA and RNA models. The EXAMPLE folder contains a few VMMC-related examples that can be used to learn how to set up VMMC simulations.
- Additional interactions
- oxDNA can be extended to simulate additional pairwise potentials. The current stable version includes the widely-used Lennard-Jones interaction, the Kob-Andersen mixture and several patchy particle models. See the README file and the documentation for additional details.
- External forces
- In order to favor motif formation or to mimic different external environments, different kind of forces can be applied to nucleotides or points in space. The complete list of available external forces can be found in the documentation.
- Standalone single- and double-strand generator
- We provide a script (UTILS/generate-sa.py) which can be used to generate oxDNA input configurations with the command
generate-sa.py <box side> <file with sequence>
- <box side> specifies the length of the box side in simulation units, while <file with sequence> must contain the sequence of the strands to be generated, one row per strand. If double strands are needed, each sequence must be preceded by DOUBLE:.
- Output converter
- We provide a script (UTILS/traj2vis.py) which converts oxDNA configuration files to .pdb and VMD-supported .xyz files. The usage is
traj2vis.py <pdb|xyz> <trajectory> <topology>
- where the output format is either pdb or xyz, <trajectory> is the configuration (or whole trajectory) file and <topology> is the topology file. The output filename is <trajectory>.pdb or <trajectory>.xyz, depending on which output format has been chosen. If pdb is selected, then a commands.com file is generated, to be used with UCSF Chimera.
- Cadnano converter
- There is a converter that takes cadnano files and converts them in initial configurations to be fed to the simulation program. See Cadnano for an example on how to use it.
Experimental (Unsupported) features
The released version of oxDNA also contains code for
- Forward Flux Sampling molecular dynamics simulations
- Umbrella Sampling simulations
- A huge number of utility scripts which make working with strands easier. They are contained in the UTILS directory.