InSilica Labs, Inc.

Optimizers, Simulators, UIs.
Model development. Done right.
We create powerful and intuitive tools for you to build and explore mathematical models. Our tools enable you to increase productivity by reducing time spent on mundane, tedious, and complex tasks. These tools can also open up new possibilities in your work flow; possibilities that perhaps, you never even imagined.
Our tools are custom built based on your needs.
Contact us for a quote.
Let the computer do the search.
We can give you easy access to powerful optimization tools for parameter identification, parameter estimation, and parameter optimization. Whether you need to perform a local or global parameter search, we can find the right algorithm for you. Or maybe you know the algorithm you want. We can implement a specific algorithm at your request.
  • direct algorithms (Direct, VTDirect)
  • gradient based algorithms (Levenburg-Marquardt, ODRPACK95)
  • hybrid algorithms
  • genetic algorithms / evolutionary algorithms
  • other non-deterministic algorithms (simulated annealing, particle swarm)

Fast. Faster. Fastest.
Our custom simulators leave generic simulation tools in the dust (see the benchmarks). Stiff systems of ordinary differential equations (ODEs), stochastic systems, and systems of partial differential equations are a few of the mathematics we can simulate. At the heart of our simulators are two speed demons: a numerical solver and a mathematical interpreter. We custom build mathematical interpreters to calculate the right hand side of your mathematical model. Then, we use a tried and trusted numerical algorithm, such as CVODE or ODEPACK, to solve the system. These numerical solvers use proven techniques such as Adams-Moutlon and the backward differentiation formula (BDF).

If performance isn't enough, we also incorporate discrete events. Discrete events allow your simulations to mimic a change in a control variable at a specific time, a sudden change in the system when a threshold is reached, or switching behavior.

Did we mention fast?
At the heart of our simulators are our interpreters. Our interpreters take a proprietary bytecode designed specifically for repeated fast mathematical computations, just like those necessary when calculating a numerical solution to a system of ODEs. You'll never see our interpreters, but they are hard at work behind the scenes reducing the time you have to wait for your computer.

We understand your models.
You undestand the biology, the physics, and the chemistry, we understand the file format. However your models are stored in the computer, we can read them and turn them into something our interpreters, simulators, and optimizers can use for blazing fast calculations. Whether your models are in SBML1, Maddonna, XPP, Matlab, or a proprietary format, we can read that format with a parser built for your needs.

Have an existing tool?
We are wizards at integration. We'll take your existing tools and connect them with our tools. Seamlessly. You can work from the environment you already have, you can leverage the power of the tools you already have, and you'll have new power and flexibility from the tools we build for you.

Instant plots.
We integrate plotters tightly in the work flow so you can see simulation results immediately while changing parameters. Empirical data and simulations from multiple parameter values can all be plotted on the same graph so you can easily compare how well different parameter values fit your data. Plots can be exported to image files, exported to PDFs, or copied to a document or presentation in applications like Microsoft Word or Powerpoint.

Model builders
Build your model. In your terms.
Some model development processes require manual construction of the mathematical equations that represent a model. This can be a tedious and error prone process, especially since you think about your model in terms specific to your field. Whether your terms are chemical kinetic equations, network diagrams, probabilities of interaction or something else, we can build a tool that allows you to think... in your own terms.

Model evaluation
Quickly see the validity of your model.
The most simple form of model evaluation can be done by viewing the simulation results and empirical data together on plots for all variables of interest. We take that two steps further by creating automatic model evaluators that can instantly tell you how well your model fits empirical data. These same evaluators can then be used in optimizers to automatically discover parameter values.

No modern application is complete without undoable actions. Yet this feature is not present on many existing tools for simulation and model building. We can create tools for you with this modern feature that we've come to expect of all our software. Accidentally deleted components of the model are not lost, just undo the delete. Renaming, reordering, and adding new components can be undone - and redone - as much as you need so you can be free from worry and allow your creative energy to flow into your work.

High performance computing
How about a Petaflop.
If the performance of our custom built simulators isn't enough, we can open up the power of your multicore computer or even take these algorithms to a super computer. All modern desktop and laptop computers have many cores, yet very few tools take advantage of this processing power already sitting on your desk. We can parallelize most algorithms to take advantage of this existing power. We can increase performance by a few times to a few thousand times2.

Parameter exploration
Our specialty.
Tying all our experience and tools together you get a powerful environment for exploring parameter space and seeing a comprehensive overview of your model's behavior. We reduce or remove every delay we can so that you don't have to wait on the computer, you can see results quickly or instantly, and focus on one thing: your model. You can quickly and easily switch between adjusting parameter values by hand to performing automatic parameter optimization. You can see plots of simulations and empirical data quickly or in real time while you adjust parameters or even during optimization. For tough problems you need all the power and tools at your disposal. We bring the tools to you and make model development engaging and exciting.

  • 1Systems Biology Markup Language (SBML) is a standard format based on XML for encoding biological models.
  • 2Performance gains from parallelization of algorithms depend on your access to computer resources and the particular algorithm being parallelized.