à la longueur d'onde absorbée. Le déplacement de Stokes est le décalage entre la longueur d'onde de la lumière émise et la longueur d'onde de la lumière absorbée (Figure 8.18).

**Fluorescence des acides nucléiques.** Toutes les molécules ne sont pas capables d'absorber de la lumière et plus précisément les photons. Pour faire de la spectrofluorimétrie, il faut des molécules capables d'absorber et d'émettre des photons (des fluorophore). Les acides nucléiques présentent une fluorescence entre 300 et 400 nm pour une excitation à 267 nm (Figure 8.19). Cette fluorescence est cependant très faible et de courte durée (relaxation rapide) [Vaya, 2010 ; Markovitsi, 2012] que nous souhaitons cependant exploiter.

<figure><img src="image_65.png" /><figcaption>**Figure 8.19.** Fluorescence des acides nucléiques. La courbe bleue montre le spectre de fluorescence d'ADN de thymus de veau dans du tampon phosphate après excitation à 267 nm. (la courbe rouge est à ignorer). La figure est extraite de [Vaya, 2010].</figcaption></figure>

**Fluorimètre.** Un spectrofluorimètre est utilisé pour mesurer l'intensité de fluorescence. Une source continue de lumière excitatrice de type lampe au Xénon vient exciter les électrons de certaines molécules présentes dans la cuve en quartz. En réponse, ces molécules émettent de la lumière de plus basse énergie. L'utilisation d'une lampe au Xénon à large bande spectrale permet d'avoir *une gamme d'excitation importante* entre 200 et 800nm. L'échantillon reçoit une lumière avec une longueur d'onde monochromatique, sur une des faces de la cuve de section carrée. Cette lumière excite les fluorophores présents qui réémettent de la lumière de longueur d'onde plus faible. Cette lumière est analysée en sortie sur une face de la cuve orthogonale à celle d'excitation. Seule la lumière issue de la fluorescence peut provenir de cette face (voir figure 8.20).

L'analyseur (monochromateur d'émission), comme le dispositif d'excitation (monochromateur d'excitation) sont mobiles et peuvent sélectionner une longueur d'onde assez précise (avec une fenêtre d'environ 1 nm de large en général). Il est possible alors de balayer la longueur d'onde
d'excitation et, pour chaque longueur d'onde d'excitation, balayer le spectre d'émission. Cela permet
l'obtention de spectres complets d'excitation-émission.

**Figure 8.20.** **Schéma de fonctionnement d'un spectrofluorimètre.** La lumière produite par la source d'excitation (au xénon) passe par un monochromateur d'excitation, qui filtre la lumière pour une longueur d'onde déterminée, puis atteint la cuve sur une de ses faces. La mesure de la lumière réémise se fait sur une face orthogonale ; celle-ci ne peut provenir ainsi que d'un phénomène de fluorescence. Un monochromateur d'émission couplé à un photomultiplicateur permet d'analyser le spectre d'émission. Le balayage du spectre d'excitation et celui du spectre d'émission pour chaque longueur d'onde d'excitation permet d'obtenir un spectre 2D d'excitation-émission.

<figure><img src="image_66.png" /><figcaption>Figure 1.5 – Principe de fonctionnement d'un spectrofluorimètre standard</figcaption></figure>

***Quenching de fluorescence.*** Nous souhaitons exploiter le quenching de fluorescence dans cette expérience. On appelle quenching de fluorescence le processus de diminution de l'intensité de fluorescence d'une solution due à une interaction moléculaire. Le quenching met en jeu l'interaction d'une molécule excitée qu'on appelle F* (le Fluorochrome) avec une molécule Q (le Quencheur). Lors de l'excitation par une source lumineuse, les molécules Q vont affecter la fluorescence des molécules excitées F*. Les molécules F* et Q se comportent comme un complexe (F*...Q) qui aura son propre chemin de désactivation (relaxation de fluorescence) et sa propre durée de vie de fluorescence τ comme le montre le schéma de Valeur and Berberan-Santos (Figure 8.21). C'est un processus qui implique une diminution du rendement quantique Φ d'un fluorochrome ce qui se traduit par un affaiblissement de l'émission de fluorescence. Le rendement quantique de fluorescence rend compte de la compétition entre les phénomènes de désexcitation radiatifs et non radiatifs. Il correspond au rapport du nombre de photons émis sur le nombre de photons absorbés par le fluorophore, mais aussi au rapport du nombre de photons émis sur le nombre de molécules excitées. C'est aussi la probabilité pour qu'une molécule excitée émette un photon. Ainsi, la présence d'un quencheur, dans notre cas des acides aminés (Q) entrant en interaction (donc formant un complexe) avec des acides nucléiques (F), doit affecter le spectre de fluorescence.

Le transfert d'énergie entre la molécule F* et le quencheur provoque la baisse de l'intensité de fluorescence et, en cas de transfert radiatif (transfert d'énergie avec perte d'un photon), on peut assister à un décalage de la longueur d'onde d'émission vers les plus grandes longueurs d'onde (moins grande énergie).

Un des avantages de cette technique est qu'elle est simple à mettre en œuvre et non destructive, mais elle est très longue à mettre en œuvre car l'acquisition de spectres est très lente avec l'appareil dont nous disposons (une acquisition dure plusieurs heures).
<figure><img src="image_67.png" /><figcaption>**Figure 8.21.** Principe général du quenching de fluorescence. La proximité maintenue d'un quencheur Q avec une molécule M (un fluorophore, noté F dans le schéma de droite, F* dans sa forme excitée), va affecter la fluorescence de ce dernier. Ce qui émet de la fluorescence désormais, c'est le complexe (F*...Q).</figcaption></figure>

### 8.2.6.2.c. Mesure RMN et Nuclear Overhauser Effect (NOE)

Je décris ici plus brièvement le dispositif de mesure par RMN-NOE car les mesures par résonance magnétique nucléaire sont classiquement utilisée et parce que le NOE s'apparente beaucoup au quenching de fluorescence décrit ci-dessus.

Le principe de la RMN est le suivant : à l'aide d'un aimant puissant, on oriente les spins (moments cinétiques) des noyaux des atomes présents dans le milieu étudié selon l'axe du champ magnétique. Les spins nucléaires sont alors uniformément orientés dans une direction ou dans la direction opposée selon l'axe du champ magnétique. L'application d'une radiofréquence (une onde électromagnétique donc) permet de faire basculer une certaine proportion de spins avec une orientation différente de celle du champ magnétique. La relaxation vers l'orientation première (axe du champ) se fait avec réémission de radiofréquences. C'est cette réémission qui est mesurée ainsi que les temps de relaxation. Ces informations donnent accès au voisinage atomique des atomes ayant subit cette excitation-relaxation.

Lorsque le voisinage des atomes ciblés change, cela se traduit par des changements sur le spectre RMN. Parmi les changements de voisinage atomique possibles, il y a le rapprochement de deux molécules dans le cas de la formation de complexes non-covalents comme celui décrit précédemment dans la partie fluorescence et que nous espérons voir se former entre trinucléotides et acides aminés correspondants. Lorsqu'un rapprochement moléculaire se fait à une distance suffisamment faible (4-6 angström) et pendant une durée comparable au temps de relaxation, un transfert d'énergie peut se faire entre les espèces moléculaires en présence. Cela se traduit par un élargissement des raies spectrales. C'est l'effet nucléaire overhauser (Nuclear Overhauser Effect).

### 8.2.6.3. Moyens matériels

**Laboratoire et petit matériel.** Avec le financement IDEX, j'ai pu acheter tout le petit matériel nécessaire pour mon projet de recherche (pipettes, contenants en plastique et en verre, ..., matériel de protection, mais aussi les produits comme les tampons, les séquences nucléotidiques, les acides aminés ...). Je dispose également d'un spectrophotomètre et j'ai fait l'acquisition d'un pH-mètre.
**ITC.** Nous avons à Grenoble 2 ITC à notre disposition : un ITC200 au laboratoire IBS (Institut de Biologie Structurale à Grenoble), et un CSC 5300 Nano-ITC au laboratoire des très petites interactions au CNRS, institut Néel à Grenoble. Avec mon étudiante en M2, J. Garcia, nous avons suivi en 2020 une formation détaillée sur les deux instruments et réalisé bon nombre de tests avec les tampons (voir plus bas). J. Garcia, en s'inspirant d'un programme développé par H. Guillou, a également développé un programme en Python pour calculer la ligne de base et intégrer les pics d'enthalpie.

**Spectofluorimétrie.** Un Perkin Elmer Luminescence Spectrometer Model LS-50B est mis à ma disposition au laboratoire national des champs magnétiques intenses (LNCMI) du CNRS, à Grenoble, par mon collaborateur Eric Beaugnon.

Ce spectofluorimètre génère des fichiers au format propriétaire SP3 (binaires). Pour les convertir en fichiers HP5 (ASCII) exploitables, nous utilisons un convertisseur écrit en C, disponible à [SP3, 2013]. Pour lire les fichiers H5, Justine Garcia a développé un programme en Python permettant d'extraire les données d'intérêt.

**RMN-NOE.** Au laboratoire national des champs magnétiques intenses (LNCMI) du CNRS, à Grenoble, fin 2019, mon collaborateur Eric Beaugnon et le directeur de l'équipe Steffen Krämer ont obtenu du Max Planck Institute un aimant destiné à la RMN. Nous souhaitons utiliser cet instrument qui est cours de montage pour ce projet et pour une thèse (Nuclear magnetic resonance investigations on paramagnetic relaxation enhancement of ultra-high spin clusters) que nous avons déposée et qui est financée par l'IDEX.

### 8.2.6.4. Plan expérimental

**Choix des acides aminés et des séquences nucléotidiques.** Il n'est pas possible dans un premier temps de mesurer les 1280 combinaisons d'interactions entre les 64 codons et les 20 acides aminés. De plus, il faut que ces séquences obéissent à un certain nombre de critères. J'ai donc choisi de n'en mesurer qu'un certain nombre, répertoriés dans le tableau ci-dessous (figure 8.22).

D'abord, il faut que les codons entre eux aient un nombre d'interactions limitées et tout du moins qu'ils ne s'hybrident pas entre eux (par exemple CGG peut s'hybrider avec lui-même). Dans le tableau, on élimine ainsi tous les couples codons - anti-codons en blanc ; les verts ne peuvent pas s'auto-hybrider trop spécifiquement. Ensuite, j'ai sélectionné un certain nombre de codons-anticodons dont les 2 premières bases (supercodons et super-anticodon) et l'acide aminé correspondant se trouvent dans le code génétique ancestral supposé à 2 lettres (voir section 8.2.2 la figure 8.8). Ces paires acide aminé-anticodon sont repérées dans le tableau avec un O rouge. Enfin, j'ai choisi de retenir des codons-anticodons pour acides aminés de types assez différents (la proline, la leucine et l'isoleucine neutres, la sérine alcoolisé, l'histidine, la lysine, et l'arginine basiques, le glutamate acide, la cysteine soufré) et dont les interactions sont suspectées fortes avec leurs anti-
codons (comme l'arginine).

<table><caption>Figure 8.22. Choix des anticodons.</caption><thead><tr><th>Codon - Anticodon</th><th>Pro</th><th>Ser</th><th>Thr</th><th>Ala</th><th>Leu</th><th>Phe</th><th>Ile</th><th>Met</th><th>Val</th><th>His</th><th>Gln</th><th>Tyr</th><th>Asn</th><th>Lys</th><th>Asp</th><th>Glu</th><th>Arg</th><th>Cys</th><th>Trp</th><th>Gly</th></tr></thead><tbody><tr><td>CCC</td><td>GGG</td><td>O</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CCT</td><td>GGA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>CCA</td><td>GGT</td><td></td><td></td><td>Δ</td><td>Δ</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>CCG</td><td>GGC</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>TCC</td><td>AGC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TCT</td><td>AGA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TCA</td><td>AGT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TCG</td><td>AGC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ACC</td><td>TGG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ACT</td><td>TGA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ACA</td><td>TGT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ACG</td><td>TGC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GCC</td><td>CGG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GCT</td><td>GCA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GCA</td><td>CGT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GCG</td><td>CGC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CTC</td><td>GAG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CTT</td><td>GAA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CTA</td><td>GAT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CTG</td><td>GAC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TTC</td><td>AAG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TTT</td><td>AAA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TTA</td><td>AA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TTG</td><td> AAC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ATC</td><td>TAG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ATT</td><td>TAA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ATA</td><td>TAT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>ATG</td><td>TAC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GTC</td><td>CAG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GTT</td><td>CAA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GTA</td><td>CAT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GTC</td><td>CAG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GTT</td><td>CAA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CAC</td><td>GTG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CAT</td><td>GTA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CAA</td><td>GTT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CAG</td><td>GTC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TAC</td><td>ATG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TAT</td><td>ATA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TAA</td><td>ATT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TAG</td><td>ATC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AAC</td><td>TTG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AAT</td><td>TTA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AAA</td><td>TTT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AAG</td><td>TTC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GAC</td><td>CTG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GAT</td><td>CTA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GAA</td><td>CTT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GAG</td><td>CTC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CGC</td><td>GCG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CGT</td><td>GCA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CGA</td><td>GCT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>CGG</td><td>GCC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TGC</td><td>ACG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TGT</td><td>ACA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TGA</td><td>ACT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>TGG</td><td>ACG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AGC</td><td>TCG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AGT</td><td>TCA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AGA</td><td>TCT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>AGG</td><td>TCC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GGC</td><td>CCG</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GGT</td><td>CCA</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GGA</td><td>CCT</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr><tr><td>GGG</td><td>CCC</td><td></td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td><td>Δ</td></tr></tbody></table>

Ce tableau montre la correspondance anticodons-codons substitués par un acide aminé, prévue par calcul par Hendry et al [Hendry, 1981] et les anticodons sélectionnés pour les mesures d'affinité anticodons-acides aminés. La correspondance anticodons - acides aminés du code génétique est indiquée en noir. Les zones grisées et noires représentent les meilleures affinités obtenues par calcul par Hendry et al. Les lignes pointillées rouges — correspondent aux codons-anticodons stop. La ligne vert pointillée — correspond au codon initiateur (méthionine). Les triangles oranges △ représentent les couples anticodons – acides aminés que je souhaite tester. Les ronds rouges O représentent les couples anticodons – acides aminés existants dans le code génétique à 2 lettres.

J'ai ainsi sélectionné 12 anti-codons repérés dans le tableau par une ligne remplie de symboles triangulaires oranges △ : 5'GGG3' codant pour la proline, 5'AGA3' codant pour la sérine, 5'GAG3', 5'GAA3' et 5'AAC3' codant pour la leucine, 5'AAG3' codant pour la phénylalanine, 5'GTG3'
codant pour l'histidine, 5'TTT3' et 5'TTC3' codant pour la lysine, 5'CTC3' codant pour le glutamate, 5'ACA3' codant pour la cysteine, 5'TCT3' codant pour l'arginine. Tous ces trinucléotides ont été synthétisés par la plateforme Nanobio de l'UFR de chimie de l'Université Grenoble Alpes.

**Choix des tampons et préparation des solutions.** Toutes les solutions sont préparées à pH 7. Le choix des tampons [Ferreira, 2015] est critique dans l'expérience de microcalorimétrie car il a été montré que certains tampons comme le TRIS classiquement utilisé en biologie et particulièrement adapté aux solutions d'oligonucléotides, peuvent se montrer très problématiques car réagissant entre eux et potentiellement avec les cuves métalliques des microcalorimètres. Avec de tels tampons, il est presque impossible d'obtenir une ligne de base stable et surtout, l'ajout de ligand (injections) provoque des réactions avec le tampon. Ces réactions sont faibles, mais un ITC mesure des variations de température de l'ordre du microkelvin ; les variations de chaleur liées au tampon sont donc catastrophiques. Des tests ont été réalisés en février et début mars 2020 avec un tampon TRIS qui ont confirmé une forte dérive. Nous utiliserons donc du tampon phosphate qui ne provoque pas ce type de dérive.

Les volumes utilisés dans l'ITC et dans les cuves spectro sont de 350 µl. Les injectas (acides aminés) de l'ITC sont d'environ 40µl au total. Les solutions d'oligonucléotides sont concentrées à 30 µM et les solutions d'acides aminés à 300 µM. Toutes les solutions sont préparées à partir de lyophilisats (oligos et AAs) resuspendues en solution concentrées dans le tampon et diluées par la suite. Les solutions d'oligonucléotides sont ensuite dosées par spectrométrie d'absorption (loi de Beer-Lambert $A=E.c.l$ avec E le coefficient d'absorption, c la concentration de l'entité à doser, l la longueur du chemin optique) pour connaître leur concentration exacte (essentielle pour l'ITC). La longueur d'onde d'absorption $λ_{max}$ est corrigée par rapport à la fraction de nucléotides A, T, G, C dans chaque oligonucléotide ($λ_{max}$= (256.7 × fA) + (265.7 × fC) + (247.3 × fG) + (265.1 × fT)), de même que le coefficient d'absorption E qui est corrigé par la méthode du plus proche voisin, comme indiqué dans la méthode [ATDBio]. La pureté des solutions d'oligonucléotides est également vérifiée en analysant les rapports $A_{260nm}/A_{280nm}$.

**Expérience en ITC.** Pour titrer dans l'ITC les oligonucléotides par des acides aminés et obtenir le niveau d'affinité entre ces espèces chimiques, nous utilisons les oligonucléotides comme cibles et des solutions d'acides aminés comme ligands à injecter. Pour chaque trinucléotide, on souhaite tester 10 interactions avec 10 acides aminés différents.

En pratique, pour optimiser l'expérience, nous avons choisi dans un premier temps de vérifier qu'une interaction est mesurable entre de l'ADN de sperme de saumon et une solution de plusieurs acides aminés. Dans un second temps, nous utiliserons des mélanges de 2 ou 3 cibles nucléotidiques différentes face à un acide aminé unique. Ces triplets de trinucléotides sont choisis tels qu'ils ne peuvent pas s'auto-hybrider (ex : 5'GGG3', 5'AGA3' et 5'GAG3'). En utilisant plusieurs triplets,
mettant en commun un trinucléotide, nous espérons ainsi optimiser le nombre d'expériences à réaliser. Si une forte interaction est trouvée entre un triplet de trinucléotides et un acide aminé, alors il est toujours possible de refaire 3 expériences confrontant chaque trinucléotide du triplet et l'acide aminé en question. J. Garcia a ainsi établi un protocole expérimental optimisant ces triplets de trinucléotides.

**Expérience en spectrofluoroscopie (et RMN).** Il s'agit de mettre en évidence le quenching de fluorescence (ou RMN) d'oligonucléotides du à un acide aminé affine. Pour chaque oligonucléotide, il faut d'une part établir le spectre de fluorescence de l'oligonucléotide seul, ensuite en présence d'acide aminé. La différence entre les spectres peut montrer un effet de quenching.

### 8.2.7. Simulation de proto-métabolismes

Dans la partie théorique de ce projet, on souhaite étudier par simulation la formation de proto-métabolismes, c'est-à-dire de boucles auto-entretenues d'éléments capables de réagir entre eux, et leur auto-organisation spatiale. Notons que plutôt qu'une modélisation au sens de la reproduction à partir d'observations d'un système biochimique, il s'agit davantage de la conception, à partir de concepts et d'hypothèses, d'un système de biochimie artificielle pour de l'expérimentation numérique. L'objectif souhaité est de valider un scénario plausible du passage de l'expérience de Miller à l'obtention des premiers métabolismes auto-entretenus doublée d'une compartimentation de l'espace propice à leur pérennité. Au fil des raffinements du modèle et des simulations, ce scénario prendra en compte des connaissances issues de la biologie et de biochimie.

Je présenterai cette partie sous la forme de défis dans sa mise en œuvre, soulignant deux problèmes majeurs d'ordre scientifique et une difficulté relativement mineure d'ordre technique. Je décrirai dans la foulée le travail préliminaire que nous avons fait avec H. Bouvier, étudiant en M1 informatique pour éliminer ou contourner un certain nombre de ces difficultés.

#### 8.2.7.1. 1er problème : saisir l'essence du système proto-métabolique auto-amplifié

C'est le problème le plus fondamental faisant obstacle dans la réalisation de cette partie du projet : concevoir un système artificiel capable à la fois de représenter ce que l'on souhaite simuler, ici l'émergence d'un proto-métabolisme, sans tomber dans l'excès de réalisme impossible à prendre en compte (ex : une chimie simulée dont ni la simulation, à cause de limites techniques, ni la complétude nécessaire pour représenter un système réaliste, ni l'analyse, à cause de l'immense diversité des composés et de leurs configurations, ne sont possibles), ni dans le travers inverse qui est une symbolisation excessive d'un système qui ne s'apparentera alors plus (plus assez du moins) à l'objet biologique que l'on souhaite étudier, qui ne contiendra de complexité que celle que l'on aura déjà prévue en construisant le système artificiel. Dans le cadre de proto-métabolismes, rappelons que l'on parle de l'émergence de boucles auto-entretenues entre d'une part des effecteurs (les
peptides) et d'autre part des molécules support d'information (acides nucléiques). Dans un système réel, ces molécules adoptent possiblement des conformations particulières présentant certains groupements chimiques, configurations desquelles émergent des activités chimiques incluant de simples appariements avec d'autres molécules, des hydrolyses et un très grand nombre de réactions de combinaison (condensations ...) de molécules entre elles. Le nombre de configurations (de parties de molécules) chimiquement actives est proprement énorme ; le nombre de configurations qui ne le sont pas l'est tout autant. De cet immense diversité moléculaire et diversité de configurations chimiques actives ou non, de nouvelles molécules vont se former et participer avec l'ensemble à la chimie du mélange. Ce que l'on attend, c'est que de ce mélange émerge un cycle qui amplifie tout ou partie de ce mélange lui même.

