Analyse de données biologiques

I - Motivation (version 3.0)

Prof. Patrick E. Meyer

Séquençage haut débit

  • HGP (2003, Watson)
    • 15 ans sur plusieurs dizaines de laboratoires
    • plusieurs milliards d’euros
  • Illumina (2010)
    • plusieurs semaines (1 chercheur)
    • quelques milliers d’euros
  • Nanopores (2020)
    • plusieurs dizaines d’heures (1 chercheur)
    • plusieurs centaines d’euros

Inondation de données

coûts diminuent, rapidité augmente et précision augmente:

Exemple: Données d’expression

  • Microarray

    • G1 G2 G3 Gn
      0.1 0.9 0.5 0.2
  • Sequenceurs haut débit

Exemples d’application

  • Classification de tumeur (+prognostique)

  • Prédiction d’efficacité d’un traitement

  • Comprendre des différences (phénotypiques) entre populations

    • Comment cette espèce de plante résiste à un pathogène?

    • Pourquoi cette espèce d’algue gère mieux les métaux lourds?

    • Pourquoi cette population animale est plus sujette à une maladie que la population voisine?

Questions “types” d’intérêt de ce cours

Un dataset d’expression X, une variable cible Y

G1 G2 Gn Y
0.1 0.8 0.2 1
0.2 0.7 0.1 1
0.8 0.9 0.2 1
0.9 0.4 0.2 0
0.3 0.5 0.1 0
0.2 0.2 0.1 0
  • Quel gène semble le plus corrélé à Y?

  • Est-ce que l’expression de G2 est significativement différente quand Y=1 vs 0?

  • Parmi les gènes statistiquement significativement différents de G2, quel est le plus corrélé à Y?

Correlation: exemple 1

Correlation: exemple 1

Correlation: exemple 2

Correlation: exemple 3

Correlation: exemple 4

Correlation: exemple 5

Problèmes

  • Quel est le problème des corrélations précédentes?

  • Par ailleurs, lecture d’un fichier en R:

    read.table(file, header = FALSE, sep = "", quote = "\",
      dec = ".", numerals = c("allow.loss", "warn.loss",
      row.names, col.names, as.is = !stringsAsFactors,
      na.strings = "NA", colClasses = NA, nrows = -1,
      skip = 0, check.names = TRUE, fill = !blank.lines.s
      strip.white = FALSE, blank.lines.skip = TRUE,
      comment.char = "#",
      allowEscapes = FALSE, flush = FALSE,
      stringsAsFactors = default.stringsAsFactors(),
      fileEncoding = "", encoding = "unknown", ...)

    qui crée des erreurs du type character vs numeric

Objectif du cours

Data Scientist

Analyse de données biologiques

On produit plus de données qu’on ne peut les analyser, besoin de

  • techniques d’analyse de données biologiques

  • super-calculateurs

  • techniques de simulations

  • intelligence artificielle !?