Hi! I'm Sam.

I am an assitant professor at FI MUNI in Brno (Czechia).

I do research in logic-based modeling (e.g. Boolean networks) of biological processes in the Sybila lab. We try to better understand biology by learning simple, explainable logic-based programs replicating the behavior of real regulatory networks. Our unique expertise is in building scalable automated reasoning methods and robust software tools.

I am always looking forward to meaningful connections! Get in touch at sam.pastva[at]gmail.com, or xpastva[at]fi.muni.cz and we can chat. I'm also on Mastodon, Bluesky and ResearchGate.

As of recently, I'm trying to publish interesting stuff that I've learned on my blog. At home, I've been running my own "cloud" since 2020 (a blog post about that is hopefully coming soon :)) and I very much enjoy designing and 3D printing useful stuff.

Try the software I'm building!

I always try to be available to anyone who is evaluating our software for their use case. It's academic software, so it's never going to be perfect ;) If you think that something if off, or just need some pointers before you start diving in, let me know and we can work something out together.

  • AEON.py is a comprehensive Python package for reasoning about Boolean networks using BDDs. It may not have the fastest, shiniest algorithm for every task, but in general, if you can think of a BN-related question, AEON.py can typically answer it. Thanks to the symbolic BDD-based representation, you can scale to useful network sizes even with relatively "naive" algorithms. Out of the box, we support attractor detection in asynchronous update, fixed point and trap space computation, reachability, reduction, control, and many additional features. We also support partially specified Boolean networks that can be used to collectively analyze large ensembles of similar networks efficiently.
  • AEON also provides an interactive online editor of Boolean networks through which you can run basic analysis tasks and visualize their results. It uses interactive decision trees to explain how changes is logical parameters or unknown network behavior translate to changes in network attractors. Similar technique is also availabe in BN Classifier, but for a wide range of general properties, not just attractor repertoire.
  • Biodivine Boolean Models is the most comprehensive database of published Boolean networks (that we know of :)). Compared to other projects, it performs comprehensive static analysis of all models, removing logical inconsistencies such as unused variables/regulations or incorrect monotonicity labels. This way, we already detected and corrected hundreds of issues in real-world models. It provides versioning in a wide range of model formats and is open to public contributions.
  • biobalm is a Python package for building succession diagrams of Boolean networks and using their structure to efficiently detect attractors. As far as we know, it is the most scalable and versatile tool for finding attractors in asynchronous BNs, smartly combining a wide range of methods.
  • tsconj and trap-mvn are Python packages for efficient detection of trap spaces across based on answer set programming. They stand out by targeting a wide range of logic-based model formalisms (Boolean networks, unitary multi-valued models, general multi-valued models). They are extremely scalable, allowing analysis of networks with thousands of variables.
  • lib-bdd is our library for working with Binary Decision Diagrams (BDDs) that is used in virtually all our tools. It was one of the first fully featured BDD libraries written completely in Rust. While several more powerful implementations have appeared since, it remains popular due to its simple architecture and light-weight API.

Read the papers I'm writing!

Here are some recent interesting papers that I worked on. For the most up-to-date list, see Google scholar.