- Il est difficile de considérer l’ADN comme du code exécuté séquentiellement, mais l’expression génique et les voies de signalisation cellulaire comportent des mécanismes de régulation comparables à une logique de type IF/WHILE
- Les activateurs de transcription et les répresseurs de transcription correspondent de façon lâche respectivement à IF et WHILE, dans la mesure où ils activent ou bloquent la transcription d’un gène selon les conditions
- Des blocs entrée-sortie indépendants, comme des appels de fonction, sont difficiles à établir dans une cellule, car les réactions qui se produisent dans le même espace peuvent interférer entre elles
- On peut trouver des cas ressemblant à GOTO dans des connexions conditionnelles de réseau, des feedforward loops et des voies ramifiées, mais cela reste limité par le fait que l’ADN n’est pas exécuté séquentiellement
- Les systèmes biologiques sont en général parallèles et analogiques ; même s’il existe des exemples de portes logiques en biologie synthétique, il faut employer avec prudence la métaphore du code informatique
Les limites de l’analogie entre ADN et langage de programmation
- L’ADN n’est pas exécuté séquentiellement comme du code informatique, et de nombreuses transcriptions se produisent simultanément en parallèle
- Une ligne de code informatique a un sens strict et cohérent, alors que l’ADN codant est traduit en acides aminés, et la fonction des protéines émerge d’interactions chimiques complexes entre ces acides aminés
- Il est difficile de comprendre indépendamment un fragment d’ADN codant en dehors du contexte protéique qu’il produit
- Il existe dans les systèmes biologiques des voies qui fonctionnent d’une manière proche de l’informatique, mais ces comparaisons doivent être maniées avec plus de prudence au niveau des protéines qu’au niveau de l’ADN
Une régulation génique proche de IF et WHILE
- Les activateurs de transcription peuvent être vus comme un exemple similaire à IF, car lorsqu’ils sont présents, un gène donné est transcrit
- Toutefois, l’événement ne s’arrête pas avant la disparition du signal, et comme le programme continue tant que la cellule est vivante, IF fonctionne toujours en pratique comme une partie d’une boucle
- Les répresseurs de transcription sont comparés à WHILE dans la mesure où le gène est transcrit tant que le répresseur n’est pas présent
- L’interférence transcriptionnelle peut aussi être interprétée comme une forme proche de IF ou de WHILE
- Exemple :
if(x transcribed){not y transcribed} - Cette interférence n’est pas nécessairement binaire ; elle se manifeste plus souvent comme une réponse graduelle
- Exemple :
- Il existe aussi, au niveau de l’ARN, une interférence transcriptionnelle utilisant l’antisense RNA, qui fournit souvent une boucle de rétroaction négative
- Dans ce cas, l’interférence n’est pas un analogue direct d’une condition IF au niveau de l’ADN
Appels de fonction et voies modulaires
- Il est difficile de trouver une structure correspondant exactement à un appel de fonction
- Les événements intracellulaires se produisent dans le même espace et peuvent donc toujours interférer
- Les organites peuvent avoir, en tant que compartiments, des propriétés rappelant une fonction, mais ce ne sont pas de simples dispositifs d’entrée-sortie : ce sont des structures très complexes
- Certaines voies modulaires peuvent être comparées de façon lâche à des appels de fonction
- Exemple : dans la signalisation de l’apoptose, certaines séquences où une entrée donnée conduit à un effet presque constant peuvent être traitées comme un bloc de code
- Si l’on considère comme un seul bloc le processus entre l’activation des caspases et la fuite du cytochrome, on peut décrire plusieurs mécanismes de façon plus concise
- Le processus consistant à marquer une protéine avec de l’ubiquitine peut être interprété comme un appel de fonction pour sa dégradation
- Les récepteurs nucléaires (nuclear receptor), lorsqu’ils sont activés par un ligand, se déplacent du cytoplasme vers le noyau et déclenchent l’inhibition ou l’activation de gènes ainsi que des processus en aval ; on peut donc y voir un exemple d’appel de fonction
- Dans les protéines complexes assemblées à partir de plusieurs sous-unités, le remplacement d’une seule sous-unité est comparé à un appel de fonction ou au concept de composition
GOTO et voies ramifiées
- GOTO a surtout un sens dans du code exécuté séquentiellement, et comme l’ADN ne fonctionne pas de cette manière, il est difficile d’établir une correspondance directe
- On peut trouver des structures ressemblant à GOTO dans des connexions conditionnelles de réseau
- Exemple : s’il existe une voie A→B→C et une connexion distincte D→C, alors l’activation de D affecte directement C sans passer par A ni B
- Les feedforward loops et les voies ramifiées peuvent, dans certaines conditions, donner l’impression de contourner des étapes intermédiaires
- Une interprétation en commentaire proposait aussi de voir l’épissage des introns comme un GOTO où le pointeur du ribosome saute certaines valeurs, mais l’idée centrale reste que l’ADN n’a pas de structure d’exécution séquentielle
L’épissage et les structures de programmation de bas niveau
- L’épissage alternatif peut être comparé à IF dans la mesure où certains fragments d’ADN, les exons, peuvent être inclus ou exclus du transcrit qui code la protéine finale
- Ces comparaisons à bas niveau montrent des similarités entre concepts de programmation et régulation biologique, mais il est difficile de les considérer comme des équivalents exacts
- Pour expliquer le flux d’information dans une cellule, il faut examiner non seulement l’ADN, mais aussi le transcrit, les protéines et les réseaux de régulation
Les circuits logiques en biologie synthétique
- En biologie synthétique, il existe des exemples de portes logiques construites à partir de circuits biologiques
- Parmi les références mentionnées figure une review de Nature Reviews Genetics sur les circuits de biologie synthétique
- Siuti et al. 2013 est cité comme un exemple d’utilisation de bactéries pour stocker de l’information et l’assembler en circuits biologiques afin de traiter des fonctions logiques
- Le programme biobricks.org est présenté comme une tentative de définir des composants modulaires tels que des capteurs, des fonctions logiques et des effecteurs
La cellule, plus proche d’un feedback analogique que d’un code numérique
- La cellule a, comme de nombreux systèmes physiques, un caractère analogique, et dans la plupart des situations les variables ne se divisent pas en valeurs binaires 0/1
- Dans l’expression génique, lorsqu’un activateur de transcription est présent, le gène est transcrit ; si la concentration de l’activateur augmente, le niveau d’expression augmente jusqu’à atteindre un point de saturation
- Des comportements de commutation sont néanmoins possibles dans les systèmes biologiques
- Certaines structures de réseaux de régulation peuvent produire ce type de dynamique
- La coopérativité (co-operativity), avec ou sans rétroaction positive, est l’un des mécanismes permettant de mettre en œuvre un comportement de commutation
- Sont également mentionnés le concept d’ultrasensitivity et une question sur Biology Stack Exchange traitant de la possibilité de transformer une variable continue en variable booléenne
1 commentaires
Commentaires Hacker News
L’ADN n’a peut-être pas de structures de programmation, mais il a certains aspects qui fonctionnent comme un réseau de neurones. Il suffit de regarder les « réseaux de régulation génétique » (Gene regulatory networks)
Certaines protéines n’ont pour rôle que d’activer d’autres gènes, et ces facteurs de transcription sont au cœur des réseaux de régulation ou des réactions en chaîne. Ils se lient à des régions promotrices situées au début d’autres gènes pour les activer, ce qui lance ensuite la production d’autres protéines. Certains facteurs de transcription jouent aussi un rôle d’inhibition
Ces réseaux ressemblent à des réseaux de neurones en ce qu’ils traitent l’information via des nœuds interconnectés — gènes et protéines — et modifient mutuellement leur activité. Lorsqu’un facteur de transcription active ou inhibe un gène, cela peut déclencher une cascade d’événements, d’une manière qui rappelle la façon dont des neurones s’activent les uns les autres
https://en.m.wikipedia.org/wiki/Gene_regulatory_network
On a réalisé pas mal de progrès dans l’ingénierie de programmes permettant à des cellules T humaines de tuer conditionnellement des cellules cancéreuses cibles selon l’expression de marqueurs de surface. C’est à mettre en regard des cellules CAR-T déjà sur le marché (Kymriah, etc.). De simples circuits de cellules T à porte AND sont actuellement testés chez l’humain
Il existe désormais plusieurs stratégies pour écrire, avec des circuits synthétiques, des programmes de décision cellulaire. Nous entrons dans une époque où l’on écrit des programmes ADN que l’on introduit dans le corps humain ; maintenant que l’on passe des preuves de concept bactériennes aux vrais essais cliniques humains, je me demande comment susciter davantage l’intérêt des informaticiens pour la « biologie de synthèse comme programmation »
https://pubmed.ncbi.nlm.nih.gov/33243890/
https://arsenalbio.com/2023/05/16/arsenalbio-announces-prese...
Une affirmation du type : telle séquence d’ADN, si elle interagit avec un champ électromagnétique, la gravité ou les interactions forte/faible présentant les propriétés xyz, mutera selon la trajectoire abc, devrait être écartée si elle n’est pas étayée par une analyse statistique reproductible
À mon avis, l’obsession du secteur IT pour les modèles de données a poussé les gens vers une pseudo-science qui ignore l’entropie et l’effet Lindy. Les structures peuvent changer, pas les forces physiques. Une structure de données n’est pas une force physique ; c’est plutôt un modèle mental fuyant que la biologie garbage-collecte à cause de l’entropie et de l’effet Lindy
C’est l’avis d’un ingénieur électricien qui trouve l’obsession pour le développement logiciel étrange, et pleine de mirages statistiques et de réussites hallucinées
Les réseaux de régulation génétique sont un peu plus dynamiques qu’un strict marche/arrêt, mais comme ils comportent plusieurs types d’interactions, par exemple des amplificateurs et des répresseurs, ils semblent pouvoir mieux modéliser des portes logiques qu’un réseau de neurones classique
Par « généraux », j’entends qu’ils peuvent approximer ou modéliser de nombreux systèmes dynamiques capables de composition opératorielle
J’enseigne un cours sur la créativité et l’innovation à l’université. Je montre beaucoup d’exemples d’inventions issues de l’observation de la nature ; par exemple, le Velcro est né après que son inventeur a vu des fruits de bardane s’accrocher au pelage de son chien
J’ai l’intuition qu’en observant la nature, et en particulier la façon dont l’esprit humain fonctionne, il reste encore des découvertes à faire en informatique. J’imagine que le résultat serait quelque chose de fondamental, qui changerait notre manière même de comprendre le calcul
https://arxiv.org/pdf/1307.4186.pdf
Une idée importante est que, dans beaucoup de cas, il s’agit davantage d’inspiration que d’une reproduction directe de la conception. La biologie fonctionne sous des contraintes très différentes de celles des machines humaines ; si un ingénieur ou un designer essaie de rester trop fidèle à l’original biologique, cela peut mal tourner
J’ai toujours pensé à l’ADN comme à une programmation étalée sur des millions d’années. Une succession de bouts de code bricolés, à peine fonctionnels, sans commentaires ni documentation
Les raisons pour lesquelles tel morceau de code a pris cette forme se sont entièrement perdues dans le temps. Tout ce que nous savons, c’est que le modifier est généralement mauvais, que certains blocs de code conduisent à certains comportements, et que plus on regarde de près, plus cela ressemble à du code spaghetti
Le gène KMT2D est l’un des exemples de gènes qui régulent l’expression d’autres gènes. Lorsqu’il présente un défaut, il entraîne souvent le syndrome de Kabuki
Si ma mémoire est bonne, la conférence de Bert Hubert « DNA: The Code of Life (SHA2017) » montre un exemple de comportement de type IF
https://en.wikipedia.org/wiki/KMT2D
https://en.wikipedia.org/wiki/Kabuki_syndrome
https://www.youtube.com/watch?v=EcGM_cNzQmE
À propos de la première réponse, Tim Blais, sur YouTube, a créé une chanson d’edutainment très accrocheuse sur les machines moléculaires, à partir des travaux de A. Leigh
L’animation est aussi excellente, et montre comment un « interrupteur » électrochimique peut encoder un état binaire. En principe, on pourrait aussi s’en servir pour fabriquer des portes logiques
https://www.youtube.com/watch?v=ObvxPSQNMGc
https://pubs.acs.org/doi/10.1021/acs.chemrev.5b00146
https://www.nature.com/articles/s41467-021-26937-x
Certaines entreprises essaient d’utiliser cette approche pour la conception de médicaments. Par exemple avec des conditions du type « n’active ceci que lorsque les deux anticorps se sont liés »
Question intéressante. L’encodage et l’expression génétiques sont fondamentalement probabilistes, car c’est ce qui rend l’évolution possible
À l’inverse, ce serait très mauvais si les opérations de base d’un CPU avaient un taux d’erreur comparable. Le commentaire plus haut sur la création de portes logiques avec des circuits biologiques était intéressant, et je me demande aussi s’il existe des exemples de langages de programmation probabilistes qui effectuent des calculs avec un niveau de bruit similaire à celui des cellules
Une analogie plus proche serait peut-être un langage de description matérielle qui synthétise des circuits analogiques de calcul. Ces circuits ressemblent à des ordinateurs analogiques affectés par le bruit du rayonnement électromagnétique de leur environnement
En ce sens, cela s’est déjà fait sous une forme très rudimentaire à l’époque du calcul pré-numérique
S’il y a du lactose dans l’environnement extracellulaire et pas de glucose, l’opéron lac s’active, transcrit les gènes d’absorption et de métabolisme du lactose, et entre dans une boucle while
Tant qu’il y a du lactose, il continue à transcrire ces gènes
Mais ce n’est pas l’ADN qui fait cela tout seul : cela se produit en tant que composant du système cellulaire. Dans ce cas, E. coli produit toujours une quantité minimale de transporteurs du lactose et d’autres sucres, qui agissent comme des capteurs dans la membrane cellulaire et déclenchent une boucle de rétroaction. Sinon, comment la cellule saurait-elle qu’il y a du lactose ?
En présence de glucose, E. coli l’utilise en priorité et régule à la baisse les gènes d’absorption et de métabolisme des autres sucres. Tout cela est nettement plus analogique que numérique : même les gènes « éteints » peuvent encore être transcrits à un niveau très faible
L’ADN ressemble davantage à de la RAM, tandis que le CPU serait plutôt le transcriptome (ADN → ARNm) et les ribosomes (ARNm → protéine). Globalement, la cellule exécute quelque chose qui ressemble à un cycle fetch-decode-execute parallèle et multiprocessus
Je me suis toujours demandé comment voir l’ADN du point de vue des langages de programmation, mais j’ai fini par penser qu’il ressemble davantage à une structure de données qu’à un langage
Je me suis brièvement intéressé à la biologie synthétique et j’ai lu ce manuel d’introduction : https://www.amazon.ca/Introduction-Systems-Biology-Principle...
Si vous avez suivi un cours de type « ingénierie système » ou « systèmes de contrôle », avec des oscillateurs et des systèmes de contrôle de haut niveau utilisés dans différents domaines de l’ingénierie, ce livre est une bonne introduction pour comprendre comment ces systèmes sont « implémentés » et fonctionnent dans les cellules. Plutôt que des boucles « IF » et « WHILE », il s’agit davantage de quelque chose comme « comment des circuits logiques, par exemple l’algorithme de recherche de chemin d’E. coli, sont implémentés dans l’ARN »
Si la biologie computationnelle vous intéresse, les cours de George Church sont excellents
D’après la description du cours, celui-ci traite des relations entre séquence, structure et fonction dans les réseaux biologiques complexes, ainsi que des avancées en modélisation réaliste pour l’analyse fonctionnelle, quantitative et globale des génomes. Les exercices couvrent les algorithmes, les statistiques, les bases de données et les approches par simulation, ainsi que des applications à la médecine, aux biotechnologies, au développement de médicaments et au génie génétique
https://ocw.mit.edu/courses/hst-508-genomics-and-computation...