oxDNA
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. The following nucleic-acid-related force fields are implemented:
oxDNA can perform both molecular dynamics (MD) and Monte Carlo (MC) simulations of the oxDNA and oxRNA models. MD simulations can be run on single CPUs or single CUDA-enabled GPUs, while MC simulations, which can only be run serially, can exploit the Virtual Move Monte Carlo algorithm to greatly speed-up equilibration and sampling, and Umbrella Sampling biasing to efficiently obtain free-energy profiles. The package also features a Forward-Flux Sampling interface to study the kinetics of rare events, and makes it possible to alter the behaviour of the systems by adding external forces that can be used, for instance, to pull on or apply torques to strands or confine nucleotides within semi-planes or spheres.
The package also includes the oxpy
Python module, which makes it possible to control the behavior of the simulation using Python scripts. The repository contains examples that demonstrate how to leverage oxpy
to write backends to run replica-exchange and well-tempered metadynamics simulations, which are popular techniques in modern molecular dynamics to improve sampling efficiency.
The package can be used to compute nucleic-acid-related quantities such as the energy due to hydrogen bonding or stacking, the distance between groups of nucleotides, the list of hydrogen-bonded nucleotides or of over-stretched bonds, and much more. The analysis can be performed while the simulation is running or on generated trajectory files.
The simulation engine is complemented by an updated version of oxDNA_analysis_tools
(oat
), a Python library aimed at facilitating the analysis of oxDNA/oxRNA trajectories. Oat
provides numerous common simulation trajectory analysis tools including alignment, mean structures, subsetting trajectories, distances between nucleotides, interduplex angles, and comparisons in hydrogen bonding patterns between the trajectory and an idealized structure.
Citing oxDNA
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:
- Installation
- Usage
- Input file
- General syntax
- Core options
- Molecular dynamics options
- CUDA options
- Monte Carlo options
- Common options for
DNA
,DNA2
,RNA
andRNA2
simulations - Common options for
DNA2
andRNA2
simulations - Common options for
DNA
andDNA2
simulations - Options for
DNA2
simulations - Options for
RNA
andRNA2
simulations - Options for
RNA2
simulations - Options for
NA
simulations - Options for
LJ
(Lennard-Jones) simulations - Forward Flux Sampling (FFS) options
- DNAnalysis options
- confGenerator options
- External forces
- Observables
- Plugins options
- Configuration and topology files
- Relaxing initial configurations
- Improving performance
- Efficient GPU usage
- External forces
- Observables
- External observable file
- Common options
- Simulation time
- Total potential energy
- Hydrogen-bonding energy
- Hydrogen bonds
- Position of a single nucleotide
- Forces and torques due to pair interactions
- Distance between two (sets of) particles
- Distance between all pairs of particles
- Interaction energy between pairs of particles
- Stretched bonds
- Energy associated to the external forces
- External force acting on particle(s)
- Configuration
- Pressure
- Stress autocorrelation
- Pitch
- Coaxial-stacking-related quantities
- Structure factor
- Density profile
- Radial distribution function
- Vector angle
- Writhe
- TEP contacts
- Umbrella sampling
- Forward Flux Sampling
- Events