Macro REGTOX

Présentation

Le modèle utilisé

Equation de Hill

La plateforme Mosaic

Le modèle GENTOX

Algorithme de Marquardt

Méthode Bootstrap

Installation de la macro

Entrée des données

Estimation des paramètres

Paramètres avancés

Feuille de résultats

Questions fréquentes

Références bibliographiques

Présentation

Cette Macro Excel est la version remaniée pour Excel 97 d’un logiciel de calcul des données de toxicité basé sur l’équation de Hill déjà développé pour Excel 5.

Ce logiciel est distribué gratuitement sous licence GPL vous devriez avoir reçu la licence avec la macro et l’avoir acceptée lors du téléchargement. Des projets de logiciels apparentés pour les effets en fonction du temps ou autre sont en projet, toute suggestion sera regardée avec bienveillance. L’auteur est Éric VINDIMIAN que l’on peut contacter à l’adresse mail suivante : Eric.VINDIMIAN@wanadoo.fr

Le logiciel est fourni sous la forme de fichier REGTOX_evy.xls les y correspond au numéro de version. Le fichier contient le code source qui est modifiable.

Les modèles utilisés

Modèles dose réponse monotone

Les modèles utilisés sont écrits sous une forme proposée par Duggleby en 1981 qui permet de s’adapter à tous les cas de mesure d’un paramètres biologique en fonction d’une concentration ou d’une dose. Deux paramètres de cadrage de l’effet sont, P1 l’effet observé pour une concentration nulle et P4 l’effet hypothéqué lorsque la concentration tend vers l’infini. Un effet toxique mesuré en % d’inhibition pourra varier de 0 à 100 alors qu’une activité biologique pourra varier de sa valeur témoin à 0.

La forme générale est la suivante :

où f(x) est une loi de probabilité.

Le modèle de Hill

L’équation de Hill (1910) a été décrite pour modéliser la fixation de l’oxygène sur l’hémoglobine. Elle s’est révélée depuis extrêmement pertinente pour bien d’autres applications, interactions ligand récepteur, cinétique enzymatique Michaélienne ou non, courbe dose réponse ou concentration réponse en toxicologie et écotoxicologie (Vindimian 1983, Garric 1990). Le modèle logistique est souvent présenté sous une formulation différente mais est identique au modèle de Hill. L’équation de f est la suivante :

où nH est la nombre de Hill qui caractérise la pente de la relation dose-réponse au point d’inflexion et EC50 la concentration ou la dose d’effet médian.

Le modèle de Weibull

Il est caractérisé par la loi de probabilité :

P2 et P3 sont notés alpha et beta sans signification particulière

Le modèle Log-Normal

Il s’agit de la loi normale appliquée au logarithme de la dose. La loi normale est la suivante :

Où t est la variable aléatoire étudiée (ici le logarithme de la dose) centrée et réduite par sa moyenne µ et son écart type s.

Comparaison des trois modèles

Le graphe suivant montre les trois modèles optimisés sur le même jeu de données. Ce graphe est également présent sur le fichier contenant la macro. On constate que les modèles sont très proches, voire indiscernables.

La plateforme Mosaic

Le traitement des données en écotoxicologie évolue. Aujourd’hui la plateforme Mosaic fournit des possibilités de calcul en ligne pour les données de survie et de reproduction avec prise en compte du temps dans l’expérience. Regtox construit automatiquement un fichier de données compatible avec Mosaic pour la reproduction. La croissance algale est assimilée à la reproduction. Vous pouvez utiliser ce fichier, qui ne comporte qu’un seul temps de mesure pour vous familiariser avec Mosaic qui se trouve à l’URL : http://pbil.univ-lyon1.fr/software/mosaic/. Les deux graphes suivants montrent la convergence entre Regtox et Mosaic sur les données d’exemple de Regtox.







Le modèle GENTOX

Pour les données de génotoxicité, où, dans certains cas on observe une induction linéaire puis un effet toxique se superposant j’ai utilisé le modèle GENTOX qui suppose une induction linéaire contredite par une équation de Hill. La feuille genotox montre un exemple du calcul qui est alors possible. On obtient un potentiel d’induction qui est la pente de la fonction à l’origine.

L’algorithme utilisé est celui de Marquardt (1963) qui présente le double avantage d’être robuste et rapide, il nécessite des estimations de départ des paramètres et fonctionne de façon itérative. La convergence est d’autant plus rapide que les données sont proches de la courbe de l’équation de Hill.

