1 Introduction

La cirrhose du foie est une maladie très fréquente à travers le monde ; en France, 700 000 cas étaient répertoriés en 2012. Les principales causes connues de cette maladie sont l’obésité, les infections virales (hépatites) et l’alcool. Selon la gravité de la cirrhose, celle-ci peut conduire à un cancer, voire à un arrêt du fonctionnement du foie, ce qui nécessite une transplantation. Les signes et symptômes de la cirrhose ou de ses complications sont nombreux et variés. Nombre d’entre eux ne sont pas spécifiques et peuvent se produire en l’absence de cirrhose. Réciproquement, leur absence ne permet pas d’exclure définitivement le diagnostic. Pendant une période plus ou moins longue, dite non compliquée, seul un examen clinique ou biologique peut mettre en évidence la maladie. Aujourd’hui, le diagnostic de la maladie se fait essentiellement à l’aide d’une biopsie du foie qui représente certaines contraintes (hospitalisation, méthode invasive parfois contre-indiquée).

Une étude a été menée pour chercher à caractériser les populations bactériennes de l’intestin chez les patients ayant une cirrhose du foie (Qin et al. ”Alterations of the human gut microbiome in liver cirrhosis.” Nature, 2014). Pour cela, le microbiote (ensemble des gènes bactériens de l’intestin) de 237 individus a été analysé. La moitié (123 individus) étaient atteints d’une cirrhose du foie et l’autre (114 individus) étaient sains. La méthodologie suivie pour obtenir les données a été la suivante :

  1. Un échantillon du microbiote intestinal a été prévelé chez chaque individu.
  2. L’ADN contenu dans l’échantillon (principalement l’ADN des bactéries présentes dans cet écosystème) est extrait puis séquencé. Des milions de petites séquences (appelées lectures) sont produites par les séquenceurs à haut débit.
  3. Ces lectures sont comparées à un catalogue de référence de 5.4 millions de gènes, lui-même clusterisé en 523 espèces bactériennes.
  4. La quantité de chaque gène est dénombrée et ces comptages sont divisés par la taille des gènes.
  5. Le comptage des gènes de cette matrice d’abondance est regroupé par espèce.

2 Les données

La matrice d’abondance est contenue dans le fichier microbiota.abundance.log.RDS, les métadonnées associées à ce jeu de données sont dans le fichier metadata.RDS. Les deux fichiers sont disponibles sous le cluster de l’IFB dans le répertoire : ../../projects/du_bii_2019/data/module3/seance2/.

Le fichier microbiota.abundance.RDS contient l’abondance (transformée en log) des 523 espèces bactériennes (colonnes) pour les 237 individus (lignes).

Le fichier metadata.RDS contient les informations suivantes :

  • Age : l’âge des patients
  • Gender : le genre des patients
  • BMI (body mass index) : l’indice de masse corporelle, exprimé en kg/m\(^2\)
  • status : statut clinique du patient, sain (healthy) ou malade (liver)
  • INR (international normalized ratio) : mesure dérivée du taux de prothrombine utilisée pour évaluer la coagulation sanguine
  • Crea : taux de créatinine mesurée dans le sang (indication de la capacité de filtration rénale)
  • Alb : taux d’albumine mesurée dans le sang
  • TB : taux de bilirubine (pigment jaune produit par la dégradation de l’hémoglobine)
  • PT : taux de prothrombine
  • CTP (Child-Turcotte-Pugh score) : score qui permet la classification en groupes de gravité croissante selon le degré d’insuffisance hépato-cellulaire
  • MELD (Model for End-Stage Liver Disease) : système de notation pour évaluer la gravité d’une cirrhose du foie
  • GC (gene count) : Nombre de gènes différents dénombrés
  • Enterotype : Un entérotype est un groupe de composition bactérienne intestinale spécifique chez l’homme. Il en existe trois types bien distincts liés au régime alimentaire :
    • le type 1 est caractérisé par de hauts niveaux de bacteroides, c’est celui du régime occidental riche en viandes;
    • le type 2 a peu de bacteroides mais beaucoup de prevotella, il est lié aux régimes riches en glucides;
    • le type 3 a un haut niveau de ruminococcus (régime riche en graisses polyinsaturées).

3 Lancement de Rstudio

  1. Connectez vous à l’interface Rstudio de la plateforme IFB en utilisant l’adresse suivante : lien

  2. Ouvrez un nouveau fichier R script en utilisant le menu File.

4 Description des données

  1. Ouvrez les deux fichiers de données en utilisant la fonction readRDS(). Vérifiez que les objects créés ont les bonnes dimensions.

  2. Quels types de variables contient le fichier metadata.RDS (fonction str()).

  3. Déterminez le nombre et la proportion de patients sains et malades dans le jeu de données. Représentez ces distributions à l’aide de graphiques en bâtons (fonctions table() et barplot()).

  4. Déterminez le nombre et la proportion d’hommes et de femmes dans le jeu de données. Représentez ces distributions à l’aide de graphiques en bâtons (fonctions table() et barplot()).

  5. En utilisant la fonction summary(), étudiez la distribution des différentes variables. Que remarquez vous pour les variables INR, Crea, Alb, TB, PT, CTP, MELD et Enterotype.

  6. Identifiez les individus qui ont des NA pour la variable Crea (fonctions which() et is.na()). Quel est le statut clinique de ces patients ? Quel est le genre de ces individus ? Est-ce que ces individus ont des NA pour les autres variables ?

  7. Suppimez ces individus des deux objets qui contiennent les deux jeux de données.

  8. Déterminez la moyenne et l’écart-type de chaque variable quantitative (fonctions apply(), mean() et sd()).

