Skip to content. | Skip to navigation

Personal tools

You are here: Home / About / News


Updates about Evolvix and this website.

Evolvix 0.3.1 improves Evolvix Icon Menu to OS

Better control for running Evolvix.

The latest release of Evolvix (0.3.1-RC1) is now fully online and provides a much improved Evolvix user experience, including better control of the Evolvix server that produces, what the brower displays.

Evolvix Release 0.3.0 Beta has first GUI

This latest Evolvix Release prepares the way for more advances to come.

While Evolvix is still far from the rock solid stability and general functionality we aim to deliver, we have been working on an exciting advance that we want to share:


Evolvix now has a prototypical graphical user interface!


Thanks to Tanner Engbretson, who joined the team this year in order to develop such an interface. Now, once you start Evolvix, your web browser will open a window that gives you direct access to

  • the documentation.
  • basic Quest management facilities (export, import, ...).
  • an editor that is integrated into your browser window.
  • a run-button, which you just need to hit in order to run the quest you entered.
  • a results viewer window that will show an overview of the results plotted with potential error messages and a bit of the relevant Quest source code.
  • easy ability to trash lots of useless simulation runs to keep only those results that matter.
  • a cool annotation feature that makes it easy to mark the results of a QuestRun as useful or not.
  • everything runs on your machine locally, so no need for an Internet connection for using Evolvix (and yes, the node webserver that serves the Evolvix pages only serves them locally).


There is still a way to go before everything in the Browser User Interface will have found its place and there is even more work to be done behind the scenes. However we thought some of you may find this new web interface useful on occasions, where you do not need further command-line scripting capabilities.

We have also introduced some changes to the Evolvix syntax in order to increase the consistency with the future features of Evolvix that we are working on and that will increase the general expressivity. So careful, the few bits of old code you may have will not work as is. However, the changes are simple and explained in the manual.

At the moment the CommandLine version ("CL") and the Graphical User Interface version ("GUI") of Evolvix come in separate bundles and use incompatible simulation results storage facilities, so spare yourself the trouble and do not switch (not impossible, but tedious). Also, there is much to be streamlined to reduce file sizes.


We are already working on the next features:

- improved TimeSeries generation

- consolidated layout for how simulation results are stored

- and of course many invisible, but essential features like a good build system, data structures and storage facilities....


This is a public beta release and if you want to provide feedback, please do: we are certainly very interested.


Evolvix 0.3.0 RC1 improves viewing simulation results

After adding a prototypic graphical user interface, Evolvix now has a much quicker way of viewing simulation results.

The latest Evolvix Release 0.3.0 RC1 now has a much more comfortable QuestRunResults Viewer built into its graphical user interface. It can provide you with a much quicker overview of your latest simulation results. These changes are a substantial improvement that has now been added to the prototypic graphical user interface that was first released as part of Evolvix 0.3.0-beta back in October 2014. 


When interactively exploring the structure and dynamics of simulation models, researchers often spend much time exploring preliminary simulation results to compare them to other preliminary results. Such work is important for understanding the nature of a model, finding potential modeling errors and identifying the high-level results that are worth sharing with others.

The latest release candidate of Evolvix 0.3.0 (RC1) implements much improved QuestRunViewer windows that facilitate quick overviews of many observed TimeSeries. They now show as small previews in a column on the left that can be scrolled through easily . The standard arrow navigation keys (up-down) allow selecting easily, which of the small previews will be shown in the big plot window above the window displaying the code that generated the results.

To facilitate annotating which results are useful to keep around, it is now easier than ever to add comments to the active QuestRunViewer. Annotations are stored with their QuestRun and enable documenting successes or marking uninteresting runs for deletion.

Errors are everywhere in programming. Evolvix now provides an explicit error message if something went wrong with a QuestRun. The rudimentary error reporting introduced for the WebGUI is a small but important step on the long road to providing users of Evolvix with easily understandable diagnoses of what went wrong. From now on, there is no need to guess, whether Evolvix found a problem when running a Quest.  

Finally, improvements to the layout of the QuestRunViewer window make it more flexible and easier to use.

Evolvix 0.2.0 Release - finally here

It now brings a much more better documentation to your installation folder.

Much better documented and much more cleaned up: Here is the definitive release of Evolvix 0.2.0, which bundles all developments of Evolvix up to the point, when the decision was made to add general programming capabilities.

