---
title: "Concepts de probabilités"
author: "Jacques van Helden"
date: '`r Sys.Date()`'
output:
  slidy_presentation:
    slide_level: 2
    self_contained: no
    fig_caption: yes
    fig_height: 6
    fig_width: 7
    highlight: tango
    incremental: no
    keep_md: yes
    smaller: yes
    theme: cerulean
    toc: yes
    widescreen: yes
  ioslides_presentation:
    slide_level: 2
    self_contained: no
    colortheme: dolphin
    fig_caption: yes
    fig_height: 6
    fig_width: 7
    fonttheme: structurebold
    highlight: tango
    smaller: yes
    toc: yes
    widescreen: yes
  pdf_document:
    fig_caption: yes
    highlight: zenburn
    toc: yes
    toc_depth: 3
  html_document:
    self_contained: no
    fig_caption: yes
    highlight: zenburn
    theme: cerulean
    toc: yes
    toc_depth: 3
    toc_float: yes
  beamer_presentation:
    colortheme: dolphin
    fig_caption: yes
    fig_height: 6
    fig_width: 7
    fonttheme: structurebold
    highlight: tango
    incremental: no
    keep_tex: no
    slide_level: 2
    theme: Montpellier
    toc: yes
font-import: http://fonts.googleapis.com/css?family=Risque
subtitle: Probabilités et statistique pour la biologie (STAT1)
font-family: Garamond
transition: linear
---

```{r include=FALSE, echo=FALSE, eval=TRUE}
options(width = 300)
# options(encoding = 'UTF-8')
knitr::opts_chunk$set(
  fig.width = 7, fig.height = 5, 
  fig.path = 'figures/03_concepts_proba_',
  fig.align = "center", 
  size = "tiny", 
  echo = TRUE, eval = TRUE, 
  warning = FALSE, message = FALSE, 
  results = TRUE, comment = "")
# knitr::asis_output("\\footnotesize")

```

# Définitions de la probabilité

## Définition fréquentielle de la probabilité

Lors d'une expérience aléatoire, la ***probabilité*** d'un événement  $A$ est la limite de sa fréqunce de réalisation quand le nombre d'essais tend vers l'infini. 

$$\operatorname{P}(A) = \lim_{n \to \infty}\frac{n_{A}}{n}$$

```{r proba_frequential_def, echo=FALSE, fig.width=10, fig.height=2.7, out.width="95%", fig.cap="Fréquences de A lors du tirage (avec remise) de positions aléatoires dans le génome de *Mycoplasma genitalium*. "}
################################################################
## Illustration of the frequential definition of probability.
##
## We generate a fake genomic sequence having the same nucleotide 
## composition as Mycoplasma genitalium, and perform a random sampling.  


## Parameters for the sampling of nucleotides in the Mycoplasma genome

## Instantiate a vector with the count of occurrences per residue
## in the whole genome of Mycoplasma genitalium.
nt.counts.mycoplasma <- c("A" = 200543,
                          "C" = 91524,
                          "G" = 92312,
                          "T" = 195695)
genome.size.mycoplasma <- sum(nt.counts.mycoplasma)

## Compute genome size
L <- sum(nt.counts.mycoplasma)  ## Genome length
N <- 1.0e+6           ## Samplin size
x.values <- c(1:100,10*(11:100),100*(11:100),1000*(11:100),10000*(11:100)) ## Values to be plotted (plotting the 10^6 values would generate a huge file where most points are not even visible)


## For the sake of storage economy, rather than analyzing the actual
## genome sequence, we generate a fake genome of the same size as 
## Mycoplasma genitalium, and with the same nucleotide frequencies 
## (but where residues are sorted alphabetically). Since the sampling 
## is done in a position-independent way this does not affect the result.
genome <- rep(names(nt.counts.mycoplasma), nt.counts.mycoplasma)

## Calculate the probability of the A residue
p.A <- nt.counts.mycoplasma["A"]/genome.size.mycoplasma


## Generate four plots illustrating the convergence of the realization frequency of an event (sampling of nucleotide A in Myciplasma genome) towards the probability of this event (frequency of this nucleotide in the whole genome).
par(mfrow=c(1,3)) ## Four panels per figure

## Perform 4 independent trials, to give an idea of the variability of the initial frequencies
for (i in 1:3) {
  
  ## Sample residues in the fake genome
  res.sample <- sample(genome,size=N,replace=T)
  
  ## Count the cumulative sum of adenine residues
  A.cumsum <- cumsum(res.sample == "A")
  A.cumfreq <- A.cumsum/(1:N)
  
  plot(x.values, A.cumfreq[x.values],
       col="black",
       log="x",
       type="l",
       main=paste("Series", i),
       xlab="Sample size",
       ylab="Frequency of A",
       panel.first=c(grid(col="black"),
         abline(h=p.A,col="#444444", lwd=2,lty="dashed")),
       ylim=c(0,1), lwd=2
       )
  
}
par(mfrow=c(1,1)) ## Restore default plot parameters

```

## Probabilités pour des ensemble finis

Supposons qu'on tire des éléments dans un ensemble fini, en considérant certains tirages comme des succès ($A$). Dans cette situation, la probabilté est définie comme le rapport entre le nombre de tirages pouvant être considérés comme des succès ($n_A$) et le nombre total de tirages possibles ($n$).

$$\operatorname{P}(A) = \frac{n_A}{n}$$

## Probabilités pour des ensemble finis -- exemple

**Exemple: ** sélection aléatoire de 4 cartes dans un jeu de 52 cartes. Quelle est la probabilité d'avoir un carré (4 cartes identiques) ?

