silico.biotoul.fr
 

InfoBio TD transcriptome

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Récupération des données à partir d'un entrepôt de données de transcriptome)
m (Premiers pas avec R)
Line 23: Line 23:
== Premiers pas avec R ==
== Premiers pas avec R ==
-
R est un environnement de statistiques utilisé pour des recherches et applications variées (physique, astrophysique, écologie, biologie moléculaire, génomique, ...). Pour plus d'info : http://www.r-project.org
+
R est un environnement de statistiques utilisé pour des recherches et applications variées (physique, astrophysique, écologie, biologie moléculaire, génomique, ...). Pour plus d'info : http://www.r-project.org et [[Media:R_refcard.pdf|Aide mémoire des commandes R]]
'''Type de données :'''  
'''Type de données :'''  
Line 32: Line 32:
* data frame : tableau à 2 dimensions, les colonnes peuvent avoir des types différents.
* data frame : tableau à 2 dimensions, les colonnes peuvent avoir des types différents.
* list : tableau à une dimension pouvant contenir des valeurs de types différents.
* list : tableau à une dimension pouvant contenir des valeurs de types différents.
 +
 +
Pour se familiariser avec la syntaxe, nous allons :
 +
* générer aléatoirement 2 séries de valeurs suivant une loi normale avec des paramètres différent
 +
* tracer des histogrammes et courbes de densité
 +
* faire un test de comparaison de moyennes
 +
 +
Pour lancer le logiciel, lancer la commande <tt>R</tt> dans un terminal.
 +
 +
Génération des 2 séries de nombres aléatoires :
 +
<source lang='Rsplus'>
 +
# Première série
 +
serieA=rnorm(20, 50, 10) # échantillon de 20 valeurs d'une population ayant pour moyenne 50 et écart-type 10
 +
serieA # affichage du contenu
 +
mean(serieA) ; sd(serieA) # moyenne, écart-type
 +
summary(serieA)
 +
boxplot(serieA)
 +
hist(serieA, breaks=10) # histogramme de la première série
 +
plot(density(serieA), col='orange', xlim=(c(0,100)))
 +
abline(v=mean(serieA), col='orange') # moyenne observée
 +
abline(v=50, col='red') # moyenne théorique
 +
xi=1:100 ; lines(xi, dnorm(xi, 50, 10), col='red') # distribution théorique
 +
 +
# Deuxième série
 +
serieB=rnorm(25, 60, 20)
 +
lines(density(serieB), col='blue')
 +
abline(v=mean(serieB), col='blue')
 +
lines(xi, dnorm(xi, 60, 20), col='pink')
 +
abline(v=60, col='pink')
 +
 +
# comparaison des moyennes :
 +
# test de normalité des échantillons
 +
shapiro.test(serieA)
 +
shapiro.test(serieB)
 +
# test d'homoscédasticité (comparaison des variances)
 +
var.test(serieA, serieB)
 +
# test de student
 +
t.test(serieA, serieB) # faire t.test(serieA, serieB, var.equal=TRUE) si les échantillons alétaoires ont même variance
== Références et données ==
== Références et données ==

Revision as of 16:34, 21 February 2014

Aperçu de la séance

  • Récupération d'un jeu de données brutes
  • Premier pas avec le logiciel R
  • Chargement des données d'expression
  • Filtrage et normalisation
  • Identification des gènes différentiellement exprimés (au moins 5x)
  • Analyse de la liste de gènes obtenue

Récupération des données à partir d'un entrepôt de données de transcriptome

Il existe plusieurs entrepôts de données pour les données de transcriptome. Les principaux sont Gene Expression Omnibus (GEO) du NCBI, ArrayExpress de l'EBI, ainsi que le Stanford Microarray Database (SMD).

Combien d'hybridations sont disponibles sur la banque GEO ? Pour combien de puces différentes ?

Au cours de cette séance, nous allons analyser les données telles que fournies par le logiciel d'analyse d'image. Il s'agit de séries d'hybridations obtenues dans le cadre d'une étude d'hépatites sévères liées à la consommation d'alcool. Commencez par lire le résumé de la publication associée ; son identifiant PubMed est le 22637703.

Combien d'hybridations ont été utilisées dans cette étude ? Combien de gènes différentiellement exprimés (>x5 fois) ont été identifiés ?

A partir de GEO du NCBI, retrouvez et téléchargez la totalité des données associées à la publication (il s'agit de la série GSE28619). Ensuite, décompressez le fichier (avec les commandes tar/gunzip sous linux par exemple).

Avec quelle version de microarray ont été obtenues les données ? Combien y a-t-il de spots sur la puce ? Combien d'hybridations sont disponibles pour cette version de microarray ? Regroupées en combien de séries d'hybridations ?

Premiers pas avec R

R est un environnement de statistiques utilisé pour des recherches et applications variées (physique, astrophysique, écologie, biologie moléculaire, génomique, ...). Pour plus d'info : http://www.r-project.org et Aide mémoire des commandes R

Type de données :

  • scalar : une valeur de type numérique, chaîne de caractères, booléenne, nominale.
  • vector : tableau à 1 dimension de scalaires de même type.
  • matrix : tableau à 2 dimensions de scalaires de même type.
  • array : tableau à n dimensions de scalaires de même type.
  • data frame : tableau à 2 dimensions, les colonnes peuvent avoir des types différents.
  • list : tableau à une dimension pouvant contenir des valeurs de types différents.

Pour se familiariser avec la syntaxe, nous allons :

  • générer aléatoirement 2 séries de valeurs suivant une loi normale avec des paramètres différent
  • tracer des histogrammes et courbes de densité
  • faire un test de comparaison de moyennes

Pour lancer le logiciel, lancer la commande R dans un terminal.

Génération des 2 séries de nombres aléatoires :

# Première série
serieA=rnorm(20, 50, 10) # échantillon de 20 valeurs d'une population ayant pour moyenne 50 et écart-type 10
serieA # affichage du contenu
mean(serieA) ; sd(serieA) # moyenne, écart-type
summary(serieA)
boxplot(serieA)
hist(serieA, breaks=10) # histogramme de la première série
plot(density(serieA), col='orange', xlim=(c(0,100)))
abline(v=mean(serieA), col='orange') # moyenne observée
abline(v=50, col='red') # moyenne théorique
xi=1:100 ; lines(xi, dnorm(xi, 50, 10), col='red') # distribution théorique
 
# Deuxième série
serieB=rnorm(25, 60, 20)
lines(density(serieB), col='blue')
abline(v=mean(serieB), col='blue')
lines(xi, dnorm(xi, 60, 20), col='pink')
abline(v=60, col='pink')
 
# comparaison des moyennes :
# test de normalité des échantillons
shapiro.test(serieA)
shapiro.test(serieB)
# test d'homoscédasticité (comparaison des variances)
var.test(serieA, serieB)
# test de student
t.test(serieA, serieB) # faire t.test(serieA, serieB, var.equal=TRUE) si les échantillons alétaoires ont même variance
 
== Références et données ==
* [http://gut.bmj.com/content/62/3/452.long Affo ''et al., 2013'']
* [http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE28619 GSE28619]
* [[silico:enseignement/L3-Info/transcriptome/GSE28619_RAW.tar|GSE28619_RAW.tar]]