Ronald: A Domain-Specific Language to study the interactions between malaria infections and drug treatments


Ronald Ross

Malaria kills more than 1 million people a year, mostly children in sub-Saharan Africa. Antimalarial drug resistance is one of the greatest challenges facing malaria control today. Ronald is a Domain-Specific Language to model the fundamental forces driving antimalarial drug resistance including drug pharmacokinetics and pharmacodynamics, drug regimens and parasite genotypes. Example of applications of this language include the study of the consequences of counterfeit or lower quality drugs, the impact of drug half life on the emerging and spread of resistance and the benefits and drawbacks of combination therapies, among others.

Prototype implementation

A prototype implementation, which runs on JVM was implemented in the programming language Scala. It is available for download.
This prototype implements already many functions, and can be used to answer some research questions: Interested in seeing how a Ronald program looks? Here is an example. The final version (see below) will be along the same lines with a few improvements (especially on inputing pharmacodynamics formulas)

Production version

We are developing a final production version in Groovy, the code is made available here. Please note that for now this is a "moving target", not usable for production purposes. If you want to use it, we recommend the Scala version for now. In the future the Groovy version will be released in a stable package.
Questions? Don't hesitate to contact us.