I'm a biologist by training, and a modeler, working with boolean / logical networks to study causal loops / feedback circuits in biological systems and beyond.
My current research focuses on the notion of functionality of feedback circuits, trying to understand how the topology of the interaction network connects with the dynamics of the system. I talk about it on my blog (in French) and my professional Bluesky account
Besides my research, I'm interested in voting theory, and very partial towards proportional representation and approval voting. I talk about it (in French) on my other blog and Bluesky account.
Feedback loops, or circuits, are everywhere, in biology and beyond. From cell biology to physiology to ecosystems to the whole climate system, not to forget social sciences or engineering, whenever something has an effect on its own cause — directly or, most often, indirectly — that's a feedback circuit. And whenever someone talks about a vicious circle, or a virtuous circle, chances are that's also a feedback circuit.
The dynamic properties of isolated feedback loops are simple enough they can be understood intuitively. Positive circuits work like a switch and produce two opposite stable states. Negative circuits produce sustained oscillations, or homeostasis. So far, so good.
However, most real-life netorks will be comprised of hundreds or thousands of circuits. And we can't just assume they're all equally relevant — we know they aren't. So how do we figure out which ones are really important? Which ones contribute to the dynamics, and how, to what extent? That's what I'm trying to figure out, in the context of logical models.
The starting point for my research, besides my own experience as a modeler, trying to understand the contribution of the different circuits in the systems I studied, was a review of the different definitions of "circuit functionality", i.e. how can we tell if a circuit actually has an impact on the dynamics of the system. In general, the answer is: positive circuits are necessary to produce multiple attractors, and negative circuits are necessary to produce sustained oscillations. But when you want to be more precise and ask., e.g., which circuits is responsible for generating this particular behaviour, now that question is more difficult than it seems, and indeed hasn't received a very satisfying answer yet, hence the number of competing definitions. The paper is well written, with enough examples that even a non-mathematician like me could follow the argument and the strengths and weaknesses of each definition. I'll try to give a brief summary below.
The definitions discussed in the paper all start at the same point: the functionality of an edge in the regulatory network. Edge functionality is easy to define: consider a pair of variables
Now, a circuit is a chain of interactions,
Among all definitions discussed in that paper, one had a question mark on it: the "local graph" definition. That's when you define a functional circuit as one that appears in a local graph, i.e. the graph you obtain starting from any state, and changing all variables, one by one, with this particular state as a reference. So, if you have three variables, to get the local graph in state 000 you'll check if
In this context, my first contribution was to provide a negative answer. With the help of Shizu o Kaji, then at Yamaguchi University, I published a counterexample, a system that produced sustained oscillations and doesn't have a negative circuit in any of the local graphs. Ooops. This was not a big surprise, counsidering a negative example was already known for multivalued logical models (when variables are not just 0 and 1 but can take value 2, 3 etc.). And indeed all I did was to propose a ampping that produced a boolean version of that counterexample. But the paper is important for me, first because it's my first (and, so far, last) paper in mathematics; and second, because at almost the same time, mathematician Elisa Tonello published almost the same paper, with a very similar approcah and a very similar counterexample, and that's what got us to work together on the next and most important step: find a definition that works both in the positive and the negative cases.
At that point I already had an idea. That's what motivated me to start working on the topic, even before I found this counterexample: after doodling so many graphs, I'd noticed something no-one'd seemed to notice before, and I was sure it should provide the basis for a workable definition. Except I'm not a mathematician, and I was utterly unable to explain myself in the language of mathematics. Shizuo had been kind enough to help me, looking for a counterexample was his idea, to put my intuition to a test, we should first make sure the local graph definition really failed, and we did. But that collaboration had to stop, and I would have been left to my own devices without the help of Elisa. I can't thank her enough for that. I'm extremely grateful to Elisa for her patience, listening to all by messy explanations about where we should be looking for circuits and why it's so important! Mathematics is a language that remains foreign to me — I can read, with a lot of efforts, but writing it remains above my abilities. Anyway.
My intuition was that we should build that definition up on the notion of mirror states — pairs of states, at opposite sides of a subspace, whose dynamics "mirror" each other — like, they're both stable, or more generally, variables that are stable is one states, are also stable in the other, and variables that are called to update in one state, are also called to update (in the opposite direction) in the other state. So, building on that notion, we show that simple regulatory circuits can always be found on any shortest path that connects (in the state space) a pair of mirror states. More precisely, we define minimal path graphs, found along those shortest paths, and where each variables have exactly one regulator.
We showed that, on the shortest path between two stable states, all minimal path graphs contain positive circuits, and only positive circuits. We also show that at least some minimal path graphs between the mirror states of a simple cyclic attractors (without branching trajectories: each state has exactly one successor — will contain negative circuits: specifically, minimal path graphs containing negative circuits will always be found along the attractor's trajectory. Unfortunately, things are not so simple for complex attractors — we give a big bad counterexample showing that and so the general question remains open. I have an idea for the proof, but since Elisa can not assist me anymore, having left research to work in the industry, this is still work in progress…
Unfortunately most of that work on that topic is still unpublished. I gave a presentation in May 2026 at the CIRM, where our work was very well received,. You'll find the slides here.
This lead to a new collaboration this time with Pedro Monteiro, on a method to find mirror stated. Because, ok, we have circuits between mirror states, but how do we find mirror states? Here we adapt an algorithm for the identification of local circuits and stable states, proposed by Aurélien Nali and colleagues in 2009, using decision diagrams to represent logical rules. A big step towards making the methods actually usable!
My background is in biology, and my very first modeling project as a master intern was a boolean model of the mammalian cell cycle, largely based off the ODE model published a few years before by Belà Novak and John Tyson. Mine was not the first boolean model of the cell cycle either, but it was the first to actually display sustained oscillations. The model and the corresponding paper¹ went on to be used as a test case for various applications, from finding attraction basins to converting Boolean models to different formalisms, to optimization problems. Kinda living its own life really.
During my PhD I turned to a larger model, this time of the cell cycle of S. cerevisiae. After that, I came back regularly to the topic: in 2016 with the-PhD-candidate Pauline Traynard, using model-checking to veryfy dynamical properties of the model mammalian cell cycle ; and most recently in 2023, but this work is still unpublished due to how that position ended and my lack of motivation to work with the PI. Maybe after the lawsuit is settled I'll get back to finishing that.
Over time I've worked on other topics. In Portugal I worked on Drosophila oogenesis. This one was a challenge. Digging through the literature, building hypotheses to reconcile conflicting results regarding the effect of BMP, to fill gaps in our knowledge of juxtacrine signals. And writing a Python prototype of what would later become EpiLog. Contrary to my first paper, it hardly got any citations. Well, the team was great, and I had fun.
In Japan I got involved in a research project on E. coli metabolism. And most recently in Montpellier, I worked on the impact of the invasive flatworm Obama nungara in the earthworm populations and, indirectly, on soils. That was quite interesting, but ended abruptly as I was ejected from the team for entirely non-scientific reasons.