silico.biotoul.fr
 

L2-L3 Bioinfo - TP Analyses statistiques des données (phénotypes,génotypes)

From silico.biotoul.fr

Jump to: navigation, search

Contents

Analyses statistiques des données (phénotypes, génotypes)

Lors du TP précédent, vous avez manipulé une base de données comportant différentes sources d'informations concernant les lignées d'Arabettes analysées en traitement d'images, suite à l'infection par une bactérie pathogène. Dans le cadre du présent TP, vous allez analyser le tableau de données généré à partir de la base de données, avec le logiciel d'analyses statistiques R ou RStudio.

Créer un répertoire de travail sur le bureau (par exemple TP3) et téléchargez le fichier de données données TP3 (click droit de la souris -- enregistrer la cible sous...). Sous RStudio, changez le répertoire courant vers le répertoire contenant le fichier de données. Pour cela, cliquez sur le menu Session puis Set Working Directory > Choose Directory.

!! Si vous travaillez avec Rstudio Cloud, il suffit de vous connecter avec vos identifiants sur https://rstudio.cloud, et de créer un "New Project" !!


Lecture et exploration du tableau de données

Lecture:

#arabido=read.table("data_for_TP3.txt", sep="\t", header=TRUE)

ou directement à partir de l'URL du fichier (pratique si vous êtes sous Rstudio Cloud):

arabido=read.table("http://silico.biotoul.fr/site/images/6/63/Data_for_TP3.txt", stringsAsFactors=T, sep="\t", header=TRUE) # nécessite une connexion internet

Accéder directement aux variables simplement en donnant leurs noms:

attach(arabido)
names(arabido)


Il faut savoir que:

  • pour les marqueurs de type "Gene_At" et "RetroTransp" c'est la présence/absence du locus qui est codée 1/0.
  • pour les marqueurs de type SNP c'est le nucléotide présent qui est mentionné ("A ou G", "C ou A", etc...).

Quelles sont les dimensions du tableau ? Combien y-a-t-il de variables ? Pour cela utilisez la fonction dim(). Repérez les variables quantitatives (numériques) et les variables qualitatives (facteur, variable binaire). Pour cela vous pouvez utilisez par exemple la fonction summary(), ou str().

Graphiques

  • Réalisez un graphique permettant de visualiser la corrélation entre la surface des feuilles et le nombre de racines latérales, en utilisant la fonction plot() [exemple: plot(x,y)].
  • Réalisez un graphique permettant de visualiser la corrélation entre la surface des feuilles et la latitude, de même avec la longitude, en utilisant la fonction plot().
  • Réalisez un graphique permettant de visualiser l'effet de la présence/absence naturelle de la bactérie dans le pays d'origine des plantes, sur la surface foliaire, en utilisant la fonction boxplot() [exemple: boxplot(y~x)].

Qu'en déduisez-vous?


Calculs de corrélations

  • Calculez 2 à 2 le coefficient de corrélation entre la surface des feuilles avec le nombre de racines latérales, puis avec la latitude et la longitude, en utilisant la fonction cor() [exemple: cor(x,y)].

Cela vous semble-t-il en cohérence avec les graphiques précédents?


Tests statistiques de corrélation/association entre les valeurs phénotypiques des individus et leurs génotypes aux marqueurs moléculaires

  • Réalisez un test de comparaison des valeurs moyennes de la surface des feuilles pour les groupes génotypiques à chaque marqueur biallélique (test de Student). Pour cela, utilisez la commande t.test().

Utilisez le code suivant pour programmer une série de tests de Student sur différentes colonnes du tableau, et interprétez chaque test grâce à la p-valeur donnée.

Premier test : surface foliaire vs. présence/absence de Gene_At1g01120 (qui est la colonne 8)

t.test(Leaf_area ~ Gene_At1g01120)

Pour automatiser un peu sur les colonnes restantes, on fait des itérations sur les noms des colonnes 9 à 15 :

for (i in names(arabido)[9:15]) {
  cat(paste("Leaf_area vs.", i))
  print(t.test(Leaf_area~arabido[,i]))
}

Essayez de comprendre ce code. Que concluez-vous de ces analyses statistiques?

rappels/éléments pour bien interpréter le test statistique:

  • l'hypothèse nulle (H0) du test de Student est l'égalité des moyennes des 2 groupes testés (ou plus précisément H0 = "la différence des moyennes est égale à 0"). On ne rejette pas cette hypothèse H0 si la p-valeur est > 0.05. On rejette cette hypothèse H0 en faveur de l'hypothèse alternative H1 ("il y a une différence significative entre les moyennes") si la p-valeur est < 0.05 (c'est le seuil d'erreur de 5%). La p-valeur peut s'interpréter pour ce test comme la probabilité d'observer, sous l'hypothèse H0 (où cette différence varie autour de 0 par effet d'échantillonnage), une différence de moyenne plus forte que celle observée sur les données.
  • la p-valeur peut aussi se définir plus généralement comme la probabilité de se tromper en rejetant l'hypothèse H0 alors que celle-ci est vraie. Au plus cette probabilité est faible (en particulier < 0.05), au moins on fait d'erreur en rejetant l'hypothèse nulle.


  • Réalisez enfin des graphiques permettant de visualiser les corrélations phénotype / génotype pour les marqueurs significativement associés aux valeurs phénotypiques de surface des feuilles (utilisez la fonction boxplot(y~x)].

Que concluez-vous de ces analyses statistiques? Donnez une explication aux résultats observés.



La présence/absence du locus At5g46330 semble conditionner la réponse à l'infection par la bactérie chez les plantes. Le prochain TP (TP4) consistera en l'étude de ce locus à l'aide de bases de données et d'analyses de séquences ...

Liens