You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
I'm pleased to annouce a new open source software project that we're developing at Topos Institute: CatColab. The tool is under heavy development but you can play with a demo at the link above.
In one sentence, the aim is to make modeling in category-theoretic domain-specific languages accessible to people who do not necessarily have any training in category theory or mathematics generally. For more, @Kevin Carlson has written a nice blog post explaining the project and where we hope to go with it: Introducing CatColab
Great work! I can't wait to play with it when I find some time
CatColab is software based on double categories (or more precisely double theories), created by @Evan Patterson, @Kevin Carlson and perhaps others at the Topos Institute.
v0.2 is out - read about it here:
New features include:
CatColab is now a usable, but not polished, tool for co-authoring and publishing both ologs and systems dynamics models.
Thanks for posting, John!
Thanks for making this! I feel like I've been looking for something like this and all its cool things for years. I have just started to play in it. Is this channel the best place to get updates, or is there a listserv that I can sign up for, or something else?
Thanks for this, JR! We haven't advertised it much yet, but we have a public Zulip instance where we post more regular updates: https://catcolab.zulipchat.com
@Evan Patterson - I was showing @Adittya Chaudhuri the feature where Catcolab uses Kleisli morphisms between signed graphs to detect balancing loops and other motifs, and when I tried to do it for the Sustainable Peace signed graph, my browser emitted a warning that the program was taking a long time to run and was slowing things down. He replied:
I have one question "the usual causal loop diagrams/regulatory networks that I have seen from biologists here are very very large (like disease pathways). Can this software find feedback loops/feedforward loops for them in a reasonable time?
I mean the question is "if the graph size is very large, can this software still find the feedback loops in a reasonable time"?
Ack, caught! It runs fine on the cap and trade example but unfortunately sustainable peace currently produces a combinatorial explosion we haven’t set up to manage gracefully. Working on it.
The first thing we have to figure out is whether the algorithm or the Rust code itself is too inefficient or whether, after having compiled it to Web Assembly, the web browser is simply getting mad that we're asking it to do a big computation.
In general we haven’t put essentially any work into the algorithmics of morphism search in CatColab yet, but the theoretical complexity should be with the problem of finding subgraphs of a fixed shape in a given graph.
Hmm, do I mean that? I might not.
John Baez said:
the usual causal loop diagrams/regulatory networks that I have seen from biologists here are very very large (like disease pathways). Can this software find feedback loops/feedforward loops for them in a reasonable time?
It would be fun to get our hands on one of these big disease pathways.
At least for this particular problem I should say the complexity can be reduced to where are the numbers of vertices, edges, and indecomposable loops-to-be-found. Hopefully there are analogous results for more general morphism domain shapes. There might be interesting algorithms work here, or maybe it all basically reduces down to loops and paths in graphs.
Kevin Carlson said:
In general we haven’t put essentially any work into the algorithmics of morphism search in CatColab yet, but the theoretical complexity should be with the problem of finding subgraphs of a fixed shape in a given graph.
But I think that complexity seems nonthreatening, in most cases.
unfortunately sustainable peace currently produces a combinatorial explosion
Ironic, ain't it? :upside_down:
Evan Patterson said:
Adittya Chaudhuri wrote:
the usual causal loop diagrams/regulatory networks that I have seen from biologists here are very very large (like disease pathways). Can this software find feedback loops/feedforward loops for them in a reasonable time?
It would be fun to get our hands on one of these big disease pathways.
Can you get one, @Adittya Chaudhuri?
Kevin Carlson said:
But I think that complexity seems nonthreatening, in most cases.
Just to finish the loudly echoing “but” there, if the graph is sufficiently dense then the number of circuits can be factorial in the number of edges, so we’re not going to be able to guarantee fast results in all cases. I suspect that in realistic cases the graphs are large but relatively sparse and so will probably not be asymptotically much bigger than , but that’s just vibes.
John Baez said:
Evan Patterson said:
Adittya Chaudhuri wrote:
the usual causal loop diagrams/regulatory networks that I have seen from biologists here are very very large (like disease pathways). Can this software find feedback loops/feedforward loops for them in a reasonable time?
It would be fun to get our hands on one of these big disease pathways.
Can you get one, Adittya Chaudhuri?
IMG_8675.HEIC
This is the photo of a pathway in my current office in Rostock. I am talking about these "sizes". Although the diagram is not exactly like signed graphs, it is somewhat informal (that's what I am trying to formalise using the "Mathematics of graphs with generalised polarities with @John Baez" ).
Wow! It'd be very interesting to get our hands fully on something like this as we consider what further features regnets need. Another optimistic thought on complexity is that presumably biological pathways will generally be largely decomposable into sub-pathways with no long loops jumping between these components.
https://www.kegg.jp/kegg-bin/show_pathway?hsa05200 this is a pathway in cancer
Thanks, this is great! (In case it helps anyone else, if you click the "Help" button on the top, it shows you a legend for what all the different graphical notations mean.)
Welcome :)
First of all, thanks for the discussion. I have a point to talk about. I work with some biologists who are not well equipped with abstract pure maths but are quite successful in their field. They often (I think almost in every meeting) ask me "How ACT-based frameworks" are better than their "Hand-drawn simulation-based frameworks?" I say to them " rewording what @John Baez said
"So, people are already trying to systematize the use of diagrams. But mathematicians should join the fray. Why? Because mathematicians are especially good at soaring above the particulars and seeing general patterns. Also, they know ways to think of diagrams, not just as handy tools, but as rigorously defined structures that you can prove theorems about… with the help of category theory." in https://johncarlosbaez.wordpress.com/2011/03/04/network-theory-part-1/
Still they are not very happy and want concrete proofs which I can not provide them beacuse of my inexperience in Biology. Then, I said them about Softwares based on Algebraic Julia, CatColab etc. Now, of course finding motifs/feedback loops/feed forward loops are very important for Systems biologists. If I can tell them that ACT provides a way using compositionality "to find important motifs in a very large scale network", then that would definitely be a good convincing point for them. Also, even if it takes 15 days to find the all possible loops in a very very big diagram, still I think they would be happy about ACT frameworks. Basically, I also want an answer that I want to tell them when they will ask me next time again.
Thanks again!!
Great! So getting motif search working on arbitrarilylarge-scale diagrams should be a high priority for us soon, then. It's really nice to know that people would find this impressive.
Thank you!! Then, I would tell them about it!!
Basically, to me, principles of compositionality should give us the liberty to "break down a very big complex diagram" into "small understandable parts", and then an analysis of all the small parts should give us an analysis of the big part. From this point of view, yes, ACT makes great sense for analysing large scale diagrams. The problem is about "concrete demonstrations using very big diagrams ", which they will not be able to do by using hand-drawn simulation models.
I'm very glad you're having this conversation. I think getting biologists to care about CatColab would be very beneficial to both biologists and Topos, and this might be a place to start.
Thank you very much! I completely agree with your point, and I am truly excited about this venture.
Thanks again, Adittya. The cancer pathway diagram is proving very helpful in thinking about how to refine the logics we implement relating to regulatory networks. It'll also provide a nice example of compositionality as we get some capabilities on colimits of notebooks. However, it's not going to be that interesting for finding motifs, is it? As far as I can tell there aren't any loops in the diagram. Do you have any advice on finding a large example with more interesting motifs to search for, other than digging around the KEGG repository at random?
Thanks Kevin. I will definitely search for an example of a large diagram with interesting motifs. However, biologists often use this site a lot https://www.ebi.ac.uk/biomodels/
This is Covid 19 https://www.kegg.jp/kegg-bin/show_pathway?hsa05171. Is it interesting?
Kevin Carlson said:
Thanks again, Adittya. The cancer pathway diagram is proving very helpful in thinking about how to refine the logics we implement relating to regulatory networks. It'll also provide a nice example of compositionality as we get some capabilities on colimits of notebooks. However, it's not going to be that interesting for finding motifs, is it? As far as I can tell there aren't any loops in the diagram. Do you have any advice on finding a large example with more interesting motifs to search for, other than digging around the KEGG repository at random?
Hi, can you please explain a bit on what you meant by "colimits of notebooks"?
John Baez said:
Evan Patterson - I was showing Adittya Chaudhuri the feature where Catcolab uses Kleisli morphisms between signed graphs to detect balancing loops and other motifs, and when I tried to do it for the Sustainable Peace signed graph, my browser emitted a warning that the program was taking a long time to run and was slowing things down.
I've pushed an update that fixes, or rather side steps, this issue by putting a user-configurable upper bound on the length of the paths considered by the motif finder. By default, this number is now set to 5. On the example above, you can see that there are 366 (!) reinforcing feedback loops of length at most 5.
You can still blow up the app by setting this parameter unfavorably on a big example. There is a separate issue about performing such long-running computations in a separate thread to avoid hosing the browser tab, but that's a task for the future.
So now I'd like to get a large and interesting biological example into the tool. Besides the data entry, that might involve figuring out (1) what theory is appropriate for these signaling networks and (2) what motifs biologists might care to look for. I still need to look more closely at the examples you've posted.
Thanks for all this, Evan!
Does this search for reinforcing feedback loops only report minimal-length ones, or also composite ones? If we don't exclude composite ones the number of reinforcing loops of length will typically grow exponentially with . E.g. if you have one minimal such loop of length 1 and one of length 2, both based at the same point, the number of loops of length n will be the (n-1)st Fibonacci number
Thanks!! @Evan Patterson I just checked the sustainable peace example!! It's amazing!!
"what theory is appropriate for these signaling networks"
I was thinking actually about graphs with polarities whose labelling sets has a monoid structure(as in most biological setting they have room more kinds of influences other than positve and negative)
So now I'd like to get a large and interesting biological example into the tool
My colleagues here built the Atlas of Inflammation resolution https://air.bio.informatik.uni-rostock.de. It may have the kind of interesting biological example you are asking," though I am not sure. But I can ask them about it.
(2) what motifs biologists might care to look for.
I am not fully sure. But I can ask my colleagues here this exact question.
Adittya, what are you thinking of as the monoid of polarities in something like the big example you sent? Is the composition of a “phosphorylation” edge and a “ubiquitination” edge just going to be taken in a free monoid?
Yes, in the free category of the associated graph. (For that, first, I think it is essential to "choose an appropriate monoid" suitable for the purpose)
John Baez said:
Does this search for reinforcing feedback loops only report minimal-length ones, or also composite ones? If we don't exclude composite ones the number of reinforcing loops of length will typically grow exponentially with . E.g. if you have one minimal such loop of length 1 and one of length 2, both based at the same point, the number of loops of length n will be the (n-1)st Fibonacci number
As you can see by building your suggested example, we currently provide "simple" loops in the sense that edges aren't allowed to repeat in a returned loop. However, this definition does permit compound loops in a certain sense--you can build a loop by composing subloops without repeating edges. Thus John's example is currently counted as having total reinforcing loops in it.
I personally suspect that the third loop, combining the length-1 and length-2 loops into one grand loop, shouldn't really be counted, but at least we definitely aren't getting Fibonacci!
I do not know. Free monoid can be a good choice. But in a way I think "we can loose some biological significance" with such a generality!
I just don't know what you're supposed to call a path that phosphorylates, then ubiquitates, other than a "phosphorylation-then-ubiquitation" path, which is basically combining in the free monoid!
Unless, I suppose, there's an actual name for the biochemical process of phosphorylation followed by ubiquitation.
Yes, I agree with your point. It is the most natural choice. In that case Free monoid is probably the right choice. I was just thinking about "adding some semantics" while labelling by "finding a right monoid". But, I am not sure, whether such thing can actually be possible
But, yes, I agree, of course, from the perspective of only syntax, Free monoid is the most natural choice
However, if we do refinements can there be a problem with free monoids? (like when we move from signed graphs to categories), as, I think usually refinements come with semantics (for example in usual regulatory networks +.-=-, -.-=+.. so on), but for free monoids, we may loose that kind of significance. Am I understanding correctly here?
The example of moving from signed graphs to categories seems both backwards and non-type-checked to me; are you thinking of moving from categories to signed categories? (Or, equivalently, for the free modles, from graphs to signed graphs?) I wouldn't call the forgetful process from signed graphs to graphs a refinement!
Yes I meant signed categories.
And you're thinking of refining as in, for example, adding signs where there weren't any before?
Yes, "signs assigned to paths by composing the signs on edges by the monoid structure" . Actually, I am currently working on the "general theory of these kinds of structures" with @John Baez on a paper about graphs with polarities.
Well, I don't think I'm following what your concern is about the free monoids, all in all. If there's a monoid homomorphism then you'll always be able to refine -signed graphs to -signed ones, and if is free then that's easy to arrange.
Of course. Yes, I agree. Thanks. But I am talking about finding the right here suitable in specific biological setting.
Sure; you could start with something free and then, if you learn there really is a good name for "phosphorylation then ubiquitation", use a map from the free guy to the guy in which is that new name to improve your theory.
Yes, that's a nice way to approach. Thanks!
I am curious about a situation "when a loop in a very big diagram is "too big".. using ACT tools like structured cospans/decorted cosspans, we can decompose the whole big diagram into small parts, each containing a small portion of the loop. But the loop is only identified when we compose all the small parts together. For example, the yellow loop in the attached hand drawn diagram !
Composition of loop.png
Is such thing possible in CatColab?
More precisely, is the "searching process for a loop in CatColab" compatible with the underlying compositional structure (for eg: symmetric monoidal double categories)?
This hits on a broad and general issue of compositionality that we’ll have to consider: how to decide when it’s algorithmically worthwhile to try to divide and conquer to find loops across components of a composed model via their pieces, versus search globally. There’s no general answer or magic bullet here; it just is the case that there can be loops in a composed model that don’t come from loops in any of the pieces, as you say.
For the moment we don’t support the composition of models in that manner anyway, so it’s not yet a live issue.
I see! Thanks!!
Kevin Carlson said:
I just don't know what you're supposed to call a path that phosphorylates, then ubiquitates, other than a "phosphorylation-then-ubiquitation" path, which is basically combining in the free monoid!
Freely generating the composite is always an option, but I suspect that interactions will often come with a taxonomy that let you do better. In this example, the legend taxonomizes the arrows into enzyme-enzyme relations, gene expression relations, protein-protein interactions, etc. And it turns out that phosphorylation and ubiquitination are both protein-protein interactions! So perhaps you should define "phosphorylation ubiquitination protein-protein interaction".
The idea here is that a sequence of protein-protein interactions is again a (compound) protein-protein interaction. What the formalism of a category sliced over a monoid of "types" can't quite capture is that "phosphorylation" is a "subtype" of "protein-protein interaction". Happily, you can capture this with the more general formalism of simple double theories, namely by introducing a cell like this into your theory. The cell acts as a coercion operation. CatColab doesn't yet let you do this, but it will!
Now I'm aware that this might not make much sense if you don't know about double theories, but the idea here is the same as that of a promonad. See, for example, this blog post: https://topos.institute/blog/2024-01-29-algebras-are-promonads/
@Evan Patterson Thanks a lot!! Yes, I agree that the formalism of category sliced over a "monoid of types" can not capture the idea of a subtype, and for that, we need a more general formalism like "simple double theories" as you explained. From your explanation, now it makes a lot more sense to use "such ideas" than "the natural interpretation as free monoids as @Kevin Carlson suggested previously" when we want to formalise diagrams (like in KEGG) as "labeled graphs like objects where the labels of the edges can be composed".
Also, thank you very much for sharing your article on promonads. It's very interesting!!
I talked to one of my colleagues, Shailendra Gupta (Systems Biologist), regarding "the large example" and about "finding out the motifs". Below, I am trying to summarise the discussion that I had with him regarding the topic:
He referred to this paper: https://www.nature.com/articles/s41467-017-00268-2#Sec22 (he is a coauthor in it). He said Figure 1 can be a good candidate for the case study (It contains more than thousands of nodes.) Although "finding out the motifs" is interesting from the perspective of Systems Biology, he said there are already good softwares which can identify motifs (of size 3-4-5-may be more) in large-scale networks (like more than 1000 nodes ) in directed signed graphs in reasonable time. In fact, in the paper he referred (https://www.nature.com/articles/s41467-017-00268-2#Sec22), he said they have found out the number of important motifs (like the ones in https://www.nature.com/articles/nrg2102) for the network shown in Figure 1 by converting the KEGG like diagrams into regulatory networks, and then, they did the feedback loop analysis using the software Cytoscape https://cytoscape.org by using NetDs (version 2.8) (see Figure 9 in his paper https://www.nature.com/articles/s41467-017-00268-2#Sec22) (although according to him version 2.8 may not be not available now).
This discussion again made me think about "how software built on ACT" is better than "normal software available, which usual systems biologists use for network analysis" from the point of a biologist? Of course, as a mathematician, I am fascinated by ACT-based software, but I am still not able to ignore this question.
Unfortunately, almost everything about the supplementary information in that paper is now broken (their main model 404s and NetDS is long dead), so it's impossible to reproduce the workflow. That said, it's helpful to know that finding motifs in a large network won't in itself be particularly impressive.
"Converting the KEGG-like diagrams into regulatory networks" is something we can do in an automated and verifiable way, whereas I might guess that it was quite laborious for them. Shifting across logics in this way will be a particular strength of CatColab.
"Not having everything bitrot in less than a decade" is also a problem we intend to improve on state-of-the-art on, though of course it's hard to sell people on this as a high priority. If the big model had been built in CatColab, then rather than (or in addition to) posting a complicated, interactive diagram on a webpage, the kind of thing that classically rots quickly, they could have provided a simple JSON dump that could be revitalized by a live version of CatColab in a single click with no downloading, or in the worst case, would have been reasonably easy to parse in some other piece of software, as opposed to this visualization which would be essentially non-replicable even if we had the full version, without several days of manual work, and which is now seemingly entirely lost to the public. Even better than the JSON dump, the CatColab model could be directly shared at a link which would stay live as long at CatColab does, saving the researcher the responsibility to supervise their shared models, which is too much to ask.
It's likely our algorithms for finding feedback loops are no better than the much-lamented NetDS's, but the fact that we see this as a special case of a highly multi-disciplinary problem means that biologists don't have to shoulder the whole burden of building and maintaining software for this narrow problem, a burden which is apparently heavier than the level of need justifies. This is unfortunately another strength that doesn't instantly benefit biologists, of the "maintainability and reliability" kind; I'm just thinking out loud here to see whether I land on anything good.
All of the detailed points above are downstream of the fact that in CatColab, all models are well-defined mathematical objects that we can manipulate formally and uniformly, rather than all this highly manual passing around of complicated files through a long stack of independent tools. This sort of write-only, non-reproducible data analysis seems highly characteristic of scientific computing and we would really like to help improve the situation.
Thank you so much, @Kevin Carlson, for explaining the vital differences between ACT-based software and others. I understand your point of view on it, and from your explanation, I am convinced that ACT-based software is a really exciting object, even for working biologists!!
I’m glad, and thanks for your attention! I hope we can keeping work through you to figure out how to convince some working biologists of the same.
Thanks!! I am also very glad to learn so much about CatColab, ACT-based software in general, and the interesting ideas for labelling KEGG diagrams. I am very happy and looking forward to working with you to figure out how to convince regular biologists of the usefulness of both ACT and ACT-based software.
Adittya Chaudhuri said:
https://www.kegg.jp/kegg-bin/show_pathway?hsa05200 this is a pathway in cancer
nothing useful to add to the discussion but this caught my eye lol
image.png
A stairway to immortality!! lol
I believe cancer cells are immortal, and that's a big part of the problem.
Yes, I agree.
Btw this reminds me of how some people now are seeking immortality, in fact using the same method - extending the telomeres. If rich people succeed in getting this, it'll indeed be a form of social cancer.
Ohh!! I never imagined that. Of course, it would create a tremendous social issue as the number of rich people is just a handful compared to the whole world population.
John Baez said:
Btw this reminds me of how some people now are seeking immortality, in fact using the same method - extending the telomeres. If rich people succeed in getting this, it'll indeed be a form of social cancer.
I pray every day God doesn't take his best invention away from us---mortality.
Kevin Carlson said:
For the moment we don’t support the composition of models in that manner anyway, so it’s not yet a live issue.
Hi!! Has there been any new development in the last few months in the direction of the question that I asked here ?
Hi Adittya, Owen Lynch is actively working on composition models in a pushouty/decorated cospanny fashion as we speak, but it might be as much as six weeks before we have much to show publicly.
Thanks very much Kevin!! I am glad to hear that!!! Actually, next week I am meeting with a systems biologist in person and would discuss about possible applications of ACT (in particular via ACT based software) in finding feedback loops in regulatory networks. I want to tell him about "this compositional approach for finding motifs via software". That's why I asked you about it!! Thanks !!
Great! Feel free to ask anything it’d be helpful to understand better ahead of that.
Kevin Carlson said:
Great! Feel free to ask anything it’d be helpful to understand better ahead of that.
Thanks very much!!
Kevin Carlson said:
Hi Adittya, Owen Lynch is actively working on composition [of] models in a pushouty/decorated cospanny fashion as we speak, but it might be as much as six weeks before we have much to show publicly.
Wow, cool! What class of decorated cospan (double) categories is he planning to handle?
I'm not sure I can give a faithful-to-Owen answer to this, but at least part of what he'll produce is decorated cospan structures on categories of models of double theories where the cospans let you pick out inclusions of some "discrete" models, in a sense that generalizes the inclusion of, say, discrete graphs/categories into general ones.
That's basically the plan as I understand it. For this application, it should suffice to use structured cospans (just like you can in the familiar example of open graphs), which are a bit simpler than decorated cospans.
I'll have to ask Owen about the details. It sounds great. I'm very curious whether he's trying to handle decorated cospans or only structured cospans. As you folks know, there are some practical examples of open systems that seem to require decorated cospans, though Evan and coauthors have found a clever way to avoid them in one case (replacing dynamical systems by parametrized dynamical systems).
TIL Decapodes can only solve problems in 1- and 2d.
Here's me hoping to look at simulating a PDE on a 10-dimensional manifold.....
(Well, perhaps I can get away R^3 or R^4, but even the first of these is still a PR to the main Decapodes repo)
I had a look at the project. I thought CatColab would be built on Catlab.jl (julia), but it has been built from the ground up in rust (if I understood correctly). Does it mean that Catlab.jl is on hold?
@Peva Blanchard - Catlab.jl is not on hold: for example our team is using it to design agent-based models in epidemiology. Catcolab is a separate project, built from the ground up using Rust rather than Julia and based on double categorical doctrines rather than the category-theoretic infrastructure of Catlab.jl. Catcolab is supposed to be better for web-based applications.
Our team is also doing some preliminary work on epidemiological modeling in Catcolab, but it's not ready for serious modeling yet.
@David Michael Roberts - as far as I know, Decapodes is no longer being developed because the DARPA grant supporting that work is done. If DARPA had wanted to fund further work on this project, it would be continuing.
Decapodes was funded by a grant from a DARPA project called ASKEM: Automating Scientific Knowledge Extraction and Modeling . It sounded good:
Target Users:
Decapodes can be used by modelers or researchers focused on physical climate models, and who are interested in developing and testing hypotheses to better understand fundamental mechanisms of the climate system through multiphysics modeling. This includes the ability to do rapid model composition with physics equations, apply various boundary conditions, and apply models to complex geographic/geometric meshes, etc.
Features Supported:
Users can use Decapodes to:
- Start from a pre-populated library of canonical physics, chemistry, biology, and environmental models in exterior calculus form, and a library of commonly used boundary conditions,
- Do multiphysics model composition
- Apply different boundary conditions,
- Do multiphysics model simulations with complex and arbitrary geographic or geometric meshes
However, my impression is that DARPA gave up on it.
It's quite difficult to get sources of funding stable enough to develop such ambitious systems.
Decapodes still has a finishing grad student and a mid-stream grad student focused on it, though it’s true that ASKEM just wrapped up. But while CombinatorialSpaces.jl was designed to support spaces of arbitrary dimension, there’s never been any funding to flesh out the high-dimensional capabilities. It seems to me, though I’m not super knowledgeable here, that high-D numerical PDE is a small and crazy hard field and you mostly have to use one of the standard libraries, of which there’s about one each in Python, Julia, and C++, and probably do a lot of implementation work building a solver customized to your particular problem.
Kevin Carlson said:
Hi Adittya, Owen Lynch is actively working on composition models in a pushouty/decorated cospanny fashion as we speak, but it might be as much as six weeks before we have much to show publicly.
Hi! next Tuesday, I am presenting a poster on "Emergent Feedback loops" based on my paper Motifs and Emergent Feedback in Labeled Graphs with @John Baez at the Modularity of Biological Systems worshop at NITMB, Chicago.
In our paper, we discused about formalizing the "notion of new emergent feedback loops" arising as a consequence of composing open graphs along vertices via a commutative monoid version of Mayer-Vietoris. In private messages with @John Baez about the poster presenation, he mentioned that it is quite natural for someone at the workshop (interested mostly in practical applications) to ask whether there are exisiting software which can compute emergent feedback loops when we compose open graphs.
In this context, long back I asked here (with an example of an emergent feedback loop marked in yellow). Then, after some months, I asked about the status of my question here . You said that Owen Lynch was working on this direction that time.
It would be really helpful to know the current status of the situation, ahead of my poster presentation on next Tuesday.
Did you read about @Nathaniel Osgood's work using CatColab to find feedback loops? He wrote about it on Azimuth. Maybe he can say how it's going.
You can see how to find positive and negative feedback loops in graphs with edges labeled by signs in CatColab here: https://catcolab.org/help/logics/causal-loop
John Baez said:
Did you read about Nathaniel Osgood's work using CatColab to find feedback loops? He wrote about it on Azimuth. Maybe he can say how it's going.
Thanks very much! No, I have not read this post yet. I will read it today.
John Baez said:
You can see how to find positive and negative feedback loops in graphs with edges labeled by signs in CatColab here: https://catcolab.org/help/logics/causal-loop
Thanks! I will read.
Hi! I went through the @Nathaniel Osgood 's post in Azimuth. Especially, I am very much interested in the following portions of the post, and I am curious to know the current status of his project with respect to these specific portions:
Regarding 1:
This is exactly where my inerest lies, the new feedback loops in the combined diagram, which were absent in the individual diagrams.
Regarding 2:
It seems that CatColab was yet to have the ability to compose causal loop diagrams during the time when the post was written. I am curious to know whether the current version of CatColab possess this feauture.
Adittya Chaudhuri said:
It seems that CatColab was yet to have the ability to compose causal loop diagrams during the time when the post was written. I am curious to know whether the current version of CatColab possess this feauture.
CatColab has had the ability to compose causal loop diagrams for some time now.
In fact, as of this week, all logics in CatColab now support model composition in the variable sharing (cospan) paradigm. For stock-flow diagrams, you would need to use the staging server (next.catcolab.org). But all other logics already support composition in the released version (catcolab.org).
To use this feature, create an "instantiation" cell in the notebook. Here's a screenshot of what this looks like for Petri nets: https://topos.institute/blog/2026-03-23-catcolab-0-5-sandpiper/#composition-of-petri-nets
The interface is the same for CLDs.
Adittya Chaudhuri said:
This is exactly where my interest lies, the new feedback loops in the combined diagram, which were absent in the individual diagrams.
Right, so CatColab supports the two features you want---finding feedback loops and composing models---in isolation.
What's missing is the ability to show only the "emergent" feedback loops: the loops present in the composed model that do not already exist in any sub-model. This would be cool, and it shouldn't be too hard to implement. For now, though, you'd have to "diff" the lists of loops by visual inspection :)
Thanks very much @Evan Patterson! They look super interesting!
Evan Patterson said:
Right, so CatColab supports the two features you want---finding feedback loops and composing models---in isolation.
What's missing is the ability to show only the "emergent" feedback loops: the loops present in the composed model that do not already exist in any sub-model. This would be cool, and it shouldn't be too hard to implement. For now, though, you'd have to "diff" the lists of loops by visual inspection :)
I often think that compositional analysis of a system is powerful because we can study the properties of the system by
Now, let CLD be a system, and we want to study a property of CLD : the set of feedback loops. Let and be CLDs such that is a composition of and via the variable sharing (cospan) paradigm. In this context, one may ask can we study/derive the feedback loops of from the information of feedback loops of and and the information on how and are composed. In this context, we developed a commutative monoid version of Mayer-Vietoris in our paper Motifs and Emergent Feedback in Labeled Graphs with @John Baez .
From your explanation, I undertand that the current version of CatColab supports the composition of CLD's (in a way, to me it is the composition of syntax). Also, I understand that given a CLD, CatColab can produce the set of feedback loops in the CLD.
Now, my question is the following:
Does the current version of the CatColab supports functorial studies of feedback loops? (Functorial semantics). More concretely, does the current version of CatColab supports such analysis where one can derive concrete information on the feedback loops of solely from the following two information:
Nope, it does not currently support studying feedback loops in any manner functorial with respect to composition. Though I haven't had a chance to read it, I see that your paper with John has a section on emergent feedback loops. It would be cool to see if we could implement that stuff, or at least some approach (possibly more naive) to showing which feedback loops emerge upon composition.
Evan Patterson said:
Nope, it does not currently support studying feedback loops in any manner functorial with respect to composition.
I see. Thanks!
Evan Patterson said:
Though I haven't had a chance to read it, I see that your paper with John has a section on emergent feedback loops. It would be cool to see if we could implement that stuff, or at least some approach (possibly more naive) to showing which feedback loops emerge upon composition.
Yes, that would be really interesting and at the same time, it would be exciting becsuse I feel it would be very useful for people working with very large regulatory networks and causal loop diagrams, where compositional analysis of the regulatory network/CLD would be a natural choice for them.
Cool! I'll be traveling for the next two weeks, but when I get back I'll take a closer look at the interesting work that you and John have done here.
Great! Thanks!
Adittya Chaudhuri said:
This is exactly where my inerest lies, the new feedback loops in the combined diagram, which were absent in the individual diagrams.
Here's a question someone might ask you when you deliver your poster: why do you care about these new feedback loops? Why isn't it good enough to find all the feedback loops?
Thanks!! Yes, I agree and I am thinking on this question. I am trying to find a concrete biological example where such new feedback loops can be actual standard biological objects of study.
Hi! I realised crosstalk between signalling pathways can be a natural place where such new feedback loops could be of interest to biologists.
I am listing some concrete biological examples:
I used Claude 4.6 for the litereature survey.
This is what Claude 4.6 says about crosstalk and emergent feedback:
Pathway crosstalk is a natural source of emergent feedback because cellular pathways rarely act in isolation: when distinct modules share components or regulate one another, new feedback loops can appear in the combined network even if neither module contains a loop on its own. These emergent loops can drive important biological behaviors such as sustained signaling, growth control, and developmental patterning.
![]()
This is the hidden positive feedback loops of interest in the paper A hidden oncogenic positive feedback loop caused by crosstalk between Wnt and ERK pathways (Figure 2).
A screenshot from the abstract:
![]()