TL;DR

Les variants du Covid-19 sont aujourd’hui la plus grande préoccupation des nations qui ont entamé une course contre la montre opposant notamment les campagnes de vaccination et le variant anglais. Si notre pays semble pour l’instant épargné par ce dernier dont la transmission serait largement supérieure à la version “classique”, les frontières se sont fermées ces derniers jours par mesure de précaution. Cela montre bien que le sujet de la mutation du coronavirus est un vecteur de risque capable de faire jeu égal avec les vaccins.

Mais ce variant est-il le pire que nous aurions pu avoir ? Quel impact sur la population auraient les variants s’ils venaient à se propager ?

A travers quelques jeux de simulation, nous allons tenter de répondre à ces questions.

Point de situation sur les variants aujourd’hui

On considère aujourd’hui qu’un virus comme le Covid-19 devrait présenter environ 25 variants par an en situation nominale [1]. Les mutations étant par essence aléatoires, elles donnent le plus souvent lieu à des versions du virus qui seront moins compétitives voire contre-productives dans la bataille de la sélection naturelle. Bien que le virus ait un taux de mutation plusieurs fois inférieur à la grippe [2], le nombre de personnes infectées (115 millions au 1er mars) démultiplie le risque de mutation et expose l’humanité au scénario d’une pandémie bis.

On désigne par variant une version inquiétante du virus, dite “VoC ou variant of concern”. Ce sont ces versions qu’il faut surveiller car elles ont acquis un avantage compétitif qui leur permet de mieux se reproduire et se propager dans la population, voire potentiellement d’échapper au vaccin.

Voici quelques variants of concern à aujourd’hui :

  • [3] Le variant 20I/501Y.V1, dit variant anglais présente 17 mutations pertinentes, une transmissibilité accrue de 60 à 80% et une virulence accrue de 70% mesurée par le taux d’hospitalisation. En termes de résistance aux vaccins développés, il n’y a à priori pas de signe inquiétant à ce stade.

Ce variant a rapidement pu submerger la version classique notamment au Royaume-uni comme présenté dans le graphe ci-dessous https://nextstrain.org/ncov/global en orange.

Guerre des variants

  • [4] Le variant 20H/501Y.V2, dit variant sud-africain. Moins étudié, il présenterait 14 mutations dont une qui le rendrait également plus transmissible que la version classique. La plus grande crainte ici concerne sa potentielle capacité à échapper aux vaccins développés, notamment les vaccins classiques moins agiles qui ne se basent pas sur le mRNA.
  • [5] Le variant 20J/501Y.V3, dit variant brésilien. Constitué de plusieurs sous-variants dont certains ont pu réinfecter des personnes qu’on pensait immunisées, il présente également 17 mutations et serait jusqu’à 2 fois plus transmissible. Avec de surcroît une capacité importante à résister à l’immunité donnée par les vaccins.

On parle aussi des variants japonais [6] similaire au brésilien, New-Yorkais [7], danois [8] ou encore breton [9] (qui échappe aux tests PCR nasopharyngés). Tous ces variants sont les versions “abouties” dans un pool de mutations aléatoire et fréquentes.

Il est possible de voir la carte généalogique de tous les variants ici https://nextstrain.org/ncov/global Le Maroc est un des pays où il semble y avoir le moins de variants au monde, peut-être du fait de la fermeture précoce de nos frontières. Mais testons-nous les variants aussi bien que les autres pays ? Probablement pas. L’Australie et les Etats-Unis sont quant à eux des pools importants de diversité génétique.

La mutation aléatoire est la brique de base du variant

Plus le virus se reproduit et plus il a de chance de muter. Et lorsqu’il mute, il acquiert de nouvelles caractéristiques que nous allons modéliser en reprenant le code publié en juillet 2020 Macro-économie pandémique