Réaliser un cycle auto-entretenu avec un modèle numérique est simple. Des systèmes de réécriture (ex : P-Systems) peuvent facilement simuler une auto-amplification d'un milieu chimique. Pour autant, en procédant ainsi, on perd l'essentiel de ce que l'on veut montrer : que des acides nucléiques et leur propriétés (configurations, réactions, ...), couplés avec des peptides et leurs propriétés (configurations, réactions, ...), constituent un système qui au fur et à mesure des réactions fasse émerger une boucle d'amplification de certains acides nucléiques et certains peptides. Comme il n'est pas possible d'intégrer une chimie réaliste, il faut clairement définir la modélisation de chacun des éléments qui joueront un rôle dans ce système artificiel. Les systèmes typogénétiques de Hofstadter et Varetto sont une solution acceptable [Hofstadter, 1979 ; Varetto, 1993 & 1998]. En effet, ces auteurs incluent le fait que les acides nucléiques sont des molécules informatives codant pour des peptides, la traduction étant implicite dans ce modèle, et que les peptides sont les espèces réactives. Les peptides sont formés d'acides aminés vus comme des micro-fonctions (copie, coupe, ...) et ont une conformation codée dans la succession d'acides aminés elle-même. La conformation replie la séquence d'acides aminés/micro-fonctions d'une telle manière que ce peptide constitue un programme qui est exécuté sur la molécule ciblée (celle qu'on lui présente), un acide nucléique. D'un mélange complexe de peptides et d'acides nucléiques, il est effectivement impossible de prévoir à l'avance (de tête) quel devenir ce mélange aura ; on espère une convergence vers une boucle de type métabolique. Presque tous les ingrédients nécessaires à la recherche de l'émergence de proto-métabolismes sont présents.

Varetto n'explorait cependant pas l'émergence de cycle à partir d'une grande combinatoire moléculaire, mais mettait 'seulement' en œuvre des espèces particulières dont il avait identifié qu'elles permettraient l'obtention de petits cycles. Les ordinateurs de l'époque ne lui permettaient en aucun cas de tester cela. Mais plus que ça, l'étude de Varetto se limitait à montrer qu'en utilisant ces 2 types de molécules et une complexité intrinsèque des peptides créée par leur structuration spatiale, il pouvait trouver des peptides-programmes (ma première frappe était « peptides-machines ») qui, associés aux bonnes chaînes nucléotidiques, généraient un cycle. Je trouve ce travail théorique pensé par Hofstadter et mis en pratique par Varetto admirable mais, selon moi, en procédant ainsi par ingénierie, on perd malheureusement une partie de ce que l'on veut montrer : un mélange de composés possédant les propriétés précitées doit, s'il réunit les composés adéquats, se diriger
inexorably vers la formation de cycles. Le potentiel se trouve dans les propriétés des composés en présence (AN et peptides) mais pour s'exprimer (générer des cycles métaboliques) il faut tout de même réunir une composition-état du cycle ou une composition n'appartenant pas au cycle mais qui permet de le rejoindre. En m'exprimant ainsi, je dévoile plus clairement le fond de ma pensée : les cycles métaboliques à atteindre sont des états asymptotiques d'un système dynamique de grande dimension (chaque dimension étant un composé, l'axe sa concentration) ; ce système dynamique incluant 'tous les possibles' est peuplé d'attracteurs qui sont soit des points fixes, soit des cycles. Une première question est de savoir s'il est probable de partir de conditions initiales menant à un cycle. La deuxième est la robustesse des trajectoires, y compris asymptotiques, d'un tel système dynamique très stochastique (toutes les espèces moléculaires ne se rencontrent pas ; toutes les interactions ne sont pas nécessairement couronnées de succès). Dit autrement : quelle proportion de simulations d'un système comme celui de Varetto mèneront spontanément et de façon robuste à des cycles auto-entretenus.

Il manque deux points importants dans ce paragraphe. D'abord, si ce n'est pas par l'ingénierie que bon nombre des poly-nucléotides et des peptides-programmes associés seront générés dans les simulations que je souhaite réaliser, c'est par formation spontanée, par auto-assemblage. Nous avons discuté de ce point dans la section 8.2.3 : la formation spontanée de petits peptides et petits acides nucléiques est possible avec une dynamique assez lente ; elle peut être accélérée en présence de molécules *templates* ou de matériaux (métaux notamment) favorisant leur condensation. Dans mes simulations, des briques élémentaires (acides aminés ou nucléotides) ont donc la possibilité de s'assembler soit entre eux, soit avec des polymères déjà formés, dans tous les cas avec une dynamique bien plus lente que celle catalysée par les peptides-programmes.

L'autre ajout par rapport au modèle de Varetto est une définition moléculaire du processus permettant la traduction des polynucléotides en peptides. En l'occurrence, l'idée est maintenant de remplacer la traduction implicite que proposait Varetto en une traduction fondée soit sur l'hypothèse stéréochimique, soit sur la présence d'adaptateurs comme des ARN de transfert ou leurs précurseurs reconnaissant les acides aminés par des petites séquences de 3 à 5 nucléotides (voir [Hopfield, 1978 ; Koonin, 2017]). Les polynucléotides favoriseront ainsi la formation de peptides particuliers plutôt que générés au hasard des auto-assemblages, mais leur formation sera aussi conditionnée par la disponibilité des acides aminés présents, ceci pouvant introduire des biais importants dans la formation de certaines espèces plutôt que d'autres.

Notons qu'il est attendu que la composition du milieu à ses débuts, pendant la phase peu catalytique, les peptides étant encore rares et de fonctionnalités limitées, fixe rapidement des conditions initiales particulières guidant le devenir du système. Dans un environnement spatiale large, des conditions initiales très variées peuvent donc *a priori* émerger et générer des devenirs très différents, potentiellement, des cycles proto-métaboliques différents en compétition lorsqu'ils sont dans un voisinage proche. Ceci nous amène au deuxième problème.
### 8.2.7.2. 2ème problème : réunir les conditions nécessaires pour obtenir une brisure de symétrie spatiale

L'objectif associé avec celui d'obtenir des cycles auto-entretenus est donc d'abord d'obtenir, dans un environnement spatial suffisamment large, tout un bestiaire de comportements asymptotiques locaux, incluant notamment des cycles proto-métaboliques. Ces comportements locaux ne sont pas isolés et sont en compétition pour la ressource : les molécules présentes dans le milieu, produites et consommées par ces micro-systèmes, diffusent dans le voisinage ; elles peuvent faciliter une réaction dans un cycle ou au contraire annihiler une autre ; elles servent donc de moyen de communication entre ces micro-systèmes locaux et peuvent jouer le rôle de l'activateur ou de l'inhibiteur de la réaction spatialement auto-organisée de Turing.

Pour obtenir une instabilité de Turing par exemple, il faut réunir un certain nombre de conditions, en particulier que l'inhibiteur diffuse plus vite que l'activateur. D'autres types d'instabilités (ex : bifurcation de Hopf) peuvent amener à d'autres types de comportements auto-organisés (ex : propagation de front d'onde dans un milieu excitable), surtout dans un système formé de nombreux composants, une riche variété de comportement pouvant alors être obtenue [Liehr, 2013].

Ce système typogénétique présente l'avantage de rassembler l'essentiel des éléments souhaités pour représenter des systèmes proto-métaboliques fondés sur le dialogue entre molécules informatives et molécules effectrices. Cependant, le fait qu'ils soient composés d'une très grande variété de réactifs les rends analytiquement insolubles. Il n'est même pas possible d'explorer l'espace paramétrique de tels modèles. Cette limitation pose clairement la question de la possibilité d'obtention de tels motifs auto-organisés à partir de ce vaste ensemble de réactions chimiques.

Le dernier point (la difficulté technique) que je vais à présent décrire fournit toutefois une alternative numérique à la compréhension analytique des comportements dynamiques d'un tel système : la spatialisation en petits sous-éléments discrets d'espace va *de facto* favoriser l'exploration d'autant de mélanges réactifs qu'il y a d'éléments d'espace. Si au moins un cycle proto-métabolique démarre et s'amplifie dans un élément d'espace, ce cycle devrait se propager par diffusion des composés nécessaires, si ceux-ci dominent les autres composés présents dans le voisinage. Il est probable alors que, s'éloignant de la région dans laquelle le cycle est le plus actif et, rencontrant des conditions (composés) différentes, des cycles différents apparaissent, le cycle initial agissant comme un forçage périodique sur les réactions en cours dans le voisinage.

### 8.2.7.3. Difficulté technique : gérer l'explosion combinatoire et les difficultés rencontrées pour l'analyse.

Le programme, pour simuler la primo-formation de petits peptides, certains fonctionnels, et de petits polynucléotides, va calculer à partir de concentrations de briques élémentaires et éventuellement de petites molécules déjà formées (dans les deux cas des quantités discrètes représentées dans la
simulation par des nombres entiers, les quantités attendues étant limitées) les réactions d'assemblage possibles et en réaliser certaines. On comprend qu'avant même de considérer les possibles réactions des peptides-programmes sur les polynucléotides ou les possibles traductions de polynucléotides en peptides, on rencontre déjà un problème d'explosion combinatoire (nombre de réactions et nombre de composés très vite gigantesque) et un problème de gestion de la temporalité des réactions dès que les premières réactions catalysées par les peptides ou même les réactions de traduction commenceront, les réactions d'auto-assemblage étant bien plus lentes dans ce modèle (comme dans la réalité). Un stockage bien pensé des données de simulation est également nécessaire puisqu'il va s'agir de stocker une très grande diversité de molécules (de tailles et compositions différentes) de façon à d'une part y accéder rapidement par type et taille (pour énumérer et réaliser les réactions possibles), mais aussi pour les cataloguer à des fins d'analyse (catalogage par masse et par composition), le but étant la détection de motifs chimiques spatiaux et/ou temporels.

La difficulté est très grande mais peut-être résolue par des approximations acceptables que nous avons testées H. Bouvier et moi en utilisant un toy-model de chimie artificielle bien plus simple que les typogénétiques de Hofstadter et Varetto. D'abord, on simulera des petits volumes contenant un nombre limité de molécules. Il faut toutefois que ce nombre soit suffisamment élevé pour permettre un mélange riche susceptible de générer des cycles auto-entretenus. La quantité nécessaire n'est évidemment pas connue, mais il est tout à fait envisageable d'entretenir plusieurs milliers à dizaines de milliers de molécules par élément de volume.

Le problème de la diversité et de la temporalité des réactions est plus complexe. Certaines réactions comme l'assemblage sont peu probables pour chaque réaction mais nombreuses tandis que les réaction catalysées sont probables (au sens de leur efficacité) mais peu nombreuses tant que le nombre de molécules complexes capables de catalyse est faible. Cela signifie qu'une simulation risque de simuler un très grand nombre de réactions d'assemblage au début, mais rapidement, alors que les molécules complexes se formeront, la grande majorité des réactions seront des réactions catalytiques, les auto-assemblages devenant rares en proportion. Il faut pour permettre ce régime à deux vitesses choisir un algorithme de dynamique réactionnelle adapté. Le meilleur compromis est l'utilisation des algorithmes de Gillespie en temps et espace discret (tau-leaping) [Gillespie, 1976 & 1977; Hattne, 2005]. Le principe est d'évaluer, à partir de l'équation maître du système réactionnel défini par les constantes de vitesse des différentes réactions (la diffusion étant comprise comme une réaction de disparition d'un élément d'espace et de synthèse dans un élément voisin [Hattne, 2005]), combien de réactions de chaque type vont se produire dans un laps de temps discret. Cependant, étant donné la possible diversité des composés présents, il ne sera pas envisageable d'évaluer la totalité des réactions possibles. La solution sera donc une approximation réalisant un tirage hypergéométrique dépendant des proportions naturelles des composés de chaque espèce, ou uniforme sur l'ensemble des molécules, à chaque pas de temps parmi les espèces moléculaires présentes dans le volume.

Du point de vue technique, le programme sera pensé pour être facilement porté sous CUDA et bénéficier de l'accélération GPU. Cela permettra notamment la parallélisation des taches sur
l'espace réactionnel.

Le problème de la détection est également très complexe. On souhaite détecter l'émergence de cycles réactionnels, mais on ne sait pas à l'avance quels composés seront impliqués dans de tels cycles. Le nombre et surtout la diversité des espèces qui seront créées dans chaque élément de volume rend la tâche difficile. Enregistrer toutes les molécules ayant existé au cours de la simulation avec leur instant d'apparition et leur instant de disparition, de façon à permettre une analyse *a posteriori*, ne paraît pas une solution viable à cause de l'énorme volume de données requis pour cela. Dans un premier temps en tout cas, il faut pouvoir détecter des indices de ces cycles et, en cas de détection, commencer l'enregistrement des instances de molécules pour connaître la composition du cycle.

Pour cela, nous avons imaginé une solution qui consiste à ne s'intéresser au début qu'à l'histogramme de la masse (nombre d'éléments) des molécules. Il est attendu qu'au début de la réaction, de petites molécules se forment, puis, au fur et à mesure que la simulation avance, que ces petites molécules se rallongent progressivement par ajouts d'éléments (auto-assemblage). Un histogramme du processus d'auto-assemblage au cours du temps prendrait la forme d'une exponentielle décroissante (loi de probabilité exponentielle). Les processus catalytiques, eux, vont générer des composés particuliers ; à la différence de l'auto-assemblage, il ne fonctionnent pas au hasard. Cependant, si aucun cycle entretenu n'apparaît, ces processus ne contribueront sur le moyen terme qu'à former un bruit dans l'histogramme. En effet, si un composé A est en quantité faible (car formé au hasard) et génère un composé B, alors il est probable qu'une certaine accumulation de ce dernier se fasse. Cependant, cette accumulation ne devrait d'une part pas perdurer car la source de B, le composé A, si elle n'est pas auto-amplifiée (dans un cycle), risque d'être détruite ou modifiée par un autre processus (auto-assemblage ou processus catalytique). D'autre part, il n'y a pas de raison pour que la formation de B surpasse en quantités discernables dans le temps celle des autres composés formés aussi de façon catalytique. Un histogramme des masses intégrant ces composés formés de façon catalytique mais n'appartenant pas à un cycle devrait donc suivre une loi exponentielle bruitée. En revanche, des composés amplifiés dans un cycle devraient apparaître sur-représentés dans un histogramme des masses, d'autant qu'il est attendu qu'un certain nombre de ces composés seront vraisemblablement complexes, apparaissant ainsi sous la forme de pics bien distincts au-delà des masses faibles.

Une autre analyse gros grain à mener en parallèle est celle de la composition par tranches de masses moléculaires : pour une masse moléculaire donnée, on détaille la composition en acides aminés et nucléotides. Autrement dit, on résout en composition chaque classe de l'histogramme de masses moléculaires. En laboratoire, cette double résolution masse-composition correspond par exemple à réaliser un MALDI-TOF/TOF<fnref n="31" /> (en se fondant sur la masse moléculaire et leur fragmentation sub-moléculaire uniquement) ou à une électrophorèse bidimensionnelle (dont la séparation est fondée sur le point isoélectrique pHi et la masse). Cette technique exploite des caractéristiques physico-chimiques des éléments composants les molécules comme la masse et la charge. Dans un modèle de

<footnote n="31">31 MALDI-TOF : Matrix Assisted Laser Desorption/Ionization-Time Of Flight.</footnote>
chimie artificielle, les composés n'ont pas nécessairement de propriétés physico-chimiques comme le pHi ou une charge. Une possibilité simple est de leur en attribuer une à des fins d'analyse.

#### 8.2.7.4. État des travaux de simulation numérique.

Les tests préliminaires que nous avons réalisés avec H. Bouvier sur un système de chimie artificielle simple (pas d'encodage génétique, juste des réactions chimiques catalysées par des combinaisons particulières d'assemblages moléculaires) permettaient la formation de composés auto-amplifiés. Nous avons pu tester un système de stockage assez efficace d'un écosystème chimique dans des éléments de volume cubiques, un moteur réactionnel stochastique, un système d'analyse fondé sur l'histogramme des masses moléculaires. Le programme est écrit en C++11 et compatible NVidia CUDA.

<figure><img src="image_68.png" /><figcaption>**Figure 8.23.** Simulation d'écosystème de vie artificielle. A gauche, chaque ligne verticale représente le génome d'une créature, chaque "barre" correspondant à un gène, la valeur de son octet codant pour un niveau de rouge. A droite, une simulation en cours dans laquelle on a encodé la masse des créatures avec la taille des points et le nombre de gènes avec un code couleur. Beaucoup de créatures ont sédimenté, leurs éventuels organes de déplacement (nageoires) ne suffisant pas à les propulser hors du fond de l'environnement. D'autres au contraire, plus légères et dotées de moyens de propulsion, nagent librement dans ce milieu.</figcaption></figure>

De plus, un travail de modélisation antérieur d'un écosystème de créatures artificielles évolutives dotées d'une génétique et de fonctions d'interaction avec leur environnement a été réalisé en 2017 par un étudiant en M2, C. Hégé (voir figure 3.3, chapitre 3 et figure 8.23). Les créatures possèdent 0 à plusieurs gènes (nombre indéterminé) codant sur un octet (8 bits) un organe parmi plusieurs possibles (codage sur 2 bits : 0b00 aucun organe, 0b01 nageoire, 0b10 bouche, 0b11 senseur de créatures) et leurs positions respectives sur une des 6 faces de la créature, un cube tridimensionnel (codage sur 3 bits) ; les 3 bits restants sont considérés comme un potentiel évolutif. Les créatures possèdent en outre un gène codant pour leurs propriétés de reproduction par division, à savoir une masse minimale et une masse maximale. A chaque division fondée sur une probabilité de division augmentant à mesure que la masse de la créature dépasse de moitié la masse moyenne de la
créature, ces créatures se répliquent et le génome des créatures filles peut subir des mutations (mutation ponctuelles sur des bits de chaque gène : délétion, addition, décalage de bits ; mutations globales de duplication d'un gène ou de délétion d'un gène), mutations dont l'occurrence est également déterminée par un tirage probabiliste (les mutation de duplication ou de délétion étant 8 fois moins probables que les mutations ponctuelles, car impliquant 8 bits). Ce travail (non clos) visait à faire suite à celui que nous avions réalisé P. Ballet, O. Bastien et moi, travail publié en 2017 [Glade, 2017] : l'étude de la biodiversité et de la survie différentielle d'espèces dans un environnement stratifié par l'action d'un facteur brisant la symétrie spatiale, à savoir la sédimentation des créatures.

Ces simulations numériques de vie artificielle sont en réalité assez proches dans leur forme de celles fondées sur des typogénétiques que je souhaite mettre en œuvre, d'abord parce qu'elles doivent gérer une possible explosion combinatoire, en tout cas une très grande diversité d'espèces et d'individus (agents), mais également elles posent le problème de l'analyse de telles simulations : comment rendre intelligibles ces mondes et créatures virtuels de façon à comprendre leur évolution et les facteurs qui la contrôlent ? Dans le cas de ces simulations, nous utilisions des caractéristiques comme la masse des créatures ou leurs vitesses de déplacement, ou encore la régularité de leurs trajectoires, comme variables à suivre. Cependant, cela ne permettait pas d'étudier la biodiversité dans un tel système, problème donc identique à celui posé par l'explosion de diversité attendue dans les systèmes de typogénétique. L'autre point commun concerne l'idée d'une émergence d'écosystème (écosystème de vie artificielle ou écosystème de métabolisme proto-biotique) et sa stratification dans un espace soumis à un facteur comme la gravité ou l'émergence de microcosmes auto-organisés, d'écosystèmes locaux.

Je souhaite maintenant capitaliser ces travaux réalisés par des étudiants en M1 et M2 en les reprenant, en les développant, et commençant leur étude systématique : effet des paramètres de mutation, de la sédimentation, de l'agitation thermique, ..., en commençant par le système de vie artificielle, plus contrôlable et plus avancé. Les développements nécessaires en vie artificielle, en particulier le développement de méthodes d'analyse inspirées des méthodes existantes en biologie peuvent s'ajouter à un tel sujet de recherche sur les origines du vivant pour justifier une thèse.

### 8.2.7.5. Impact - perspectives

Ces travaux sont théoriques, clairement non appliqués, et poser la question du fameux « impact sociétal » ou plus simplement du « à quoi ça sert » paraît incongru. A cette dernière question, je répondrais volontiers ce que qu'a répondu à ma place Jean-Pierre Mazat alors que quelqu'un me posait cette même question après un séminaire que j'avais donné il y a une quinzaine d'années lors d'un des ateliers Epigénétique organisés par F. Képès à Evry : « parce que c'est intéressant ! ». Car oui, je crois que c'est le rôle principal de la recherche que de produire de la connaissance, dans ce cas-ci sur les systèmes biologiques et la biologie à ses origines. Je crois en effet aussi, comme j'en ai déjà discuté dans la partie introductive, que la biologie théorique, y compris les approches
d'expérimentation numériques en vie artificielle, servent à composer des images mentales des systèmes naturels et aident à les appréhender.

Je vais cependant faire l'effort de proposer certaines perspectives à ce travail.

En premier lieu, il y a le challenge actuel de la recherche de la vie ailleurs, dans le système solaire évidemment, mais également ailleurs dans l'univers. S'il paraît présomptueux d'espérer trouver la vie ailleurs dans l'univers à part peut-être dans le système solaire, plus accessible, toute démarche scientifique sur les origines du vivant et sur la vie actuelle est utile pour d'une part identifier ou du moins suspecter quelles conditions peuvent favoriser l'émergence de la vie, ou au contraire l'empêcher, mais aussi pour suggérer des marqueurs de la vie ou de ses prémisses, comme les molécules prébiotiques que l'on cherche sur les planètes et lunes du système solaire, dans les météorites, dans les comètes, mais également dans l'espace interplanétaire, les disques protoplanétaires nouvelles observés ou dans les nuages moléculaires observables dans la voie lactée. Il s'agit de proposer des possibilités de signatures du vivant.

La présence d'oxygène suffit-elle ? Certainement pas ! Le développement de la vie est-il inéluctable dès lors qu'on dispose d'une soupe prébiotique et de chaleur comme on peut imaginer la trouver dans les océans sub-glaciaires d'Encelade ou d'Europe ? C'est peu probable ! Récemment, il semble qu'on ait trouvé de la phosphine sur Vénus [Greaves, 2020] ; des sulfures (molécules absorbant les UVs) sur Vénus également [Francès-Monerris, 2022] ; des dégagements ponctuels de méthane depuis le sol ont été détectés sur Mars [Webster, 2015]. Ces annonces font systématiquement sensation tant l'attente est forte et l'espoir présent de trouver de la vie ailleurs que sur Terre. Pourtant, y a t-il une alternative abiotique à la formation de ces molécules assez emblématiques de la présence de vie ? Oui ! Jusque à présent, bien que souvent encore débattues, des explications fondées sur la géologie, l'hydrologie ou la chimie atmosphérique ont toujours été trouvées pour expliquer la présence de telles molécules (voir par exemple [Francès-Monerris, 2022]).

