# GNU MCSim

GNU MCSim est un logiciel libre de simulation mathématique. Il permet d’implémenter et résoudre des modèles différentiels ou algébriques, d’effectuer pour ces modèles des calculs statistiques d’incertitude ou de sensibilité par la méthode de Monte-Carlo ainsi que des calculs d’inférence bayésienne par le biais de la méthode des chaînes de Markov simulées. Les dernières versions offrent la possibilité de faire de l'intégration thermodynamique et la parallélisation sur plusieurs processeurs.

## Description

GNU MCSim est un outil de simulation et d’inférence statistique (par méthodes Monte-Carlo) pour des systèmes d’équations algébriques ou différentiels. Le logiciel inclut un générateur de modèle et un moteur de simulation :
* Le générateur de modèle facilite la définition et la maintenance d’un modèle structurel, tout en minimisant le temps de calcul. Le modèle doit d’abord être codé à l’aide d’une grammaire simple, en format ASCII, et le générateur est ensuite utilisé pour le traduire ensuite en langage C. À partir de la version 5.3.0, le modèle initial peut aussi être codé en SBML.
* Le moteur de simulation est un ensemble de routines qui doivent être compilées et liées au code C du modèle afin de produire un fichier exécutable, spécifique du modèle défini. Il est alors possible de lancer des simulations du modèle structural pour un ensemble de conditions et différentes tâches.
Le logiciel fait appel, pour certains calculs, à la bibliothèque scientifique GNU.

## Historique

Le développement de GNU MCSim a débuté en 1991 à Berkeley quand Don Maszle et Frédéric Yves Bois traduisirent en C et réorganisèrent un logiciel que Bois avait développé à Harvard pour les besoins de sa thèse de doctorat. La motivation première de ce travail était de permettre de développer et maintenir facilement des modèles PBPK (en). Cependant, la syntaxe fut définie de façon suffisamment générale pour permettre la résolution numérique d’un large ensemble de systèmes algébriques et différentiels. La possibilité de réaliser des simulations Monte-Carlo fut ajoutée dès le départ, pour les besoins de recherche scientifique de l’équipe. Le code fut distribué librement à partir d’un serveur de l’université. À la suite de discussions avec Stuart Beal à l’école de pharmacie de UCSF, il fut décidé d’étudier la calibration bayésienne de modèles PBPK par chaînes de Markov simulées. Le code correspondant fut développé par Maszle, au cours d’une collaboration avec Andrew Gelman, alors professeur au département de statistique de UC Berkeley. Un développement supplémentaire par Ken Revzan permit la définition et la calibration bayésienne de modèles statistiques hiérarchiques (multi-niveaux). À l’époque de ces développements (vers 1996) ces possibilités étaient uniques pour un logiciel libre, facilement accessible, efficace et polyvalent. Depuis, le logiciel a été régulièrement maintenu et étendu.

### Versions distribuées

| Version | Date |
| 6.2.0 | 3 juin 2020 |
| 6.1.0 | 19 février 2019 |
| 6.0.1 | 5 mai 2018 |
| 6.0.0 | 24 février 2018 |
| 5.6.6 | 21 janvier 2017 |
| 5.6.5 | 27 février 2016 |
| 5.6.4 | 30 janvier 2016 |
| 5.6.3 | 1er janvier 2016 |
| 5.6.2 | 24 décembre 2015 |
| 5.6.1 | 21 décembre 2015 |
| 5.6.0 | 16 décembre 2015 |
| 5.5.0 | 17 mars 2013 |
| 5.4.0 | 18 janvier 2011 |
| 5.3.1 | 3 mars 2009 |
| 5.3.0 | 12 janvier 2009 |
| 5.2 bêta | 29 janvier 2008 |
| 5.1 bêta | 18 septembre 2006 |
| 5.0.0 | 4 janvier 2005 |
| 4.2.0 | 15 octobre 2001 |
| 4.1.0 | 1er août 1997 |
| 4.0.0 | 24 mars 1997 |
| 3.6.0 | |
| 3.3.2 | |

## Licence

GNU MCSim est un logiciel libre ; Il est possible de le redistribuer et/ou de le modifier aux conditions de la licence publique générale GNU, publiée par la Free Software Foundation, soit sous sa version 3, ou au choix de la personne, sous n’importe quelle version ultérieure.

## Disponibilité

Le code source (en C) est libre et peut être compilé sur n’importe quelle machine disposant d’un compilateur C. Il est recommandé, mais non indispensable, d’installer préalablement la librairie scientifique GNU et la librairie libSBML (en).