Moleculix is a software package for real time modification and visualization of three dimensional molecular structure data. Moleculix can be used to estimate molecular structures by parameter minimization (fitting) of simulated NMR data with experimental data.
Moleculix has its own webpage: www.moleculix.com
A minimalistic plugin framework was designed and implemented in C/C++, together with numerous plugins. The plugin framework add very little overhead for a client to create new plugins.
Plugin loading and unloading is carried out by a Plugin Manager object. Each plugin expose one execute() method, that executes the core of the plugin, in a thread if desired.
Data is exchanged between the caller and the plugin by the use of sophisticated properties that can be of any type, i.e. doubles, vectors, strings arrays etc.
The plugin framework also have C and Python wrapped front ends, allowing plugins to be called from Python and virtually any other host language.
To this date the following plugins has been implemented:
| Name | Description | Docs |
|---|---|---|
| AddNoise | Add Gaussian noise to Tellurium Data | Current Docs |
| TestModel | Plugin providing a SBML test model, as well as test data | Current Docs |
| ChiSquare | Plugin that calculates the ChiSquare for two Tellurium data sets. | Current Docs |
| Levenberg-Marquardt | Parameter minimization using a Levenberg-Marquardt algorithm | Current Docs |
| Nelder-Mead | Parameter minimization using a Nelder-Mead algorithm | Current Docs |
| Monte Carlo BootStrap | Estimation of parameter confidence intervalls using a Monte Carlo bootstrap algorithm | Current Docs |
| Auto2000 | Continuation and bifurcations using the AUTO2000 library | Current Docs |
See https://sys-bio.github.io/roadrunner/docs-build/rrplugins/introduction.html for more information.
RoadRunner is a high performance and portable simulation engine for systems and synthetic biology, developed at the Department of BioEngineering at the University of Washington, Seattle.
The original code base was designed by Frank Bergmann & Herbert Sauro and implemented in C# by Frank Bergmann.
libRoadRunner is a translated version (C# -> C++). The translation effort was executed by Totte Karlsson, Dune Scientific, LLC.
The project involved setup of code repositories using both SVN and Git, transforming and implementing the projects build process to use CMake, on Windows, Linux and Mac OSX, and included the build process for several ThirdParty libraries as well.
In addition, a comprehensive thinly layered C-API was was designed and implemented allowing the simulator to be called from virtually any host language.
A comprehensive, automated testing rig, using UnitTest++ was also integrated to the development process and more than 1100 tests were implemented. The testing framework plays a crucial role in securing stability and integrity of the codebase as new additions were/are made.
DuneScientific designed and implemented software for a military prototype using SpinCore RF hardware.
Responsible for software production and design in a high-tech startup company, T2BioSystems, Boston. Responsibilities involved the design and implementation of Magnetic Resonance (MR) spectrometer software, from low level hardware drivers to end user graphical user interfaces (GUI’s). All software used C++ as the main language. Software design and implementation took advantage of established software design concepts/patterns such as client/server models using IPC (Inter Process Communication) protocols over TCP/IP sockets. Signal processing software involved the implementation of FFT’s, single- and bi-exponential fitting routines etc. using third party libraries.
Developed of software to extract and format data from a ultra high speed (GHz) multi channel (6) data acquisition system. The files that this software was operating on was on the order of 250GB each. Several complex algorithms had to be developed, designed and implemented in order to ‘align’ acquired data from the six independent and asynchronous data channels. A thin front end (GUI) was produced (Visual Studio) to interface with the number crunching backend.
Designed and implemented software for real-time positional tracking. This project was using C# and a commercial GIS front-end: ArcGIS Explorer. Live positional data was streamed into the standalone application, using a TCP socket mechanism. Each positional object was visualized directly on the real-time mapping system. Each positional objects history could be visualized as well, giving an objects historical path. The objects relation to the actual sensor, could be visualized as well, by overlaying on the maps, a poynting vector relating the two.
Any numbers of positional objects could be visualized simultaneously, in real time.