Mais rechercher des signatures du vivant, c'est peut être aussi trouver des brisures de symétrie. La plus évidente : l'énantiomérie que le vivant à fait balancer tantôt d'un coté pour les acides aminés (forme L dans le vivant), tantôt d'un autre pour les sucres (formes D dans le vivant), une brisure de symétrie aisée à mettre en évidence avec une mesure de déviation de la lumière polarisée ... sur Terre ! Doit on reproduire un équivalent de l'énantiomérie dans les simulations numériques, en permettant aux molécules numériques d'adopter une conformation chirale plutôt qu'une autre, conformation asymétrique qui pourrait être mise en évidence par une mesure globale dans la simulation comme on ferait une mesure de polarité sous un polarimètre ? Ce serait une solution élégante et probablement efficace. Mais la recherche de brisure de symétrie est elle applicable aussi dans la pratique ailleurs que sur Terre ? Avec des sondes prélevant des échantillons sur Mars ou tout autre corps du système solaire, c'est facile à mettre en œuvre. J'avais cependant imaginé qu'il serait possible de faire de même en se contentant de regarder le spectre des atmosphères des corps célestes en lumière polarisée. La réponse que m'a donnée Xavier Delfosse (IPAG, UGA / CNRS) lors d'un séminaire du CDP COOL (voir plus bas) est sans appel : « ce n'est pas possible actuellement ! On ne sait même pas détecter la vie sur Terre en observant la lumière cendrée de la
Lune (illumination faible de la Lune produite par l'éclairage de la Terre) en lumière polarisée ! »
Cela m'a fait prendre conscience d'une limitation importante des mesures possibles pouvant être
faites à distance : les signaux (lumineux) s'atténuant très vite, il est très complexe de faire ressortir
des informations sur des molécules complexes dans des spectres de corps célestes distants. Comme
le disait un astrochimiste plaisantant à moitié seulement lors du même séminaire : « l'hydrogène
moléculaire, le cyanure<fnref n="32" />, ce sont déjà des molécules complexes pour l'astrochimie ! »

Les rythmes sont aussi une éventualité du vivant à surveiller. Les organismes, les écosystèmes, forcés par les saisons souvent, mais aussi par d'autres facteurs, répondent de façon rythmique en augmentant leur biomasse, en changeant de composition (les arbres changent de couleur en automne-hiver), ou en affectant (consommation ou production) différemment leur environnement. C'est cela qui a provoqué un certain émoi concernant la découverte d'émission cycliques de méthane par le sol martien [Chang, 2018] (émissions expliquées maintenant par des processus géologiques). C'est également une question de rythmes, précisément de changements saisonniers de turbidité de l'atmosphère vénusienne par des aérosols dont l'origine potentielle fut attribuée à des micro-organismes dans cet article somme toute sérieux publié dans Astrobiology [Limaye, 2018]. La démarche scientifique standard qui suit ce type d'annonces, est évidemment de chercher une explication abiotique à ces phénomènes singuliers. Comprendre que des processus géologiques, hydrologiques ou atmosphériques puissent les générer, et en quelle proportion, est indispensable ! La mise en évidence de rythmes inattendus est toutefois indice de présence de vie.

<figure><img src="image_69.png" /></figure>

**Figure 8.24. Schéma des processus de régulation cellulaire.** Les microARNs (en rouge) exercent une régulation négative en interagissant (hybridation partielle) avec des ARN messagers. De plus, une régulation contextuelle potentielle pourrait être exercée par les petits métabolites produits par le métabolisme (acides aminés, pyruvate ...) ou les nucléotides, énergétiques notamment (ATP, GTP), sur l'ADN ou la machinerie cellulaire incluant ARNm, ARNr, ARNt.

Dans les deux cas, la chiralité ou les rythmes, c'est une forme d'ordre qui est identifiée. C'est par cet
ordre que nous suspectons le vivant. C'est aussi parce que nous savons mesurer l'ordre que nous

<footnote n="32">32 De forme chimique HCN (avec une triple liaison entre le carbone et l'azote).</footnote>
nous y attachons. Y a t'il d'autres choses qui puissent être identifiées ? Je pense qu'un travail théorique et expérimental fait sur la chimie prébiotique, sur les métabolismes prébiotiques et la systémique prébiotique, mais aussi sur le fonctionnement du vivant actuel comme nous en discuterons dans le chapitre suivant, parce qu'il force à réfléchir à la nature de la matière vivante et à ce qui la distingue de la matière inerte, ne peut que contribuer à suggérer de possibles signatures du vivant ... si tant est que cet objectif reste bien présent en tête de celui qui réfléchi à l'aide de tels systèmes artificiels. Une vue selon un prisme différent et possiblement une meilleure compréhension du vivant actuel ! C'est l'autre perspective qui vient naturellement. Les fondations du vivant actuel sont celles d'un organisme primordial vraisemblablement très rudimentaire, très modulaire, doté de mécanismes internes de réplication, de structuration interne, de production d'énergie, bien plus simples que ceux que l'on associe actuellement à ces tâches dans les cellules modernes, eucaryotes comme procaryotes. Je développerai particulièrement ce point dans le chapitre suivant, mais on peut déjà poser la question de l'influence, voire du rôle non trivial que jouent les petits métabolites, en particulier les nucléotides et toutes petites séquences d'ARN comme les micro ARNs (miRNAs) dans le fonctionnement normal ou pathologique des cellules. En 2008 déjà, dans un projet (IXXI, Projet DynamiRs, 2008, 5000€) et dans un article [Demongeot, 2009] j'avais souligné ce possible rôle fondamental des miRNAs et des petits métabolites (voir figure 8.24).

L'idée est proche de celle de l'interférence à ARN mais doublée d'une logique dans la régulation héritée des âges prébiotiques, protobiotiques et des origines du vivant. Cette idée que je vais illustrer d'abord avec un métabolite énergétique, le GTP, est la suivante : le GTP, Guanosine Tri-Phosphate, est une petite molécule qui fourni l'énergie d'assemblage-désassemblage des microtubules, éléments fibrillaires essentiels du cytosquelette. Le GTP se forme dans la cellule par régénération du GDP (Guanosine Di-Phosphate) à partir de l'ATP (Adénosine Tri-Phosphate) formé principalement dans la mitochondrie grâce au fonctionnement de l'ATP synthase. Mais le GTP est aussi un nucléotide ! c'est un des 4 constituants élémentaires (ATP, TTP, GTP, CTP) à partir desquels l'ADN est fabriqué par les ADN polymérides dans les cellules. La cellule contient une quantité importante de GTP estimée à 468±224 µM (soit environ 100 à 150 fois plus que pour l'ATP) [Traut, 1994]<fnref n="33" />. Lors d'un usage intensif ou au contraire de l'arrêt d'un fonction consommatrice de GTP, par exemple lors d'une restructuration du cytosquelette (chaque micromètre de microtubule contient 1625 molécules de tubuline, chacune consommant un GTP pour s'assembler à la vitesse d'environ 1 µm/min) ou d'une duplication de l'ADN, quelle influence aura cette consommation ou au contraire absence de consommation de la part d'une fonction cellulaire sur les autres ? Cette idée est quelque peu supportée par des travaux s'intéressant aux variations des quantités de métabolites intra-cellulaires, mesures difficiles s'il en est (par exemple, pour le GTP, voir [Bianchi-Smiraglia, 2017]). Ainsi, il a été montré que les quantités de GTP intra-cellulaire influent sur la voie que vont suivre les cellules entre l'apoptose et une différentiation [Meshkini, 2011].

<footnote n="33">33 [Traut, 1994] donne ces concentrations ± écart type (en µM): ATP, 3,152±1,698; GTP, 468±224; UTP, 567±460 et CTP, 278±242. Pour les désoxyribonucléotides triphosphates (dNTP), les concentrations dans des cellules en division sont : dATP, 24±22; dGTP, 5.2±4.5; dCTP, 29±19, dTTP 37±30 et dUTP environ 0.2 µM.</footnote>
De façon générale, ce qu'on questionne ici, c'est donc le fait qu'une grande fonction cellulaire modifiant les quantités d'un nucléotide ou d'un petit métabolite, puisse affecter d'autres grandes fonctions cellulaires par son intermédiaire. La question jointe, c'est dans quelle mesure ceci peut être vu comme une forme de régulation de contexte : une fonction majeure en régule une ou plusieurs autres via des petits métabolites.

Introduire cette notion de compétition pour la ressource entre les fonctions cellulaires doit être pensé dans un contexte d'évolution car certains systèmes, exploitant des ressources utilisées par d'autres systèmes déjà en place, ont été retenus par l'évolution. Les microtubules dont les constituants élémentaires, les molécules de tubuline (ou leurs variantes bactériennes FtZ), sont des GTPases, sont vraisemblablement très récents dans l'évolution par rapport à l'ADN. Ils se sont mis en place en tant qu'agents structurants dans les cellules, dans un contexte où le GTP existait déjà et subissait des variations de quantités liées aux rythmes des changements d'état des cellules comme lors de la division cellulaire. Mais en pensant le partage de ressources intracellulaires comme une balance régulatrice, on peut alors aussi penser que c'est cette balance, cette régulation et ses rythmes, ses phases de la vie cellulaire, associés, qui ont été sélectionnés. Cette question, je souhaite l'approfondir dans les années à venir.

En plus du partage de ressources entre fonctions, les petits métabolites et petites séquences d'ARN ont un autre effet potentiel : s'ils interagissent avec d'autres éléments cellulaires comme les ARN messagers, les ARN de transfert, ..., alors il est possible aussi qu'ils les régulent de façon assez globale ; une régulation de contexte en quelle que sorte. Par exemple, une quantité importante de GTP (ou d'ATP) dans une cellule la place dans un état énergétique important (au sens où beaucoup d'énergie chimique est disponible et peut être immédiatement mise à la disposition de nombreux processus actifs), mais cette présence forte d'un nucléotide dans le milieu cellulaire pourrait provoquer une forme d'inhibition : c'est un nucléotide qui peut s'apparier de façon très transitoire avec son complémentaire (CTP pour le GTP, TTP pour l'ATP). L'appariement entre paires de nucléotides est le mécanisme par lequel les brins d'acides nucléiques s'hybrident de façon complémentaire ; c'est ce même mécanisme passif qui permet la reconnaissance des triplets de nucléotides codant pour un acide aminé, les codons des ARN messagers, par leurs complémentaires, les anti-codons, des triplets de ribonucléotides présentés par les ARN de transfert. L'affinité de cette hybridation de 3 contre 3 ribonucléotides (codon / anti-codon) est renforcée dans les cellules actuelles par le complexe ribosomal qui accueille à la fois l'ARN messager en cours de traduction ; ce complexe favorise la présentation de la boucle anti-codon de l'ARNt face à l'ARNm et augmente la stabilité de leur appariement. La durée de vie moyenne d'un appariement de deux séquences complémentaires isolées d'acides nucléiques sera (en première approximation, d'autres facteurs pouvant intervenir également, comme la structure de ces séquences) d'autant plus courte que l'une au moins des séquences sera courte. Néanmoins, même furtif, un appariement aura lieu, sollicitant les deux protagonistes, gênant par là même les actions dans lesquelles ils pouvaient être impliqués. Rappelons qu'il est aussi évident que la fréquence naturelle à laquelle pourraient se produire de tels appariement est directement liée à la concentration respective de ces protagonistes ; les équilibres biochimiques sont déplacés par la simple loi d'action des masses. Dès lors, une petite séquence
d'acides nucléiques présente en quantité importante à proximité d'un ARN messager en cours de traduction pourrait bien gêner la dynamique de sa traduction, introduisant des pauses dans l'extension peptidique en cours et éventuellement son arrêt prématuré. C'est en partie cette idée de compétition qu'introduisait la possibilité d'une interférence à ARN. C'est aussi ce type de processus que pourraient bien causer les micro-ARNs (miRNAs). Ces séquences d'une vingtaine de paires de bases s'apparient par l'intermédiaire de moins d'une dizaine de bases (typiquement 8) avec les ARNm présents dans le milieu cellulaire. Aux miRNAs est associé un complexe protéique nommé RISC (pour RNA Induced Silencing Complex) qui hydrolyse les séquences ARNm reconnues. Mais avant même de considérer ce système évolué, il reste que les miRNAs, simplement en s'appiant avec les ARNm peuvent jouer ce rôle de freins d'une dynamique, ici la traduction. De plus, les miRNAs étant donné la taille très réduite de leur séquence d'appariement, ont finalement des cibles assez peu spécifiques. C'est le fait qu'un miRNA donné pouvait potentiellement reconnaître des centaines, voire des milliers de cibles ARNm différentes qui faisait dire à [Bartel, 2004] que les miRNAs se comportaient davantage comme des micro-managers de l'expression génique en exerçant une régulation de contexte, une régulation touchant des centaines de cibles à la fois, des cibles différentes, codant pour des protéines différentes, mais des cibles potentiellement associées dans un état fonctionnel particulier de la cellule (par exemple, lors de la division cellulaire, c'est un très grand nombre de processus différents qui se mettent à opérer ; c'est ceci que je désigne par « état fonctionnel de la cellule ») ou dans des grandes fonctions. L'idée là, c'est que même si ces petites séquences semblent avoir une spécificité de ciblage limitée, la régulation large qu'elles provoquent reste globalement spécifique.

Il est tentant d'étendre une telle idée aux nucléotides isolés, leur niveau (concentration) dans la cellule agirait ainsi, par l'intermédiaire d'une pression compétitive, comme un curseur affectant potentiellement des pans entiers du fonctionnement cellulaire (ce que semblerait soutenir les observations de [Meshkini, 2011]). Dans ce chapitre, l'hypothèse stéréochimique directe (reconnaissance acides aminés – anti-codons) ou indirecte (reconnaissance acides aminés – petites séquences de nucléotides correspondant aux sites de fixation des acides aminés sur les ARNm primordiaux) est celle qui est mise en avant pour soutenir à la fois l'encodage et la traduction primordiale. Mais si cela s'est passé il y a des milliards d'années dans des proto-cellules, il est fort possible que ceci persiste dans le vivant actuel. Que les acides aminés puissent interagir avec des séquences nucléotidiques, il n'y a aucun doute là dessus. En revanche, si ce que soutient l'hypothèse stéréochimique est correct, à savoir un lien stéréochimique entre acides aminés et code génétique, alors de la même manière que je l'ai dit précédemment pour les nucléotides libres, les niveaux (concentrations) d'acides aminés dans les cellules pourraient bien, de la même manière, exercer une régulation de contexte. Mieux encore, le différentiel de niveaux d'acides aminés pourrait de cette manière très directe moduler finement l'activité de la cellule. Ces niveaux d'acides aminés sont liés directement aux quantités et types de nutriments entrant dans les cellules. La cellule vivante disposerait alors d'un système de régulation gros grain mis en place très tôt, dès l'apport de nutriments, avant qu'une régulation plus fine, plus spécifique, reposant sur la régulation génétique classique (s'il en est) que l'on connaît, ne se mette en place.
J'ai présenté là, dans la conclusion de ce chapitre, un ensemble de propositions fortes sur des mécanismes actuels éventuellement hérités d'autres, fondamentaux, remontant aux premiers âges du vivant. Ce qui demande à être établi, c'est la nature spécifique de leur action de régulation. Je vais à présent, changer légèrement d'échelle et passer dans le chapitre 8.3 à certains aspects des voies de communication intracellulaire et des réseaux d'interaction intracellulaires. Au cours de ce nouveau chapitre, je discuterai à nouveau des reliques du passé que pourraient constituer certains modes de communication intracellulaire, mais je traiterai surtout de la question de l'héritage des fonctions biologiques et de la trajectoire évolutive des réseaux d'interaction.

## 8.3. Réseaux, voies de communication biologiques et traces du passé

Nous venons de passer un moment à imaginer ce qu'ont pu être les prémisses de la vie sur Terre : l'apparition d'un code génétique fonctionnel reliant la mémoire à la fonction, et la co-émergence de flux métaboliques et de boucles autopoïétiques. Ça, c'était il y a 4 milliards d'années environ ! Depuis, ces boucles fragiles, ces flux mal définis se sont renforcés, ont évolué, se sont dupliqués et différenciés, etc. Mais reste-t-il des traces de ces organisations primordiales dans les cellules actuelles ? Peut-on retracer, au moins de façon théorique, par exemple en utilisant des abstractions de la réalité biologique, comme des réseaux Booléens, les trajectoires évolutives que ces organisations ont suivies ? Certaines évolutions sont-elles interdites, leurs trajectoires conduites par des contraintes inhérentes au tissus complexe et fragile des relations qui se sont mises en place ? Et pour revenir au sujet de la machine, l'évolution des organismes va-t-elle dans le sens d'une plus grande structuration, plus forte dans ses relations, au point qu'ils puissent s'apparenter peu à peu à des machines complexes ? Le rare, le faible, l'amorphe qui prédominait aux origines disparaît-il à mesure que les organismes évoluent ou bien est il maintenu comme une garantie pour les systèmes vivant de continuer à s'adapter aux conditions environnementales rencontrées et à évoluer ? En fin de compte, qu'est ce qu'un organisme vivant au juste ? Voilà encore des questions qui m'intéressent et qu'il me semble possible d'explorer à l'aide d'outils et concepts de la biologie théorique.

Dans ce chapitre, qui constitue la suite logique du paragraphe précédent et qui présente un certain déroulement du vivant que j'ai choisi d'explorer, je vais adopter un positionnement davantage holistique que mécaniste pour proposer une vue particulière du fonctionnement des organismes et de leur évolution. J'utiliserai d'abord comme support, comme abstraction de cette réalité biologique qui n'est pas passée par magie de l'inerte à la vie actuelle qui nous apparaît déchiffrable (en grande partie à tord probablement), les réseaux Booléens. Les réseaux Booléens, ces outils théoriques, parfaits représentants de la machine tant ils sont ordonnés, structurés, paramétrés, pour obtenir un comportement déterministe, peuvent être assouplis pour peut-être alors ressembler aux machines molles de von Neumann. Cependant, pour cet exercice, après avoir dressé un tableau général de la suite de mes réflexions sur les organismes et leur évolution, telle que je la propose, et dès lors que je commencerais à rentrer dans le vif du sujet, présentant tour à tour les objets biologiques et théoriques servant de support à cette réflexion, à savoir les réseaux Booléens et le cytosquelette de
microtubules, je ferai un travelling inverse de celui que j'ai fait dans le chapitre sur les origines du vivant. Pour les origines du vivant, j'allais de l'inerte, du rare, du faible et de l'amorphe vers la structuration et le fonctionnement. Cette fois je vais partir de la machine établie, le réseau structuré, le cytosquelette ordonné et au fonctionnement attendu. De là, je glisserai progressivement vers une vision différente ce ces systèmes, proposant d'utiliser les réseaux par larges ensembles plutôt qu'individuellement, de voir les structures ordonnées de la cellule comme des biais de communication intracellulaire, introduisant ainsi une vue différente, plus incertaine de la structure et du fonctionnement cellulaire.

### 8.3.1. Les organismes vivants, héritages complexes

Qu'est ce qu'un organisme, donc ? Un organisme est la complexe combinaison d'un plan de formation (génétique et partiellement métabolique et structural, la cellule initiale d'un organisme ayant elle-même sa propre configuration initiale - un ensemble de molécules, de niveaux métaboliques, etc - héritée de l'organisme dont elle provient), d'un développement embryologique (pour les organismes multi-cellulaires) et d'un maintien homéostatique particulier, contraint par ce plan et par la configuration courante de la cellule (les quantités de composés qu'elle contient à un moment donné, sa forme, l'influence de son environnement local, etc.). Si on prend un peu plus de recul, l'organisme c'est finalement aussi l'aboutissement d'une longue trajectoire au cours des âges qui a vu l'évolution de ses composés, de leur chimie, de leur forme, de leur organisation mutuelle, des relations qui les unissent. Les organismes se sont construits sur un héritage qui, de génération en génération, s'est accumulé, modifié, élagué. Que reste-t-il de cet héritage ? Quelle forme prend-t-il ?

La vie, ses comportements, en particulier leur complexité, dépendent d'une part d'éléments réactifs (molécules et groupes de molécules), d'autre part de l'ensemble des interactions que ces éléments peuvent avoir entre eux. Toutes les interactions ne sont pas fortes et le plus souvent couronnées de succès, c'est-à-dire probables avec leurs protagonistes proches et nombreux dans l'espace. Ces interactions fortes, qu'on identifie en biologie comme finalement pratiquement déterministes, et dont on tire une grande partie de nos raisonnements sur le fonctionnement de la cellule, cohabitent avec une foule d'autres interactions, plus incertaines, plus diffuses, qui peuvent se limiter au simple contact provoquant une petite pause dans la dynamique des molécules en cause, un délai dans leurs possibles réactions. Il faut par moments se détacher un peu de l'image du fonctionnement cellulaire que la biologie construit depuis plus de 70 ans, c'est-à-dire ne pas s'imposer cette vision un peut trop mécaniste pour voir davantage la cellule comme un sac biochimique, pas particulièrement ordonné, surtout quand on le regarde de près, fourmillant d'un nombre infini de très petites interactions entre les très nombreux éléments moléculaires de tous types : petites molécules comme les ions, l'eau, les sucres, les acides aminés, ... beaucoup de molécules de taille intermédiaire comme de petites séquences nucléotidiques, de petits ARN, certains issus de voies de synthèse, d'autres n'étant que des produits de dégradation, beaucoup de grosses molécules aussi comme les protéines, les acides nucléiques, ... et enfin de gros éléments supramoléculaires incluant les assemblages hétérogènes de protéines, acides nucléiques, mais aussi les membranes. La cellule et
son environnement, vus à l'échelle mésoscopique, sont un fouillis infernal ! Et pourtant, tout cela fonctionne ! Pourquoi ? ou plutôt comment ? comment est-ce possible ?

Ces questions sont d'autant plus importantes si on les considère dans le contexte des origines du vivant. Le biologiste qui étudie la vie actuelle est rassuré de dire que ce bon fonctionnement vient de l'harmonieuse (fort ingénieuse devrait on presque dire) façon qu'ont les éléments cellulaires d'interagir entre eux, un tel produisant un effet sur un autre, et ainsi de suite. Les recherches que l'on mène vont nécessairement dans ce sens car nos représentations mentales et les instruments qui servent à analyser la matière vivante sont construits dans le paradigme fort du vivant machine. Ceci ne peut pourtant être valable aux origines du vivant, durant la longue période (longue de combien ?, aucune idée...) qui sépare l'émergence des proto-métabolismes, proto-système génétique, proto-réseaux d'interaction, ..., à un organisme, une cellule, dont chaque partie agit avec un niveau de fiabilité tel qu'il n'a pas vraiment à rougir devant un organisme actuel. Entre temps ? eh bien, du modulaire, des interactions pas très spécifiques, des branchements de ce qu'on pourrait éventuellement qualifier de réseaux, des réseaux fragiles mais aussi dynamiques, temporaires, ... Des vestiges évidents de ce passé ? Vraisemblablement les plasmides bactériens ou les particules virales qui maintiennent encore une flexibilité importante du fonctionnement cellulaire, par l'écosystème moléculaire que constituent les interactions croisées entre génomes viraux et petits ARNs (notamment miARNs) cellulaires [Berezikov, 2005] et par leur rôle dans l'édition génétique des cellules [Witzany, 2006 ; Forterre, 2006 ; Koonin, 2006], ou la coexistence de métabolismes très efficaces mais complexes et exigeants (ex : cycle de Krebs) et de métabolismes simples mais fiables (ex : (resp.) fermentation lactique) qui ont été maintenus au cours de l'évolution et la bascule progressive ou rapide, mais souple, continue, permise entre eux. Il y en a certainement d'autres bien sûr ; dans cette partie, nous y reviendrons et en discuterons de façon plus approfondie, en particulier quand nous aborderons la théorie de l'atavisme.

Ces vestiges, s'ils sont toujours présents, le sont parce qu'ils ont été sélectionnés et maintenus sous pression évolutive depuis des milliards d'années, car finalement indispensables aux organismes, aux écosystèmes, à la Vie en général. Ils sont vraisemblablement indispensables pour assurer au moins la robustesse, la résilience et l'évolutivité des organismes vivants. Ces vestiges ont coévolué avec le reste des systèmes des organismes et sont donc tout autant modernes que des systèmes jugés *a priori* plus complexes, plus régulés. C'est leur caractère *jugé primitif* qui surprend. Car oui, je pense que si l'on identifie davantage de *systèmes* au sens de machines, d'assemblages, de formes complexes, c'est parce que c'est bien ceci que l'on cherche dans les cellules (pensant que c'est bien là que se joue le fonctionnement du vivant) et non des *systèmes* au sens d'ensembles fragiles et informes d'interactions faibles et éventuellement rares. Pourtant le rôle de ces derniers est vraisemblablement crucial pour la Vie, puisque l'évolution en a décidé ainsi.

Je trouve dès lors intéressant de regarder non plus les organismes comme on les regarde habituellement, comme des machines molles homéostatiques, mais comme *d'une part des tranches temporelles dans une trajectoire évolutive à travers un espace morphogénétique complexe, ces tranches définissant leur fonctionnement interne, d'autre part un ensemble de senseurs et effecteurs avec l'environnement extérieur, interface permettant à la créature-tranche morphogénétique d'être
sujette à la pression évolutive. Cette phrase est compliquée, plus que les précédentes. Je m'attellerai
à mieux la définir dans ce chapitre. Pour le moment, parlons réseaux !

8.3.2. Réseaux Booléens – représentations d'une réalité biologique

Un réseau d'interactions (comme tout modèle d'ailleurs) est une projection d'une image mentale simplifiée que nous produisons, image mentale qui résulte de l'expérience et de la formation qu'a reçu chacun, de son expérience personnelle, ainsi que d'un consensus scientifique auquel nous adhérons en tant que scientifiques.

Les réseaux et leurs cousins, les systèmes différentiels permettent de donner vie à des comportements complexes que nous assimilons à ceux que nous pouvons observer dans le vivant. Ils constituent en cela de puissants outils pour nous aider à réfléchir sur son fonctionnement. Les réseaux Booléens en sont probablement l'expression la plus simple.

Je ne suis personnellement pas très convaincu de l'approche « représentative » de la modélisation
dans de nombreuses situations et surtout pour beaucoup de formalismes. Malheureusement loin de
mes certitudes de jeune chercheur, je pense maintenant (et certains de mes collègues plus optimistes
que moi trouvent que c'est à tord) que, quoi qu'on fasse, lorsqu'on cherche à représenter « le plus
fidèlement possible » un système naturel au moyen d'un modèle mathématique ou informatique, on
dénature tellement l'objet biologique étudié qu'il paraît trop présomptueux d'en tirer un réel
enseignement sur sa réalité biologique. Fort heureusement, j'ai aussi appris à rester un minimum
pragmatique et je sais aussi que quelle que soit la façon dont on s'y prend, expérimentale ou
théorique, bien que la réalité du monde naturel soit insaisissable, l'objet des sciences n'est pas d'en
saisir la substance mais bien d'aider notre esprit à s'en forger une idée communicable et pouvant
faire consensus sous la forme d'une construction collective. En cela, je pense que tous les
enseignements que nous pouvons tirer par l'observation des systèmes réels comme par les
projections que nous en faisons sur des abstractions, tels les réseaux Booléens, participent à la
construction d'une compréhension du vivant.

Un réseau, donc, est une représentation simplifiée d'entités, que l'on représente par des
nœuds, et des relations qui les unissent, que l'on représente par des arcs. Dans le contexte de la
modélisation des réseaux de régulation génétique (qui vont nous intéresser ici), les nœuds
représentent des gènes ou des produits de gènes, les arcs les relations de régulation (inhibition,
activation ...) que des nœuds imposent à d'autres. Selon les formalismes utilisés, des paramètres
sont affectés aux nœuds et/ou aux arcs pour spécifier la dynamique de transition des états sur les
nœuds. Des formalismes pour les réseaux de régulation, il y en a beaucoup, les principaux étant les
réseaux de Thomas [Thomas, 1980], les réseaux de Petri [Petri, 2008], les réseaux de Kauffman
[Glass, 1973 ; Kauffman, 1969] et leur sous-classe, les réseaux de Hopfield [Hopfield, 1982]. Les
premiers sont très fréquemment utilisés car proches de la description naturelle de la régulation
génétique et surtout, parce qu'ils sont le pendant discret des systèmes d'équations différentielles, ils
peuvent être facilement obtenus à partir de ces derniers. Les réseaux de Petri sont particulièrement
adaptés à décrire les processus chimiques finement, en tenant compte de la stoechiométrie
notamment. Les réseaux de Kauffman sont eux des automates Booléens dont les interactions sont dictées par des relations logiques. Leur sous-classe, les réseaux Booléens à seuil, dits « de Hopfield », ont été initialement proposés par McCulloch et Pitts pour la modélisation des réseaux de neurones formels [McCulloch, 1943]. Ils le sont toujours. Ils ont ensuite été popularisés par J. Hopfield [Hopfield, 1982].

Sur les réseaux de régulation et leurs diverses représentations, il y a beaucoup à dire. Une bonne dizaine de thèses probablement ! Disons le tout de suite : je vais botter en touche sur ce point. D'abord parce qu'on n'en finirait jamais de présenter cela correctement et que cela diluerait le message que je souhaite porter ; pour en savoir un peu plus, je renvoie plutôt le lecteur vers ces articles assez récents, synthétiques et explicatifs [Bornhold, 2008 ; Tran, 2013]. Ensuite parce que je ne suis certainement pas le plus compétent pour parler de la modélisation des réseaux de régulation génétiques « réels » et certainement pas par les réseaux de Thomas auxquels je me suis très peu intéressé. Enfin parce que j'ai fait un choix particulier d'un formalisme particulièrement utile et efficace pour ce que je souhaite réaliser et pour appuyer mes réflexions, formalisme que je vais maintenant justifier par leur historique à TIMC-IMAG, mon propre historique avec ces réseaux et l'utilisation que je compte en faire dans mes projets.

### 8.3.3. Réseaux Booléens à Seuil – Réseaux Booléens à Signe

#### 8.3.3.1. Historique de leur utilisation dans mes travaux

Les réseaux que McCulloch et Pitts, puis Hopfield ont décrits et utilisés sont des Réseaux Booléens à Seuil, en anglais *Threshold Boolean Networks*, que j'abrégerai par TBN. Ces réseaux ont été développés à l'époque (1943) pour modéliser le neurone biologique. Ils sont la source de ce qui deviendra le réseau de neurone qui a permis l'émergence d'une immense quantité de travaux sur les systèmes neuronaux biologiques, sur l'IA et les automatismes ; ce sont les mêmes (et leurs descendants) dont on parle toujours actuellement lorsqu'on évoque le Deep Learning en IA.

Lorsque j'ai commencé à travailler à TIMC-IMAG sur les réseaux Booléens, en 2008, j'ai utilisé ce formalisme qui présentait plusieurs avantages à mes yeux, en premier parce qu'il s'agissait d'automates (déterministes) et que l'on pouvait concevoir des systèmes oscillants finalement proches de ceux que l'on pouvait obtenir avec des systèmes d'équations différentielles comme l'oscillateur anharmonique, l'oscillateur de van der Pol ou l'oscillateur de Wilson-Cowan. Avec Hedi Ben Amor, le premier étudiant en thèse que j'ai co-encadré, nous avons exploité ces systèmes dans le cadre du stockage dynamique d'information et de l'évocation mnésique [Elena, 2008 ; Ben Amor, 2008, 2009, 2010 a, 2010b, 2013a, 2011, 2013 ; Glade, 2009, 2011]. C'est aussi avec ce système qu'Hedi Ben Amor, Fabien Corblin et moi, avons exploré la question de l'inférence de réseaux Booléens appliquée à la modélisation de systèmes de régulation biologiques [Glade, 2011 ; Ben Amor, 2013]. De tels travaux sur l'inférence de réseaux Booléens avaient déjà été faits sur d'autres types de réseaux Booléens, les réseaux de Thomas, en particulier par Fabien Corblin en thèse avec Laurent Trilling et Eric Fanchon [Fanchon, 2005 ; Corblin, 2009, 2010, 2011] en utilisant la même technique
que nous avons appliquée aux TBNs, la programmation logique (non-monotone) par contraintes, en ASP (le langage de programmation *Answer Set Programming*).

Ce qui est peut-être nouveau c'est d'abord le substrat sur lequel nous avons travaillé, des TBNs. Pour
replacer les choses dans leur contexte, nous travaillions à ce moment sur des systèmes
computationnels et mémoriels fondés sur des TBNs, systèmes pouvant potentiellement être
implémentés sous la forme de systèmes électroniques, et nous nous sommes posé la question de la
possibilité d'inférer toutes les solutions possibles, pour un nombre de nœuds donnés, pour réaliser
un tel système computationnel ou mémoriel de façon à ce qu'il effectue ce qui est demandé : en clair,
il s'agissait de déterminer la structure interne (au formalisme de TBN) de tous les systèmes réalisant
une certaine fonction ou un ensemble de fonctions, comme si on demandait à un ingénieur toutes les
manières d'implémenter le système électronique d'une télévision. C'est en réalisant ce travail que
nous nous sommes aperçus que transposer les raisonnements que nous avions aux réseaux de
régulation biologiques avait du sens.

<figure><img src="image_70.png" /><figcaption>**Figure 8.25.** Réseau de régulation de la morphogenèse florale d'Arabidopsis thaliana. L'activation différentielle de gènes de ce réseau induit la différentiation des cellules végétales en 4 types cellulaires, sépales, pétales, pistil et étamines (+ 1 mutant *no flower*). C'est ce qui est requis sous la forme de contraintes sur la dynamique du réseau de régulation proposé par Mendoza [Mendoza, 1998] : les 5 points fixes correspondants doivent exister dans son graphe de transition. De plus, le réseau, modélisé par un TBN, comprend des contraintes sur la structure de son graphe d'interactions ; ces contraintes décrivent les relations entre les poids des arcs du réseau sous la forme d'inégalités. Mendoza & Alvarez-Buylla exprimaient déjà ces relations, mais certaines s'avéraient être des non-sens : ils comparaient en effet des valeurs de poids sur des arcs n'entrant pas sur la même fonction. Nous avons donc éliminé ces contraintes.</figcaption></figure>

Ce qui est également nouveau, donc, c'est la proposition que j'ai faite à ce moment là et que nous avons couchée sur papier dans l'article de 2013, à savoir la possibilité de considérer des ensembles entiers de réseaux, plutôt qu'un modèle unique, pour modéliser un réseau de régulation génétique : ce ne serait plus un modèle (une ''machine'' représentée dans notre ordinateur par un réseau Booléen) qui fonctionne et génère un comportement mais toute une population de TBNs. A ce propos, pour le présenter très rapidement, le point de vue qui occupera votre lecture dans la section
8.3.6 et que je défends comme cadre conceptuel pour réfléchir sur les réseaux biologiques est que tant qu'aucun modèle unique n'a pu être déterminé, par élimination des autres grâce à une connaissance approfondie du système biologique d'intérêt, tous les modèles qui satisfont la connaissance sur la structure du système biologique (ex : nombre de gènes, interactions connues, type d'interaction, etc.) et sur sa dynamique ont la même légitimité ; dès lors le système ''réel'' peut être interprété comme une combinaison de l'expression d'un ensemble de systèmes modèles.

Un autre point de vue possible, respectant l'idée de « à comportement biologique donné, modèle unique donné », consiste à considérer qu'un modèle est un résultat possible parmi l'ensemble des explorations qu'a permise ou qu'aurait permise l'évolution. Je parlerai à cet escient de « stratégies retenues par l'évolution », une **stratégie** n'exprimant ici aucun dessein mais une configuration possible d'un système telle que celui-ci assure (au moins) une certaine fonction (ou plusieurs) nécessaire(s) au système biologique qui en dépend. C'est ainsi que nous avons repris la modélisation faite par Mendoza et Alvarez-Buylla [Mendoza, 1998] du réseau de régulation de la morphogenèse florale d'Arabidopsis thaliana, le végétal cobaye des phyto-physiologistes. Nous avons traduit le graphe de transition et la dynamique requise du TBN proposé par ces auteurs en inégalités puis en contraintes logiques sur les valeurs des paramètres du réseau et de sa dynamique (voir Figure 8.25). Du point de vue de sa dynamique, ce réseau devait au moins permettre l'obtention de 4 points fixes correspondant aux 4 tissus floraux (sépales, pétales, pistil, étamines) et un mutant (dit *no flower*). Nous avons développé un programme en Prolog pour implémenter ces contraintes de structure et de dynamique et obtenu, pour *Arabidopsis thaliana*, 532 modèles satisfiables, c'est-à-dire respectant les connaissances (partielles) sur sa structure et sur sa dynamique. Ces modèles sont tous différents. Outre le fait que tous possèdent au moins la contrainte de structure imposée (donnée Figure 8.25), certains se ressemblent, ne différant que sur quelques paramètres, d'autres au contraire sont très différents d'aspect. D'où cette idée de « stratégies » qu'aurait pu explorer l'évolution. C'est là que j'ai vraiment commencé à m'intéresser à la diversité de ces stratégies, à comment les classer, sur quels critères, comment mesurer des distances entre réseaux ou parties de réseaux, etc. La première classification que j'ai tentée, car j'avais seulement ces données et peu de temps<fnref n="34" />, c'est celle des réseaux par rapport à la taille des 5 bassins d'attraction correspondant aux attracteurs « tissus floraux » et *no flower* [Glade, 2011]. En classant par ACP<fnref n="35" /> ou par la méthode des distances, je pensais alors différencier, sur ce critère très limité certes, des grands groupes de stratégies. J'ai pu obtenir le graphique montré figure 8.26 : la classification très grossière que j'avais faite à l'époque permettait d'obtenir 4 groupes de tailles de bassins d'attraction, groupes que j'associais – rapidement – à mes fameuses stratégies. S'il y a beaucoup à redire sur la façon de classer et sur le critère de classement lui-même, cette première approche a eu le mérite de susciter en moi un certain nombre de questions d'intérêt. Ces questions, j'ai commencé à les développer en 2013 avec une

<footnote n="34">34 j'ai fait ce travail – une classification des réseaux par la taille de leurs bassins d'attraction et l'écriture du brouillon d'un article qui devait être soumis le lendemain matin - dans le train de retour entre Brest et Grenoble.</footnote>

<footnote n="35">35 L'Analyse en composantes principales, ou ACP, consiste en la recherche de *d* vecteurs propres (les composantes principales) et leurs valeurs propres associées (« tailles » des vecteurs), décrivant au mieux un nuage points dans un espace à *d* dimensions. Ces vecteurs sont obtenus par diagonalisation de la matrice de covariance (ou de corrélation) du nuage de points dans son espace d'origine. La variance du nuage de point est conservée dans les valeurs propres.</footnote>
excellente étudiante en L3, Roselyne Chauvin<fnref n="36" />, qui a fortement contribué à faire progresser conceptuellement ce qui allait devenir une de mes thématiques principales vers 2017. A ma demande, R. Chauvin a exploré plusieurs points, sans nécessairement les approfondir, en particulier l'usage du langage ASP (au lieu de Prolog) pour faire de l'inférence sur des TBNs, la recherche par inférence de modules fonctionnels réalisant une fonction particulière dans des réseaux de taille plus importante, ce qui allait devenir une question majeure de mon activité actuelle avec notamment le problème de l'extensibilité des réseaux sur lequel je reviendrai largement, la question du degré de dégénérescence vs minimalité qui fut un véritable casse tête jusqu'à ce que nous laissions les TBNs pour les SBNs, l'établissement d'une distance entre réseaux et son usage pour classer des réseaux ou rechercher des sous-réseaux, ...

<figure><img src="image_71.png" /><figcaption>**Figure 8.26.** Classification par la taille des bassins d'attraction des TBN. Ces graphiques montrent le résultat d'une classification des TBNs consistants avec les connaissances sur la structure et la dynamique de la morphogenèse florale d'Arabidopsis thaliana. La classification résulte ici d'un scoring sur la taille des 5 bassins d'attraction requis. Ce score, déterminé empiriquement, est le produit de fonctions gaussiennes centrées sur une taille *optimale* déterminée pour chaque bassin d'attraction (*optimale* sous-entend une notion de robustesse) ; la taille dite optimale est calculée comme la moyenne de la taille des bassins des 4 tissus floraux pris ensembles. Avec un tel score, on peut ordonner les modèles dans un barplot montrant la taille cumulée des 5 bassins d'attraction. Cette toute première approche reste très approximative mais montrait tout de même qu'il semblait y avoir des groupes, grossièrement : (A) gros bassin d'attraction pour les sépales, (B) gros bassin d'attraction pour le pistil, (C) gros bassin d'attraction pour les pétales, (D) bassins d'attraction également équilibrés.</figcaption></figure>

Avant de poursuivre sur l'actualité de ce travail (de 2017 à maintenant), nous allons maintenant prendre le temps de comprendre le formalisme de ces réseaux, leur fonctionnement, mais aussi d'autres manières moins classiques de les présenter et qui nous seront utiles par la suite.

<footnote n="36">36 sur ma recommandation, Roselyne a ensuite été admise à l'ENS Paris pour un Master de neurosciences et elle a poursuivi en thèse de neurosciences (*The efficient brain: on how connectivity modulations underpin cognitive tasks*) en Hollande, à Donders Univ.</footnote>
### 8.3.3.2. Formalisme

#### 8.3.3.2.a. Fonctions et Réseaux Booléens

Un réseau Booléen, comme son nom l'indique, est formé de nœuds aux états Booléens (0 ou 1), ces nœuds, reliés par des arcs orientés, réalisant des fonctions $f : \{0, 1\}^d \to \{0, 1\}$ (la fonction a $d$ entrées). Un réseau Booléen est un tuple $(V, F)$ dans lequel $V$ est l'ensemble des variables du réseau, variables incluent les états des nœuds et les paramètres du réseau, et $F$ une mise en correspondance (*mapping*) associant une fonction Booléenne à chaque variable dans $V$. Pour chaque valeur $x \in V$, la fonction Booléenne $F(x)$ associée à $x$ calcule la nouvelle valeur de $x$ (son état successeur) à partir des valeurs des variables dans $V$. $F$ définit la façon dont $x$ sera mise à jour. Dans ce document, nous nous concentrerons sur les fonctions Booléennes propositionnelles (PBF), les fonctions Booléennes à seuils (TBF), et particulièrement celles à signe (SBF). Les paramètres des fonctions TBF et SBF seront à valeurs entières dans $\mathbb{Z}$.

En réalité, utiliser des réseaux Booléens avec des paramètres entiers n'est pas une nécessité et nous pourrions tout aussi bien travailler avec des paramètres à valeurs réelles et des états multivalués. Cependant, un tel réseau pourrait être ramené sans trop de difficultés à un réseau Booléen équivalent de taille égale ou supérieure. Utiliser de tels réseaux à valeurs réelles, ou multivalués, n'est qu'une question d'expressivité : cela permet à un modélisateur d'exprimer le plus directement possible son modèle, c'est-à-dire dans le langage qui lui semble le plus proche de ce qu'il perçoit du système biologique. L'usage des réseaux Booléens avec des paramètres entiers facilite cependant leur étude. Je reviendrai néanmoins sur la question de l'expressivité que je trouve très intéressante et qui soulève plusieurs problèmes dont celui de l'unicité des solutions et des modèles des mécanismes sous-jacents des systèmes modélisés.

#### 8.3.3.2.b. Fonctions et Réseaux Booléens Propositionnels (PBF et PBN)

Ce sont les réseaux Booléens « classiques » dans lesquels les fonctions de mise à jour $F$ sont des propositions logiques pouvant prendre toute forme possible pour effectuer des opérations avec les entrées $V$ de $F(x)$. Par exemple, une fonction ayant 2 entrées $x$ et $y$ peut combiner ces entrées sous la forme $x \oplus \neg y$ (ou $x \text{ XOR } \neg y$$^{37}$$$, équivalente à $\neg x \oplus y$ qui revient finalement à $\neg(x \oplus y)$) pour mettre à jour son état, comme illustré dans le réseau figure 8.27.

La définition de tels réseaux est facilitée par le pouvoir expressif conféré par les propositions logiques. Au même titre que pour des langages de programmation, une forte expressivité est utile au concepteur/modélisateur pour formuler dans le langage qui est le plus adapté à modéliser un système naturel. Néanmoins, cela signifie que les fonctions Booléennes ne sont pas nécessairement (sauf à avoir la même expression logique) de même nature. Dans l'exemple donné ci-dessus, les fonctions A et B ont des expressions différentes : elles sont donc de nature différente. Pour bien réaliser ce que

<footnote n="37">37 La fonction XOR est le « ou logique exclusif ». Déterminer $x$ XOR $y$ signifie que si $x$=1 et $y$=0, ou bien si $x$=0 et $y$=1, alors $x$ XOR $y$ =1, mais si $x$=1 et $y$=1, alors le « ou » n'est pas exclusif et $x$ XOR $y$ = 0.</footnote>
signifie l'expression « même nature » que j'emploie ici, le mieux est de considérer des fonctions informatiques (par exemple *mov* ou *add* ou *sub* en langage Assembleur<sup>38</sup>), fonctions dont on comprend bien qu'elles ne font pas la même chose parce qu'elles ont un « code interne » (sous-jacent) différent. Ces réseaux ont donc une expression hétérogène qui ne facilite pas l'analyse que nous souhaitons en faire. Les réseaux Booléens à seuil, eux, sont davantage homogènes dans leur écriture : toutes les fonctions ont la même formulation à une dimension donnée.

<figure><img src="image_72.png" /><figcaption>**Figure 8.27.** Exemple de réseau Booléen. Ce réseau Booléen (à droite) est constitué des fonctions A et B. Si l'actualisation des états de A et B est parallèle, alors le graphe de transition (voir sous-section 8.3.3.2.f ci-dessous) correspondant (A,B) est donné à droite. Ce graphe contient un seul bassin d'attraction composé d'un attracteur formé de 3 états successifs $1 \to 2 \to 3$. L'état 4 est transitoire et rejoint l'attracteur en 2.</figcaption></figure>

### 8.3.3.2.c. Fonctions et Réseaux Booléens à Seuil (TBF et TBN)

Une fonction Booléenne à seuil (TBF pour Threshold Boolean Function) est définie d'une part par $d$ entrées, $d$ étant le nombre de nœuds du réseau (sa dimension), dont les arcs correspondants sont pondérés par des poids $w_1, ..., w_d \in \mathbb{R}$, d'autre part par un seuil d'activation $\theta$ que la somme des entrées pondérées doit dépasser strictement<sup>39</sup> pour permettre l'activation du nœud mis à jour. Autrement dit, une TBF est intégralement définie par ses paramètres $(w_1, ..., w_d, \theta)$ et est mise à jour comme suit :

$$f(x_1, ..., x_d) = \begin{cases} 1 & \text{si } \sum_{i=1}^{d} w_i x_i > \theta_i \\ 0 & \text{sinon} \end{cases} \qquad (\text{Equation 1})$$

Par exemple (voir figure 8.28), la fonction $x \lor y$ ($x$ OU $y$) peut être écrite sous la forme d'une fonction TBF à deux entrées et un seuil nul, de paramètres $(1, 1, 0)$ ce qui, nous le verrons, revient à une fonction de type SBF à deux entrées, de paramètres $(1, 1)$. En revanche, la fonction $x \land y$ ($x$ ET $y$) ne peut être écrite que sous la forme d'une fonction TBF à deux entrées et un seuil non nul, de paramètres $(1, 1, 1)$. Autre exemple, la fonction $\neg(x \lor y)$ peut aussi être écrite comme une unique TBF à deux entrées, de paramètres $(-1, -1, -1)$. Certaines propositions logiques ne peuvent en revanche pas être restituées sous la forme de TBFs seules, par exemple la fonction $\neg(x \oplus y)$ qui ne peut être exprimée que sous la forme d'une combinaison de TBFs (voir figure 8.29) dont la durée de

<footnote n="38">38 Ces fonctions *mov v,m*, *add v,m* et *sub v,m*, réalisent respectivement le déplacement d'une valeur v dans une case mémoire m, l'addition ou la soustraction d'une valeur v avec celle contenue à l'adresse mémoire m.</footnote>

<footnote n="39">39 Notons qu'il existe dans la littérature plusieurs façons de mettre en relation le seuil et la somme des états pondérés, par exemple avec une activation lorsque la somme des états pondérée est supérieure ou égale au seuil. Cela ne change rien aux conclusions que l'on pourrait tirer de travaux utilisant ces variations diverses, ni même aux méthodes de calcul employés pour les analyser ou en faire l'inférence.</footnote>
traitement des entrées est plus longue (nous verrons un peu plus loin que ceci a son importance).

<figure><img src="image_73.png" /><figcaption>**Figure 8.28.** Exemples de fonctions Booléennes à Seuil (TBF). Ces 3 fonctions Booléennes à seuil sont la retranscription directe de fonctions propositionnelles correspondantes (écrites au dessus).</figcaption></figure>

<figure><img src="image_74.png" /><figcaption>**Figure 8.29.** Exemples de composition de fonctions Booléennes à Seuil (TBF). La fonction propositionnelle $\neg(x \oplus y)$ ne peut s'exprimer sous la forme d'une seule fonction Booléenne à seuil. Pour la « simuler », il faut combiner l'action de 3 TBFs.</figcaption></figure>

Comme nous le verrons quand nous parlerons de classe d'équivalence, le fait que les paramètres (les poids et les seuils) soient de nature différente pose beaucoup de problèmes pour certains calculs à réaliser, en particulier la détermination des réseaux minimaux et les calculs de complexité structurelle des réseaux.

En réalité, toute fonction à seuil peut être exprimée sous la forme d'une (si le seuil est nul) à deux fonctions à signe couplées (voir figure 8.30), dont l'une est une fonction auto-activée et initialisée à 1 (donc en permanence à l'état 1) et l'autre, celle qui représente la TBF d'origine que l'on traduit en SBF, reçoit un arc de la première avec un poids égal à $-\theta$. Le seuil peut donc être traduit sous la
forme d'une structure de réseau particulière : le seuil est assimilable à un mécanisme sous-jacent. De plus, le fait que la SBF simulant l'effet du seuil doive être initialisée à 1 indique que le paramètre seuil contient aussi un élément de dynamique. En cela, le paramètre seuil diffère fondamentalement des paramètres poids. Nous verrons, lorsque nous parlerons de classe d'équivalence que cela nous a posé problème.

### 8.3.3.2.d. Fonctions et Réseaux Booléens à Signe (SBF et SBN)

Descendons encore d'un cran dans les niveaux d'expressivité, mais gagnons en homogénéité avec les SBNs. Les SBNs utilisent le même formalisme que les TBNs, à ceci près que les seuils des fonctions (SBFs) sont tous de valeur 0 : une fonction est donc activée lorsque la somme des états pondérés entrants est supérieure à 0. On n'a donc plus besoin du paramètre seuil. C'est ce type de formalisme que nous utiliserons principalement par la suite, mais de temps en temps, nous ferons appel aux PBNs ou aux TBNs, en particulier lorsque nous aborderons le problème de la décomposition des PBNs en SBNs.

Notons comme conséquence du passage des TBNs aux SBNs fait au cours de nos travaux, qu'une grande partie de TBNs de dimension *d* (ceux qui n'ont pas de TBFs de seuil non nul) n'existe en réalité que sous la forme de SBNs de dimension *d+1*.

<figure><img src="image_75.png" /><figcaption>**Figure 8.30. Transcription de TBFs en SBFs.** Les fonctions TBF présentées figures 8.28 et 8.29, sont ici transcrites en SBFs, par l'ajout d'une SBF auto-activée (son état initial étant à 1, cette fonction étant ainsi représentée en vert) imposant une entrée pondérée par un poids valant le contraire du seuil de la fonction TBF correspondant à la SBF ciblée. Les seuils, tous à 0, ne sont pas indiqués.</figcaption></figure>

### 8.3.3.2.e. Partitionnement de l'espace des paramètres, Classe d'équivalence, Réseau minimal

Toute fonction de type TBF ou SBF, entièrement définie par ses paramètres, peut être représentée par l'ensemble des fonctions qui lui sont équivalentes, à savoir sa classe d'équivalence. Je vais commencer par en donner une définition insuffisante et inadéquate par rapport à notre conception des réseaux d'interaction. Je discuterai ensuite, justement, de cette conception particulière que nous défendons, des réseaux d'interaction biologiques. Enfin, je reviendrai sur la définition que nous retiendrons des classes d'équivalence.

De façon générale, et ceci est toujours valable quelle que soit la définition qu'on lui donne, la classe
d'équivalence d'une fonction regroupe les fonctions similaires selon un ensemble de critères que le chercheur aura décidé. Elles peuvent ainsi regrouper les fonctions ayant le même comportement, la même structure, ... Ce sont les classes d'équivalence ainsi définies (et nous verrons que cette définition est laissée à l'appréciation de celui qui décide de la façon de regrouper les fonctions, donc de la façon d'apprécier leur similarité ; nous en choisirons une) dont nous nous servons pour caractériser les fonctions Booléennes (notamment pour calculer leur complexité). L'ensemble des classes d'équivalence des fonctions de dimension *d* (*d* entrées, y compris les entrées de poids nul) peut être représenté dans un espace de dimension *d* (pour les SBFs ayant *d* paramètres, leurs poids respectifs), et de dimension *d+1* (pour les TBFs qui ont comme paramètre supplémentaire le seuil). Je ne parlerai ici que des classes d'équivalence des SBFs ; une discussion sur les soucis posés par le seuil des TBFs se trouve dans les articles [Christen, 2019 ; Segretain, 2020b].

Cela nous permet également de définir efficacement la notion de fonction minimale, unique à la permutation des entrées près, introduite par A. Elena [Elena, 2009]. Deux SBFs (ou TBFs) peuvent s'avérer équivalentes, même si leurs paramètres différent, tant que leur table de vérité est identique. Par exemple, les SBFs de paramètres (3,2), (7,3) et (1,1) sont équivalentes ; elles produisent les mêmes sorties dans la table de vérité. La fonction Booléenne minimale d'une classe d'équivalence est celle dont les valeurs des poids (entiers) sont minimales (c'est-à-dire les plus proche possible de 0). Là aussi, je préciserai quelque peu ce point sous peu.

**Partitionnement de l'espace des paramètres.** Tout vecteur dans l'espace des paramètres $\mathcal{W}$, de base orthogonale ($w_1, w_2, ..., w_d$), décrit une instance de fonction (SBF dans l'espace des poids). Ces instances peuvent être regroupées par similarité en classes d'équivalence. Pour obtenir les classes d'équivalence, on commence par considérer le partitionnement de $\mathcal{W}$ (les poids des SBFs) par l'ensemble des hyperplans (droites en 2D, plans en 3D, etc.) dont les équations correspondent à toutes les combinaisons possibles avec les poids, par exemple en dimension 3, avec les poids $w_1, w_2, w_3$, on a les 7 plans d'équation $w_1=0, w_2=0, w_3=0, w_1+w_2=0, w_1+w_3=0, w_2+w_3=0$ et $w_1+w_2+w_3=0$ (voir figure 8.31). Ces plans délimitent des régions coniques de l'espace, des partitions, que nous appelons également *layouts* $\mathcal{L}$ (ou arrangements). Les fonctions à l'intérieur d'un layout ont toutes la même table de vérité. Une classe d'équivalence peut être constituée de 1 à plusieurs layouts. Les fonctions sont en effet considérées équivalentes à la permutation de leur entrées près. Par exemple, les fonctions (-1,2) et (2,-1) appartenant respectivement au layouts $\mathcal{L}_{21}$ et $\mathcal{L}_{22}$ dans la figure 8.31 sont équivalentes. Dans cet exemple, les layouts $\mathcal{L}_{21}$ et $\mathcal{L}_{22}$ appartiennent à la même classe d'équivalence $\mathcal{A}_2$. Je développerai davantage le partitionnement de $\mathcal{W}$ un peu plus loin dans le texte.

**Classe d'équivalence – 1ère définition (obsolète).** De prime abord, la classe d'équivalence d'une fonction pourrait être définie comme l'ensemble des fonctions possédant la même table de vérité, permutation des entrées comprises (voir figure 8.31). La table de vérité d'une fonction contient à la fois les informations de structure et de dynamique de la fonction (contrairement à une définition des fonctions fondée uniquement sur les valeurs de leurs paramètres). Chaque classe d'équivalence
comprend ainsi un représentant de fonction minimale. Je vais profiter de ce moment pour discuter un peu de ce que j'entends, tout de même, par fonction minimale, dans le cadre de notre travail.

A priori, si les descriptions de ce que sont les classes d'équivalences et les réseaux minimaux que je viens de donner paraissent évidentes, elle me posent problème : dans certaines classes d'équivalence en effet, réduire une fonction de paramètres quelconques à la fonction minimale correspondante amènera à affecter la valeur 0 à certains poids ! Par exemple, la SBF de dimension 2 et de paramètres (-2,-1), appartenant à la classe d'équivalence $A_4(f)$ dans la figure 8.31 et dont la sortie est toujours 0, pourra en réalité être réduite à la SBF minimale de paramètres (0,0). Du point de vue de la logique des réseaux, ce n'est pas choquant. Du point de vue de la biologie et de sa modélisation en revanche, je trouve cela très gênant pour les raisons que je vais décrire tout de suite.

<figure><img src="image_76.png" /><figcaption>**Figure 8.31.** Boule des paramètres et classes d'équivalence. (A) Les SBFs en 2 dimensions sont représentées par leurs 2 paramètres $w_1$ et $w_2$. L'espace des paramètres peut alors être partitionné par les différentes équations des plans dont les poids sont les variables, en partitions coniques $L_{ij}$ (Layouts). Dans chaque layout, toutes les fonctions Booléennes ont le même comportement (même table de vérité). Dans ces 2 représentations, on délimite l'espace dans une *d*-boule pour des raisons pratiques que nous aborderons lorsque nous parlerons des calculs de complexité. Cette *d*-boule possède des symétries correspondant aux permutations des entrées dans la table de vérité, ce que nous désignons par $L_{ij}$. Une classe d'équivalence $A_i(f)$ est formée de l'ensemble des agencements $L_{ij}$ qui la composent. En (B) est montré la 3-boule des SBFs de dimension 3, ainsi que l'ensemble des plans délimitant les différents agencements d'entrées de $f$ formant les classes d'équivalence.</figcaption></figure>

En modélisant les réseaux biologiques par des réseaux (Booléens ici), on souhaite exprimer le fait qu'une voie de communication, même si elle n'a pas d'effet, existe entre deux éléments d'un système. Si par cette voie de communication l'élément source parvient éventuellement à provoquer parfois des changements de l'état de l'élément cible, alors on pourra dire qu'il s'agit d'une interaction effective. Par exemple, un facteur de transcription (émis par une source) se fixant à un gène et provoquant un changement de l'activité de ce gène permettra au biologiste d'identifier une interaction effective et cela pourra être modélisé par un arc de poids non nul. Ce qui pose problème, ce sont les interactions que je qualifierais de « silencieuses ». Supposons une molécule pouvant se fixer sur une région régulatrice inhibitrice en amont d'un gène mais ne provoquant aucun
changement de son activité ; cela serait imaginable dans le cas d'une mutation de la région promotrice découplant celle-ci de sa région sensée être régulatrice. Il existe un canal de communication, mais il est inopérant. Là, il y a trois manières de concevoir la modélisation de cette situations :

* La première, pragmatique, aura pour objectif de représenter ce que l'on peut mesurer d'effectif, ce qui est apparemment à l'œuvre dans la cellule, et ne prendra donc en compte que les interactions effectives, celles qui peuvent éventuellement provoquer un changement d'état d'un nœud. Dans ce cas, les interactions inopérantes ne seront pas prises en compte : leur poids sera nul et on ne représentera pas l'arc correspondant étant donné qu'on n'a de toutes façon pas identifié de canal de communication potentiel.

* Dans la seconde, il faut supposer que le biologiste a pu identifier une molécule provenant d'une source et se fixant sur une cible, mais qu'il n'a pas pu identifier de changement d'activité de la cible lié à la fixation de cette molécule. Dans ce cas, une possibilité est de considérer un arc existant entre le nœud source et le nœud cible mais de lui affecter un poids nul. On introduit ici une interaction potentielle. Cependant, comment alors distinguer dans l'ensemble des interactions potentielles d'un réseau, exprimées dans la matrice d'interaction, les arcs de poids nul des absences d'arcs (de facto de poids nul aussi dans la matrice d'interaction) ?

* La troisième possibilité consiste à signifier une interaction et sa nature (a priori inhibitrice ou activatrice) par un arc modélisant le canal de communication inopérant et indiquant par un poids non nul la nature de cette interaction. C'est cette façon de procéder que je souhaite retenir dans mon travail sur les réseaux.

Ces trois façons de procéder ne sont pas équivalentes. En particulier, le fait de modéliser un canal de communication inopérant permet de prendre en compte des potentialités, évolutives notamment, d'un réseau. Un arc ne causant aucun changement sur l'activité du réseau pourrait, suite à un processus évolutif modifiant ce réseau, être amené à jouer un rôle important dans le réseau évolué. L'importance de cette interaction pourrait ainsi être amenée à changer, par exemple faisant passer une fonction à signes de paramètres (-1,2) à la fonction de paramètres (-2,2). Dans le premier cas, lorsque les 2 nœuds source sont actifs, la cible passe à 1 ; en revanche, dans le deuxième cas, la double stimulation de la cible fait passer celle-ci à 0. L'ajout d'un nouvel arc entrant lors de cette évolution pourrait aussi donner un nouveau rôle à l'arc encore inutile, révélant ainsi sa potentialité. Par exemple, l'ajout d'un arc de poids négatif (ex : -1) à la fonction de paramètres (-1,2), transformant ainsi celle-ci en une nouvelle fonction (-1,-1,2), change le comportement de cette dernière puisque l'action combinée des 2 arcs inhibiteurs peut maintenant compenser l'action de l'arc activateur, ce qui n'était pas le cas avec un seul arc inhibiteur.

De plus, dans le cadre d'une modélisation non déterministe d'un réseau, comportant une activité au moins partiellement stochastique, la présence d'un arc inactif pouvant éventuellement s'activer de temps à autres change la donne.

Enfin, la modélisation de réseaux biologiques se fait en délimitant le système d'intérêt de façon
assez arbitraire, souvent par manque de connaissances de ce qui l'entoure, mais aussi par choix de
ne pas se retrouver de fil en aiguille à modéliser la totalité de la cellule dans un gigantesque réseau.
De la même manière que pour la question évolutive, le plongement d'un tel réseau comportant des
potentialités exprimées sous la forme d'arcs inopérants dans un réseau de plus grande taille et
établissant un dialogue avec celui-ci, n'aura pas les mêmes conséquences que si de tels arcs
inopérants mais bien présents n'étaient pas pris en compte.

Nous verrons que cette potentialité ainsi exprimée trouvera tout son intérêt lorsque nous parlerons
de l'extensibilité.

Nouveau partitionnement de W en dimensions pures – Nouvelle définition des classes d'équivalence. Le simple partitionnement de W en layouts par les différents hyperplans w<sub>1</sub>+...=0 ne permet pas, nous l'avons vu, de distinguer les fonctions se trouvant sur les axes, donc possédant un à plusieurs poids nuls, des fonctions se situant à un endroit quelconque de W, hors axes (ex : la fonction (-1,-1), avec un tel partitionnement, se trouve dans la même classe d'équivalence que (0,0)). Il faut donc apporter une distinction plus fine des SBFs dans W.

<figure><img src="image_77.png" /><figcaption>**Figure 8.32.** Partitionnement des espace de paramètres W<sub>q</sub> en layouts et classes d'équivalence. (A) L'espace W<sub>0</sub> de dimension 0 est partitionné en 1 cône de dimension 0. Il ne contient qu'une classe d'équivalence. (B) L'espace de dimension 1 est partitionné en 3 cônes, 1 de dimension 0, 2 de dimension 1. Le partitionnement de W<sub>1</sub> aboutit donc à 3 classes d'équivalence. (C) Le partitionnement de W<sub>2</sub> est obtenu d'une part en prolongeant le partitionnement de W<sub>1</sub> dans une dimension supplémentaire et en le superposant à lui même après rotation de 90°, d'autre part en partitionnant à nouveau avec l'hyperplan d'équation w<sub>1</sub>+w<sub>2</sub>=0. (D) L'espace de dimension 2 est partitionné en 11 cônes, 1 de dimension 0, 4 de dimension 1, 6 de dimension 2. Par symétrie par rapport à w<sub>1</sub>=w<sub>2</sub>, les layouts sont regroupés dans une seule et même classe d'équivalence. Le partitionnement de W<sub>2</sub> aboutit donc à 7 classes d'équivalence.</figcaption></figure>
L'espace $W_d$ de dimension $d$ contient des fonctions à $d$ entrées non nulles, mais également des fonctions à $d-1$ entrées non nulles (donc une entrée nulle), $d-2$ entrées non nulles (donc 2 entrées nulles) jusqu'à $d-k=0$ (aucune entrée). Il est donc plus judicieux de décrire comment est formé cet espace $W_d$ de dimension $d$, à savoir comme une composition d'espaces de fonctions de dimensions inférieures. Ainsi (voir en parallèle la figure 8.32) :

* L'espace $W_0$ de dimension 0 est un point qui ne contient qu'une fonction sans entrées : $\emptyset$. Il est donc formé d'un seul layout et d'une seule classe d'équivalence.

* L'espace $W_1 \setminus W_0$ (c'est-à-dire $W_1$ privé de $W_0$) est constitué de 2 segments de droite $]-\infty, 0[$, $[0, +\infty[$, séparés par un hyperplan de dimension 0, d'équation $w_1=0$, passant par 0 et orthogonal à la droite. $W_1$ contient donc 2 layouts de dimension 1 pure (2 classes d'équivalences) et 1 layout de dimension 0 (1 classe d'équivalence).

* L'espace $W_2 \setminus \{W_0, W_1\}$ (c'est-à-dire $W_2$ privé de $W_0$ et $W_1$) est un espace plan, dont on a retranché les axes et l'origine. De plus, un hyperplan de dimension 1 (une droite) d'équation $w_1+w_2=0$ partitionne de façon supplémentaire cet espace. Le partitionnement de $W_1$ s'applique sur chacune de dimensions de $W_2$. $W_2$ est donc partitionné en 6 layouts (regroupés en 4 classes d'équivalence) de dimension 2 pure, 4 layouts de dimension 1 pure (regroupés en 2 classes d'équivalence) et 1 layout de dimension 0 (1 classe d'équivalence).

* L'espace $W_3 \setminus \{W_0, W_1, W_2\}$ (c'est-à-dire $W_3$ privé de $W_0$, $W_1$ et $W_2$) est constitué de la même manière par un espace de dimension 3 privé des plans formés par l'application du partitionnement de $W_2$ se traduisant par les plans $w_1=0$, $w_2=0$ et $w_3=0$ en rouge, vert, bleu respectivement dans la 3-boule montrée figure 8.31, ainsi que les plans $w_1+w_2=0$, $w_1+w_3=0$, $w_2+w_3=0$ montrés en jaune, magenta et cyan qui correspondent à l'application de l'hyperplan d'équation $w_1+w_2=0$ partitionnant $W_2$, et d'un partitionnement supplémentaire par un hyperplan de dimension 2 d'équation $w_1+w_2+w_3=0$ en noir dans la figure 8.31. Cet espace $W_3$ est donc partitionné en 32 layouts de dimension 3 (regroupés en 10 classes d'équivalence), en 6 layouts (regroupés en 4 classes d'équivalence) de dimension 2 pure, 4 layouts de dimension 1 pure (regroupés en 2 classes d'équivalence) et 1 layout de dimension 0 (1 classe d'équivalence), soit un total de 43 layouts regroupés en 17 classes d'équivalence.

* Et ainsi de suite pour les dimensions supérieures.

Maintenant, l'équivalence des fonctions est définie à la fois grâce à la table de vérité et par le nombre d'entrées non nulles. Cela aura des conséquences sur la complexité des fonctions.

La façon dont sont partitionnés les espaces de paramètres semble clairement définissable par l'algèbre linéaire. Nous sommes tout juste en train de nous y intéresser. L'application de l'algèbre linéaire dans le cadre des espaces de paramètres des SBNs pourrait bien nous aider à résoudre certaines de nos questions comme celle de la composition de fonctions.

### 8.3.3.2.f. Graphe de transition
Le graphe de transition d'un réseau désigne l'ensemble des états que peuvent prendre les nœuds de ce réseau et décrit les transitions que leur activité provoque. Dans le cas des réseaux déterministes de type PBNs, TBNs ou SBNs, ces graphes sont déterministes. Un graphe de transition pour ces réseau décrit complètement et de façon unique la structure du réseau puisqu'il impose sa dimension et, en faisant correspondre à chaque état du réseau un nouvel état déterministe, il reproduit la table de vérité de ce réseau (figure 8.33).

<figure><img src="image_78.png" /><figcaption>**Figure 8.33.** Exemple de réseau et de son graphe de transition associé (A) Exemple de réseau propositionnel composé de 2 fonctions complexes. (B) Le graphe de transition est composé de 4 états (labels dans les nœuds du graphe dont les valeurs des nœuds du réseau sont indiquées entre parenthèses). La table de vérité correspondante est indiquée en dessous avec les valeurs d'entrées Ai et Bi, et les valeurs en sortie As et Bs. Les états sont numérotés ainsi que leurs successeurs.</figcaption></figure>

<table><thead><tr><th>Ai</th><th>Bi</th><th>As</th><th>Bs</th><th>stateId</th><th>successorId</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>2</td></tr><tr><td>0</td><td>1</td><td>0</td><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>0</td><td>0</td><td>1</td><td>3</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td><td>1</td><td>4</td><td>2</td></tr></tbody></table>

(B)

### 8.3.3.2.g. Modes de mise à jour

Les modes (ou schémas) de mise à jour correspondent à l'ordre dans lequel les nœuds du réseau sont mis à jour. Un schéma de mise à jour peut ainsi être entièrement parallèle sur l'ensemble du réseau, ou entièrement séquentiel (aucun des nœuds n'est mis à jour en même temps qu'un autre ; tous ont un numéro de mise à jour différent). Il peut aussi être mixte et comporter des blocs d'exécution parallèle, eux-mêmes exécutés séquentiellement [Elena, 2009].

Dans l'ensemble des réflexions qui suivront (et en pratique dans nos travaux) je ne me placerai que dans le cadre de schémas d'exécution parallèle. Cependant, ces réflexions sont transposables aux autres schémas de mise à jour, ceux-ci apportant leur dose de complexité. En effet, tout schéma de mise à jour asynchrone dans un réseau peut être traduit sous la forme d'une mise à jour synchrone dans un autre réseau de plus grande dimension. L'asynchronie est une question de temps de communication entre les parties du réseau, délimitant ainsi des blocs d'exécution parallèle et un ordre d'exécution de ces blocs. J'y reviendrai en abordant la question de la décomposition des réseaux (section 8.3.5.2.a).

### 8.3.4. Inférence et exploration des TBNs et SBNs

Je vais maintenant aborder d'une part la façon dont nous cherchons des réseaux présentant certaines caractéristiques, mais surtout je vais doucement introduire l'idée de considérer des populations de
réseaux satisfiables plutôt que des instances particulières de réseaux pour répondre à un problème. Lorsqu'on souhaite modéliser les relations qui harmonisent le fonctionnement d'un système biologique par un réseau d'interaction, on doit identifier les protagonistes qui constituent les nœuds du réseau (telle ou telle espèce animale, un ensemble de gènes, etc.) et idéalement leurs caractéristiques comportementales propres, ainsi que l'ensemble des interactions que chacun d'entre eux reçoit directement ou indirectement des autres. Ce faisant, on cherche ainsi à identifier la structure de ce réseau d'interaction (le graphe d'interactions). On peut aussi s'intéresser à l'activité globale (ou seulement une activité partielle) de ce réseau (son graphe de transition), ce qu'il produit d'observable, comme des signes de présence de telle ou telle espèce animale dans un milieu, un dénombrement d'individus, ou un phénotype lorsqu'on étudie l'activité d'un ensemble de gènes.

Souvent, les informations souhaitées sont parcellaires. Par exemple, on peut savoir qu'un réseau de régulation génétique comporte certains gènes non identifiés mais requis pour produire une activité particulière ; même leurs interactions peuvent ne pas être totalement connues. Ou bien, on ne connaît que certaines parties du graphe de transition, celles qui ont été révélées par les recherches patientes et minutieuses des expérimentateurs et observateurs du système naturel. Il est pourtant nécessaire, notamment pour simuler son fonctionnement et éventuellement s'en servir dans un cadre élargi, par exemple la simulation de cellules virtuelles dotées de capacités de régulation, mais aussi pour aider à la réflexion sur ce système (voir la section 3.1.3), de disposer d'une version fonctionnelle d'un tel réseau d'interactions, donc de compléter ce qui manque. En pratique, pour les raisons évoquées ci-dessus (section 8.3.3.2.f) quels que soient les efforts déployés pour affiner la connaissance, un réseau ne sera jamais qu'une projection incomplète (par son formalisme mais aussi par le choix de la délimitation du système biologique à modéliser) du système naturel.

En pratique, le processus de construction d'un tel réseau fonctionnel, passe par des suppositions faites par le chercheur sur les parties manquantes et les approximations qui sont soit présentées comme des hypothèses à tester, soit retenues en l'état comme acceptables car complétant de façon efficace les connaissances manquantes ; dans tous les cas ces compléments proviennent d'inférences produites par l'esprit de celui qui s'intéresse au système naturel depuis un temps suffisant pour élaborer des projections possibles. Cependant, au terme de cette construction, un seul modèle est retenu si tant est qu'il satisfasse (acceptablement) aux observations connues sur la structure et la dynamique du système étudié. C'est une approche pragmatique car il est alors aisé, pour l'étude biologique, de travailler sur un modèle bien identifié et éventuellement de le rejeter au terme de nouvelles observations entrant en contradiction avec sa structure ou son activité. Dans ce cas, le modèle est révisé ou on recherche un autre modèle.

C'est là que ma façon de voir les choses diffère. Avant d'expliquer en quoi mon point de vue diffère, je vais parler un peu de la détermination des réseaux satisfaisant les observations.

Étant donné un ensemble de connaissances (partielles) sur la structure et la comportement d'un réseau, il peut exister entre 0 (aucun modèle) et un nombre proprement gigantesque de modèles (des projections possibles du système naturel dans un formalisme donné). L'ensemble des modèles qui satisfont (au moins) l'ensemble des contraintes que constituent les connaissances dont on dispose est appelé *ensemble satisfiable*. Le travail du théoricien consiste notamment à élaborer des méthodes
efficaces pour déterminer de tels ensembles satisfiables. Dans ce contexte, le travail du biologiste consiste alors à réduire la taille de tels ensembles en apportant de nouvelles connaissances, donc en contraignant davantage la recherche des réseaux satisfiables.

Une des façons de procéder consiste à énumérer les variations de réseaux et à retenir celles possédant au moins les caractéristiques observées. Il va sans dire qu'une telle recherche devient vite explosive quand la taille des réseaux augmente : s'il n'y a que 60 SBNs de dimension 2 (donc composés de 2 fonctions à 2 entrées), il y en a environ $10^{20}$ dès la dimension 5 ! Le tableau 8.34 ci-dessous récapitule ce dénombrement des SBNs (dénombrement approximatif car ne prenant pas en compte le rejet des réseaux non connectés) obtenu par la formule

$$N_{SBNs} = \frac{(f + d - 1)!}{(f - 1)!} \times d!^{d-1} = \left( \prod_{i=f}^{f+d-1} i \right) \times d!^{d-1} \text{ avec } d \text{ la dimension et } f \text{ le nombre de}$$

classes d'équivalence (c'est-à-dire le nombre de fonctions minimales, aux layouts près).

<table><caption>**Tableau 8.34.** Énumération des layouts, classes d'équivalence en dimension pure ou cumulées, et des SBNs, en fonction de la dimension du réseau. Le nombre de réseau indiqué en italique est celui obtenu par le calcul donné plus haut ; celui donné en caractères droits est le nombre exact de réseaux non redondants obtenu par calcul.</caption><thead><tr><th>Dimension d</th><th>Nombre de Layouts (partitions de l'espace des paramètres des SBFs) de dimension d pure</th><th>Nombre de SBFs minimales f de dimensions d pures (classes d'équivalence pures)</th><th>Nombre de SBFs minimales f de dimensions d cumulées (classes d'équivalence cumulées)</th><th>Nombre de SBNs de dimension d - y compris non connectés et redondants par permutation - non redondants</th></tr></thead><tbody><tr><td>0</td><td>1</td><td>1, sans paramètres (pas d'arc entrant) : (Ø)</td><td>1</td><td>1</td></tr><tr><td>1</td><td>2</td><td>2, de paramètres (1) ou (-1)</td><td>3, de paramètres (0), (1), (-1)</td><td>3</td></tr><tr><td>2</td><td>6</td><td>4, de paramètres (1,1), (2,-1) ou (-1,2), (1,-1) ou (-1,1), et (-1,-1)</td><td>7, de paramètres (0,0), (0,1) ou (1,0), (0,-1) ou (-1,0), (1,1), (2,-1) ou (-1,2), (1,-1) ou (-1,1), et (-1,-1)</td><td>112<br>60</td></tr><tr><td>3</td><td>32</td><td>10</td><td>17</td><td>209 304<br>31 199</td></tr><tr><td>4</td><td></td><td>36</td><td>53</td><td>1.22 10<sup>11</sup><br>3 623 481 898</td></tr><tr><td>5</td><td></td><td>224</td><td>277</td><td>3.5 10<sup>20</sup><br>?</td></tr><tr><td>6</td><td></td><td>3024</td><td>3301</td><td>2.5 10<sup>35</sup><br>?</td></tr></tbody></table>

Une autre façon de procéder consiste à utiliser la programmation logique par contrainte : au lieu de
parcourir l'espace de tous les réseaux possibles et de ne conserver que ceux qui sont satisfiables, on réduit d'emblée l'espace de recherche à la taille de l'ensemble satisfiable (il n'y a donc pas de recherche à faire dans cet ensemble ainsi réduit) en contraignant cet espace par des contraintes logiques, traduction directe des connaissances requises sur la structure et sur la dynamique. Brièvement, le principe est le suivant : les connaissances biologiques sont traduites sous forme de contraintes logiques se traduisant par exemple par des inégalités sur des entiers pour contraindre les valeurs des poids des arcs entrants d'une fonction Booléenne. L'ensemble des contraintes est traduite par un programme, le grounder, en forme normale contrainte (CNF), une formulation globale du problème. La taille de cette formule, donc son occupation en mémoire dans l'ordinateur, dépend du nombre de contraintes et de leur expression. C'est la limitation de cette méthode : elle peut vite s'avérer très gourmande en mémoire. Un solveur de type SAT se charge enfin de déterminer l'ensemble satisfiable à partir de la CNF. Pour plus de détails, je renvoie aux articles cités ci-dessous.

<figure><img src="image_79.png" /><figcaption>Figure 8.35. Chaîne logicielle de traitement des SBNs utilisant la bibliothèque *Java Parallel Pipeline*.</figcaption></figure>

En 2009, F. Corblin, alors en thèse avec E. Fanchon et L. Trilling dans notre équipe à TIMC-IMAG
a montré que l'on pouvait utiliser une approche déclarative implémentée sous la forme de
programmation logique par contrainte, en Prolog d'abord, en ASP<fnref n="40" /> [Gebster, 2011] plus tard, pour
inférer des ensembles de réseaux Booléens satisfiables, ou des propriétés les concernant, à partir de
connaissances structurales et dynamiques (comportement) [Corblin, 2009, 2010, 2011, 2012]. Le
formalisme utilisé était alors celui des réseaux de Thomas. En 2013, H. Ben Amor, alors en thèse
avec J. Demongeot et moi, et F. Corblin, avons adapté cette méthode pour les réseaux Booléens à
seuil (TBNs) [Ben Amor, 2013]. Nous l'avons également appliquée à l'inférence des réseaux
pouvant modéliser le réseau de régulation de la morphogenèse florale d'Arabidopsis thaliana :
résultat, 532 TBNs satisfiables (tous différents, tous minimaux) au lieu du modèle unique retenu par

<footnote n="40">40 Answer Set Programming</footnote>
Mendoza, l'auteur à l'origine de ce travail de modélisation [Mendoza, 1998]. Par la suite, L. Trilling, S. Ivanov et moi-même, avec l'aide précieuse de plusieurs étudiants (Q.T. Vuong, U. Christen, R. Segretain), avons amélioré la technique en utilisant le langage ASP, un langage de programmation par contrainte avec logique non monotone, dialoguant avec un langage impératif (Java) via un pipeline de traitement optimisé [JPP], intégrant la limitation aux réseaux minimaux, la non-redondance des réseaux par permutation, mais également des traitements *a posteriori* comme le calcul des graphes de transition, les calculs de complexité, etc, pour traiter ce type de problèmes sur les TBNs [Vuong, 2017; Christen, 2019] puis les SBNs [Segretain, 2020a et 2020b] (figure 8.35).

Le nombre de réseaux satisfiables pour une connaissance biologique donnée (structure + dynamique) peut être potentiellement très grand ; par exemple, rappelons les 532 modèles satisfiables pour le réseau de morphogenèse florale d'Arabidopsis thaliana obtenus à partir des connaissances biologiques énoncées par Mendoza et al. [Mendoza, 1998; Ben Amor, 2013]. Rien ne permet, sans plus de contraintes sur la structure ou la dynamique, d'affirmer qu'un réseau vaut mieux qu'un autre ! Pourquoi dès lors ne pas essayer de considérer plutôt l'ensemble satisfiable comme un modèle en soit ? Le comportement du système serait alors vu comme un comportement moyen de l'ensemble des modèles satisfiables. J'ai avancé cette idée de système biologique simulé par un ensemble de modèles vers 2009 alors que nous commencions à travailler sur l'apport de l'approche déclarative pour inférer des ensembles de réseaux, et nous en avions déjà touché un mot dans [Ben Amor, 2011, 2013]. Cette idée a en fait été proposée dès 2004 par un des pères des réseaux Booléens, S. Kauffman [Kauffman, 2004]. Elle a été utilisée pour étudier statistiquement la dynamique collective d'un ensemble de modèles [Krawitz, 2007; Schweiger, 2017]. Récemment, Chevalier et al. [Chevalier, 2020] ont proposé une stratégie de simulation de réseaux Booléens fondée sur des ensembles de réseaux satisfiables déterminés par inférence sur les connaissances a priori sur la structure et la dynamique des réseaux, en ASP, d'une manière très semblable à la notre. Je reviendrai par la suite sur cette vision ensembliste de la dynamique cellulaire à laquelle j'adhère puisqu'elle permet de rendre compte des variations possibles du modèle décrivant à un instant donné l'agencement des éléments cellulaire et leur état, soit sous la forme d'une dynamique moyenne résultant de l'activité superposée de l'ensemble des réseaux satisfiables, soit comme une trajectoire dans un paysage de réseaux, dont certains sont satisfiables. Je développerai particulièrement ce dernier point en incluant les notions de robustesse des comportements et de résilience.

### 8.3.5. Premières questions sur les réseaux (SBNs)

A présent, je vais énumérer un certain nombre de questions que nous nous posons sur les systèmes biologiques et que nous permettent d'explorer les techniques et les formalismes mentionnés plus haut. Dans la section qui suivra et qui sera dédiée à des réflexions plus larges sur la nature du vivant et son fonctionnement, ces questions trouveront une résonance.

#### 8.3.5.1. Complexité - Relation structure-fonction
Lorsqu'on travaille sur des ensembles de réseaux, on est tenté de les comparer entre eux et de
comparer leur dynamiques. Disposer de mesures permet leur classification, d'établir des proximités
entre réseaux et/ou comportements et d'étudier la relation structure-fonction de ces réseaux.

Il y a de très nombreux indicateurs disponibles permettant de caractériser les réseaux et leurs
dynamiques, des très simples comme le nombre de nœuds et d'arcs, le nombre de bassins
d'attraction et la taille respective de ces bassins [Glade, 2011], d'autres plus compliqués demandant
des calculs plus lourds comme la centralité.

Les réseaux sont des machines (leurs abstractions mathématiques) qui réalisent un travail. Dans la vie de tous les jours, nous évaluons la complexité des machines à notre portée (bien que, souvent, leur apparence extérieure cache leur puissance et leur complexité réelle) tant dans leur organisation interne que dans la ou les fonctions qu'elles réalisent. Cette évaluation nous permet de les comparer entre elles ... et avec nous-mêmes, avec les choses vivantes, ces semblants de machines complexes.

Il y a de nombreuses façons de mesurer la complexité d'un objet. En s'inspirant de méthodes existantes et en réfléchissant à ce qu'elle devait exprimer, nous avons développé une manière de calculer la complexité des réseaux Booléens à signe et nous avons aussi calculé la complexité de leurs dynamiques en utilisant une technique existante. Je renvoie aux textes [Christen, 2018, 2019 ; Segretain 2020a et 2020b] pour les détails. Nous avons aussi développé une manière de calculer des distances entre réseaux en tenant compte à la fois de leur structure et de leur dynamique. Dans les deux cas, notre perception des critères à retenir pour définir un réseau de façon synthétique ou le comparer à d'autre évolue. Je discute notamment de cela dans cette section.

**Complexité d'un SBN – Code offusqué.** Brièvement, ce que nous retenons, c'est que le calcul de la complexité d'un SBN repose à la fois sur la complexité intrinsèque des SBFs qui le composent (une complexité dite fonctionnelle $C^f$) et sur la complexité de leurs arrangement entre elles (complexité dite structurale $C^s$).

Nous avons choisi de définir la complexité fonctionnelle $C^f$ d'une SBF $f$ comme la probabilité complémentaire à celle d'être dans sa classe d'équivalence $\mathcal{A}(f)$, parmi l'ensemble des classes d'équivalence de l'espace des paramètres, c'est-à-dire $C^f = 1 - P(\mathcal{A}(f))$. La probabilité de choisir une fonction appartenant à une classe d'équivalence donnée dans l'espace des paramètres est égale au volume occupé par cette classe d'équivalence dans la boule unité, divisé par le volume de la boule unité. Pour le moment, ces volumes associés aux classes d'équivalence sont évalués par un grand nombre de tirages aléatoires de vecteurs de paramètres dans la boule unité, avec une norme infinie (figure 8.36). Dans cette logique, plus une SBF est représentée (classe d'équivalence volumineuse), moins elle est complexe ; et réciproque. C'est la *rareté* qui fait la complexité ici. Derrière cela, il y a une notion de coût : il est difficile d'obtenir, donc coûteux de rechercher dans l'espace des paramètres, une fonction disposant de certains paramètres de la même manière qu'il est coûteux de fabriquer une pièce mécanique « complexe ». Je reviens en détails sur ceci dans le paragraphe Mesurer la complexité, calculer une distance, c'est déjà modéliser 3 pages plus loin.
<figure><img src="image_80.png" /><figcaption>**Figure 8.36.** Tirages aléatoires dans la boule unité pour déterminer la proportion respective de chaque classe d'équivalence. Voir l'article [Christen, 2019] et le rapport [Christen, 2018] pour l'algorithme détaillé et les discussion sur le choix de la norme.</figcaption></figure>

Pour la complexité structurale $C^s$, nous utilisons une forme de mesure de centralité de manière à exprimer l'influence qu'a un nœud (sous tendant une fonction) sur un autre, par l'intermédiaire des arcs dirigés et pondérés. Là aussi, cette complexité est définie comme une probabilité. Pour une étape d'un chemin comportant un arc dirigé $E_{ij}: n_i \xrightarrow{w_{ij}} n_j$, entre deux nœuds du réseau nous calculons la probabilité d'influence du nœud $i$ sur le nœud $j$ comme la proportion d'influence $P^I(E_{ij})$ que reçoit $n_j$ par $n_i$ parmi l'ensemble des influences $E_{kj}$ qu'il reçoit :

$$P^I(E_{ij}) = \frac{|w_{ij}|}{\sum_{k=1}^{d} |w_{kj}|} \quad \forall i, j, k \in [1; d]$$

On peut alors définir la probabilité d'influence $P^I(Path_{ab})$ d'un chemin (path) plus long entre deux nœuds distants $n_a$ et $n_b$ comme la moyenne géométrique des influences de chaque étape

$$E_{ij} \in Path_{ab}: P^I(Path_{ab}) = \sqrt{\prod_{E \in Path_{ab}} P^I(E)}, L_{ab} \text{ étant la longueur du chemin. On exprime}$$

là l'influence moyenne d'un chemin comme une probabilité moyenne afin que celle-ci puisse être comparée à celle d'un autre chemin. L'usage de la moyenne géométrique est notamment justifié par le fait que chaque SBF reçoit potentiellement un nombre différent d'entrées non nulles ; ainsi, l'influence $|w_{ij}|$ à chaque étape sur un nœud peut être normalisée par un nombre différent de poids (allant de 1 à $d$ poids). Notons que les autres entrées que reçoit une fonction sont des compétitrices de l'entrée considérée ; elles contribuent à faire baisser le niveau de centralité d'une fonction.
Comme plusieurs chemins différents peuvent exister entre les nœuds $n_a$ et $n_b$ la probabilité d'influence globale $P_{ab}^I$ de $n_a$ sur $n_b$ est calculée comme la probabilité d'influence de l'union des chemins : $P_{ab}^I = P\left(\bigcup_{Path \in Paths_{ab}} Path\right)$ où $Paths_{ab}$ désigne l'ensemble des chemins entre $n_a$ et $n_b$.

La centralité d'un nœud $n_i$ (complexité structurale locale) est alors définie comme la probabilité que celui-ci influence au moins un nœud $n_k$, lui inclus : $C_i^s = P\left(\bigcup_{k=1}^d \left(\bigcup_{Path \in Paths_{ab}} Path\right)\right)$

Pour calculer la complexité globale (synthétique) d'un réseau SBN, on utilise les 2 complexités, structurale $C^s$ et fonctionnelle $C^f$ à la fois. La centralité $C_i^s$ de chaque nœud module sa complexité fonctionnelle $C_i^f$, de telle manière que la complexité d'un réseau N est obtenue comme suit :

$$C(N) = \prod_{i=1}^{d} \begin{cases} C_i^f \times C_i^s & \text{si } C_i^s > 0 \\ 1 & \text{sinon} \end{cases}$$

**Complexité d'une « musique du réseau » (comportement unitaire).** Commençons par définir ce que nous appelons « comportement unitaire » ou « musique » ici. La dynamique des SBNs génère des états attracteurs, soit sous forme de cycles limites discrets (donc passant par plus d'un état du réseau), soit sous forme de points fixes (des cycles de période 1). Les états qui ne font pas partie des attracteurs sont des états transitoires qui, normalement (sauf erreur du réseau pouvant survenir de façon stochastique par exemple), ne sont plus visités une fois passés. Il est alors cohérent d'associer un comportement biologique à un état attracteur du réseau.

<figure><img src="image_81.png" /><figcaption>**Figure 8.37.** Un TBN, ses paramètres (poids et seuils) et son graphe de transition. Le graphe de transition indique en chaque nœud du graphe les valeurs des états des nœuds (N1,N2,N3). Ce réseau possède un unique attracteur indiqué en rouge. Les autres transitions indiquées en noir sont transitoires.</figcaption></figure>

Nous avons cependant décidé de détailler les comportements nœud par nœud. En effet, la réalisation d'une fonction biologique pourrait en effet n'être vue que comme la manifestation d'une succession d'états d'un seul nœud. Il est donc utile d'avoir une description à ce niveau. Nous parlerons alors d'un comportement unitaire, ou plus simplement de « musique », comme la succession périodique (de période comprise entre 1 et $2^d$) des états d'un nœud (joués par un nœud), ces états appartenant nécessairement à un attracteur du réseau, par exemple la musique (10011)* jouée par le nœud N1 du
réseau TBN montré figure 8.37. Rien n'empêche par contre de considérer une fonction biologique nécessitant plusieurs musiques (sur autant de nœuds) jouées en même temps.

La complexité de Kolmogorov [Kolmogorov, 1968] semblait la plus indiquée pour estimer la complexité des séquences binaires que constituent les musiques du réseau. Définie comme la taille de plus petit programme capable de simuler une séquence, cette complexité peut en réalité être approchée par la taille du fichier de la séquence compressée. Cependant, les séquences auxquelles nous avons à faire avec nos réseaux de quelques nœuds sont de petites tailles : un réseau de 5 nœuds peut espérer une musique de $2^5 = 32$ bits, ce qui est court ; même une compression d'une séquence de moins de quelques centaines de bits ne serait pas bien significative. Comme nous travaillons sur de petits réseaux, souvent de dimension 2, 3 ou 4, nous nous sommes rabattus sur un algorithme nommé CTM-BDM (pour « Coding Theorem Method » et « Block Decomposition Method »)[soler-Toscano, 2014].

L'algorithme CTM consiste à énumérer systématiquement tous les programmes courts (toutes les machines de Turing à 5 états) et tous leurs outputs associés (les séquences que ces programmes peuvent générer). L'algorithme BDM consiste d'abord à segmenter la séquence en blocs de taille $l \le 12$ (voir figure 8.38) et d'estimer leur complexité à partir du nombre de machines de Turing capable de les générer. On agrège ensuite les complexités de l'ensemble des blocs de séquence pour obtenir une estimation de la complexité de la séquence entière à l'aide de la fonction d'agrégation
$$ BDM(s) = \sum_{b \in B(s)} (CTM(b) + \log_2(n(b))) \text{ où s désigne la séquence dont on souhaite estimer la} $$

complexité, $CTM(b)$ est la complexité du bloc $b$, $b \in B(s)$ l'ensemble des blocs de $s$, et $n(b)$ le nombre d'occurrences de $b$ dans la séquence. On obtient ainsi une limite haute de la complexité de Kolmogorov pour une séquence $s$ donnée.

<figure><img src="image_82.png" /><figcaption>Figure 8.38. Découpage en blocs (ici de taille $l=3$) d'une séquence.</figcaption></figure>

## Mesurer la complexité, calculer une distance, c'est déjà modéliser.

Je vais commencer par faire remarquer quelque chose de surprenant : d'après le calcul de complexité fonctionnelle proposé, une fonction de dimension $d$ avec des entrées nulles (voire toutes ses entrées nulles) sera plus complexe qu'une fonction dont toutes les entrées sont de poids non nuls ! En effet, dans un espace de dimension $d$, elle correspondra à une fonction de dimension inférieure $d-n$, $n$ désignant le nombre d'entrées nulles de la fonction. Du fait de la perte de dimension(s), le cône de sa classe d'équivalence sera ainsi moins volumineux et une telle fonction plus dure à atteindre dans l'espace des paramètres. Dire qu'une fonction avec moins d'entrées, voire
pas d'entrées du tout, est plus complexe qu'une fonction possédant autant d'entrées non nulles que la dimension du réseau est contre-intuitif ! Une fonction comme (0,0) servant par exemple de nœud source dans un réseau de dimension 2, est assez naturellement vue comme « simple » et, *a priori*, on s'attendrait à ce qu'elle ne soit pas complexe. Je propose de prendre quelques minutes pour réfléchir à la notion de complexité, et même de mesure, dans le contexte qui nous intéresse ici, les réseaux d'interaction biologiques.

Définir un indicateur (comme ici la complexité) ou établir une distance (par exemple entre deux réseaux ou bien entre leurs dynamiques), c'est déjà faire un modèle, c'est injecter notre expérience *a priori* d'un système (ce que nous savons de ce système, où plutôt ce que nous pensons savoir, la seule connaissance qui nous est acquise en tout cas, c'est-à-dire la compréhension que nous en avons qui est à la fois partielle et à la fois obligatoirement biaisée par le ou les représentations mentales que nous nous faisons de ce système). C'est aussi faire un choix relatif à ce que l'on veut comprendre de ce système, suivre un impératif visant à répondre à des questions que nous nous posons sur ce système. Lorsqu'on parle des réseaux d'interaction biologiques, ce qu'on modélise ce sont d'une part les comportements propres, internes aux entités mises en interaction (la façon dont elles pensent étant donné ce qu'elles savent s'il s'agit d'entités pensantes, leur activité de transcription étant donné un état de régulation s'il s'agit de gènes, *etc*) et bien sûr la façon dont sont véhiculées et transmises les informations entre ces entités. Par exemple, deux personnes en train de discuter ou 3 gènes en train de contrôler mutuellement leurs activités respectives.