Les intervalles de confiance sur les paramètres mesurés sont estimés par une simulation de type " Bootstrap " qui est totalement non paramétrique et considérée comme bien adaptée aux modèles non linéaires (Efron 1990). L’estimation initiale des paramètres est automatique et suffit dans de nombreux cas, il est cependant possible de modifier cette estimation et de visualiser avant le calcul sa qualité.

Le résultat est exprimé sous la forme de valeurs des paramètres avec leurs intervalles de confiance à deux seuils de significativité ainsi que 5 valeurs de concentration inhibitrice ou effectrice correspondant à des valeurs choisies par l’expérimentateur. Un graphique est fourni systématiquement. La zone de résultats est regroupée au sein d’une feuille de calcul spécifique qui ne peut être effacée par le programme, une zone d’impression permet d’imprimer rapidement ces résultats. Des indications sur le déroulement des calculs apparaissent dans la partie non imprimée de la feuille pour information.

La figure suivante montre la courbe obtenue qui est intéressante pour toutes les courbes doses réponses non monotones :

Installation

La macro est fournie sous la forme d’un fichier REGTOX_evy.xls qui contient le code de la macro. En l’appelant à partir de la feuille contenant les données on peut démarrer la procédure en utilisant le menu Outils/macro/macros… puis en choisisant REGTOX et en cliquant sur exécuter. L’exemple ci-dessous est donné à partir de la feuille tox fournie avec le classeur REGTOX. Le langage est en Français ou Anglais en fonction du paramétrage par l’utilisateur. On note dans cet exemple l’affichage du premier menu qui permet d’entrer les données, de choisir un modèle et un langage.

Figure 1 : Démarrage de la macro

 

Entrée des données

Les données doivent se présenter sous la forme d’un vecteur de concentrations non redondantes et d’une matrice de valeurs d’effets. Ces vecteurs doivent se présenter en concentrations croissantes, la valeur zéro étant celle du témoin placée en tête, elle n’est pas nécessaire mais on imagine mal un essai de toxicité sans témoin. La forme du vecteur de concentration gouverne celle de la matrice des effets. S’il s’agit d’une colonne, le logiciel attend un tableau d’effets du même nombre de lignes avec les réplicats en lignes. Les nombres de réplicats n’ont pas à être les mêmes pour chaque concentration, il faut cependant les placer au début de la ligne sans vide sur la ligne. Si les concentrations sont en ligne, les effets sont alors placés sur autant de colonnes avec les réplicats en colonnes. L’exemple représenté contient les concentrations dans la ligne 7 (B7 :O7) et les réplicats des effets dans le tableau immédiatement adjacent. Il n’est pas nécessaire de partir d’expérimentations avec réplicats la simulation " Bootstrap " s’effectuant généralement sur les résidus. La limitation est de 300 points avec 100 réplicats, j’ai rarement vu une expérience qui atteigne une telle taille !

La boite d’entrée des données inclut également la possibilité de nommer la feuille de calcul résultante, il est interdit d’utiliser une feuille déjà existante dans le classeur. Par défaut le titre sera RESn, n étant incrémenté à chaque calcul.

Il est possible d’entrer le modèle utilisé avec le choix de deux : Modèle de Hill et Modèle GENTOX

Enfin, c’est à ce stade que l’on choisit la langue utilisée, le choix actuel est entre Anglais et Français, tout volontaire pour traduire le texte dans une autre langue est invité à se faire connaître.

Estimation des paramètres

L’algorithme de Marquardt étant un algorithme de recherche de solution optimale par itérations successives il faut fournir une estimation initiale de paramètres. Cet exercice est parfois difficile aussi le programme propose-t-il une estimation souvent suffisante pour faire converger le calcul. Cette estimation peut être ensuite validée ou bien modifiée par l’utilisateur qui peut également visualiser graphiquement le résultat de son estimation avant de lancer la régression non linéaire. Une boite de dialogue indique les valeurs des estimations des paramètres. Chaque paramètre peut être imposé par l’utilisateur ou bien ajusté par le programme, des cases à options gouvernent ce choix.

Dès que les estimations sont faites on peut effectuer les opérations suivantes :

Optimiser les paramètres par l'algorithme de Marquardt (case optimiser). C'est le véritable lancement du calcul.