Le virus peut devenir :

  • Plus mortel : d’un point de vue purement individuel, il s’agit d’un paramètre que nous voulons minimiser, mais un virus qui tue plus et plus vite est un virus qui inactive son hôte et le rend incapable d’être le vecteur de nouvelles infections
  • Plus handicapant : c’est-à-dire qu’il y aura plus de chance que le porteur soit hospitalisé, donc moins capable de transmettre sa charge virale
  • Moins symptomatique : moins visible, c’est moins de détection et donc moins d’isolation pour les porteurs qui iront exposer leurs proches sans prendre de précaution
  • Plus contagieux : c’est un paramètre qui joue clairement en faveur de la propagation du virus
  • Moins immunisant : c’est-à-dire qui échappe à l’immunité donnée par un vaccin

L’optimisation de certains de ces paramètres est une évidence pour un virus. Car il doit échapper le plus possible à l’immunité, doit être le plus contagieux possible et être le moins visible afin de se propager en toute discrétion rapidement

Mais pour la mortalité et la capacité à être handicapant, il existe un trade-off pour qu’un virus fasse le plus de dégâts dans le cadre d’une pandémie.

L’objectif dans nos simulations sera de comprendre comment évolue une pandémie et son impact en terme de mortalité si nous faisons varier ces paramètres.

Description de la situation épidémiologique

Considérons la situation suivante que vous retrouverez dans le code suivant github.com/AshtonIzmev/covid-19-pandemic-simulation :

  • Nous avons une population de 35000 individus répartis par âge (selon la pyramide des âge marocaine) dans des foyers familiaux
  • Rapporté à cette taille de population, un pays comme le nôtre dispose de 3 lits de soins intensifs

On associe à chaque individu des probabilités de :

D’autres paramètres pris en compte ne sont pas exposés ici afin de rester synthétiques. Comme par exemple la surcharge hospitalière qui décuple la mortalité dans notre modèle. Vous pouvez trouver ces paramètres dans les anciens articles : Scénarios de confinement et Simulation de pandémie.

Introduisons les nouveautés suivantes :

  1. Un individu dont les symptômes dépassent un certain seuil se place en auto-isolation pendant 15 jours. Période durant laquelle il ne peut contaminer personne
  2. Une campagne de vaccination par âge décroissant au rythme de 0,4% de la population par jour (rythme moyen marocain observé) dure 100 jours avant pénurie de vaccins
  3. Les variants du Covid-19 peuvent affecter la mortalité, la virulence, la contagiosité et l’immunité des individus de ±75%

Plus spécifiquement, étant donné une variable ou facteur qui contrôle le niveau de mutation, considérons que :

  • La mortalité d’un variant multiplie la probabilité du décès par un facteur et divise le temps d’incubation par ce même facteur
  • La virulence d’un variant multiplie le risque d’hospitalisation et l’importance des symptômes par un même facteur
  • La contagiosité d’un variant multiplie la probabilité de transmission du virus par un même facteur quel que soit le lieu d’infection
  • La résistance à l’immunité d’un variant divise la période d’immunisation par son facteur

Plaçons nous enfin dans une situation de confinement relaché :

  • Une personne active (selon les tables du HCP) sur deux travaille sur site et est donc soumise à la contamination dans les transports publics ou l’espace professionnel
  • La campagne de vaccination permet de développer l’immunité des individus et commence le 1er jour de la simulation

Quel impact la campagne de vaccination a-t-elle sur la pandémie ?

Scénario sans vaccination : Sans vaccination

Scénario avec vaccination (rythme similaire à celui du Maroc) Avec vaccination

On constate que la mortalité totale, la charge maximale des hôpitaux et le pic de nouvelles contaminations sont divisées par 3 (les décès passent de 815 à 294). Il n’y a ici rien de surprenant, la part verte des immunisés adopte un profil plus conquérant dès le début ce qui fait que la part des infectés en rouge est fortement diminuée.

Le code à exécuter pour reproduire ces simulations :

python -m scenario.run --nrun 16 --nday 360 --nind 35000 --scenario 9 --nvar 1 --extra 0 --ncpu 3 --draw sum
python -m scenario.run --nrun 16 --nday 360 --nind 35000 --scenario 9 --nvar 1 --extra -1 --ncpu 3 --draw sum