Faisons un peu le point sur ces modèles de systèmes d'interaction biologique ; comme déjà évoqué dans la section 8.3.2.2.e, la façon dont ils sont encodés importe pour la suite de ce paragraphe. La figure 8.39 montre deux façon cohérentes mais bien différentes de concevoir la formalisation d'un réseau d'interaction. Celle qui semble la plus évidente *a priori* et qui est celle que nous utilisons consiste à confondre l'existence des interactions avec les paramètres (poids) non nuls de la matrice d'interaction. C'est ce qui correspond au réseau *C* de la figure ; il n'existe aucun arc spécifié de poids nul. Une autre manière de modéliser ce même système d'interactions biologiques, est de s'intéresser d'une part à l'existence d'interactions, d'autre part à leur efficience. Dans ce cas, comme le montre le réseau *B* de la figure, il est cohérent de signifier l'existence d'un arc d'auto-interaction inopérant sur la fonction *a* en le représentant avec poids nul, tout en ne représentant pas d'interaction (pas d'arc) entre les fonctions *b* et *a*, aucune interaction de ce type n'ayant été décrite dans le système d'interaction biologique considéré. Dans ce type de modèle que je qualifie de modèle d'adjacence explicite à paramètres séparés, la représentation requiert 2 matrices, une matrice d'adjacence et une matrice contenant les paramètres. Notons que ce modèle est moins homogène. Soulignons aussi que pour éviter le stockage d'une matrice d'adjacence en plus de la matrice des paramètres, on pourrait être tenté de connecter complètement le réseau et d'affecter des poids nuls aux interactions inopérantes comme aux interactions inexistantes, comme dans l'exemple du modèle *A* (dont on supposera l'inexistence d'interaction entre les fonctions *b* et *a*. Une telle façon de voir les choses est incohérente car les arcs ne servent alors plus à rien vu qu'ils ne
permettent plus de distinguer ce qui est inopérant de ce qui est inexistant. Seuls les paramètres servent, donc autant directement transformer un tel réseau en réseau C où seules les interactions de poids non nulles sont représentées.

Cette différence, comme je le disais, revêt une importance non négligeable lorsqu'on parle de complexité. Dans un cas (B), il existe un arc aa, même s'il est de poids nul sur la fonction a, ce qui ajoute une information sur cette fonction et doit affecter inévitablement sa complexité.

<figure><img src="image_83.png" /><figcaption>**Figure 8.39. Cohérence des modèles.** Cette figure montre 3 réseaux. Le réseau C est un SBN du type de ceux que nous utilisons. Son adjacence est complètement connue par le poids des arcs. Un poids nul signifie l'absence d'un arc, l'absence de relation. Une autre façon de modéliser un système d'interactions biologiques est de signifier quelles sont les interactions possibles et d'y ajouter une information supplémentaire, une information d'efficacité de cette interaction sous la forme de poids. Dans ce deuxième cas (B) le réseau possède deux informations séparées. On voit que ce réseau B n'a pas d'arc reliant les fonctions *b* à *a* (ni *c* vers *b*, ni *a* vers *c*); cela signifie qu'aucune interaction n'est décrite entre ces entités. En revanche, la fonction *a* du réseau B présente un arc d'auto-activation de poids nul. Cela signifie qu'une interaction est décrite mais qu'en l'état elle est inopérante. Le réseau A en revanche est ambigu et potentiellement incohérent : hyperconnecté, il a pourtant quatre arcs de poids nul. Il peut s'agir, comme dans le réseau B, de deux interactions décrites mais inopérantes. Dans ce cas, un tel réseau est valide dans une telle modélisation. Si maintenant certaines de ces interactions (ici les arcs *b* vers *a*, *c* vers *b* et *a* vers *c* montrés en rouge) n'existent pas réellement (ce qu'on ne peut deviner à la lecture du graphe), alors cela signifie que ce modèle utilise la représentation d'adjacence de façon incohérente : il est inutile de représenter des arcs avec un poids nul si c'est pour signifier l'absence d'interaction. Ce modèle doit donc être transformé en modèle B (modèle d'adjacence explicite a paramètres séparés, en spécifiant ce qui est adjacence et ce qui ne l'est pas) ou en modèle C (modèle d'adjacence implicite paramétrique).</figcaption></figure>
Revenons à la complexité. La complexité dynamique du réseau, c'est la complexité de ce qui est produit par tout ou partie de la structure du réseau, un comportement phénotypique, une idée collective, etc. La complexité structurale du réseau, c'est celle de la façon dont les arrangements entre les entités sont faits. La complexité fonctionnelle du réseau, elle, peut être vue comme la difficulté d'obtenir une entité donnée dans un réseau, sa rareté, sa difficulté à être produite. Une telle définition de la complexité fonctionnelle est un choix ; c'est bien un modèle que nous proposons là. Voyons s'il est cohérent. Pour y répondre, peut-être suffit-il de s'interroger sur la probabilité de trouver des entités ne recevant aucune interaction afférente (ou très peu) et n'étant connectées au système d'interaction que comme sources, et sur celle de conserver de tels systèmes d'interaction au cours de l'évolution des systèmes biologiques, qu'il s'agisse de gènes, de neurones dans les cerveaux, d'espèces dans les écosystèmes. C'est probablement presque impossible de trouver de tels éléments dans les réseaux biologiques, car la vie, son évolution, créent du branchement, de l'interaction, des relations, forçant les éléments des systèmes à échanger informations ou matière et à se recalibrer par rapport à ces nouvelles entrées. La rareté comme critère de mesure prend alors tout son sens. Mais on peut aussi y voir une notion de coût : il est a priori coûteux de maintenir un élément utile (sinon non maintenu par l'évolution) mais non ou faiblement connecté en entrée au cours de l'évolution, au même titre qu'il est coûteux de mettre en place une chaîne de production spécifique pour la pièce unique d'un jeu de Lego ou d'un réveil mécanique, pièce qui joue un rôle unique dans l'assemblage auquel elle est destinée.

