diff --git a/Rnw/donnees-reelles.Rnw b/Rnw/donnees-reelles.Rnw index 991ce4c..0fb7bb1 100644 --- a/Rnw/donnees-reelles.Rnw +++ b/Rnw/donnees-reelles.Rnw @@ -1,11 +1,8 @@ -Ici nous appliquons les méthodes implémentées sur l'arbre de \cite{chenQuantitativeFrameworkCharacterizing2019}. - -% TODO Décrire les données en détails - Les données compilées par \cite{chenQuantitativeFrameworkCharacterizing2019} sont des données de RNA-seq, c'est-à-dire des données quantifiant l'expression des gènes, par le biais du transcriptome, parmi les différentes espèces du bout -de l'arbre. +de l'arbre. Nous réanalysons les données, en utilisant les méthodes développées +et testées ci-dessus. Le but est alors d'identifier les gènes différentiellement exprimés, au sens de nombre d'ARN par gène différent entre les espèces. @@ -193,8 +190,8 @@ p-values \emph{non ajustées}. theme(axis.text.x=element_blank(), axis.ticks.x = element_blank()) } all_plots + patchwork::plot_layout(guides = "collect", - axis_titles = "collect", tag_level = "new") + - plot_annotation(title = "Selected genes by tested methods") + axis_titles = "collect", tag_level = "new") + # + plot_annotation(title = "Selected genes by tested methods") @ \caption{\emph{p-values} ordonnées pour les différents tests} \label{fig:pval-methods} @@ -286,9 +283,6 @@ Dans l'article \cite{rohlfsPhylogeneticANOVAExpression2015}, les auteurs introduisent une méthode de détection des gènes différentiellement exprimés. Cette méthode est à l'heure actuelle très utilisée pour cette problématique. -Elle détecte ici \Sexpr{sum(evemodel_dataframe[evemodel_dataframe$test_method == "EVEAdj",]$selected)} -gènes différentiellement exprimés. - Son principe de fonctionnement suppose que les traits évoluent selon un processus d'Ornstein-Uhlenbeck et le test réalisé est un \emph{Likelihood Ratio test}. @@ -351,23 +345,34 @@ pvalueseve_dataframe_wide <- pvalueseve_dataframe %>% \label{fig:venn-all-methods-eve} \end{figure} -\paragraph{Analyse des résultats} Nous pouvons voir que la méthode la plus +\paragraph{Analyse des résultats} La barre indiquant 3681 gènes comptabilise les +gènes qui n'ont été sélectionnés par aucune méthode. Le nombre de gènes +sélectionnés par méthode est présenté dans le tableau~\ref{tab:data-genes-selectionnes}. + +La méthode EVE détecte ici +\Sexpr{sum(evemodel_dataframe[evemodel_dataframe$test_method == "EVEAdj",]$selected)} +gènes différentiellement exprimés. Étant la méthode état de l'art nous pouvons +nous en servir comme référence. + +Nous pouvons voir que la méthode la plus parcimonieuse est celle utilisant le LRT, qui sélectionne $\Sexpr{sum(pvalues_adj_dataframe[pvalues_adj_dataframe$test_method == "LRT Ajusté",]$selected)}$ gènes qui sont eux-mêmes \textbf{sélectionnés par toutes les méthodes}. -Cette unanimité sur ces gènes nous invite à penser qu'ils sont en effet -différentiellement exprimés. +Cette unanimité sur ces gènes nous invite à penser qu'ils sont en effet bel et +bien différentiellement exprimés. La seconde méthode sélectionnant le moins de gènes est l'ANOVA Phylogénétique avec REML. Elle sélectionne $\Sexpr{sum(pvalues_adj_dataframe[pvalues_adj_dataframe$test_method == "ANOVA Phylo REML Ajustée",]$selected)}$ -gènes. Ces sélections se décompose en plusieurs sous ensembles +gènes. Ces sélections se décompose en plusieurs sous ensembles. Des méthodes +que nous avons utilisées c'est celle-ci qui semble s'en sortir le mieux, elle +donne des résultats semblables à EVE. -TODO Ici nous avons supposé un mouvement brownien comme processus sous-jacent de -l'arbre mais ce n'est peut-être pas le meilleur modèle et un OU pourrait être -intéressant. Intéressant pour l'ouverture. -% \begin{table} -% <<'table-anova-phylo-reml'>>= -% kable() -% @ -% \end{table} \ No newline at end of file +\begin{table}[H] + \centering + <<'table-anova-phylo-reml'>>= + kable(colSums(pvalueseve_dataframe_wide[,-1]), col.names = c("Nombre de gènes sélectionnés"), booktabs = TRUE) + @ + \caption{Nombre de gènes sélectionnés par méthode} + \label{tab:data-genes-selectionnes} +\end{table} diff --git a/img/OrnsteinUhlenbeck3.png b/img/OrnsteinUhlenbeck3.png new file mode 100644 index 0000000..28036e7 Binary files /dev/null and b/img/OrnsteinUhlenbeck3.png differ diff --git a/img/chenFig4.png b/img/chenFig4.png new file mode 100644 index 0000000..44c01a0 Binary files /dev/null and b/img/chenFig4.png differ diff --git a/rapport.Rnw b/rapport.Rnw index f8e8c52..cf81c8e 100644 --- a/rapport.Rnw +++ b/rapport.Rnw @@ -10,7 +10,8 @@ \usepackage{graphicx} \graphicspath{{img/}} \usepackage{float} -\usepackage{subcaption} % for subfigures environments +\usepackage{subcaption} % for subfigures environments +\usepackage{wrapfig} % Booktabs \usepackage{booktabs} @@ -82,24 +83,54 @@ source(here("R","utils.R")) \section{Introduction} \label{chap:intro} % Introduction au projet, contexte, objectifs. -Avec l'avènement des données massives de génomiques, transcriptomiques, -protéomiques, il y a besoin de techniques statistiques robustes et passant à -l'échelle permettant de mener à bien les analyses. +Avec l'avènement des données massives de génomique, transcriptomique et +protéomique, il est impératif de disposer de techniques statistiques robustes +et adaptées à l'échelle pour mener à bien les analyses. Ces données génétiques +fournissent généralement deux types d'informations : les mesures elles-mêmes et +les arbres phylogénétiques. Dans certains cas, ces arbres présentent des +ramifications intra-espèces. -Ces données de génétiques proposent bien souvent deux informations, les mesures -et l'arbre phylogénétique. Et pour certaines, l'arbre est ramifié au bout en -proposant des répétitions intraspécifique. +Nous mesurons l'expression des gènes orthologues chez plusieurs espèces, +souvent considérée comme une expression constitutive. Par exemple, la base de +données BGee (\url{https://www.bgee.org}) compile les niveaux d'expression de +gènes chez diverses espèces. En utilisant ces données inter-espèces, notre +objectif est de détecter les gènes orthologues présentant des variations +d'expression entre différents groupes d'espèces. En notant $Y$ le niveau +d'expression d'un gène chez plusieurs espèces, nous modélisons ce niveau +d'expression par une variable aléatoire ayant une moyenne $\mu_1$ dans un groupe +d'espèces (par exemple, les primates) et $\mu_2$ dans un autre groupe d'espèces +(par exemple, toutes les espèces non primates). Nous testons alors l'hypothèse +$H_0$ : $\mu_1 = \mu_2$ contre $H_1$ : $\mu_1 \neq \mu_2$. + +Par exemple, dans l'article +\cite{chenQuantitativeFrameworkCharacterizing2019}, les auteurs identifient +un ensemble de gènes exprimés dans le foie qui sont sous-exprimés chez les +primates par rapport aux autres espèces, sous-exprimés chez les rongeurs par +rapport aux autres espèces ou sous-exprimés dans les tissus des testicules chez +les primates par rapport aux autres espèces (voir la figure~\ref{fig:chen-fig4} +extraite de l'article de +\cite{chenQuantitativeFrameworkCharacterizing2019} où les individus sont +représentés en colonnes et les gènes en lignes, la couleur reflétant le niveau +d'expression du gène). + +\begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{chenFig4.png} + \caption{Figure extraite de l'article de \cite{chenQuantitativeFrameworkCharacterizing2019}} + \label{fig:chen-fig4} +\end{figure} + +Ces données illustrent parfaitement la nécessité de techniques analytiques +robustes face à des ensembles de données complexes, combinant à la fois des +aspects écologiques et transcriptomiques. % Format des données : arbres phylogénétiques, données génétiques % Arbres avec des petites branche: plusieurs individus par espèces avec chacun leurs données % --> problème biologique % Deux sujets différents écologie et transcriptomique mais une même méthode. - -C'est par exemple le cas pour les données de -\cite{chenQuantitativeFrameworkCharacterizing2019} dont -la figure~\ref{fig:arbre-chen2019} présente l'arbre phylogénétique : -\begin{figure}[!h] +La figure~\ref{fig:arbre-chen2019} présente l'arbre phylogénétique : +\begin{figure}[H] \centering <<'plot-arbre-chen'>>= tree <- read.tree(here("R","chen2019.tree")) @@ -485,6 +516,35 @@ CI/CD to build Latex pdf and create a release in with GitHub Actions. The workfl TODO: problèmes qu'on peut avoir eu : Satterthwaite estimation de la Hessienne pas stable, donc utilisation de l'analytique +\subsection{Ouvertures} + +De nombreux points restent à explorer, nous en proposons quelques-uns +ci-dessous.\newline + +Dans tout le rapport nous avons supposé que le processus de dérive était un +mouvement brownien mais nous aurions pu utiliser un autre processus comme le +processus d'Ornstein-Uhlenbeck. Ce dernier permet de modéliser des traits +tendant vers une valeur, ce qui peut correspondre par exemple à un optimum +écologique comme sur la figure~\ref{fig:OrnsteinUhlenbeck}.\newline + +\begin{figure}[H] + \centering + \includegraphics[width=0.5\textwidth]{OrnsteinUhlenbeck3.png} + \caption{Exemple de processus d'Ornstein-Uhlenbeck (tiré de Wikipédia)} + \label{fig:OrnsteinUhlenbeck} +\end{figure} + +Un autre point que l'on pourrait considérer, c'est que le LRT est un test +asymptotique, contrairement à l'ANOVA quequi est un test exact (sous les bonnes +hypothèses). Cela peut expliquer pourquoi leil est un peu moins bon sur +les simulations.\newline +Par contre, il dépend moins des hypothèses (le ratio des vraisemblance converge +sous des hypothèses faible). Cela peut peut-être expliquer pourquoi il est plus +robuste dans le cas des données rééelles, qui n'ont pas de raison de suivre le +bon modèle. + +\newpage + % Bibliographie \printbibliography \nocite{*} diff --git a/rapport.pdf b/rapport.pdf index 6493d4a..6f446c5 100644 Binary files a/rapport.pdf and b/rapport.pdf differ