Un virus a-t-il intérêt à être plus handicapant pour faire le plus de dégats ?

Nous allons désormais nous concentrer sur le scénario de vaccination marocain et générer des variants du Covid-19 en faisant varier la capacité à handicaper et l’apparition de symptômes de -75% à +75% par incréments de 5%. Chaque variant sera simulé 18 fois afin d’obtenir des moyennes représentatives avec des barres d’erreur standard.

Nous cherchons un sweet spot, c’est-à-dire une mutation qui a un impact maximal en terme de mortalité. Le virus ne peut pas être trop handicapant car il serait contreproductif pour sa reproduction.

Variant handicapant

Il est intéressant de voir qu’avec notre jeu de paramètres, un virus qui hospitalise plus est beaucoup plus mortel globalement même s’il est plus visible. Bien que plus de personnes s’isolent, la surmortalité engendrée par la surcharge des hôpitaux ne compense pas cet effet d’isolation. Avec une politique d’auto-isolation plus stricte, nous aurions probablement eu un trend moins haussier.

Par contre, dans une situation où il n’y a pas de surmortalité liée à la surcharge hospitalière (nous avons pris ici 10 lits de soin intensif pour 1000 habitants contre 0.85 lits pour 1000 habitants en temps normal au Maroc dans la simulation d’avant) :

Variant handicapant

Un léger trend négatif peut être constaté en faisant augmenter la virulence du virus de -75% (paramètre 0.25) jusqu’à +75% (paramètre 1.71). Un virus qui produit plus de symptômes et envoie ses hôtes à l’hôpital devient contre-productif lorsque le système hospitalier peut tenir le coup.

Le code à exécuter pour reproduire ces simulations :

python -m scenario.run --nrun 18 --nday 360 --nind 35000 --scenario 10 --nvar 30 --extra -1 H False --ncpu 3 --draw metasimu
python -m scenario.run --nrun 18 --nday 360 --nind 35000 --nbeds-icu 10  --scenario 10 --nvar 30 --extra -1 H False --ncpu 3 --draw metasimu

Un virus a-t-il intérêt à être plus mortel pour faire le plus de dégâts ?

Avec le même rythme de vaccination, analysons les conséquences d’un virus plus mortel, c’est-à-dire avec une probabilité de décès plus grande et une durée d’incubation du virus plus courte. Le virus attaque plus et plus vite le corps humain.

Comment évolue la mortalité globale en faisant augmenter cette virulence ?

Variant mortel

Un pic clair est atteint au niveau du variant ayant le paramètre 0.9. Nous cherchions une cloche et c’est tout naturellement qu’elle apparaît. Un virus plus mortel ne laisse pas le temps à ses hôtes de transmettre la charge virale, et inversement un virus bénin devient comme un rhume, une victoire d’un point de vue de l’évolution car il accompagnera l’humanité pour longtemps sans trop attirer l’attention. La mortalité maximum est naturellement entre les deux.

Le code à exécuter pour reproduire ces simulations :

python -m scenario.run --nrun 18 --nday 360 --nind 35000 --scenario 10 --nvar 30 --extra -1 M False --ncpu 3 --draw metasimu

A coût génétique constant, quelle est la meilleure stratégie de mutation ?

Considérons à présent qu’un variant ne peut devenir plus mortel qu’en sacrifiant sa capacité à produire des symptômes, et inversement. En gros, rien n’est génétiquement gratuit et toute mutation favorable dans un sens est improductive dans l’autre.

Dans l’axe des x décroissant, on commence avec un variant très peu mortel et très handicapant. On fait ensuite augmenter les paramètres de mortalité en diminuant les symptômes.

Variant équilibriste

Le maximum de mortalité est ici atteint par la variant 0.4 qui est donc globalement assez peu mortel mais plutôt handicapant en termes d’hospitalisations. C’est l’équilibre optimal que chercherait un potentiel chercheur en virologie malintentionné.