La complexité, au sens commun, se retrouve dans cette difficulté d'obtention et de maintenance, dans la complexité du système générateur : nous trouvons ces entités avec peu d'entrées, « simples » par référence à ce que nous connaissons, les machines, dont nous savons apprécier la complexité des pièces, par rapport à leur fonctionnement interne faisant possiblement intervenir de nombreux sous-mécanismes, mais aussi parce qu'elles sont dures à fabriquer. La fonction Booléenne à signe est assez peu réductible ; autrement dit, elle ne contient pas de sous-mécanismes. La pièce de machine l'est. Les parties qui la composent ne sont pas nécessairement complexes au sens commun. Si elles le restent, c'est uniquement parce qu'elles ne sont pas faciles à fabriquer. La complexité de conception ... On revient là à une forme assez canonique de ce que peut être la « complexité », terme éminemment subjectif !

Je vais aller un peu plus loin. Cette définition de la complexité d'un réseau fondée d'une part sur la centralité pondérée des fonctions entre elles et, d'autre part, sur la rareté de ces fonctions, me semble incontournable. Lorsqu'on souhaite étudier *sans a priori* la relation structure-fonction (ou structure-comportement) d'un système (ex : génotype-phénotype), il faut s'abstenir d'intégrer dans une description structurelle toute connaissance *a priori* que l'on pourrait avoir sur la dynamique (le comportement) du système. Avoir la capacité mentale de représenter la structure d'un système et de simuler son comportement (comme c'est le cas pour toute personne habituée à travailler sur des réseaux Booléens, qui plus est de petites tailles) est un piège ! Ce qui est rendu possible par la simplicité des éléments qui composent le système (les fonctions Booléennes à signe ici) et celle de leurs relations, ne l'est pas pour la grande majorité des systèmes d'interaction biologique (systèmes
génétiques, séquence et fonction des protéines, écosystèmes, *etc*) ou même systèmes artificiels (ex : un moteur de voiture, un système électronique) ; sauf à avoir une connaissance *a priori* de ce qui, dans la structure d'un système permet telle ou telle dynamique, il n'est pas possible d'inférer un fonctionnement à partir d'une structure donnée, ni l'inverse. Le génotype, séquence de bases nucléiques, est peu compréhensible (il faudrait pour la traduire en séquence d'acides aminés connaître par cœur le code génétique ; la structure secondaire puis tertiaire de la protéine ainsi traduite est encore moins prédictible, même par un ordinateur) et ne permet pas de deviner le phénotype (la ou les fonctions émergeant de la structure primaire jusqu'à la structure tertiaire voire quaternaire de la protéine). Sans connaissance *a priori* de liens entre structure et fonction, il n'est pas possible d'injecter (malgré nous), sauf par erreur, des connaissances concernant la fonction dans un descripteur de la structure. Malheureusement, c'est tout à fait possible dans notre cas lorsque nous décidons de mesures concernant les réseaux Booléens. Je vais être plus précis. Du point de vue dynamique, une fonction de paramètres (-1,-1) est strictement équivalente à une fonction (-1,0) ou (0,-1) ou même (0,0) : ce sont des fonctions avec la même table de vérité, donc ayant la même dynamique. Fonder un calcul de complexité des fonctions sur des classes d'équivalence dynamique est une erreur car c'est injecter dans cette complexité des fonctions la connaissance de leur dynamique. Étant donné un formalisme permettant une description du monde physique ou biologique (intégrant notamment la possibilité d'exprimer l'existence de relations non fonctionnelles, mais aussi un potentiel évolutif), si l'on n'a pas la moindre idée de la façon dont se comporte dynamiquement une fonction, alors la seule chose que l'on puisse dire sur la structure c'est que (-1,-1) possède deux entrées exprimant toutes deux une relation négative (inhibitrice), tandis que (0,0) n'en possède pas. Ces fonctions étant irréductibles (pas de sous-mécanismes), la seule façon d'évaluer leur complexité, c'est de procéder comme on le fait pour une pièce mécanique ou une pièce électronique élémentaire, c'est d'en évaluer la difficulté de production, autrement dit la rareté.

Notre mesure de complexité-rareté fonctionnelle a donc ainsi une certaine cohérence. Il est évident que d'autres définitions, adaptées à d'autres problèmes, puissent être considérées comme une complexité fonctionnelle (plus haut niveau) décrivant la machinerie interne de l'entité (ex : un cerveau si l'entité est un humain), ce qui transforme les informations entrantes en état de l'entité. Dans le cadre des SBFs cette machinerie interne se résume à l'équation de la somme des états entrants pondérés, donc aux poids entrants sur une fonction. En particulier pour les fonctions de faible arité<fnref n="41" />, dans les réseaux de petite taille, la différence de complexité entre fonctions aurait été trop faible. Notons toutefois que l'arité est bien prise en compte dans le calcul de complexité structurelle – centralité.

