LAMMPS Implementation of Directional Dynamic Bonding Framework
Developer: Carsten Svaneborg
We have extended the Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) to support directional bonds and dynamic bonding. The framework supports stochastic formation of new bonds, breakage of existing bonds, and conversion between bond types. Bond formation can be controlled to limit the maximal functionality of a bead with respect to various bond types. Concomitant with the bond dynamics, angular and dihedral interactions are dynamically introduced between newly connected triplets and quartets of beads, where the interaction type is determined from the local pattern of bead and bond types. When breaking bonds, all angular and dihedral interactions involving broken bonds are removed. The framework allows chemical reactions to be modeled, and use it to simulate a simplistic, coarse-grained DNA model. The resulting DNA dynamics illustrate the power of the present framework.
Publication: C. Svaneborg. LAMMPS Framework for Dynamic Bonding and an Application Modeling DNA Computer Physics Communications 183, 1793 (2012). Software is part of the supplementary material: LAMMPS_dynbond.tar.gz
Instructions: The framework is integrated into LAMMPS which is written in C++. The documentation for how to compile, run, and visualize LAMMPS on various platforms can be found at http://lammps.sandia.gov/doc/Manual.html. Implementation details, instructions and examples for how to use the Dynamic Bonding framework can be found in the paper above and its supplementary material.
Developer: Abishek Sharma
The ionic-chemistry library calculates the time and spatial dependence of the concentrations of ionic species depending on the time-dependent electrode voltages and the nonlinearly coupled local electrostatic potential, via an extended Poisson-Nernst-Planck framework, which takes finite ion size effects into account. From this, the forces to which the tracer particles in the simulation are subjected can be directly derived (proportional to the gradient of the potential). The treatment is fully nonlinear, and treats finite size effects via an entropic excluded volume correction that is important, because otherwise ions can pile up to unphysical concentrations at oppositely charged electrodes. The procedure is made efficient by mapping the 3D geometry to a 1D framework, extending theory developed recently for the PNP equations in membrane ion channels. Novel here is the transformation of coordinates derived for a general area function, that allows a non-singular description of the general pseudo-1D problem, generalizing the case of hemispherical electrodes to electrodes embedded in a channel. We use the solution of Laplace’s equation to derive the static 3D shape of potential curves and then use the full time dependent solution to assign potential values to different positions. This captures the main physical effects of the exceedingly complex interplay between electronic and migration and reaction behavior in aqueous solutions.
Software: Available on request from the author <Abhishek(dot)Sharma(at)ruhr-uni-bochum(dot)de>
Instructions: The theory is implemented in Wolfram Mathematica. The Mathematica solution structure must be exported to C and coupled with sparse linear matrix equation solver libraries for integration with the ng_biopro software. This is aided by Mathematica’s inbuilt C export capability, but requires some additional matching with external libraries.
DNA Address Compiler
In the DNA address compiler and design checker, tags are generated by using an evolutionary algorithm: an initial group of ssDNA sequences are randomized. For each pair of primers a Needleman–Wunsch global sequence alignment score is computed. It is assumed that alignment scores correlate with the tendency of primers to form undesirable dimers in solution. The pair with the highest score is chosen and mutated. Mutations are carried out by substituting a random base in one of the pair with a different base and re-computing alignment score. The first mutation found to lower alignment score is selected and preserved. Next, all scores are recomputed and again the pair with the highest score is mutated. The whole process is repeated for new groups of sequences until no further improvement is achieved over several hundred cycles, for each group. The group of sequences with the lowest sum of all scores is provided as an address library.
Software and instructions: Available on request from the author <benny(dot)gil(at)gmail(dot)com>
Developers: Gil Seltzer, Daniel Sorek
The MATCHIT automaton is able to optimize the microfluidics design in terms of structure, channel cell tags, chemtainer types, DNA tags, and interaction rules. The current version is available with either the ‘ABT’ chemistry or ‘SPQR’ chemistry. In the’ ABT’ chemistry a DNA cross-catalysis amplification reaction takes place. In this simulation an extraction, separation and insertion system is used. This system allows the extraction of hybridized products, separation of the strands and reinsertion of the strands into their separate chemtainers so they can be used again as templates for the reaction. The second simulation uses the ‘SPQR’ chemistry, based on branched oligomer chemistry. The desired product cannot be synthesized via one pot synthesis nor sequential one pot synthesis and uses the reaction management in the MATCHIT automata to its best effect.
Instructions: User instructions supplied by Prof. D. Lancer. Note that the picture is from an earliere and slower Java version with a graphical user interface (G. Stelzer). The code above is the reimplementation in Matlab. (D Sorek).
Developer: Mathias Weyland
This is a simulator of the Matchit Automaton (MA) with the following capabilities: (a) Defining the structure of polymers with respect to topology, linkers and monomers. (b) Defining the automaton configuration (tags, cells). (b) Defining chemtainers (tags, content). (d) Decomposing polymers into sub-structures. (e) Constructing the tree of all possible paths of reactions for a given target polymer.
Instructions: The code is written in C++ and links against log4cplus (v. 1.1.0). A makefile for compiling the program is provided. The tree can be exported suitable for visualisation with graphviz (dot).
MatchIT Microfluidics Simulator
Developer: Harold Fellermann
We have developed a simulator for microfluidic devices where the motion of particles is subject to Brownian motion and hydrodynamic forces that are approximated using an equivalent circuit approach. While realistic simulation of microfluidics is the focus of MatchIT-CTRL, this software explores how programmability can be achieved using high level control directives that are defined in a domain specific language (DSL). In the current simulator, those control directives can modify channel content and pressure values at specified channel locations. Both control directives and microfluidic architecture can be defined with simple SGML configuration files. The DSL is implemented using PLY – the Python Lex Yacc compiler generator.
Instructions: The automaton is implemented in Python and requires python-ply, python-gtk2, and python-glade2. The program has a graphical user interface, run gui.py.
Real-time Simulation in MATCHIT-CTRL
Developer: Uwe Tangen
The purpose of this simulation-facility is two fold. On the one hand it should be used to test and debug electrode-activation patterns and state-machines because debugging them in a real experiment can be very time consuming. On the other hand the simulation must be fast enough to be able to run in parallel with the experiment to allow an on-line comparison between simulation and experiment. This feature should be used to extract parameters from the experiment which are otherwise not seen. Here simulation is used as a world-model in the experiment.
Instructions: The control software is implemented in C. An extensive user manual is included in the package.