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 :
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 patientsGender
: le genre des patientsBMI
(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 sanguineCrea
: 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 sangTB
: taux de bilirubine (pigment jaune produit par la dégradation de l’hémoglobine)PT
: taux de prothrombineCTP
(Child-Turcotte-Pugh score) : score qui permet la classification en groupes de gravité croissante selon le degré d’insuffisance hépato-cellulaireMELD
(Model for End-Stage Liver Disease) : système de notation pour évaluer la gravité d’une cirrhose du foieGC
(gene count) : Nombre de gènes différents dénombrésEnterotype
: 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 :
Rstudio
Connectez vous à l’interface Rstudio
de la plateforme IFB en utilisant l’adresse suivante : lien
Ouvrez un nouveau fichier R script
en utilisant le menu File
.
Ouvrez les deux fichiers de données en utilisant la fonction readRDS()
. Vérifiez que les objects créés ont les bonnes dimensions.
Quels types de variables contient le fichier metadata.RDS
(fonction str()
).
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()
).
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()
).
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
.
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 ?
Suppimez ces individus des deux objets qui contiennent les deux jeux de données.
Déterminez la moyenne et l’écart-type de chaque variable quantitative (fonctions apply()
, mean()
et sd()
).
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 ?
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 :
boxplot()
).by()
, means()
et sd()
).qnorm()
et var()
).t.test()
)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é.
Définissez les variables aléatoires sur lesquelles vous allez travailler pour répondre à cette question.
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 |
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.
table()
).Effectuez le test du chi2 sur cette table de contingence (fonction chisq.test()
).
Comparez les effectifs théoriques et observés pour finaliser votre conclusion au test (argument $expected
de la fonction chisq.test()
).
On se demande si la composition de l’entérotype à une influence sur l’indice de masse corporelle des individus.
Représentez la distribution de l’indice de masse corporelle pour les individus en fonction de leur entérotype (fonction boxplot()
).
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é :
Testez la normalité de \(X\) dans les 3 échantillons. (fonction by()
, shapiro.test()
)
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()
).
metadata
microbiota.abundance