**Complexité et compaction.** De la même manière qu'un réveil matin mécanique est complexe s'il est fait de pièces complexes (rares / coûteuses à concevoir) agencées de manière compliquée et non de pièces simples agencées en file indienne, un réseau est complexe s'il est fait de fonctions complexes subtilement agencées entre elles. Suivant le principe de Somolonoff décrit dans [Zenil, 2018], cette

<footnote n="41">41 L'arité d'une fonction est le nombre d'arguments ou d'opérandes qu'elle contient. Dans le cas des fonctions Booléennes, ce sont leurs paramètres.</footnote>
complexité du réseau reflète donc la complexité de sa conception. On peut même présenter cela comme la difficulté qu’un ingénieur aurait à concevoir un tel réseau (une machine), voire à trouver les fonctions (pièces) nécessaires à sa fabrication, étant donné une tache à réaliser (son graphe de transition, ou des parties de sa dynamique).

On peut se poser d'une part la question de ce que peut faire une machine complexe : elle peut avoir un seul comportement (action) très compliqué, ou bien être capable de réaliser plusieurs comportements/actions, ou encore mettre en œuvre sa complexité pour assurer la robustesse d'une fonction unique ... ou toute autre possibilité parmi ces 3 extrêmes.

<figure><img src="image_84.png" /></figure>