That makes this our most usable release so far. It particularly excels in respect to extracting TimeSeries data out of simulations.

The next release will have substantially expanded capabilities that follow from the decision to add general programming language capabilities to Evolvix (see conceptional details here) . These will require small changes in the syntax available in Evolvix 0.2.0. That is where you notice that Evolvix is still in the prototype stadium.

However, if you need a simulator that deterministically or stochastically produces time series data from an underlying mass action model and are happy to analyze the data yourself, then Evolvix 0.2.0 already delivers substantial benefits. Especially if you need to extract particular time series features and do not want to store large amounts of time series data.

Everything else will have to wait for future releases. We are already working on the next set of exciting features.



The image shows a phase diagram for the predators from two independently models run in parallel. You can reproduce this figure by running the default model in the Evolvix 0.2.0 release download.

Maximizing expressive power in Evolvix

To maximize the expressivity of Evolvix we are adding general programming capabilities to Evolvix. This simplifies working with Evolvix for developers and users. The resulting changes are profound.

Why does expressive power matter?

We develop the Evolvix model description language, because we want to make it easy for biologists to describe the biological systems they study in mathematically rigorous form.

The expressive power of Evolvix determines, how many different types of models can be modeled in Evolvix with reasonable effort.

Generally, Evolvix can model systems that range from molecules in cells to individuals in ecosystems, as long as the underlying mathematical model used by Evolvix is an appropriate choice for the system that is being modeled. Whether the math matches the model a biologist aims to investigate, depends on details that define the precise nature of the abstraction used by the model. Currently Evolvix supports simulating models known as continuous time Markov chain models - under the condition that all Parts of these models can be written down before the start of a simulation.

A diverse number of complex cutting edge simulation models in systems biology, ecology, and population genetics do not fall into this category and require more flexible simulation capabilities. Increasing the expressivity of Evolvix can enable the simulation of such models.


How can we increase the expressive power of Evolvix?

Thorough analyses of various modeling scenarios over the last few months have provided ample evidence for the following conclusion:  General programming capabilities are required for efficiently modeling a broad array of biological questions.

In computer science, 'general programming capabilities' are often associated with and analyzed by abstract models of so-called 'Turing Machines'. Another way to describe what Turing Machines enable is to say that they allow the construction and analysis of recursively enumerable sets (i.e. sets of things that can contain sets of other things with even more sets of still other things). This

  • hierarchy of sets in computer science is easily mapped to various aspects of
  • hierarchically organized systems in biology, where
    • molecules are found in ... cells,
    • cells live in ... tissues,
    • tissues exist in ...  individuals,
    • individuals live in ...  ecosystems.


If Evolvix will ever allow the analysis of such hierarchical systems, then two fundamentally different approaches can be used to implement such capabilities:

  • Description of fixed systems: Extending the current design of Evolvix, we could fix some syntax and data structures for enabling the description of some details of some hierarchical models that Evolvix will then be able to model. This approach is very cumbersome for many reasons. For example, it requires drawing an arbitrary line between model details that are named and fixed by Evolvix itself and those that can be changed by users. Defining such model details as features of Evolvix would require a corresponding parser and simulator to be designed and implemented (currently in C/C++ and a LL* grammar in ANTLR). Drawing the arbitrary line is easy for a given modeling question, but hard to generalize. Adding one new Evolvix parser and simulator is cumbersome, but doable. However, the lack of generalization would require implementing a long series of such hierarchical models if we aim to cover reasonably large areas of biology.
    This would require a prohibitive amount of programming, leading to a rather confusing set of partially overlapping models; reducing the complexity of this modeling network is hard and if not done upfront, will result in a random collection of models that are too specific for reuse in addressing broader modeling questions.
    As a result, much of the simplicity of Evolvix would be lost.
  • Generative systems: Instead of describing some biological details of some levels from selected hierarchical systems, Evolvix could provide general capabilities for describing how to generate the recursively enumerable collections of biological details of interest for biological models. Adding this small amount of work (compared to the task of constructing the same number of models as described above) has huge advantages:
    • No need to generalize biology if we want to avoid unnecessary complexity in the core Evolvix language.
    • Simplifying the construction of such models substantially increases the number of biologists who might engage in the process of constructing such models (and reduce the amount of work we would have to invest for constructing any particular model).
    • The same system can also be used to manage the large number of simulation results necessary for analyzing models and estimating parameters (when designed from the start to include this purpose).
    • The general programming capabilities necessary to enable the features above can also be used to automate the construction of systematically varying models and to compose arbitrary workflows for model analysis, two problems that were not addressed in the last design of Evolvix (version 0.2). 


