Est-il difficile d’utiliser des modèles informatiques de plantes? Demandez à nos étudiants!

Un post invité par Xavier DRAYE, Guillaume LOBET, Brieuc RYELANDT, Antoine RUMMENS, Thomas FERON, Gabriel CARESTIA, Timothée, François DUQUESNE, Nicolas DEFFENSE et Fabio CLAPS

Le contexte

Depuis des années, une petite partie de la communauté des chercheurs en biologie végétale développe et utilise des modèles végétaux. Ne vous trompez pas: en parlant de modèles végétaux, nous ne faisons pas référence à une plante modèle (Arabidopsis, maïs ou Brachypodium, selon ce que vous préférez), mais à des modèles informatiques de plantes. Des plantes virtuelles. Des plantes ne provenant pas d’ATCG, mais de 0 et 1.

Ces modèles végétaux ont été utilisés pour décrire la formation, la croissance et le développement d’organes végétaux (par exemple, les racines, les tiges, les fruits ou les feuilles), mais aussi comment ces organes influencent et sont influencés par leur environnement. Ces modèles végétaux s’appliquent sur plusieures échelles, de l’organe au champs, ce qui les rend extrêmement versatils et leur potentiel d’application très étendu.

Cependant, la communauté des chercheurs en biologie végétale dans son ensemble n’utilise pas beaucoup les modèles végétaux. Pourquoi?

L’une des raisons pourrait être que les modèles végétaux peuvent être effrayants (bien que nous n’ayons pas de données solides pour confirmer cette affirmation). En effet, dès que vous parlez à un modélisateur de plantes, vous pourriez être confronté à une liste effrayante d’oeufs Python, de bibliothèques C++ et d’autres dépendances Java. Il n’y a pas de meilleure façon de faire fuire un novice en informatique. Mais est-ce vraiment si difficile d’utiliser des modèles végétaux?

Les acteurs

Notre histoire s’est déroulée pendant le premier semestre (Sept-Dec) de l’année académique 2017-2018, à l’Université catholique de Louvain (Belgique), à la Faculté des bioingénieurs. Les acteurs étaient huit étudiants de master (Brieuc, Antoine, Thomas, Thomas, Gabriel, Timothée, François, Nicolas et Fabio) suivant le cours « Modélisation des Systèmes biologiques” donnée par Xavier et Guillaume. Les étudiants n’avaient pas une solide formation en programmation ou en informatique. Ils n’ont suivi que deux cours d’introduction à l’environnement de programmation MatLab.

La structure du cours était la suivante: il a commencé par une brève introduction générale à la biologie des systèmes, puis les étudiants ont été invités à former 3 groupes pour le reste du semestre. Pendant le reste des conférences (environ 20h), chaque groupe a eu la tâche suivante:

  • choisir un modèle biologique existant et publié;
  • apprendre la théorie biologique sur laquelle le modèle a été construit;
  • apprendre comment installer et exécuter le modèle et;
  • répondre à une question simple en utilisant le modèle.

En plus de ces tâches, chaque groupe devait également:

  • Utilisez Github pour stocker leurs codes et collaborer entre eux
  • Utiliser Twitter pour communiquer sur les modèles biologiques

OpenSimRoot

OpenSimRoot est un modèle racinaire structure-function qui est combiné avec un modèle de sol pour simuler l’absorption d’eau et de nutriments. Il permet la mise en œuvre de mini-modèles. Notre expérience avec ce modèle a d’abord été difficile, car nous avions besoin de comprendre comment exécuter une simulation, comment inclure les mini-modèles, qu’est ce que nous pouvions facilement changer dans les paramètres. Mais avec quelques heures de tests, nous avons pu réaliser des simulations de base, avec des apports d’azote contrastés.

Plus de résultats sont disponibles sur la page wiki du groupe: https://github.com/LBRAI2219/working-with-models-team-vin-chaud/wiki

La page Twitter du groupe était: @biomodelisation

Exemple de sorties obtenues avec OpenSimRoot
Figure 1: Exemple de sorties obtenues avec OpenSimRoot

RootBox

RootBox est un modèle codé en Matlab. Il est conçu pour créer facilement des géométries ramifiées dépendantes du temps et ainsi simuler des systèmes racinaires en croissance. Ce fut un réel plaisir de travailler sur un modèle comme celui-ci. Le code entier était disponible gratuitement, et les créateurs ont pris le temps de répondre à nos questions. Une interface utilisateur graphique nous a permis de faire nos premiers pas avec le modèle. Les commentaires dans le code nous ont aidés à entrer plus profondément dans le programme.

En tant que futurs agronomes, nous sommes très intéressés par les parasites végétaux. Ce projet nous a permis de comprendre comment certaines résistances aux agents pathogènes pouvaient fonctionner. Nous avons pu utiliser Rootbox pour modéliser un système racinaire de betteraves tolérant les nématodes et utiliser le modèle comme preuve de concept pour expliquer cette résistance.