<figure><img src="image_85.png" /></figure>

<figure><img src="image_86.png" /></figure>

<figure><img src="image_87.png" /><figcaption>**Figure 8.40.** Exemples de programmes offusqués. (Haut) Le code en Python offusqué ci dessus génère un fichier bitmap de l'ensemble de Mandelbrot en haute résolution [2011, https://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python/]. (Bas) Le programme C offusqué en bas, (M. Harrisson, vainqueur de l'IOCCC 1998 ; https://eastbay-rc.blogspot.com/2011/12/ioccc-flight-simulator.html) est un simulateur de vol précis (l'avion</figcaption></figure>
a 6 degrés de liberté et sa physique de vol est gérée) d'un Piper Cherokee évoluant dans un paysage en fil de fer.

Une autre façon de voir le problème est celle du positionnement de l'ingénieur vs la Nature quant à la conception / mise en place de réseaux réalisant une tâche de complexité donnée. L'homme, ingénieur devra beaucoup réfléchir pour concevoir un réseau très complexe, chargé de boucles et aux paramètres précis, surtout si le réseau requis nécessite de nombreux nœuds ; l'ingénieur préférera assurément une architecture modulaire, couplant de petits éléments de réseau dont il connaît le comportement, à la manière dont il conçoit un programme informatique. Pour compacter son code, le programmeur doit avoir une solide expérience en programmation mais cela peut lui assurer d'être le grand gagnant annuel de l'IOCCC<fnref n="42" /> (ou tout autre concours de code offusqué) avec un code savamment offusqué (figure 8.40). Néanmoins, le programmeur préférera, pour des questions de maintenabilité des programmes notamment, un code clair, lisible, modulaire. Cette digression sur la programmation offusquée, qu'on pourrait décliner à la miniaturisation et à l'optimisation des systèmes électroniques, soulève donc la question de où se situe le curseur de la Nature. Là où l'ingénieur met à profit son expérience accumulée au cours du temps pour parvenir à rendre des machines plus compactes, optimalement architecturées, l'évolution de la vie tend-elle aussi à faire évoluer les systèmes du vivant vers des systèmes plus compacts, plus complexes ? Les opérons en sont certainement une manifestation, mais plus encore le regroupement de protéines aux fonctions élémentaires sous la forme de domaines intégrés dans des protéines complexes. Il en est très certainement de même pour les réseaux biologiques, génétiques et métaboliques, mais aussi de neurones ou écosystémiques. C'est une discussion que nous aurons sous peu dans une section dédiée. Voyons déjà s'il y a des enseignements à tirer dans l'étude des relations structure-fonction.

**Relation structure-fonction.** Dans deux articles nous avons énuméré tous les réseaux (TBNs dans [Christen, 2019] puis SBNs dans [Segretain, 2020 a et b]) d'une dimension *d* donnée et, pour chaque réseau, toutes les musiques qu'il est capable de générer, et systématiquement calculé la complexité de l'un et de l'autre.

Une série d'histogrammes des complexités des TBNs de dimensions *d*={2,3,4,5} est donnée figure 8.41. Plus que la répartition des complexités des réseaux, c'est la mise en regard de la complexité des réseaux et des complexité des musiques qu'ils étaient capables de générer qui est intéressante.

Une analyse rapide de la figure 8.42 montre que les musiques complexes ne sont bien entendu jouées que par des réseaux d'une complexité suffisante, mais que l'immense majorité des réseaux, complexes surtout, joue des musiques simples, soit courtes, soit comportant beaucoup de répétitions comme (10000)*.

<footnote n="42">42 IOCCC : International Obfucated C Code Contest (https://www.ioccc.org/), un concours renommé de programmation dans lequel les virtuoses de la programmation montrent leur talent en terme d'offuscation de code.</footnote>
<figure><img src="image_88.png" /><figcaption>**Figure 8.41.** Histogrammes des complexités des TBNs de dimension $d\in\{2,3,4,5\}$. Le nombre de TBNs d'un niveau de complexité donné est compté (voir [Christen, 2019] pour l'algorithme non trivial de calcul de ces histogrammes). Le pic de densité de TBNs se situe dans le dernier tiers des niveaux de complexité. Il y a donc beaucoup de réseaux d'une complexité comprise entre la complexité moyenne et la complexité maximale. NB : les complexités ne sont pas comprises entre 0 et 1 car le calcul de celles-ci différait de celui présenté dans ce manuscrit. Voir [Christen, 2019].</figcaption></figure>

Une analyse plus détaillée reste à faire pour déterminer dans quelle mesure la complexité de ces réseaux est allouée à générer plusieurs musiques différentes (appartenant à plusieurs attracteurs), éventuellement à générer des musiques longues mais répétitives plutôt que longues et complexes, ou encore à assurer une robustesse élevée à des musiques simples. Cela reste aussi à confirmer pour des réseaux de plus grande dimension. Enfin et surtout, la question reste ouverte concernant les réseaux du vivant : l'évolution a t-elle poussé le curseur dans une direction plutôt qu'une autre ? Différentes stratégies pourraient avoir été adoptées par le vivant selon les milieux dans lesquels le vivant se développe, les règnes du vivant ou plus localement les espèces, selon les époques de la vie sur Terre, selon l'importance vitale du système considéré et bien entendu selon le type de système d'interaction biologique.
<figure><img src="image_89.png" /><figcaption>**Figure 8.42.** Histogrammes 2D des complexités des réseaux en fonction de la complexité des musiques qu'ils jouent. (A) TBNs de dimension 3. Sur ce graphique, l'échelle va du rouge foncé (faibles densités) au jaune clair (fortes densités). (B) SBNs de dimension 2. (C) SBNs de dimension 3.</figcaption></figure>

