```{r include=FALSE, echo=FALSE, eval=TRUE}
library(knitr)
library(kableExtra)
# library(formattable)
options(width = 300)
# options(encoding = 'UTF-8')
knitr::opts_chunk$set(
  fig.width = 7, fig.height = 5, 
  fig.path = 'figures/intro',
  fig.align = "center", 
  size = "tiny", 
  echo = TRUE, eval = TRUE, 
  warning = FALSE, message = FALSE, 
  results = FALSE, comment = "")
options(scipen = 12) ## Max number of digits for non-scientific notation
# knitr::asis_output("\\footnotesize")
```

## Le Git du module 3

https://du-bii.github.io/module-3-Stat-R/ 

## Les séances

| Séance | Contenu | 
|--------|-----------------------------------|
| 1 | Premiers pas avec R | 
| 2 | Analyse statistique avec R |
| 3 | Détection de gènes différentiellement exprimés |
| 4 | Classification non supervisée (clustering) |
| 5 | Statistiques d'enrichissement |
| 6 | Classification supervisée (classement) |


## Prérequis

Vous avez suivi le module "Introduction to R" sur DataCamp:  <https://www.datacamp.com/courses/free-introduction-to-r>

Vous vous êtes initiés aux éléments suivants :

  - syntaxe de R
  - calculs de base 
  - affectation de variables
  - classes de variables (numériques, caractères, logiques)



## Compétences attendues à la fin du module 3 - Analyse statistique avec R

A la fin du module, vous

- Utiliser le langage R pour effectuer des analyses courantes, en particulier

    - lire des fichiers de données (généralement en format tabulaire);
    - utiliser des structures de données courantes (vecteurs, matrices, data frames, ...);
    - effectuer des analyses statistiques de différents types de données omiques;
    - exporter des résultats sous différents formats;
    - utiliser différents types de représentations graphiques

---
### Et vous serez capable de 

- Réaliser des analyses statistiques, en particulier

    - concevoir un plan d'analyse pour différents types de données biologiques à haut débit;
    - mettre en oeuvre ces analyses statistiques au moyen de scripts R;
    - interpréter les résultats en les mettant en rapport avec les questions biologiques.

- Générer un rapport scientifique en format R markdown, avec

    - l'intégration de blocs de code dans un texte formaté;
    - une cohérence garantie entre les résultats et figures (générés au vol), et le texte qui en fournit l'interprétation;
    - une reproductibilité des analyses. 


## Séance 1 : Introduction à R

*Intervenants : Hugo Varet et Frédéric Guyon*

**Concepts :**

  - Premiers pas avec R
  - Statistiques descriptives, estimateurs
  - Distributions théoriques de probabilité 
  - Quelques représentations graphiques 


## Séance 2 : Analyse statistique avec R

*Intervenants : Leslie Regad et Magali Berland*

**Concepts : **

  - Echantillonnage et estimation
  - Tests d'hypothèse
  - Représentations graphiques

## Séance 3 : Détection de gènes différentiellement exprimés

*Intervenants : Claire Vandiedonck, Magali Berland et Jacques van Helden*

**Concepts :**

  - Echantillonnage et estimation
  - Tests d'hypothèse
  - Tests multiples
  - Visualisation des résultats globaux 
  - Evaluation de l'impact des choix de logiciels et paramètres 
  - Comparaison des projections ACP avec tous les gènes et avec la sélection de gènes différentiellement exprimés

## Séance 4 : Classification non supervisée ou clustering 

*Intervenants : Frédéric Guyon, Anne Badel et Jacques van Helden*

**Concepts :**

  - Approches de clustering : hiérarchique, K-means
  - Hiérarchique : critères d'agglomération (single, average, complete)
  - Métrique de (dis)similarité : euclidienne, corrélation, dot product
  - Complexité des algorithmes
  - Evaluation du clustering, comment choisir le nombre de groupes ?
  - Comparaison de résultats de clustering : 
  - Mesures de performance 
  - Visualisation (heat maps, arbres, PCs)


## Séance 5 : Statistiques d'enrichissement

*Intervenants : Jacques van Helden + Claire Vandiedonck*

**Concepts :**

  - Distributions discrètes de probabilité
  - Test exact de Fisher
  - Détection d'enrichissement 
  - Corrections de tests multiples (avec dépendances)

## Séance 6: Classification supervisée

*Intervenants : Jacques van Helden, Leslie Regad et Frédéric Guyon*

**Concepts :**
 
  - Approches de classification supervisées, k-nearest neighbours, Random Forest, SVM
  - Entraînement / test
  - Evaluation des résultats (évaluation croisée, mesures de performance)


## Langage et environnement de programmation

- Tous les logiciels utilisés pour ce cours sont en libre accès, et peuvent être installés sur les principaux systèmes opérateurs (Unix, Mac OS X, Windows). 

- Ce module (cours et travaux pratiques) se base sur le langage **R** (<https://www.r-project.org/>). 

- Les scripts et supports de cours sont réalisés en utilisant l'environnement de développement **RStudio** (<https://www.rstudio.com/>). 


## Travaux pratiques

- Pour les travaux pratiques, nous utiliserons le serveur RStudio installé sur le cluster core de l'IFB. 

    <https://rstudio.cluster.france-bioinformatique.fr/>

- Il est également possible d'installer R et RStudio sur votre ordinateur personnel ou au labo, mais les temps des séances ne nous permettront pas de vous assister si vous rencontrez des difficultés (par exemple pour l'installation de librairies manquantes, ...) 

- Nous vous demandons donc de réaliser les travaux pratiques uniquement sur le serveur RStudio du cluster IFB. Si vous le désiez, vous pourrez expérimenter l'installation locale pour vos travaux personnels (ceci n'sy pas nécessaire: les TP peuvent être intégralement réalisés sur le serveur RStudio du cluster IFB). 

## Supports de cours

- Les supports de cours (diaporamas, tutoriels) sont intégralement réalisés avec **R markdown** (<https://rmarkdown.rstudio.com/>), un langage permettant d'intégrer des éléments de code dans du texte structuré, et d'assurer la reproductibilité et la portabilité des résultats.

- Nous n'aurons peut-être pas le temps de vous former au langage R markdown, mais vous pourrez le découvrir en consultant les fichiers `.Rmd` disponibles sur le site Web du cours. 