Accéder aux paramètres avancés. Avancé…

Relancer une estimation automatique, dans le cas par exemple ou vous l'avez modifiée sans grand succès! Estimation auto.

Visualiser graphiquement le résultat. Ceci vous permet d'affiner votre estimation de façon pratique en visualisant le résultat. Tracer graphe

Chaque paramètre peut être estimé par vous même en entrant sa nouvelle valeur dans la boite idoine. La case à cocher à coté vous permet de demander qu'il soit ajusté par le programme d'optimisation ou bien imposé par vous même. Par exemple dans un essai de toxicité létale on imposera les valeurs O pour le témoin et 100 pour l'effet maximum si l'effet est mesuré en pourcentage de mortalité. (Ce sera respectivement 100 et 0 pour la survie). Dans un essai sur la reproduction on pourra exprimer la toxicité en nombre de jeunes nés, dans ce cas on ajustera les trois premiers paramètres en imposant à l'effet maximum d'être à 0. Il est à noter que le programme vous propose un choix que vous êtres libre de modifier bien entendu.

La case "simulations" permet de paramétrer le nombre de simulations " Bootstrap ", 200 est un minimum pour une bonne précision, le temps de calcul est directement proportionnel à ce nombre qui devra être un compromis entre la durée du calcul et la précision. Le Tableau 1 montre quelques temps de calcul sur des machines des deux dernières générations.

Tableau 1 : Quelques temps de calcul typiques sur des machines actuelles

Type de machine

Nombre de simulations

Feuille de données

Temps de calcul

Intel Pentium II/266, 128Mo

500

Tox (14 points, 3 réplicats)

75s

AMD Athlon 550, 128Mo

500

Tox (14 points, 3 réplicats)

30s

 

Figure 2 : boite d’entrée des paramètres

 

Paramètres avancés

En cliquetant sur ce bouton dans le menu " estimation des paramètres " on accède à des paramètres de personnalisation du logiciel sur la boite de dialogue représentée ci-dessous. Les trois premiers sont d’un usage délicat et ne sont recommandés qu’aux utilisateurs avertis.

Figure 3 boite de dialogue des paramètres avancés

 

Lambda est le paramètre qui précise la part du gradient dans les premières itérations de l’algorithme de Marquardt. Une valeur plus élevée impose un gradient plus fort et donc une convergence plus sûre mais plus lente. Une valeur plus faible tend vers l’utilisation de la méthode de Gauss uniquement. En fait l’algorithme joue automatiquement sur lambda en l’augmentant du facteur Delta Lambda lorsque la méthode de Gauss diverge et en le diminuant du même facteur dans le cas inverse. Il est donc recommandé de ne pas modifier ces paramètres, l’effet sur le résultat du calcul étant négligeable. En revanche une modification hasardeuse peut conduire le programme à de très mauvaises performances.

Le critère de convergence est la valeur de l’ajustement des paramètres qui permet au programme de décider de la fin des itérations. Plus il est faible plus la précision est grande au détriment du temps de calcul. Ce critère est une valeur relative et la convergence n’est obtenue que lorsqu’il est atteint pour chacun des paramètres. Si cette valeur est trop faible on risque d’obtenir des erreurs de dépassement de la capacité des variables d’Excel.

Les paramètres suivants sont d’un emploi plus aisé. Les seuils de confiance permettent de modifier les valeurs des probabilités prises en compte pour les intervalles de confiance. 1 et 5% sont les plus classiques mais toute autre valeur peut être entrée. Il faut cependant préciser que selon le niveau de probabilité le calcul pourra être impossible si le nombre de simulations est trop faible. Par exemple pour 1% il faut que les percentiles 0,5% et 99,5% soient atteints, ce qui n’est possible qu’à partir de 200 simulations. Toute valeur inférieure impose donc une augmentation subséquente du nombre de simulations.

Les pourcentages d’effet calculé peuvent également être ajustés sur chacun des cinq niveaux requis. Cela permet par exemple de calculer des effets très faibles (10–6 par exemple) si l’on souhaite extrapoler à des doses très faibles. Dans ce cas on devient très tributaire de la validité du modèle mais le résultat n’est pas plus bête que dans le cas de l’extrapolation linéaire aux faibles doses utilisée actuellement pour calculer les risques de cancer en toxicologie humaine.