De très nombreux réseaux de complexité élevée s'attellent à jouer des musiques de complexité simple. Soit ces réseaux sont capables de jouer plusieurs musiques courtes mais différentes (appartenant à autant d'attracteurs), soit ils allouent leur complexité à davantage de robustesse pour des musiques simples (grands bassins d'attraction).

Évidemment, les musiques complexes ne sont jouées que par des réseaux de complexité modérée à élevée.

Nous verrons que l'évolutivité des réseaux est peut-être un guide déterminant ces stratégies. Selon leur complexité et la complexité des comportements qu'ils assurent, certains réseaux et fonctions associées sont possiblement plus évolutifs que d'autres. Nous pensons notamment que ce sont les réseaux de complexité modérée qui sont les plus à même d'évoluer en maintenant viable la fonction qui leur est associée. Il est possible alors que l'impossibilité pour certains systèmes d'évoluer (donc l'impossibilité du vivant à produire des versions d'un tel système adaptables à un environnement changeant) les condamne, restreignant ainsi le vivant à des réseaux appartenant à une certaine classe de complexité (par exemple aux réseaux de complexité modérée). Travailler avec les SBNs permet une certaine exploration du caractère évolutif des réseaux en lien avec la complexité de leur structure et de leur dynamique associée. Nous y reviendrons dans la section 8.3.5.5 et dans la conclusion en 9.1.

### 8.3.5.2. Distances - Classification des réseaux

Établir une distance dépend du contexte dans lequel on souhaite l'appliquer. Le paragraphe précédent laisse clairement entrevoir mon positionnement quant à l'usage en recherche en biologie théorique que je souhaite faire des réseaux Booléens. Ce qui m'intéresse particulièrement, c'est la façon dont une fonction émerge dans le vivant, depuis ses origines même, puis évolue, une fonction
qui peut s'avérer capitale pour le vivant qui dès lors en dispose et ne peut plus s'en séparer, une fonction soutenue par un système fragile composée de plusieurs éléments en interaction, tous sujets aux changements. Mais certains systèmes, ainsi que leurs fonctions associées, peuvent dans la mesure du raisonnable, c'est-à-dire tant que la viabilité de l'organisme est maintenue, être amenés à changer, à muter. Dans ce contexte, encore une fois, les réseaux Booléens que nous utilisons sont un bel outil pour étudier l'évolution.

Il est essentiel de pouvoir comparer ces systèmes, d'en mesurer la proximité ou au contraire l'éloignement, et même éventuellement déterminer des vitesses d'éloignement dans un cadre évolutif ou géographique (ex : éloignement géographique d'espèces vivantes). Établir de telles distances, c'est le lot des théoriciens souhaitant mesurer la proximité des espèces vivantes, ou de certains de leurs caractères (des protéines particulières, des lipides ...) ; ces distances sont établies sur la base de comparaisons de séquences génétiques ou d'acides aminés [Lespinats, 2020]. C'est ce que je souhaite obtenir également, mais avec des systèmes d'interaction biologique modélisés par des réseaux Booléens.

Établir une meilleure distance que celle, simpliste, proposée sur la base de la taille des bassins d'attraction (section 8.3.3.1), requiert de tenir compte de plusieurs aspects concernant la dynamique et la structure des réseaux. Le comportement dynamique d'un réseau reflète complètement sa structure. Une distance entre réseaux devrait donc pouvoir être établie, a priori, à partir de la connaissance du graphe de transition. Idéalement, il faudrait qu'une telle distance soit par exemple telle que :

* un état transitoire dont l'image est changée, mais reste dans le même bassin d'attraction, ne coûte pas trop cher

* un état transitoire changeant de bassin d'attraction coûte davantage

* un cycle (un attracteur) légèrement modifié coûte encore davantage

* la disparition d'un attracteur avec un petit bassin d'attraction coûte relativement peu en comparaison de celle d'un attracteur ayant un grand bassin d'attraction

Pour évaluer ceci quantitativement, il faut pour cela définir ce qu'on entend par « même bassin d'attraction » et « cycle (ou attracteur) modifié ».

Il est difficile de tenir compte de tout cela et une partie de notre travail actuel est concentré sur cette tâche. Illustrons cette difficulté avec quelques exemples montrés figure 8.43. Le graphe (a) comporte un seul attracteur, un cycle limite de 4 états, en rouge, les 4 autres états formant le reste de son bassin d'attraction. En (b), ce bassin d'attraction est coupé en deux avec la création d'un nouveau bassin d'attraction, un cycle de taille 3, en bleu. De même entre d'un côté (a) et de l'autre (c) qui voit la création d'un bassin d'attraction (bleu) identique à celui de (b) et dont les trajectoires sont assez semblables mais dont l'attracteur se réduit à un seul état (point fixe). On comprend aisément comment le comportement de (b) a pu évoluer en celui de (c) ; une telle évolution a pu être graduelle. De même entre (a) et (d), on comprend une évolution possible des états transitoires de (a) en 2 attracteurs et leurs trajectoires associées en (d). Ou bien s'agit-il d'une évolution de (c) vers (d). Quel réseau et son graphe de transition associé est-il plus proche d'un autre ? Là, on commence à comprendre qu'établir une distance entre ces réseaux pour les positionner dans un paysage
« morphogénétique » s'avère ardu. Le graphe (e) semble presque une copie de (a) dans laquelle une partie du cycle est modifiée (l'état (000) devient (101)). L'évolution de (a) vers (f) est en revanche moins triviale bien que (a), (e) et (f) conservent le même bassin d'attraction.

<figure><img src="image_90.png" /><figcaption>Figure 8.43. Exemples de changements que peuvent subir les graphes de transitions (réseaux).</figcaption></figure>

Ne prendre en compte que la dimension dynamique des réseaux pour les différencier risque de faire passer à côté d'un point important : si la dynamique d'un réseau est l'expression « phénotypique » de sa structure, c'est bien cette dernière qui modélise le système biologique sujet à une éventuelle évolution. Or, qu'est ce que ces évolutions d'une dynamique à une autre impliquent en termes d'évolutions du réseau lui-même ? Sont-elles aussi graduelles ? Il apparaît dès lors essentiel d'établir en parallèle une distance structurelle entre réseaux pour dresser ce paysage morphogénétique peuplé des réseaux et pouvant servir de matrice à l'évolution.

Comme je l'ai déjà dit, la distance entre deux instances d'un système physique doit refléter ce qui fait sens en regard du fonctionnement de ce système physique ; en cela, une distance est un modèle.

La distance structurelle entre deux SBNs, modèles d'un système biologique, devra intégrer des éléments de sa réalité physique. Pour un SBN modélisant un réseau de régulation génétique par
exemple, le système biologique sous-jacent est formé de gènes et de régions promotrices et régulatrices, le tout supporté par une chaîne de bases azotées possédant une structure tridimensionnelle, mallable, de facteurs de transcription, etc. Les changements que subissent ces éléments physico-chimiques sont restreint : les mutations des bases azotées sont ponctuelles et la double robustesse du code génétique (voir la partie précédente sur les origines du vivant) empêche des changements trop abrupts, induisant des variations graduelles de la structure accompagnées de variations graduelles de la fonction biologique. Ces questions sur l'aspect graduel de l'évolution restent d'actualité comme le montre cet article récent de Pagel et al [Pagel, 2022]. Comment cela se traduit-il dans le modèle de réseaux Booléens ? Même question pour des mutations affectant les régions de régulation (activation ou inhibition changeante), ou même les régions promotrices (augmentation ou diminution de l'expression du gène). Les changements plus brutaux comme les insertions de morceaux de génomes (parfois des gènes entiers) ou des délétions vont, eux, amener possiblement à des extensions de fonctions biologiques : par exemple la composition de gènes ainsi faite peut amener à la formation de nouvelles protéines composites. Leurs domaines sont issus des gènes ou parties de gènes insérés en aval d'une région promotrice. Dans ce cas, on pourra éventuellement considérer qu'une fonction est partiellement conservée au cours du processus évolutif. Dans les graphes de transition des SBNs, cela se traduit par une extension des attracteurs correspondants. Mais dans leur structure, c'est plus compliqué : du point de vue des SBNs, un gène ou une partie de gène inséré dans un gène, pour reprendre un tel exemple, c'est une composition de fonctions Booléennes qui, rappelons le, représentent les gènes, telle que cette composition doit générer une composition de dynamique représentant, elle, le phénotype composite. Nous développerons ce point lors de la présentation du travail que nous avons fait, R. Segretain, S. Ivanov, L. Trilling et moi, sur l'extensibilité des réseaux (section 8.3.5.5). En attendant, exprimer un coût dans le cas des délétions, copies, compositions n'est pas aisé. Le mieux est probablement de s'inspirer de la façon dont sont calculées les distances entre séquences génétiques et les nombreuses pondérations qu'elles comportent sachant une réalité biologique, comme par exemple la prise en compte de biais compositionnels aux niveaux nucléiques et protéiques en travaillant sur une pondération habile des matrices de substitution dans le cas de l'alignement de séquences nucléiques relatives à des espèces dont on connaît les fréquences naturelles nucléiques et protéiques [Bastien, 2006].

Une distance étant un modèle, chargé d'une part de subjectivité, il n'est pas possible d'en définir une idéale. Il est cependant tout à fait recommandable d'en choisir une, d'en énoncer les limites et de travailler avec sur un sujet d'étude, en ce qui nous concerne les SBNs. Ce faisant, on apprend nécessairement des choses qui aident à réfléchir sur ce système et ce qu'il modélise (cf. la discussion à ce propos dans le préambule et le chapitre introductif). C'est ce que je propose de faire : définir une distance structurelle et une distance dynamique intégrant au mieux un certain nombre de critères énoncés ici, d'autres éventuellement et, de façon pragmatique, calculer dans une population de réseaux, les distances entre leurs structures et entre leurs dynamiques. Par exemple, une première étude que nous allons réaliser sous peu, consiste à calculer le couple de distances structurelle et
fonctionnelle (dynamique) pour chaque couple réseau-musique (en se limitant à des SBNs de dimension d donnée) dont nous connaissons déjà les complexités respectives (cf. figure 8.41). D'une telle matrice des distances, nous pourrons alors déterminer une classification hiérarchique des réseaux, les plus proches en structure et distance formant des groupes.

Dans la section 8.3.6, nous développerons davantage cette idée et nous ajouterons à cette double distance structuro-fonctionnelle, une contrainte imposée par l'environnement (au sens large : environnement cellulaire, biochimique ...) : celle de viabilité.

### 8.3.5.3. Expressivité, homogénéisation et décomposition en réseaux de bas niveau

Un point que je trouve intéressant de souligner à propos des graphes de transition des réseaux PBN, TBN et SBN concerne l'expansion qu'ils subissent lorsqu'on développe un PBN en TBNs puis SBNs. Exprimer un PBN en TBN ou un TBN en SBN requiert la plupart du temps (sauf fonctions très simples ; voir 8.3.3.2.c et 8.3.3.2.d) un nombre plus important de fonctions Booléennes. La conséquence est une expansion inévitable du graphe de transition. De plus, un réseau exprimé dans un formalisme de haut niveau (ex : PBN) peut être développé dans un formalisme de bas niveau (ex : SBN) de plusieurs manières différentes (il est simulé de plusieurs manières différentes).

Modéliser un réseau biologique par un PBN, ou même un réseau propositionnel multivalué (non Booléen), c'est utiliser un langage de haut niveau, à forte expressivité, bien utile pour exprimer aisément l'agencement perçu du système biologique, mais dont certaines des mécaniques internes sont cachées. Par exemple, exprimer la fonction $-(x \oplus y)$ (c'est-à-dire : *not* $(x \lor y)$) requiert une seule fonction PBF et peut se traduire (par exemple, car cette solution n'est pas unique) par un SBN formé d'au minimum 4 SBFs (voir figure 8.30). Là, il y a quatre questions (liées) qui m'intéressent :

* La première est la relation de ceci avec le vivant et ce qu'on peut en tirer. Descendre à une description plus fine des fonctions Booléennes de haut niveau a potentiellement une équivalence biologique : c'est considérer les mécanismes microscopiques sous-jacents, jusque là négligés, au processus biologique. Au plus bas niveau de la biologie, l'échelle biochimique, ce sont des centaines d'interactions précises entre espèces en présences (acides aminés des enzymes, bases nucléiques, ions, solvant ...), de structures tridimensionnelles (structures protéiques, ribonucléiques, dépliement de la chaîne d'ADN, de celle des ARNs en présence ...) finement agencées qui agissent et constituent autant de mécanismes microscopiques. Revenons à l'échelle plus raisonnable peut-être des processus biologiques successifs impliqués dans la vie d'un réseau de régulation génétique. Ces processus, la transcription et ses étapes détaillées de la promotion d'un gène influencée par des facteurs de transcription à l'exportation de l'ARN messager vers son site de traduction (le réticulum endoplasmique dans le cas des cellules eucaryotes ; dans le cas des procaryotes, la traduction et la transcription sont contiguës), la traduction et ses étapes répétées faisant intervenir ribosomes, ARN de transfert, etc, et l'ensemble des étapes qui font que le produit de ce gène devienne interaction directe ou plus communément indirecte avec un autre gène, sont autant de processus qui ne sont normalement pas modélisés dans un réseau Booléen qu'on utilise
habituellement pour apporter une lumière sur un phénotype et ce qui l'influence.

Tous ces processus et mécanismes fins, comptent-ils tout de même dans la modélisation ?
Cela dépend évidemment de ce qui est en jeu : Modéliser des interactions génétiques ?
Modéliser ce même réseau dans un contexte cellulaire ou environnemental fluctuant ?
Modéliser l'évolution possible de ce réseau ? Étant donné les considérations que je défends
depuis le début de mon engagement en recherche et dans ce manuscrit, je ne peux ignorer
cette question de la prise en compte des différentes échelles lors de la projection de l'objet
biologique dans un formalisme particulier. C'est, en ce qui me concerne, une question qui
revêt plus d'intérêt que la compréhension de tel ou tel système biologique.

* Quelle diversité de réseaux exprimés dans un formalisme de bas niveau obtient-on selon le réseau d'origine exprimé, lui, dans un formalisme de haut niveau et les comportements dynamiques (musiques, attracteurs, bassins) qu'il réalise ? Cette diversité est-elle reliable partiellement à la complexité des comportements attendus, à leur multiplicité, etc ? (voir figure 8.44 et figure 8.45)

* Chacun des mécanismes fins évoqués ci-dessus est sujet à la fluctuation, à l'erreur, et à l'évolution. Ne pas prendre en compte ces échelles, c'est laisser de coté une possibilité d'exprimer ces variations au cours d'une dynamique ou au fil des ages. Dans la diversité des possibles déclinaisons microscopiques d'un même réseau de haut niveau, on peut parier que certaines posséderont une robustesse plus élevée à ces changements ponctuels ou permanents. Et pour rejoindre ce qui a été développé dans la section 8.3.5.2 précédente, on peut se demander si certains d'entre eux verront leur mutations graduelles davantage accompagnées d'une gradation tout autant graduelle de leurs dynamiques associées. Explorer la robustesse et l'évolutivité de ces déclinaisons est à mon sens digne d'intérêt.

* Enfin, avec l'expansion de la structure d'un réseau vers plus de détails se fait le dépliement du graphe de transition correspondant (voir figure 8.44). L'attracteur augmente: on reste parfois pendant plusieurs étapes (nœuds du graphe de transition) sur un état des gènes d'intérêt suivis dans le PBN, le temps de réaliser les mécanismes internes pour passer à l'étape suivante. De plus, l'extension du graphe de transition peut amener une plus grande richesse de comportements comme montré figure 8.44. Dans la diversité des solutions, quelles solutions sont les plus robustes ? Quand on déplie une fonction « complexe », comment le graphe de transition se déplie-t-il localement ? Qu'est ce qui, dans la structure détaillée du réseau fait apparaître de nouveaux attracteurs ? Quand on détaille les mécanismes d'un réseau d'interaction, quel pourrait être le sens biologique de la révélation de nouveaux comportements tels que le sont les nouveaux attracteurs apparus en développant un PBN en SBN ? Ces questions là aussi seront une source évidente de réflexions pour moi et pour les étudiants qui voudront bien tourner leur regard vers des sujets fondamentaux de la modélisation, de la biologie théorique et du vivant.
<figure><img src="image_91.png" /><figcaption>**Figure 8.44.** Développement d'un réseau Booléen en SBN et extension de son graphe de transition. Le réseau de type PBN et son graphe de transition montrés figure 8.33 peuvent être développés en SBN (un formalisme de plus bas niveau) comme en (I). Les SBFs montrées en bleu (et entourée d'une ellipse pointillée bleue) correspondent à la fonction $A=A \text{ xor } !B$ du PBN ; celles en vert (ellipse verte) à celle de la fonction $B = A \text{ ET } !B$. La conséquence est le développement du graphe de transition correspondant montré intégralement en (II) et (III). L'attracteur correspondant à celui de la figure 8.33 se trouve ici en (II) en violet, formé par les nœuds du graphe 3, 18 et 10. Le bassin d'attraction qui ne contenait qu'un seul autre état, contient maintenant 3 états (nœuds du graphe 5, 7, 25). Tout le reste (58 états) correspond à d'autres attracteurs (5 supplémentaires) et états transitoires, c'est-à-dire à autant de nouveaux comportements émergeant de ce développement particulier du PBN de la figure 8.33 en celui montré ici en (I).</figcaption></figure>

Ajoutons sur la table le plan de mise à jour. Jusque là nous ne parlions que de mises à jour synchrones.

La description d'un réseau pourrait être totalement auto-contenue dans sa matrice d'interactions s'il ne fallait pas rajouter le plan de mise à jour. Ceci constitue une information supplémentaire qui rend le langage non homogène. Cependant, il existe systématiquement une possible expression synchrone de tout réseau asynchrone. Cela se fait par introduction de nouvelles fonctions Booléennes qui introduisent autant de délais (voir figure 8.45). De la même manière que pour passer des TBNs aux SBNs, il fallait rajouter des SBFs pour encoder l'information contenue dans le seuil, l'information
donnée par le plan de mise à jour requiert l'ajout de fonctions Booléennes. Et de la même manière, intégrer cette information au sein même de la structure du réseau est une source de diversité : il n'existe pas une manière unique d'introduire ces délais.

Remarquons tout de suite que ceci aussi aura pour effet de provoquer une extension du graphe de transition, faisant possiblement apparaître de nouveaux comportements et, tout du moins, une nouvelle diversité de trajectoires dans les bassins d'attraction existants.

<figure><img src="image_92.png" /></figure>

**Figure 8.45. Autres développements en SBN.** Le SBN montré en (I) est un autre développement valide du PBN de la figure 8.33. En revanche, celui montré en (II), qui ressemble beaucoup à celui montré dans la figure 8.44.I avec une simplification concernant l'action du nœud B sur les nœuds C et D, ne l'est pas : il ne réalise pas les mêmes fonctions. Vus indépendamment, les blocs bleu et vert en (II) réalisent pourtant toujours les fonctions en bleu et vert du PBN, c'est-à-dire $A=A \ xor \ !B$ et $B = A \ ET \ !B$. La raison pour laquelle le SBN en (II) et le PBN d'origine ne correspondent pas est que le nœud E de la figure 8.44.I introduit un délai nécessaire pour que le mécanisme représenté par les fonctions entourées en bleu soit dans le bon timing (le délai manquant est marqué en (II) par une région rosée. En (II), le bloc formé par A, C, D et E est formé de 2 couches (la couche (C,D) et la couche (A)) ce qui introduit un délai de traitement de ce qui provient de (B) de 1 itération. La fonction B en revanche a toujours un temps de traitement de 1 itération donc, sans délai, elle se déphase par rapport au bloc (A,C,D,E). Cela montre cependant que l'introduction de délais dans un réseau asynchrone peut évidemment rétablir la synchronie. L'inverse est vrai aussi.

Du point de vue du système naturel ainsi modélisé, l'asynchronie provient des délais de transmission de l'information d'un événement ayant lieu quelque part dans la cellule, à un autre endroit. Les voies de transmission peuvent être diverses et multiples (en même temps) et faire intervenir de nombreux protagonistes. Encore une fois, le modélisateur d'un système biologique a tout intérêt à disposer d'une description haut niveau séparant bien en différentes modalités (structure haut niveau, mise à jour) ce qu'il souhaite exprimer. En revanche, aller dans le sens de l'homogénéisation du langage en intégrant toutes ces modalités et en réduisant la description d'un système complet à une matrice d'interactions (la mise à jour étant implicitement parallèle) permet d'établir plus aisément des mesures sur ces systèmes (complexités, distances). Je suis aussi intéressé par ce qu'apporte comme réflexions sur la modélisation (voir plus haut) ce processus de décomposition/homogénéisation non unique, en particulier concernant les aspects relatifs au potentiel évolutif de ces systèmes (voir section 8.3.6). La recherche systématique des réseaux de bas niveau à partir de l'expression de
réseaux de haut niveau modélisant un système biologique pourrait permettre d’en identifier les différents processus sous-jacents possibles, processus ayant des potentiels évolutifs différents.

#### 8.3.5.4. Compaction et décompaction / composition et décomposition de fonctions Booléennes

En 2017, L. Trilling, S. Ivanov, Q.T. Vuong (un excellent étudiant en M1 informatique), nous sommes intéressés à la composition/décomposition de fonctions Booléennes au sein d'un même réseau (des TBFs à l'époque, mais le raisonnement est le même, bien que plus restreint, pour les SBFs), ce que nous désignons par compaction/décompaction (ou repliement/dépliement), des termes que nous trouvons plus parlants pour ce problème, ou entre réseaux. C'est une thématique difficile dans laquelle je souhaite me replonger.

Considérons par exemple les réseaux montrés figure 8.46.

<figure><img src="image_93.png" /><figcaption>**Figure 8.46. Dépliement de TBFs.** Ces 3 TBNs de dimension croissante jouent tous la même musique (10011)* sur le nœud n1 ; c'est le maintien de cette dynamique partielle (une musique) et le maintien partiel de la structure du réseau qui constituent les contraintes à respecter lors des opérations de compaction/décompaction. De telles décompactions ou compactions ne sont pas nécessairement uniques. Les réseaux montrés de (a) à (c) montrent une proposition de décompaction du réseau au niveau de certains fonctions Booléennes. La fonction *n3* du TBN (a) est décompactée en fonctions *n3* et *n4* dans le réseau (b). De même la fonction n2 du réseau (b) qui devient la fonction n4 du réseau (c). Dans ces opérations certains arcs sont créés, certains paramètres changés (seuils). Vu dans l'autre sens, les fonctions absorbent les caractéristiques de ce qui est compacté : elles se complexifient.</figcaption></figure>

Les questionnements à ce propos viennent d'une part de la biologie, d'autre part d'une réflexion sur l'offuscation des programmes informatiques. Au cours de l'évolution du vivant, des réseaux d'interaction assurant chacun un comportement, se combinent parfois structurellement pour former un comportement hybride. Comme nous l'avons vu section 8.3.5.1, certains programmeurs sont particulièrement doués dans la factorisation de fonctions informatiques rendant, pour des besoins d'efficacité, d'occupation en mémoire, ou parfois pour la simple démonstration de leur maîtrise, leur code plus compact, un code qu'à un certain point (à la fois subjectif et objectif) on qualifiera