5 Comparaison des patients malades et sains

5.1 Mise en place de tests de comparaison de deux moyennes

On cherche à savoir si les patients et les individus contrôles présentent des caractéristiques différentes. Pour cela, on se pose les questions suivantes ?

  • Est-ce que l’âge des patients est significativement différent de celui des contrôles sains ?
  • Est-ce que l’indice de masse corporel des patients est significativement différent de celui des contrôles sains ?
  • Le taux de créatinine des patients est-il significativement différent de celui des contrôles sains ?
  • Le nombre de gènes différentiellement exprimés chez les patients est-il significativement différent de celui chez les contrôles sains ?

Créez deux data.frames qui contiennent pour le premier les métadonnées pour les patients sains et pour le second les métadonnées pour les patients malades.

Pour chacunes des questions précédentes, effectuez les étapes suivantes :

  1. Identifiez la variable aléatoire étudiée.
  2. Identifiez le test que vous allez réaliser.
  3. Représentez, sur le même graphique, la distribution de la variable aléatoire chez les individus sains et les patients malades en utilisant des boîtes à moustaches (fonction boxplot()).
  4. Calculez la moyenne et l’écart-type de la variable chez les individus sains et malades (fonctions by(), means() et sd()).
  5. Calculez l’intervalle de confiance à 95% de l’espérance de la variable aléatoire pour les individus sains et les individus malades (fonctions qnorm() et var()).
  6. Effectuez le test statistique pour répondre à la question. Posez les hypothèses et concluez au test. (fonctions t.test())

5.2 Mise en place de tests de chi2 d’homogénéité

Ensuite, on se demande si la maladie cirrhose touche autant les hommes que les femmes. Pour répondre à cette question, vous allez réaliser un test du Chi2 d’homogénéité.

  1. Définissez les variables aléatoires sur lesquelles vous allez travailler pour répondre à cette question.

  2. Déterminez la table de contigence qui renvoie le nombre de femmes et d’hommes chez les individus sains et les patients malades (fonction table()).

Status female male
healthy 42 72
liver 39 84
  1. Réalisez le test du chi2 à partir de cett table de contigence. (fonction chisq.test()). Avant de conclure pensez à vérifier les conditions de validité du test qui sont que tous les effectifs théoriques doivent être supérieurs à 5 (argument $expected de la fonction chisq.test()).

Pour finir nous cherchons à savoir si la distribution des enterotypes est différent chez les individus sains et les patients malades. Pour répondre à cette question, vous allez réaliser un test de chi2.

  1. Identifiez les variables aléatoires que vous allez utiliser pour répondre à cette question.
  2. Déterminez la table de contingence (fonction table()).
  3. Effectuez le test du chi2 sur cette table de contingence (fonction chisq.test()).

  4. Comparez les effectifs théoriques et observés pour finaliser votre conclusion au test (argument $expected de la fonction chisq.test()).

6 Etude des différents entérotypes

On se demande si la composition de l’entérotype à une influence sur l’indice de masse corporelle des individus.

  1. Représentez la distribution de l’indice de masse corporelle pour les individus en fonction de leur entérotype (fonction boxplot()).

  2. Définissez la variable aléatoire et les échantillons

Pour répondre à la question, il faut effectuer un test de comparaison de 3 moyennes en utilisant un test ANOVA.
Ce test a deux conditions de validité :

  • Il faut que la variable aléatoire \(X\) suive une loi normale dans les trois échantillons.
  • Il faut que la variable aléatoire \(X\) ait la même variance dans les trois échantillons (Homoscédaticité de \(X\)).
  1. Testez la normalité de \(X\) dans les 3 échantillons. (fonction by(), shapiro.test())

  2. Testez l’homoscédaticité de \(X\) (foncion bartlett.test()).

Les résultats que vous avez obtenus vous permettent de conclure que les conditions de validité du test ANOVA ne sont pas vérifiées. Pour répondre à la question, vous allez donc utiliser un test non paramétrique : le test de Kruskall-Wallis (fonction kruskal.test()).

7 Analyse en composante principale

7.1 Jeu de données metadata

  1. Réalisez une ACP sur ce jeu de données
  1. Quel pourcentage de la variance expliquée est représentée dans le premier plan factoriel ?
  2. Proposez une représentation graphique des individus avec les individus malades d’une couleur et les individus sains d’une autre.
  3. Pouvez-vous donner une interprétation de ce graphique ? Vous pouvez pour cela vous aider du cercle des corrélations.

7.2 Jeu de données microbiota.abundance

  1. Réalisez une ACP centrée réduite sur ce jeu de données.
  1. Quel pourcentage de la variance expliquée est représentée dans le premier plan factoriel ?
  2. Proposez une représentation graphique des individus avec les individus malades d’une couleur et les individus sains d’une autre.
  3. Proposez une représentation graphique des individus avec les enterotypes de trois couleurs différentes. Que constatez-vous ?