Thus we decided to add general programming language capabilities to Evolvix.


What does it mean to turn Evolvix into a general programming language?

Most importantly, this does not complicate using the simple descriptive core of Evolvix as presented on this website. It merely means that in the future, Evolvix will add language constructs that enable these general programming features and that some of the current features can move into an "Evolvix Standard Library" that is always there to use out of the box.

Combining general programming language features with features that are dedicated to modeling questions makes it much easier to investigate the broadest possible range of biological questions than constructing such models one by one without this support. This special built-in support will help with

  • modeling of systems in biochemistry, genetics and beyond,
  • documentation of models,
  • catching modeling errors,
  • parameter estimation,
  • distributed computing, and
  • managing simulation results that can easily reach 'big data' proportions. 

To keep all this accessible for biologists, we keep investing substantially into simplifying the overall design of Evolvix and into keeping the learning curve as shallow as possible.


When will this happen?

We have developed syntax designs that show the potential to resolve key challenges for modeling in biology and are currently combining them into a redesigned foundation for Evolvix. This foundation will maximize the expressivity of Evolvix by selecting relevant semantics, syntax and internal data structures to prepare for a growing body of functionality. At the same time we are expanding the modeling relevant capabilities of Evolvix that enable observing TimeSeries related features, help estimate parameters and more. These will then be linked into the redesigned foundation. We plan for this process to lead to new capabilities over this Summer and thus bring us much closer to our aim for Evolvix, namely, to make it easy for biologists to describe the biological systems they study in mathematically rigorous form. We are designing Evolvix with the goal of supporting backwards compatibility with the start of Evolvix Version 1.0 to make Evolvix a suitable format for storing executable descriptions of simulation models as online supplements of journal articles that present the scientific results from such models.


Currently we focus on the core design; we do not discuss every turn of our thoughts on the website in the interest of reducing the time until when the new capabilities become available.


Evolvix Release 0.2.0 RC1

Finally a 64 bit Windows 7 compile that no longer depends on an existing VisualStudio installation!

A reason to celebrate a small but important victory in our big war with compiler switches: Seth got the Windows Version of Evolvix to compile as a 64 bit "Release" version. May not sound like much, but it's actually huge.


From now on Windows users can install Evolvix without having to first install some big bulky program they don't need (unless they are programmer already).


The release candidate 1 can be found in the Download folder or more directly here:


            Evolvix 0.2.0 RC1 for Windows 7 (64 bit):        Download is ca. 4MB.


This makes Evolvix so much easier to install on Windows, while Evolvix itself is still a prototype. However, exciting big changes are happening under the hood right now. More to follow...



Evolvix Release 0.2.0 Beta

The latest stability improvements.

Evolvix Release 0.2.0 Beta (2014-01-31) further improves the current line of development towards more stability and better documentation. 


With this release we introduce our public "beta" program. This means that from now on, we will publish all new Evolvix Releases as "Beta" applications, that are to undergo further testing before they can be finalized.


If you download such a release and find any problems with it, please let us know.


All the latest releases are in the download section.

Evolvix Release 0.1.6

A new release of Evolvix is available, improving stability and documentation.
Evolvix Release 0.1.6

The new documentation is searcheable in your browser.

Evolvix Release 0.1.6 (2013-12-10) brings many small improvements to the stability in general and to capabilities of recording time series and phase diagrams. The most visible improvement is the introduction of a unified online documentation system, which makes it much easier to look up and search for commands using a local browser.


This is a maintenance release that brings you the latest improvements while we are working on the next big improvements. Upgrading is recommended.


Please find the latest downloads here.


New Evolvix website construction start

Content about Evolvix can now start moving into its new home.

Welcome to the new Evolvix website! We now have a new web-content management system in place that is powerful enough to help us organize the tons of information related to Evolvix and its development. So construction of the new Evolvix website can start.


We will gradually move into this new website much of the info, ideas, designs, documentation, and more about Evolvix that is currently scattered on diverse files and papers.


Our goal is to make it easy for you to find what you need to know about anything in the Evolvix world. If you are looking for something specific and can't find it, please let us know.


Let's make modeling easy!