Exemple de sorties obtenues avec RootBox.
Figure 2: Exemple de sorties obtenues avec RootBox. A. Carte de densité de la longueur des racines pour toutes les racines. B. Carte de densité de la longueur des racines pour les racines de moins de 3 jours.

Plus de résultats sont disponibles sur la page wiki du groupe: https://github.com/LBRAI2219/working-with-models-agro-team

La page Twitter du groupe était: @BioModelling

L-Py

L-Py est un modèle basé sur le L-System (langage de réécriture, bien adapté aux structures fractales) et codé en Python.

Notre but était d’utiliser le L-Py pour simuler l’interception de la lumière d’une plante de houblon et d’obtenir plus d’informations sur l’importance fonctionnelle de certaines caractéristiques de la tige. Notre première tâche était d’apprendre le langage L-System. Une fois que nous avons eu une idée dont la façon dont le logiciel fonctionnait, il était assez facile de créer un modèle de base. L’étape suivante de notre projet consistait à simuler une plante de houblon. Nous avons donc été confrontés aux difficultés de représenter la physiologie complexe d’une plante avec des règles de programmation simples. Enfin, l’idée était d’intégrer notre plante dans un module de simulation de la lumière, afin d’évaluer l’effet de la lumière sur la plante de houblon.

Exemple de sorties obtenues avec LPy.
Figure 3: Exemple de sorties obtenues avec LPy. Gauche: Sortie visuelle de la plante de houblon simulée. A droite: Interface de codage LPy…

Plus de résultats sont disponibles sur la page wiki du groupe: https://github.com/LBRAI2219/working-with-models-envi-team

La page Twitter du groupe était: @BioModeling

Quelques obstacles sur la route…

Les trois groupes ont réussi à utiliser avec succès le modèle de leur choix et à faire quelques simulations de base. Cependant, tout n’était pas facile. Au cours du projet, les différents groupes ont dû faire face à différents défis. Nous pouvons les résumer en trois grandes catégories: installer le modèle, utiliser le modèle et paramétrer le modèle.

Installation et fonctionnement du modèle

La première étape, et la première occasion de se gratter la tête, est l’installation du modèle sur son propre ordinateur. Chaque modèle, quelle que soit sa complexité, possède son propre langage de programmation et son environnement d’exécution. Alors qu’une bonne partie des biologistes végétaux se débrouille en R ou Python (deux langages de programmation populaires en science), les choses peuvent rapidement devenir compliquées quand il s’agit de Java (quelle version encore?), C++ (quel compilateur dois-je utiliser?) ou Matlab (… je n’ai pas de licence!). Vient ensuite le chargement des bibliothèques, le réglage de l’environnement d’exécution, le chargement de plusieurs bibliothèques et les incompatibilités de versions. Et, soyons honnêtes, la documentation pour ces types de problèmes est généralement insuffisante et souvent confuse.

Comprendre le modèle

Une fois que vous avez passé la première étape et que le modèle est lancé, vient le moment où vous devez le comprendre… Quelle variable, dans quel fichier devrions-nous changer? Comment dois-je formater mon fichier de paramètres? Où sont les résultats et comment y accéder? Comment puis-je exécuter le modèle en mode batch pour faire des milliers de simulations? Pour ce qui est de l’installation, les guides d’utilisation des modèles sont souvent trop légers et ne permettent pas aux utilisateurs d’explorer pleinement leurs capacités.

Cela dit, pour les trois projets, nous avons communiqué avec les auteurs des modèles et tous ont été très utiles.

Paramétrer le modèle

Enfin, une fois que vous avez installé le modèle et que vous savez comment l’utiliser, il est temps de se poser une question biologique. Et avec cette question vient le besoin de données expérimentales solides. Bien que la littérature regorge de données et de chiffres qualitatifs, les données quantitatives brutes, nécessaires à la modélisation, sont, la plupart du temps, absentes. Il ne suffit pas de savoir que les nématodes se déplacent dans le sol à mesure que la saison avance. Pour utiliser une telles informations dans le modèle, nous devons savoir quand cette migration commence, où et à quelle vitesse. Nous avons besoin de chiffres pour alimenter les simulations. Et ces chiffres sont souvent absents.

Ce que nous avons appris

La principale chose que nous avons apprise est probablement que la modélisation n’est pas aussi difficile qu’il n’ y paraît. Bien que nous ayons rencontré quelques difficultés en cours de route, chaque groupe a réussi à faire des simulations de base et à répondre à certaines questions biologiques simples. Et tout cela sans avoir un solide bagage informatique, tout au plus un goût pour les ordinateurs.

Nous avons également appris que la plupart des difficultés rencontrées pourraient être résolues (au moins partiellement) en communiquant avec les concepteurs de modèles eux-mêmes. Ils étaient tous heureux de répondre à nos questions.

Enfin, une fois que nous avons franchi la courbe d’apprentissage initiale, nous avons appris que la modélisation des plantes peut être amusante.