DEDiscover (New Version)

DEDiscover is a desktop application to assist non-mathematicians and non-programmers simulate and analyze mathematical models based on differential equations. With DEDiscover one can:
  • Enter a model in a GUI using a syntax that is similar to the way differential equations are often displayed in a textbook or a research paper.
  • Simulate the model after adjusting some model parameters, setting up initial conditions, and indicating the starting and finishing timepoints at which the simulation is performed, as well as controlling the steps at which the results are returned.
  • Display the results as x-y plots in various formats, as well as tabular data.
  • Load experimental data, and use it to perform parameter estimation using Differential Evolution.
  • Export the simulation and estimation results.
  • Import some models saved in the SBML format instead of directly writing the equations.
and more.

History

DEDiscover was originally developed at the University of Rochester in the then Center for Biodefense Immune Modeling (CBIM) under grants from the National Institute of Health and the National Institute of Allergy and Infectious Diseases. The work was performed by various collaborators between 2006 and 2014.

The source code was made available as an open source project, as stipulated by the grants. But after 2015 there was nobody left at the University of Rochester to maintain the repository and it was mostly forgotten.

In March 2020 one of the programmers found himself with some time on his hands and decided to fix the code and make it available again. One major issue with the original release was the inclusion of proprietary packages which, although we had received permission to include in the project, did not have a license that was compatible with the other open source packages that are included with DEDiscover. In addition the code was using old technology, and most parts needed major redesign and rewrite. It was expected to be a 4 month project. Two years later an alpha version is ready.

Original Version

The original version of the software was developed in a mixture of Java and C++ code, with a small amount of Fortran 90. Most of the Graphical User Interface was written in Java, while most of the numerical computation and equation processing and handling was performed in C++, as well as the functionality to save and retrieve session information.

To build the GUI we used an commercial packages provided by JIDE Software which implement a framework that uses Swing and provides widgets to make it easier to build a GUI. We did receive a open source license as well, but it was never clear if it would be compatible with the other licenses that were part of DEDiscover.

New Software Version

The new version no longer relies on the JIDE compoments, replacing them with TornadoFX. As a result JavaFX is used as the application platform instead of Swing. Because TornadoFX is written in Kotlin a lot of the original Java code has been rewritten in this language. Most of the numerical processing is still performed in C++.

Current Status

This package is in the alpha version. It will provide the basic functionality and not crash too often (but crashing it will), but don't rely on the results for publishing purposes, at least not without validating with more reliable tools.

At this point you can create and save multiple models, perform simulation and plot the results, perform parameter estimation using data loaded in a datatable.

We have only built this version under linux, with CentOS 8 and various versions and flavors of Ubuntu.

Website History

We had created a website residing at dediscover.org to support the software. But because nobody was left to monitor the registration of the domain name after 2015 and it was not renewed, some other entity bought it, and nobody at the University of Rochester thought it was worth their time trying to get the domain back. For years when going to this web address one could see the original first page, with a link to some disreputable commercial site, and nothing else. Then there was nothing but the domain names was still owned by this entity. Then in December 2021 they either forgot to renew or decided that no one was going to pay them any money for it. Whatever the case, it became available again.