Les noms des paramètres tels qu’ils apparaissent sur les feuilles de résultats peuvent être adaptés au type de problème résolu. Les toxicologues pourront ainsi utiliser des doses alors que les écotoxicologues préfèreront modéliser des courbes concentration-réponse.

La case correspondant au nombre de réplicats simulés est d’un maniement très délicat et d’un intérêt limité. Elle vaut par défaut le nombre de réplicats maximum de l’expérience et il est vivement conseillé de garder ce nombre. Cependant, dans un but par exemple de planification expérimentale on peut souhaiter simuler des expériences dont le nombre de réplicats est inférieur à celui de celle qui est analysée, on obtient alors un jeu d’expériences simulées au sein des données de départ et bien entendu les intervalles de confiance sur les paramètres qui correspondent. Les points dont le nombre de réplicats est inférieur à ce nombre ne sont simulés que sur leur propre nombre de réplicats.

Le type de simulation est un critère très important qu’il est nécessaire de bien comprendre. Il s’agit de simuler des jeux de données comparables à l’expérience réelle en tirant au hasard, avec remise, les points expérimentaux au sein de cette même expérience. On simule ainsi un grand nombre d’expériences possibles équiprobables pour lesquelles on calcule les paramètres de toxicité, la distribution de ceux-ci au sein de ces expériences est une estimation non paramétrique robuste et très puissante des distributions réelles de ces paramètres.

La méthode la plus simple consiste à utiliser les réplicats pour simuler chaque point en tirant des valeurs parmi le jeu de ses propres répliques. La méthode est assez robuste et n’a pour contrainte que de nécessiter un nombre conséquent de réplicats. Beaucoup de protocoles expérimentaux ont été conçus au départ pour calculer des NOEC ou NOEL. L’effort a donc été porté sur le nombre de réplicats au détriment du nombre de concentrations afin d’accroître la capacité de détection d’un effet faible, cela rend valide ce type de simulation dans bien des cas.

La simulation sur les résidus permet de s’affranchir de faibles nombres de réplicats. Dans ce cas on établit une liste de résidus qui représentent la différence entre chaque point expérimental et la courbe qui le modélise. Ces résidus sont ensuite affectés par tirage aléatoire avec remise à chacun des points expérimentaux. On peut ainsi simuler des expériences où aucun point n’a été répliqué.

La simulation sur les résidus pondérés s’inspire de la simulation sur les résidus en tenant compte de l’hétérogénéïté de la variance de chaque point. Une régression linéaire des valeurs absolues des résidus en fonction de la valeur de la variable à expliquer est effectuée. Chaque résidu est alors exprimé comme une proportion du résidu attendu par la régression linéaire. La réaffectation se fait ensuite de la même manière que pour les résidus bruts. On obtient des simulations qui respectent la variance de chaque point, donc très réalistes.

Ces trois manières de simuler donnent des résultats très proches, nous proposons par défaut les résidus pondérés, on peut choisir également une simulation sur résidus bruts ou bien sur les réplicats.

Enfin le type d’affichage est paramétrable, l’affichage simplifié est proposé par défaut, les utilisateurs qui souhaitent générer une feuille contenant les jeux de paramètres et de points de toutes les distributions opteront pour l’affichage complet. Dans ce cas lorsque la taille de l’expérience de départ conduit à dépasser 32000 lignes l’affichage est tronqué, seul un échantillon restreint, correspondant aux premières simulations est généré.

La copie d’écran suivante montre ce qui se passe pendant le calcul. Le compteur situé dans la cellule M1 indique l’avancement de la simulation en %. La " photo " a été prise au début du tri qui suit les simulations de " Monte-Carlo ".

Figure 4 : écran affiché pendant le calcul.

La feuille de résultats

Un exemple d’une telle feuille est donné avec les trois copies d’écran suivante qui correspondent à la même feuille de haut en bas. On rappelle les données utilisées, ce qui permet de valider la saisie en indiquant leur moyenne et écart type. Un graphique tel que représenté sur la occupe la partie centrale et représente les données avec leur écart type, la courbe ajustée et les valeurs des 5 CE demandées. Ce graphique est modifiable afin de s’adapter aux besoins d’édition des résultats.