Le code à exécuter pour reproduire ces simulations :

python -m scenario.run --nrun 18 --nday 360 --nind 35000 --scenario 10 --nvar 30 --extra -1 MH False --ncpu 3 --draw metasimu

A partir de quel niveau de résistance à l’immunité la mortalité due au virus explose-t-elle ?

Si on rallonge la durée de nos simulations à 720 jours, nous pouvons étudier l’effet d’un variant qui réduit ou augmente la durée d’immunité naturelle. Le variant avec paramètre 1 correspond à celui qui octroie en moyenne 360 jours d’immunité avec une variance de +/- 25%.

Faisons évoluer ce variant en allant d’une longue immunité (paramètre 0.25) à une courte immunité (paramètre 1.75)

Variant immunisé

La conclusion est plutôt claire. Une explosion de la mortalité se fait à partir du variant 0.4 jusqu’au variant 1.2. Le nombre de décès total dépasse de loin toutes les simulations précédentes.

Si on compare les variants qui échappent à l’immunité par rapport à des variants plus contagieux dont nous analysons ci-dessous la mortalité toujours selon le même procédé :

Variant immunisé

Le variant plus contagieux de paramètre 2 (ie deux fois plus contagieux) n’atteint même pas la mortalité du variant immunisant de paramètre 0.35 (ie dont la période d’immunité est divisée par 0.35 ou multipliée par 3) soit 400 décès.

Le code à exécuter pour reproduire ces simulations :

python -m scenario.run --nrun 18 --nday 720 --nind 35000 --scenario 10 --nvar 30 --extra -1 I False --ncpu 3 --draw metasimu
python -m scenario.run --nrun 18 --nday 360 --nind 35000 --scenario 10 --nvar 30 --extra -1 C False  --ncpu 3 --draw metasimu

Voici enfin l’impact de tous les variants sur un seul graphe. Comme attendu, le variant résistant à l’immunité est le grand gagnant. Variants ensemble

Conclusion

Cette modeste simulation sur les variants du Covid-19 a tenté de modéliser les différentes caractéristiques de ces souches en termes de mortalité. Un virus “optimal” est un virus qui prospère sans être indolore pour la société. Le virus du rhume a maximisé la contagiosité et les symptômes tandis qu’un virus comme Ebola a maximisé la mortalité mais avec une contagiosité très faible (non aérienne, uniquement contact direct de fluides corporels). Les virus de la grippe ou du VIH ont quant à eux choisi une résistance forte à l’immunité à travers un taux de mutation important.

La particularité du Covid-19 est d’être particulièrement bien optimisé en termes de fréquence des asymptomatiques, de capacité à contaminer et de mortalité sur certaines catégories d’âge. Et comme les simulations et l’existence du variant anglais le montrent, cette “optimalité” pourrait s’améliorer s’il mutait encore plus, notamment en direction d’une immunité plus faible et plus courte.

En espérant que les vaccins éteignent l’incendie avant qu’on ne lui offre un terreau fertile pour le faire … https://news.harvard.edu/gazette/story/2021/02/vaccines-should-end-the-pandemic-despite-the-variants-say-experts/

Si vous avez d’autres idées de mutation à tester, des propositions de scénarios ou une autre manière de gérer le coût d’une mutation génétique, je suis ouvert à la discussion :)

Réserves méthodologiques

Toutes les conclusions présentées ici dépendent fortement du modèle de propagation et des paramètres de départ. J’ai essayé de faire en sorte de partir toujours des caractéristiques de la souche originelle du Covid-19 (variant de paramètre 1) mais l’implémentation des caractéristiques des mutations reste plutôt arbitraire bien que logique.

J’ai recherché des trends réalistes sans aucun fine tuning mais la modélisation mériterait plus d’individus et un découpage par agglomérations ou régions. Chaque simulation prenant plus de 2h sur une grosse machine, ce sujet reste techniquement difficile mais ouvert.

Liens