BenjMurrell
BenjMurrell
@benjmurrell.bsky.social
πΈπͺπΏπ¦ Researcher at Karolinska. Comp bio. Phylogenetics. Deep learning. All in Julia. Virology. Immunology. https://scholar.google.com/citations?user=I80vy5cAAAAJ
814 followers3.8K following83 posts
(We also show this for Edit Flows, which lies just outside of Generator Matching) arxiv.org/abs/2506.09018
For this, we closely follow the incredible Generator Matching framework, which subsumes nearly all flow matching and diffusion models. arxiv.org/abs/2410.20587
We want things to be a bit less handwavey than this though, and we needed it for Branching Flows. bsky.app/profile/benj...
We figured out flow matching over states that change dimension. With "Branching Flows", the model decides how big things must be! This works wherever flow matching works, with discrete, continuous, and manifold states. We think this will unlock some genuinely new capabilities.
But when we looked, we couldn't find a sufficiently general justification. So our preprint, driven by @lukasbillera.bsky.social with assists from @hedwignordlinder.bsky.social, formalizes this, and extends it a little in ways that are trickier to heuristically reason about: arxiv.org/abs/2511.16599
With my wonderful lab, who mostly aren't on here (except @lukasbillera.bsky.social and @antonoresten.bsky.social ?) we've been tinkering in this space since the end of the summer, but we think this is just too cool to sit on any longer. The manuscript should be up by tomorrow and I'll drop a link.
With my wonderful lab, who mostly aren't on here (except @lukasbillera.bsky.social and @antonoresten.bsky.social ?) we've been tinkering in this space since the end of the summer, but we think this is just too cool to sit on any longer. The manuscript should be up by tomorrow and I'll drop a link.
Oh and as usual, these visualizations (which are, to us, key to understanding these processes) were made by @antonoresten.bsky.social in @makie.org (@simi.bsky.social).
We've got a flexible implementation in Julia (github.com/MurrellGroup...) that uses our Flowfusion.jl package so you can compose families of base flows with the branching and deletion process. If there is community interest, we can set up a python implementation as well.
The trick that makes it tractable to learn, for eg. continuous states, is that branching events are not generic insertions into space (which, we think, you need for TD jumps (@arnauddoucet.bsky.social ?). Instead, they duplicate the state that is branching.
How does this work? First, you need to understand the amazing Generator Matching (arxiv.org/abs/2410.20587). In GM you first sample Z, and then construct a stochastic process Xt that, conditioned on Z, terminates at the data distribution.
Typically Z will include X0 from an easy-to-sample distribution and X1 from the data distribution, and if you're feeling fancy you might couple them ( @alextong.bsky.social ). But what we learned while working on Branching Flows is that Z is a *playground*.
One day remaining before this closes! bsky.app/profile/benj...
My lab, at Karolinska, in Stockholm, is looking for a PhD student with a computational/quantitative background to work on probabilistic/generative models of proteins (structure and sequence). The research will involve methods development, and applications in vaccine design.
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
We will have a preprint up about this soon. This is just a "base model" so you can't really ask it to do anything specific (but stay tuned). We've put the code and weights up, so give it a spin: github.com/MurrellGroup... If you have a GPU, it is pretty fast.
Shoutout to the @julialang.org community, where we rely on Flux.jl, CUDA.jl, Zygote.jl, Manifolds.jl, and others as well as @makie.org for the visualizations!
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
Why? Most other methods apparently train on single chains (hat tip: @sokrypton.org ), and then use eg. AA pos offsets (sometimes with multi-chain finetuning?), to handle multiple chains. Chroma trains on multi-chain structures, but maybe symmetry is less visible to random-edge GNNs?
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
We tried to set up a simple demo/tutorial model for the protein design ecosystem we've been developing, and it turned out a bit more interesting than we expected. π§΅ This was a team effort from a few people in my lab, including @antonoresten.bsky.social and others (not sure who is on this app)
Side note: If you're looking to do a PhD in this space, there is just over a week left to apply for this position with us: bsky.app/profile/benj...
My lab, at Karolinska, in Stockholm, is looking for a PhD student with a computational/quantitative background to work on probabilistic/generative models of proteins (structure and sequence). The research will involve methods development, and applications in vaccine design.
We've been tinkering in the protein design space for a bit now and, since we stubbornly refuse to work in any language other than Julia, we've set up a @julialang.org ecosystem for flow matching, a collection of useful layers, a protein data processing pipeline, etc etc.
This position is part of (and funded by) the @scilifelab.se "Data Driven Life Sciences" initiative, and you will integrate into their new DDLS PhD "Research School". Please feel free to email me if you have questions, and please share this! Ad link here: kidoktorand.varbi.com/en/what:job/...