La fin de la feuille récapitule les valeurs des paramètres et des CE avec leur précision. S’agissant d’une simulation, on obtient des distributions de valeurs qui permettent de calculer les intervalles de confiance. La valeur nominale correspond à la valeur ajustée sur le jeu de données expérimentales complet. La moyenne et la médiane se réfèrent à la distribution, en général la médiane est très proche de la valeur nominale. Enfin les intervalles de confiance sont indiqués en fonction des paramètres avancés demandés.

 

 

La feuille DEF_PAR

Cette feuille sera installée dans votre classeur par la macro automatiquement. Elle permet de modifier certains paramètres, dont les paramètres avancés et la langue en gardant en mémoire cette modification. Il faut cependant être prudent avec sa manipulation et ne pas entrer de valeurs aberrantes ni modifier la structure de la feuille. Seule la colonne B est modifiable. On peut par exemple changer le intitulés de la variable (remplacer Concentration par Dose), des paramètres (CE50 devient CI50 ou Kd), changer les CEx calculées par défaut (5,10,15,20,25 deviennent 5,10,20, 80, 90).

En cas de fausse manœuvre, il faut supprimer cette feuille et relancer la macro, une nouvelle feuille toute neuve avec les valeurs par défaut sera créée.

Lorsque vous changez un paramètre avec la feuille des paramètres avancés ou bien le paramètre langue il vous est proposé de garder votre jeu de paramètre sur la feuille DEF_PAR, une série de feuilles de sauvegarde OLD_PARn s’ouvre alors. Cette option est à utiliser lorsque vous voulez faire une longue série de calculs avec les mêmes paramètres ou bien sauvegarder votre jeu de paramètres. Pour retrouver vos anciennes valeurs vous pouvez copier l’une des feuilles OLD_PARn à la place de DEF_PAR.

Questions résolues et non résolues récemment

La version beta1 comportait une erreur dans l’estimation des paramètres dans le cas des effets croissants (par exemple mortalité). Celle ci est corrigée.

Dans certains cas le nombre d’itérations sans convergence dépasse la taille de l’entier maximal codé par Excel et provoque l’arrêt du programme avec une erreur. Il faut augmenter le critère de convergence dans les paramètres avancés. Celui ci a été diminué par rapport à la version beta1, le problème ne doit donc plus se poser qu’avec des données très dispersées. En revanche les amateurs de précision peuvent diminuer ce critère si leurs données le leur permettent.

La macro précédente posait des problèmes avec des ordinateurs non français, l’appel d’une fonction Excel de reconnaissance de la langue posait des problèmes. La nouvelle version supprime l’appel à cette fonction au détriment de l’automaticité de la détection de langue ce qui en fait est un avantage pour les francophones qui souhaitent écrire des publications en anglais. Il faut cependant faire attention avec le format de nombres, les données doivent bien entendu être des nombres et non les textes qui les représentent.

Certains utilisateurs nous ont signalé des erreurs d’exécution sur Excel avec des ordinateurs 486 ou Pentium de première génération. D’autres n’ont pas eu ces problèmes. Je n’ai moi même pas pu reproduire ces erreurs avec le même jeu de données tant sur un Pentium 200MMX avec32 Mo que sur un Pentium II 266 avec64 Mo puis 128Mo, un Pentium II 400 MHz avec 64Mo et (last but not least) un Athlon 550 MHz avec 128 Mo. Sur ces quatre machines la macro s’est révélée particulièrement stable, bien plus que windows 95 en tout cas.

Il est possible que certains problèmes viennent d’une mémoire trop faible, ou d’une mauvaise configuration d’Excel. Si cela est possible il faut changer d’ordinateur pour vérifier que le problème se pose à nouveau.

Références

Efron B. (1981) Non parametric estimates of standard error : the jacknife, the bootstrap and other methods. Biometrika, 68, 589-599.

Duggleby R.G. (1981) Anal. Biochem. 110, 9

Garric J. Migeon B. & Vindimian E. (1990) Lethal effects of draining on brown trout. A predictive model based on field and laboratory studies. Wat. Res. 24, 59-65.

Hill A.V. (1910) The possible effects of aggregation of the molecules of hemoglobin on its dissociation curves. J. Physiol. (Lond.) 40, IV-VII.

Marquardt D.W. (1963) An algorithm for least squares estimation of non linear parameters. J. Soc. Indus. Appl. Math. 11, 431-441.

Vindimian E. Robaut C. & Fillion G. (1983) A method for cooperative and non cooperative binding studies using non linear regression analysis on a microcomputer. J. Appl. Biochem. 5, 261-268.