Le jeu de carte comporte 13 valeurs (As, 2, 3, ..., Dame, Roi), il y a donc 13 possibilités d'obtenir un carré: $n_A = 13$.

Le nombre total de tirages de 4 cartes parmi 52 est fourni par le coefficient binomial: $$n = \binom{52}{4} = `r prettyNum(choose(n=52, k=4))`$$


$$\operatorname{P}(A) = \frac{n_A}{n} = \frac{13}{\binom{52}{4}} = \frac{13}{`r prettyNum(choose(n=52, k=4))`} = `r signif(digits=3, 13/choose(n=52, k=4))`$$


# Probabilités d'événements combinés

## Exclusion mutuelle

On désigne des événements de **mutuellement exclusifs** quand la réalisation de l'un rend impossible la réalisation des autres. Leur **probabilité jointe** ($A_1$ et $A_2$) est donc nulle. 

$$A_1,A_2 \text{mutuellement exclusifs} \iff \operatorname{P}(A_1 \land A_2) = 0$$

Le symbole $\land$ correspond au ***et*** logique. 

Si deux événements $A_1$ et $A_2$ sont  mutuellement exclusifs, la probabilité de réalisation de l'un ou de l'autre est la somme de leurs probabilités. 

$$\operatorname{P}(A_1 \land A_2) = 0 \iff \operatorname{P}(A_1 \lor A_2) = \operatorname{P}(A_1) + \operatorname{P}(A_2)$$

## Complémentarité

Un ensemble d'événements ${A_1, A_2, \ldots, A_m}$ sont dit **complémentaires** s'ils sont mutuellement exclusifs et exhaustifs (il n'existe pas d'événement possible en dehors de l'ensemble). 

La **probabilité de l'union** d'événements complémentaires vaut 1.

$$A_1, A_2, \ldots A_m \text{complementary} \Rightarrow \operatorname{P}(A_1 \lor A_2 \lor \ldots \lor A_m)   = \operatorname{P}(A_1) + \operatorname{P}(A_1) + \ldots + \operatorname{P}(A_m) = 1$$


## Indépendance stochastique

Deux événements sont **stochastiquement indépendants** si la réalisation de l'un n'affecte pas la probabilité de réalisation de l'autre. 

La **probabilité jointe** d'une série d'événements indépendants est le produit de leurs probabilités. 

$$\begin{aligned}
A_1, A_2, \ldots A_m \text{ independent }  \nonumber\\
\Rightarrow \operatorname{P}(A_1 \land A_2 \land \ldots \land A_m) = \operatorname{P}(A_1) \operatorname{P}(A_2) \ldots \operatorname{P}(A_m)
\end{aligned}$$



## Formule générale de probabilités combinées


$$\operatorname{P}(A \lor B) = \operatorname{P}(A) + \operatorname{P}(B) - \operatorname{P}(A \land B)$$

## Schéma de Bernoulli

Un ***essai de Bernoulli*** est une expérience aléatoire qui peut résulter en deux événements possibles, dénommés ***succès*** et ***échec***, chacun étant associé à une probabilité. 

Un ***schéma de Bernoulli*** est une série d'essais qui satisfont les conditions suivantes: 

1. Indépendance: le résultat d'un essai n'affecte pas les probabilités de succès de l'essai suivant. 

2. La probabilité de succès est identique pour chacun des essais. 

## Schéma de Bernoulli généralisé

On peut généraliser la définition précédente en considérant une série d'essais pouvant résulter en un nombre finis de résultats possibles, associés chacun à une probabilité. Si les essais successifs sont indépendants et les probabilités des événements constantes au fil des essais, on parle de ***schéma de Bernoulli généralisé***. 

## Schéma de Bernoulli généralisé : exemple génomique

**Exemple: ** modèle de probabilité des nuclétides dans le génome de la levure, basé sur les fréquences nucléotidiques. 

| Résidu | Occurrences génomiques | Fréquence génomique |
|-------|----------------|---------------|
| A | 3766191 | 0.3098064564636 | 
| C | 2320522 | 0.1908858838986 | 
| G | 2316991 | 0.1905954242278 | 
| T | 3752889 | 0.3087122354100 | 

Dans le cadre d'un tirage aléatoire, on va considèrer que chaque résidu a une probabilité particulière: 

$\operatorname{P}(A) = 0.31$, 
$\operatorname{P}(C) = 0.19$, 
$\operatorname{P}(G) = 0.19$, 
$\operatorname{P}(T) = 0.31$.

## Les modèles de Bernoulli conviennent-il pour les séquences biologiques ?

Le schéma de Bernoulli présente un intérêt évident: sa facilité d'utilisation. Cependant il n'est pas très approprié pour modéliser les successions de résidus dans les séquences macromoléculaires, pour plusieurs raisons. 

- Dans les génomes, les fréquences de nucléoides varient en fonction du contexte (codant, non-codant, ...). 
- Dans les séquences codantes, dépendance entre les résidus d'un même codon, notamment au niveau de la dégénérescence du 3ème résidu.
- Dans les régions non-codantes, les oligonucléotides poly-A et poly-T sont plus fréquents (propriété agrégative). 
- Dans les séquences protéines, les contraintes structurelles ont favorisé (par sélection) certaines successions d'acides aminés et défavorisé d'autres. 

Les ***modèles de Markov*** permettent une modélisation plus fine des séquences biologiques, en exprimant la dépendance entre résidus voisins. 

## Exercices : concepts de probabilité

- [html](03_concepts_proba_exercices.html)
- [pdf](03_concepts_proba_exercices.pdf)
- [Rmd](03_concepts_proba_exercices.Rmd)
