La biologie pour data scientists : dogme central, gènes et comptages RNA-seq
Juste assez de biologie moléculaire pour lire un jeu de données omiques sans vous tromper vous-même — ce que sont les lignes, ce que signifient les chiffres, et pourquoi ils se comportent ainsi
Une introduction à la biologie moléculaire pour les data scientists qui connaissent R ou Python mais n’ont aucune expérience de laboratoire humide. Apprenez le dogme central (ADN → ARN → protéine), en quoi un gène diffère d’un transcrit et d’une protéine, ce que mesure réellement un comptage RNA-seq, et le fait statistique clé qui guide toute l’analyse en aval : pourquoi les comptages RNA-seq sont surdispersés et nécessitent donc un modèle binomial négatif plutôt qu’un t-test ou une loi de Poisson.
Date de publication
29 juin 2026
Modifié
7 juillet 2026
AstucePoints clés
Le dogme central est la carte en une ligne de la biologie moléculaire : ADN → (transcription) → ARN → (traduction) → protéine. Un gène est l’instruction ADN ; un transcrit est la copie ARN qui en est faite ; une protéine est ce en quoi cette copie est (souvent) traduite.
Le RNA-seq mesure l’ARN, pas la protéine. Le comptage d’un gène est le nombre de reads de séquençage qui s’y sont alignés — une estimation de combien ce gène a été transcrit dans cet échantillon.
Les comptages sont relatifs (compositionnels), pas absolus : un nombre plus grand peut traduire un échantillon séquencé plus profondément, pas un gène plus actif. C’est pourquoi la normalisation précède la comparaison.
Les comptages RNA-seq sont surdispersés : leur variance dépasse leur moyenne, contrairement à une loi de Poisson où variance = moyenne. La variabilité biologique + technique est l’étalement supplémentaire.
Ce seul fait explique pourquoi les outils d’expression différentielle modélisent les comptages avec la loi binomiale négative (DESeq2, edgeR), jamais un t-test ni une simple loi de Poisson. Comprenez cela et le reste du pilier suit.
Introduction
On vous a remis une matrice de comptage RNA-seq : ~60 000 lignes, une poignée de colonnes, chaque cellule un entier non négatif. Les lignes sont des gènes, les colonnes des échantillons, et quelqu’un veut savoir quels gènes ont changé entre deux conditions. Vous savez manipuler une matrice les yeux fermés — mais pour analyser celle-ci sans vous tromper vous-même, il vous faut juste assez de biologie pour répondre à trois questions : que sont les lignes, que signifient les chiffres, et pourquoi se comportent-ils ainsi ?
Cette leçon est la réponse, écrite pour un data scientist sans expérience de laboratoire humide. Aucune voie métabolique à mémoriser, aucune chimie — juste la base conceptuelle à laquelle le reste du pilier bioinformatique se rattache. Ensuite, vous saurez raisonner sur une matrice de comptage : lire ses lignes comme des gènes, traiter ses valeurs comme des estimations de la transcription plutôt que comme des vérités exactes, et comprendre pourquoi l’analyse RNA-seq fait appel à un modèle binomial négatif au lieu du t-test que vous utiliseriez presque partout ailleurs.
Le dogme central en une ligne
La biologie stocke ses instructions dans l’ADN, copie celles qui sont pertinentes en ARN, et (pour les gènes codant des protéines) traduit ces copies en protéines qui font le travail. Deux étapes relient les trois molécules : la transcription (ADN → ARN) et la traduction (ARN → protéine).
ADN
le gène · instructions stables stockées dans le génome
ARN
produit par transcription · la copie de travail (le transcrit)
Protéine
produite par traduction · la molécule qui fait le travail
L’élément qui compte pour votre matrice est celui du milieu. Le RNA-seq ne lit pas l’ADN (chaque cellule a essentiellement le même ADN) et il ne mesure pas la protéine. Il mesure l’ARN — les transcrits qu’une cellule fabrique activement — qui est le proxy mesurable le plus proche de « à quel point ce gène est-il actif en ce moment ».
Gène, transcrit et protéine
Ces trois mots ne sont pas synonymes, et les confondre cause de vraies erreurs :
Un gène est un segment d’ADN — une instruction fixe. L’humain possède environ 20 000 gènes codant des protéines.
Un transcrit est une copie ARN d’un gène. Un même gène peut produire plusieurs transcrits (appelés isoformes) en assemblant ses morceaux de différentes façons par épissage — donc « un gène » ne signifie pas « un ARN », et certainement pas « une protéine ».
Une protéine est la chaîne repliée d’acides aminés traduite à partir d’un transcrit. Différentes isoformes d’un même gène peuvent donner des protéines différentes aux fonctions différentes.
Une matrice de comptage standard « au niveau du gène » additionne tous les transcrits d’un gène en un seul nombre par gène. C’est le niveau auquel commencent la plupart des analyses — mais rappelez-vous que c’est un résumé : le gène est une ligne, même s’il peut correspondre à plusieurs molécules distinctes en dessous.
Ce que l’« expression » mesure réellement
L’« expression génique » paraît abstraite ; dans une matrice de comptage RNA-seq, elle est concrète. L’instrument fragmente l’ARN de l’échantillon en des millions de courts fragments, séquence chacun en un read (une courte chaîne de bases), et un logiciel rattache chaque read au gène dont il provient. Le comptage d’un gène est simplement le nombre de reads qui sont tombés dessus. Plus de reads ≈ plus de copies de l’ARN de ce gène dans l’échantillon ≈ le gène a été davantage transcrit. Un comptage est donc une estimation de l’activité transcriptionnelle — pas une concentration physique, une estimation issue d’un processus d’échantillonnage.
Deux conséquences en découlent immédiatement, et toutes deux façonnent chaque étape ultérieure :
Les comptages sont des entiers issus d’un processus d’échantillonnage. Ce sont des nombres entiers (on ne peut pas aligner un demi-read), et comme tout comptage ils portent un bruit d’échantillonnage — mesurez deux fois le même échantillon et les nombres fluctuent.
Les comptages sont relatifs, pas absolus (compositionnels). Chaque échantillon est séquencé à une certaine profondeur totale — sa taille de librairie, le nombre total de reads. Un gène avec 1 000 reads dans un échantillon de 40 millions de reads est moins exprimé qu’un gène avec 1 000 reads dans un échantillon de 10 millions de reads. Vous ne pouvez donc pas comparer des comptages bruts entre échantillons ; il faut d’abord les ramener à une échelle commune. C’est ce que fait la normalisation — traitée dans la série RNA-seq bulk, pas ici. Pour l’instant, retenez simplement l’idée : un nombre brut plus grand ne signifie pas automatiquement un gène plus actif.
Pourquoi les comptages RNA-seq sont surdispersés
Voici le pont statistique entre la biologie et votre analyse — le fait unique qui explique pourquoi le RNA-seq a sa propre boîte à outils.
Si compter des reads n’était qu’un processus d’échantillonnage, les comptages suivraient une distribution de Poisson, dont la propriété caractéristique est que la variance égale la moyenne. Mais la biologie ajoute une seconde source d’étalement : même deux réplicats « identiques » diffèrent — animaux, cellules, extractions, jours différents. Cette variabilité biologique se cumule au bruit d’échantillonnage technique, de sorte que, dans les données réelles, la variance est plus grande que la moyenne. Les comptages sont surdispersés.
On peut le constater en quelques lignes de R base — aucun package, aucune donnée réelle nécessaire. Tirez des comptages pour un gène dont la vraie expression moyenne est de 100, à la manière de Poisson (bruit d’échantillonnage seul) et à la manière binomiale négative (variabilité biologique supplémentaire), sur 1 000 échantillons simulés chacun :
mean variance
Poisson 99.504 98.13011
NegBinom 100.039 2101.56504
Les deux ont une moyenne proche de 100, exactement comme prévu. Mais regardez la variance : ~98 pour la loi de Poisson (elle suit la moyenne) et ~2 100 pour la binomiale négative — environ 21 fois plus grande. Le rapport variance/moyenne résume le contraste en un seul nombre :
set.seed(123)poisson <-rpois(1000, lambda =100)negbin <-rnbinom(1000, mu =100, size =5)# variance / mean: ~1 means Poisson-like; >1 means over-dispersedc(Poisson =var(poisson) /mean(poisson),NegBinom =var(negbin) /mean(negbin))
Poisson NegBinom
0.9861927 21.0074575
Le rapport de Poisson est ≈ 1 (variance = moyenne, par définition) ; le rapport binomial négatif est ≈ 21. Les vrais comptages RNA-seq ressemblent au second cas, pas au premier. C’est toute la raison pour laquelle les outils d’expression différentielle — DESeq2 et edgeR — modélisent les comptages avec la loi binomiale négative et estiment une dispersion par gène, au lieu de lancer un t-test (qui suppose des données à peu près normales et continues) ou une simple loi de Poisson (qui sous-estimerait gravement la variance et déclarerait bien trop de gènes « significatifs »). Quand vous verrez plus tard DESeq2 « estimer les dispersions », c’est ce qu’il mesure : combien d’étalement supplémentaire chaque gène possède au-delà de Poisson. (Un troisième outil populaire, limma-voom, atteint le même but autrement — il transforme les comptages en log-CPM avec des poids de précision et ajuste un modèle linéaire.)
NoteLes mathématiques derrière (optionnel)
La loi binomiale négative est un mélange Gamma–Poisson : les comptages sont de Poisson, mais le taux de Poisson lui-même varie d’un échantillon à l’autre (tiré d’une distribution Gamma) pour capturer la variabilité biologique. Cette couche supplémentaire gonfle la variance à
\[\sigma^2 = \mu + \alpha\,\mu^2\]
où \(\mu\) est la moyenne et \(\alpha\) la dispersion (\(\alpha = 1/k\), où \(k\) est l’argument size de rnbinom). Le terme \(\mu\) est la partie Poisson (échantillonnage) ; le terme \(\alpha\mu^2\) est l’excès biologique. Avec \(\mu = 100\) et \(\alpha = 1/5 = 0.2\), cela prédit \(100 + 0.2 \times 100^2 = 2100\) — exactement la variance que nous avons simulée ci-dessus. Quand \(\alpha \to 0\), le second terme disparaît et la loi binomiale négative se réduit à la loi de Poisson.
Comment cela se relie au pilier
Ces trois idées sont le socle sur lequel s’appuie la série d’analyse :
La matrice de comptage → un conteneur. La matrice d’entiers qu’on vous a remise, avec sa table d’échantillons et sa table de gènes, vit dans un unique objet Bioconductor — le SummarizedExperiment — afin que les trois pièces ne puissent jamais se désynchroniser.
La loi binomiale négative → l’expression différentielle. La surdispersion que vous venez de simuler est exactement ce que modélise l’expression différentielle avec DESeq2 pour décider quels gènes ont véritablement changé entre conditions.
Lisez cette introduction une fois et ces leçons cessent d’être un mur de vocabulaire nouveau — elles ne sont que les étapes concrètes suivantes sur ces trois mêmes idées.
Problèmes fréquents
Ce sont des pièges conceptuels, pas des erreurs de code — et ils mènent silencieusement à de mauvaises conclusions.
« Plus de reads signifie toujours plus d’expression. » Non. Un comptage brut dépend de la longueur du gène, de la taille de librairie de l’échantillon (la profondeur de séquençage) et de la composition globale de l’échantillon — pas seulement de l’activité du gène. Deux fois plus de reads peut simplement vouloir dire deux fois plus de séquençage. Ne comparez l’expression qu’après que la normalisation a ramené les échantillons à une échelle commune.
« Un gène égale une protéine. » Non. Un même gène peut produire plusieurs isoformes de transcrit par épissage alternatif, et celles-ci peuvent devenir des protéines différentes. Une matrice de comptage au niveau du gène condense tous les transcrits d’un gène en une seule ligne — pratique, mais c’est un résumé, pas une correspondance un-à-un du gène à la molécule.
« Le RNA-seq mesure les niveaux de protéines. » Non. Il mesure l’ARN (les transcrits). L’ARN est un proxy de l’activité, mais l’abondance d’ARN et l’abondance de protéines peuvent diverger (les protéines sont aussi régulées après la traduction). Si la question biologique porte sur la protéine, le RNA-seq en est une mesure indirecte — quoique très courante.
Questions fréquentes
NoteQu’est-ce que le dogme central de la biologie moléculaire ?
C’est le flux de l’information génétique dans une cellule : ADN → ARN → protéine. L’ADN est copié en ARN par transcription, et l’ARN codant est lu en protéine par traduction. L’ADN est l’instruction stockée, l’ARN la copie de travail, la protéine la molécule qui fait le travail.
NoteQue mesure réellement le RNA-seq ?
Le RNA-seq mesure l’ARN, pas l’ADN ni la protéine. Il fragmente et séquence l’ARN d’un échantillon, puis compte combien de reads s’alignent sur chaque gène. Ce comptage est une estimation de combien le gène a été transcrit dans cet échantillon.
NoteQuelle est la différence entre un gène et un transcrit ?
Un gène est un segment fixe d’ADN — une instruction. Un transcrit est une copie ARN faite à partir de ce gène. Un même gène peut produire plusieurs transcrits (isoformes) en épissant ses morceaux différemment, donc un seul gène n’équivaut pas à une seule molécule d’ARN ni à une seule protéine.
NotePourquoi les comptages RNA-seq sont-ils surdispersés ?
Parce que les comptages portent deux types de variation, pas un seul. Le bruit d’échantillonnage technique seul les rendrait de Poisson (variance = moyenne), mais les différences biologiques entre réplicats ajoutent un étalement supplémentaire, de sorte que la variance dépasse la moyenne. Cet excès est la « surdispersion ».
NotePourquoi ne pas simplement utiliser un t-test ou un modèle de Poisson sur les comptages RNA-seq ?
Un t-test suppose des données à peu près normales et continues — les comptages sont de petits entiers, asymétriques. Une loi de Poisson suppose variance = moyenne et sous-estime donc l’étalement réel, déclarant bien trop de gènes significatifs. La loi binomiale négative ajoute un terme de dispersion qui capture l’excès biologique, ce qui explique pourquoi DESeq2 et edgeR l’utilisent.
Testez vos connaissances
ImportantÀ vous : montrez la surdispersion vous-même
Simulez des comptages pour un gène de vraie moyenne 200 sur 500 échantillons, de deux façons : une loi de Poisson (rpois) et une loi binomiale négative (rnbinom, mu = 200, size = 4). Calculez le rapport variance/moyenne pour chacune. Laquelle ressemble à du vrai RNA-seq, et qu’est-ce que cela implique sur le modèle à utiliser ?
AstuceIndice
Pour la loi de Poisson, var(x) / mean(x) devrait se situer près de 1. Pour la binomiale négative, ce sera bien au-dessus de 1 — cet excès est la surdispersion. La formule de la variance binomiale négative est mu + mu^2 / size.
Le rapport binomial négatif est bien au-dessus de 1, donc sa variance dépasse largement sa moyenne — exactement comme de vrais comptages RNA-seq. Cela exclut une simple loi de Poisson (qui suppose variance = moyenne) et pointe vers un modèle binomial négatif tel que DESeq2 ou edgeR.
NoteVérification rapide : un gène a 1 000 reads dans l’échantillon A et 1 000 dans l’échantillon B. Est-il exprimé de façon identique ?
A. Oui — des comptages égaux signifient une expression égale. B. Pas forcément — cela dépend de la taille de librairie (profondeur de séquençage) et de la composition de chaque échantillon. C. Non — des comptages égaux signifient toujours une expression inégale.
AstuceAfficher la réponse
B. Les comptages bruts sont relatifs : 1 000 reads sur 10 millions représentent une part plus grande que 1 000 sur 40 millions. Tant que les échantillons ne sont pas normalisés à une échelle commune, des comptages bruts égaux ne signifient pas une expression égale.
Conclusion
Une matrice de comptage n’est pas aussi étrangère qu’elle en a l’air au premier abord. Ses lignes sont des gènes — des instructions ADN, copiées en ARN transcrits (certains gènes en plusieurs isoformes) et traduites en protéines, le dogme central en une ligne. Ses nombres sont des comptages de reads : des estimations de la transcription, relatives à la profondeur de chaque échantillon, et qui doivent donc être normalisées avant comparaison. Et leur particularité déterminante est la surdispersion — une variance bien au-dessus de la moyenne — ce qui est précisément pourquoi l’analyse RNA-seq modélise les comptages avec la loi binomiale négative plutôt qu’avec un t-test ou une loi de Poisson. Emportez ces trois idées dans le conteneur SummarizedExperiment et l’expression différentielle avec DESeq2, et le reste du pilier se lit comme de petites étapes concrètes.
Cette leçon est reproductible : chaque nombre de cette page a été produit par le code montré — copiez n’importe quel bloc et exécutez-le pour les reproduire. The runtime is the judge.
Comment cela se relie au pilier
Ces trois idées sont le socle sur lequel s’appuie la série d’analyse :
Lisez cette introduction une fois et ces leçons cessent d’être un mur de vocabulaire nouveau — elles ne sont que les étapes concrètes suivantes sur ces trois mêmes idées.