[{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/tag/basel/","section":"tags","summary":"","title":"Basel","type":"tags"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/tag/career/","section":"tags","summary":"","title":"career","type":"tags"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/categories/","section":"categories","summary":"","title":"categories","type":"categories"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/tag/developmental-medicine/","section":"tags","summary":"","title":"developmental medicine","type":"tags"},{"content":"In January 2027, I will start as Tenure-Track Assistant Professor in Systems Developmental Medicine at the University of Basel, in a joint appointment between the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH). I am currently recruiting PhD students and postdocs.\nUntil then, I am a postdoctoral researcher in the lab of Barbara Treutlein at ETH Zürich (Department of Biosystems Science and Engineering), co-supervised by Dana Pe\u0026rsquo;er at MSKCC (Computational and Systems Biology Program), and an associated researcher at ETH\u0026rsquo;s AI Center.\nIn my research, I focus on understanding dynamical biological processes through the lens of single-cell genomics. To this end, I develop computational tools and apply them to solve biological questions that arise in processes including development, regeneration and reprogramming. In my postdoc, I\u0026rsquo;m particularly interested in studying the development of the human brain in organoid model systems, integrating spatio-temporal data across molecular modalities to understand regulatory relationships. In Basel, my group will extend this work to organ maturation in childhood, building age-specific molecular references that make it possible to tell healthy developmental trajectories apart from the earliest signs of disease.\nI have received multiple awards, grants, and scholarships, including the Helmholtz Software Award, the Rainer-Rudolph Prize, an Otto Bayer Fellowship, a Joachim-Herz Add-On Fellowship and an EMBO Postdoc Fellowship (2023–2025).\nPreviously, I completed my PhD in Computational Biology (summa cum laude) in the group of Fabian Theis at Helmholtz Munich/Technical University of Munich (TUM), where I co-developed CellRank and moscot. Both tools are used by biologists around the world to gain deeper understandings into the factors that drive cell fate decisions in health and disease.\nInterests # Generative modeling Single-cell and spatial genomics Organoids Human development \u0026amp; disease Developmental medicine \u0026amp; child health Education \u0026amp; Experience # Tenure-Track Assistant Professor in Systems Developmental Medicine — University of Basel (DBM \u0026amp; BRCCH), from 2027 Postdoc in Computational Biology — ETH Zürich \u0026amp; MSKCC, New York, 2023–2026 PhD in Computational Biology — Technical University of Munich, 2023 MSc in Applied Mathematics — University of Oxford, 2017 BSc in Physics — University of Freiburg, 2016 ","date":"Jul 30, 2026","externalUrl":null,"permalink":"/","section":"Marius Lange","summary":"In January 2027, I will start as Tenure-Track Assistant Professor in Systems Developmental Medicine at the University of Basel, in a joint appointment between the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH). I am currently recruiting PhD students and postdocs.\n","title":"Marius Lange","type":"page"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/category/news/","section":"categories","summary":"","title":"News","type":"categories"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/post/","section":"Posts","summary":"","title":"Posts","type":"post"},{"content":"I\u0026rsquo;m delighted to share that I have been appointed Tenure-Track Assistant Professor in Systems Developmental Medicine at the University of Basel 🎉. Starting on 1 January 2027, I\u0026rsquo;ll hold a joint appointment between the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH), where this is one of three structural professorships. There are announcements from the BRCCH, the Department of Biomedicine, and the University of Basel.\nWhat the lab will work on 🔬 # Development doesn\u0026rsquo;t stop at birth. Organs keep maturing through infancy and childhood, and that maturation is a period when a lot can go right and a lot can go wrong — yet we have far better molecular maps of the embryo than of the growing child.\nThe lab will build computational methods to close that gap. Concretely, we want to integrate single-cell, spatial, and temporal molecular data into models of how human tissues mature over time, and use them to ask two kinds of question. First, the cell-biological one: how does an individual cell commit to a fate inside a tissue that is itself still growing and reorganising around it? Second, the clinical one: what does normal look like at a given age, and how early can we detect a departure from it?\nThe longer-term aim is to give pediatricians something they currently don\u0026rsquo;t have — age-specific molecular references and computational tools that can support clinical decisions, help identify children at risk of developing disease, and inform when treatment is likely to work best. Basel is an unusually good place to try this: the BRCCH connects the University of Basel, ETH Zurich\u0026rsquo;s Department of Biosystems Science and Engineering — which sits in Basel itself — the University Children\u0026rsquo;s Hospital Basel, the Swiss TPH, and Fondation Botnar, so the distance from a model to a clinical question is short. The wider ecosystem is just as unusual: the Friedrich Miescher Institute is across town, the Institute of Molecular and Clinical Ophthalmology Basel runs human retina work from molecules through to the clinic, and Roche\u0026rsquo;s Institute of Human Biology has made organoids and human model systems its core business. Not many cities concentrate that much developmental and computational biology in one place.\nMethodologically, this builds on what I\u0026rsquo;ve been doing — probabilistic modeling, optimal transport, representation learning — but points it somewhere considerably more ambitious. Generative models are getting good enough to simulate tissue rather than merely summarise it, and the data are moving just as fast: subcellular-resolution spatial transcriptomics, high-content imaging, and multimodal readouts that put molecules, morphology, and time in the same frame. I want the lab to work at exactly that intersection — generative models that learn from imaging and omics jointly, that respect the fact that development is a process, and that we can interrogate rather than merely sample from. And unlike most of my previous work, there will be a clinic on the other side of the question.\nThank you 🙏 # Nothing here happened alone. Thank you to Barbara Treutlein and Dana Pe\u0026rsquo;er, who have shaped how I think about development and about data during my postdoc, and to Fabian Theis, in whose group I learned how to build methods that other people can actually use. Thank you also to ETH D-BSSE, MSKCC, and EMBO for supporting the work that led here — and to the search committees at the DBM and the BRCCH for the trust.\nThank you as well to my collaborators, past and present — experimentalists, clinicians, and method developers who were willing to explain their systems to someone arriving from mathematics, and who asked the questions that made the methods worth building. Very little of this work would exist without them.\nAnd thank you to everyone who has used, broken, and improved CellRank and moscot over the years. A tool only becomes useful once other people push it somewhere you didn\u0026rsquo;t anticipate.\nCome build it with me 🚀 # I am recruiting PhD students and postdocs now, for positions starting in 2027, and I supervise Master\u0026rsquo;s theses. If you like thinking carefully about models and care about what they say biologically, have a look at the Join the Lab page for what the positions involve and how to apply.\n","date":"Jul 30, 2026","externalUrl":null,"permalink":"/post/basel_professorship/","section":"Posts","summary":"I’m delighted to share that I have been appointed Tenure-Track Assistant Professor in Systems Developmental Medicine at the University of Basel 🎉. Starting on 1 January 2027, I’ll hold a joint appointment between the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH), where this is one of three structural professorships. There are announcements from the BRCCH, the Department of Biomedicine, and the University of Basel.\n","title":"Starting a lab in Basel 🇨🇭🧬","type":"post"},{"content":"","date":"Jul 30, 2026","externalUrl":null,"permalink":"/tags/","section":"tags","summary":"","title":"tags","type":"tags"},{"content":"In January 2027, I will start the Lange Lab at the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH) of the University of Basel 🇨🇭🏔️, as Tenure-Track Assistant Professor in Systems Developmental Medicine.\nWe will build computational methods to understand how human tissues and organs mature, from early development through childhood. That means integrating single-cell, spatial, and imaging data into models that describe what healthy maturation looks like — and that can flag where a tissue departs from it.\nMethodologically, we sit close to the current frontier of generative modeling: flow matching and diffusion models, variational autoencoders, Wasserstein gradient flows and optimal transport, vision transformers and other large-scale representation learners. Biologically, we work with organoid model systems and primary human tissue 🧠. The open questions are the interesting kind — what should a generative model of a developing tissue look like, how do you make it respect the fact that development is a process rather than a snapshot, and how do you validate one against a system you can only observe by destroying it?\nIf you want to do serious machine learning on problems where the modeling choices actually matter — and where getting them right eventually shows up in a clinic — this is a good place to do it.\nI am recruiting now for positions starting in 2027. Applications are considered on a rolling basis, and there is no deadline.\nPhD students 🎓 # You would develop a computational method and drive it through to a biological result — designing the model, implementing it, and interpreting what it says about a real developmental system. Doctoral positions in Basel are fully funded and typically run four years. You will be embedded in the DBM and BRCCH environment, with close access to clinicians and to primary pediatric samples.\nPostdocs 🔬 # You would take on a substantial, largely self-directed project, and I expect you to shape its direction. There is room to build tools that outlive the project, and to work directly with the clinical side of the BRCCH network.\nIf you are considering a fellowship (EMBO, HFSP, Marie Skłodowska-Curie, SNSF, and others), please get in touch early — I am glad to co-develop the proposal with you, and this is a good route into the lab.\nMSc thesis projects 📓 # I supervise Master\u0026rsquo;s theses of at least six months.\nProjects run in two directions. The first continues my current work: cellular representations and cell–cell communication in spatial genomics data, with a focus on organoids and early human brain development. The second grows with the lab — primary pediatric samples and questions in child health, with clinical collaborators close by. Both mix data analysis, mathematical modeling, machine learning, and biological interpretation — and sometimes discovery 🚀.\nWhat I look for # Less about how much code you can produce — models and tooling handle a growing share of that — and more about judgment:\nTheoretical grip on the models you use. You can say what a model assumes, where those assumptions break, and why the result is or isn\u0026rsquo;t trustworthy. Being able to call a method is not the same as understanding it. Biological understanding, or a serious appetite for it, particularly in development and regeneration. You should want to know what the answer means, not just whether the loss went down. Practical research experience. Evidence that you have carried a project through messy, real data to a conclusion — a thesis, a paper, a preprint, a tool people use. Fluency in the modern stack. You should be genuinely productive in JAX or PyTorch — of everything on this list, that is the one I would find hardest to work around. Knowing your way around the surrounding ecosystem is a real plus: Hugging Face, Optuna, Weights \u0026amp; Biases, and the scverse tools. Python is our working language and you should be comfortable in it, but treat that as the floor rather than the qualification. Backgrounds vary: physics, mathematics, computer science, statistics, bioinformatics, and computational or systems biology all work. You do not need to arrive with all of the above — strong ML/AI people with some exposure to biology or single-cell data are exactly who I hope to hear from, and biologists with genuine quantitative depth are equally welcome.\nHow to apply ✉️ # Email marius.lange.lab@gmail.com with:\nyour CV, a link to your GitHub profile, a short paragraph on your research interests and why this lab in particular, contact details for two referees. Speculative applications are welcome — if you have an idea that fits the lab but isn\u0026rsquo;t one of the roles above, write to me about it. And if none of this quite matches you but the science does, get in touch anyway; there may be other ways to work together.\n","date":"Jul 30, 2026","externalUrl":null,"permalink":"/join_the_lab/","section":"Marius Lange","summary":"In January 2027, I will start the Lange Lab at the Department of Biomedicine (DBM) and the Basel Research Centre for Child Health (BRCCH) of the University of Basel 🇨🇭🏔️, as Tenure-Track Assistant Professor in Systems Developmental Medicine.\n","title":"Join the Lab","type":"page"},{"content":"Hey everyone! 👋 Bridging the gap between different single-cell datasets has always been challenging. Today I\u0026rsquo;m excited to unveil CellMapper, a high-performance tool that makes this a bit easier through optimized k-NN transfer. Whether you\u0026rsquo;re mapping cell types from dissociated to spatial data, transferring embeddings between datasets, or identifying cellular niches, CellMapper makes these complex tasks both simple and blazingly fast. All you need it a joint embedding for your data, which you can get with methods like scVI, scArches, GLUE, scANVI, ENVI, MIDAS and many more, depending on the type of mapping problem.\nWhat\u0026rsquo;s CellMapper? 🤔 # CellMapper is a k-NN-based tool that lets you map cells across different representations to transfer:\n🏷️ Cell type labels 📊 Embeddings 🧬 Expression values Performance Optimized for Scale ⚡ # CellMapper achieves its efficiency through:\nAccelerated neighborhood search using faiss or RAPIDS on GPU Sparse matrix multiplications for memory-efficient data transfer Modular interface that separates neighborhood calculation from data transfer This architecture enables CellMapper to handle 1.5 million cells in about 30 seconds on a single RTX 4090 with 60 GB of CPU memory—making it practical for working with modern large-scale datasets.\nCool Things You Can Do With CellMapper 🔍 # 🔄 Transfer cell type labels from dissociated to spatial datasets 💫 Map embeddings between query and reference datasets 📍 Calculate presence scores for your cells in reference atlases 🏙️ Identify cellular niches in spatial data 📈 Evaluate your transfers with built-in metrics The Math Behind It 🧮 # CellMapper is built on a straightforward but powerful approach: k-nearest neighbor (k-NN) graphs with kernels applied to create mapping matrices. Here\u0026rsquo;s how it works:\nFor each query cell, find its k nearest neighbors in the reference dataset Apply a kernel function to turn these neighbor relationships into weights Use these weights to transfer information from reference to query cells The method is expressed by the formula:\n$$Y_{\\text{query}} = M \\cdot Y_{\\text{reference}}$$Where $M$ is our mapping matrix derived from the k-NN graph, and $Y_{\\text{reference}}$ can represent:\nCategorical data from .obs (automatically one-hot encoded) Dense arrays from .obsm (like UMAP or PCA embeddings) Sparse matrices from .X or layers (e.g. gene expression data) This approach is highly flexible and can be applied to virtually any type of data!\nGetting Started in 3 Lines of Code 💻 # from cellmapper import CellMapper cmap = CellMapper(query, reference).fit( use_rep=\u0026#34;X_joint\u0026#34;, obs_keys=\u0026#34;celltype\u0026#34;, obsm_keys=\u0026#34;X_umap\u0026#34;, layer_key=\u0026#34;X\u0026#34; ) That\u0026rsquo;s it! This will transfer cell types, UMAP embeddings, and expression values from your reference to your query dataset.\nStanding on the Shoulders of Giants 👨‍🔬 # The k-NN transfer approach isn\u0026rsquo;t novel — it\u0026rsquo;s a common technique used throughout the field. Among others, CellMapper is heavily inspired by:\nScanpy\u0026rsquo;s ingest function The HNOCA-tools package What makes CellMapper different is its focus on efficiency, flexibility, and ease of use. It separates the method (k-NN graph with kernels) from the application (mapping across representations), allowing for greater versatility and performance optimization.\nWhy I Built This 💭 # Working with datasets across different modalities or platforms presents specific computational challenges — especially when transferring information between them at scale. Existing tools often struggled with either performance on large datasets or flexibility across data types. CellMapper addresses these challenges by:\nLeveraging high-performance computing libraries for nearest neighbor search Providing flexibility across data types and modalities Offering a clean API with intuitive defaults Integrating tightly with AnnData objects For more details, tutorials, and examples, check out the documentation or dive into the GitHub repo!\nHappy mapping! 🗺️\n","date":"May 8, 2025","externalUrl":null,"permalink":"/post/cellmapper_release/","section":"Posts","summary":"Hey everyone! 👋 Bridging the gap between different single-cell datasets has always been challenging. Today I’m excited to unveil CellMapper, a high-performance tool that makes this a bit easier through optimized k-NN transfer. Whether you’re mapping cell types from dissociated to spatial data, transferring embeddings between datasets, or identifying cellular niches, CellMapper makes these complex tasks both simple and blazingly fast. All you need it a joint embedding for your data, which you can get with methods like scVI, scArches, GLUE, scANVI, ENVI, MIDAS and many more, depending on the type of mapping problem.\n","title":"🚀 Introducing CellMapper: Lightning-Fast Cell Mapping Across Datasets","type":"post"},{"content":"","date":"May 8, 2025","externalUrl":null,"permalink":"/tag/cellmapper/","section":"tags","summary":"","title":"CellMapper","type":"tags"},{"content":"","date":"May 8, 2025","externalUrl":null,"permalink":"/tag/single-cell/","section":"tags","summary":"","title":"single-cell","type":"tags"},{"content":"","date":"May 8, 2025","externalUrl":null,"permalink":"/category/software/","section":"categories","summary":"","title":"Software","type":"categories"},{"content":"","date":"May 8, 2025","externalUrl":null,"permalink":"/tag/spatial/","section":"tags","summary":"","title":"spatial","type":"tags"},{"content":"Please check google scholar for a complete list of my publications.\n","date":"May 7, 2025","externalUrl":null,"permalink":"/publications/","section":"Marius Lange","summary":"Please check google scholar for a complete list of my publications.\n","title":"Publications","type":"page"},{"content":"Please check my GitHub profile for an overview of my software contributions.\n","date":"May 7, 2025","externalUrl":null,"permalink":"/software/","section":"Marius Lange","summary":"Please check my GitHub profile for an overview of my software contributions.\n","title":"Software","type":"page"},{"content":"","date":"May 1, 2025","externalUrl":null,"permalink":"/tag/machine-learning/","section":"tags","summary":"","title":"machine learning","type":"tags"},{"content":"For those of you working on SLURM clusters who struggle with running hyperparameter sweeps, I\u0026rsquo;ve released a small utility package called slurm_sweep that might save you some time and effort.\nWhat is slurm_sweep? 🤔 # slurm_sweep is a command-line utility that bridges the gap between Weights \u0026amp; Biases (W\u0026amp;B) hyperparameter sweeps and SLURM job arrays. It solved a specific workflow problem I kept encountering: efficiently parallelizing hyperparameter sweeps on cluster infrastructure while keeping experiment tracking organized.\nHow it works: Bringing two powerful tools together 🔗 # The package combines two key ingredients:\nWeights \u0026amp; Biases (W\u0026amp;B) 📈 - A robust experiment tracking platform that provides basic hyperparameter optimization strategies. W\u0026amp;B handles the parameter space exploration, tracking metrics, and visualizing results.\nsimple_slurm 🖥️ - A Python interface to SLURM that makes it easy to generate SLURM job scripts programmatically, without having to deal with bash scripts directly.\nBy combining these components through a Python-based CLI, slurm_sweep eliminates the need for custom boilerplate code that connects hyperparameter selection with cluster job management.\nThe workflow 🔄 # The basic workflow is straightforward:\nCreate a YAML configuration file with your W\u0026amp;B and SLURM settings ⚙️ Write your training script that uses W\u0026amp;B 📝 Use slurm-sweep to validate your config and generate a submission script ✅ Submit your job array to SLURM 🚀 Strengths and limitations ⚖️ # What slurm_sweep does well ✅ # Quick setup: Get up and running with just a YAML config and your training script 🏎️ Efficient parallelization: Leverages SLURM job arrays for highly efficient parallel execution ⚡ Minimal overhead: Lightweight implementation with few dependencies 🪶 Good integration: Combines the experiment tracking capabilities of W\u0026amp;B with SLURM\u0026rsquo;s resource management 🔄 Current limitations ⚠️ # Search algorithm variety: slurm_sweep relies on W\u0026amp;B\u0026rsquo;s search algorithms, which are more limited than specialized tools W\u0026amp;B offers basic grid search, random search, Bayes optimization, and a basic hyperband implementation Tools like Optuna provide many more specialized algorithms Your choice between slurm_sweep and other tools will depend on whether you value simplicity and W\u0026amp;B integration over having access to more advanced search algorithms and features.\nExample usage 💻 # # Validate your config slurm-sweep validate_config config.yaml # Generate a submission script slurm-sweep configure-sweep config.yaml # Submit the job array sbatch submit.sh Alternative approaches 🔄 # If you\u0026rsquo;re looking for hyperparameter optimization solutions, there are several excellent alternatives worth considering:\nOptuna 🔮: A powerful optimization framework that supports various search algorithms and has built-in visualization tools. Hydra 💧: A framework for elegantly configuring complex applications with dynamic configurations. Ray Tune ☀️: A scalable hyperparameter tuning library with advanced scheduling algorithms and integration with various ML frameworks. SEML 🧪: A framework specifically designed for ML experiment management on SLURM clusters from TUM. Each of these tools has its own strengths, and your choice might depend on your specific workflow needs, the scale of your experiments, and your preferred optimization strategies.\nIf you\u0026rsquo;re interested in trying out slurm_sweep, you can install it with pip:\npip install slurm_sweep For more details and examples, check out the GitHub repository.\n","date":"May 1, 2025","externalUrl":null,"permalink":"/post/slurm_sweep_utility/","section":"Posts","summary":"For those of you working on SLURM clusters who struggle with running hyperparameter sweeps, I’ve released a small utility package called slurm_sweep that might save you some time and effort.\nWhat is slurm_sweep? 🤔 # slurm_sweep is a command-line utility that bridges the gap between Weights \u0026 Biases (W\u0026B) hyperparameter sweeps and SLURM job arrays. It solved a specific workflow problem I kept encountering: efficiently parallelizing hyperparameter sweeps on cluster infrastructure while keeping experiment tracking organized.\n","title":"slurm_sweep: A Lightweight Utility for Hyperparameter Sweeps on SLURM 🧪🔍","type":"post"},{"content":"","date":"May 1, 2025","externalUrl":null,"permalink":"/tag/slurm-sweep/","section":"tags","summary":"","title":"slurm-sweep","type":"tags"},{"content":"Tired of manually annotating cell types in your single-cell datasets? I\u0026rsquo;m thrilled to announce CellAnnotator, a new tool that harnesses the power of large language models to automate one of the most time-consuming steps in scRNA-seq analysis. As part of the scverse ecosystem, CellAnnotator interprets marker gene patterns to generate consistent cell type annotations with less human intervention. This works well for many systems where vast prior knowledge is available, but has limitations in less well studied systems. Also, you\u0026rsquo;ll still need to validate and fine-tune your annotations. So use with care.\nWhat is CellAnnotator? # Cell type annotation is often a bottleneck in single-cell analysis workflows. CellAnnotator addresses this challenge by analyzing marker genes through large language models to provide automated, consistent cell type annotations.\nKey Features # Automated cell type prediction with cell state and confidence scores Harmonized annotations across multiple samples Integration of prior knowledge about your biological system Structured outputs for reliable and consistent results Free to try using OpenAI\u0026rsquo;s free tier with gpt-4o-mini Simple Usage Example # from cell_annotator import CellAnnotator cell_ann = CellAnnotator( adata, species=\u0026#34;human\u0026#34;, tissue=\u0026#34;heart\u0026#34;, cluster_key=\u0026#34;leiden\u0026#34;, sample_key=\u0026#34;samples\u0026#34;, ).annotate_clusters() For installation instructions, detailed usage guides, and tutorials, please visit the documentation or the GitHub repository.\nCredits # This tool was inspired by Hou et al., Nature Methods 2024 and builds upon ideas from GPTCellAnnotator.\n","date":"Apr 20, 2025","externalUrl":null,"permalink":"/post/cell_annotator_release/","section":"Posts","summary":"Tired of manually annotating cell types in your single-cell datasets? I’m thrilled to announce CellAnnotator, a new tool that harnesses the power of large language models to automate one of the most time-consuming steps in scRNA-seq analysis. As part of the scverse ecosystem, CellAnnotator interprets marker gene patterns to generate consistent cell type annotations with less human intervention. This works well for many systems where vast prior knowledge is available, but has limitations in less well studied systems. Also, you’ll still need to validate and fine-tune your annotations. So use with care.\n","title":"AI-Powered Cell Type Annotation for scRNA-seq Data with CellAnnotator","type":"post"},{"content":"","date":"Apr 20, 2025","externalUrl":null,"permalink":"/tag/cell-annotator/","section":"tags","summary":"","title":"cell-annotator","type":"tags"},{"content":"","date":"Mar 4, 2025","externalUrl":null,"permalink":"/tag/moscot/","section":"tags","summary":"","title":"moscot","type":"tags"},{"content":"","date":"Mar 4, 2025","externalUrl":null,"permalink":"/tag/optimal-transport/","section":"tags","summary":"","title":"optimal transport","type":"tags"},{"content":"Moscot is a framework developed between the Theislab in Munich, the lab of Mor Nitzan in Jerusalem, and the group of Marco Cuturi in Paris, to enable large-scale mapping and alignment of cellular populations in time and space. For example, we map millions of cells across time points and we reconstruct spatial organization of the liver. We also showcase moscot\u0026rsquo;s multimodal capacilities on a new 10x multiome pancreas dataset, generated by Lickert lab at Helmholtz Munich, where we reveal new insights into the developmental trajectories or epsilon and delta cells.\nPaper: https://www.nature.com/articles/s41586-024-08453-2 Software: https://moscot.readthedocs.io/en/latest/ Helmholtz press release: https://www.helmholtz-munich.de/en/newsroom/news-all/artikel/ai-in-cell-research-moscot-reveals-cell-dynamics-in-unprecedented-detail Summary by Dominik Klein on Bluesky: https://bsky.app/profile/dominik1klein.bsky.social/post/3lgfieiol7s2j ","date":"Mar 4, 2025","externalUrl":null,"permalink":"/post/moscot_publication/","section":"Posts","summary":"Moscot is a framework developed between the Theislab in Munich, the lab of Mor Nitzan in Jerusalem, and the group of Marco Cuturi in Paris, to enable large-scale mapping and alignment of cellular populations in time and space. For example, we map millions of cells across time points and we reconstruct spatial organization of the liver. We also showcase moscot’s multimodal capacilities on a new 10x multiome pancreas dataset, generated by Lickert lab at Helmholtz Munich, where we reveal new insights into the developmental trajectories or epsilon and delta cells.\n","title":"Optimal transport to map cells through time and space with moscot","type":"post"},{"content":"","date":"Jul 29, 2024","externalUrl":null,"permalink":"/tag/cellrank/","section":"tags","summary":"","title":"CellRank","type":"tags"},{"content":"CellRank 2, our latest work on cell-state dynamics from single-cell data, is out in Nature Methods and won the first Helmholtz Software Award in the category \u0026ldquo;Scientific originality\u0026rdquo;. To date, the software has been downloaded over 120,000 times from PyPI and is used by biologists around the world to gain a deeper understanding into complex biological processes including cancer, regeneration, development and reprogramming.\nTo learn more, take a look at the press release from Helmholtz or read up on the Helmholtz Sofware Awards. You find the full paper in Nature methods here. This project was co-lead by Philipp Weiler from the Theislab and myself.\n","date":"Jul 29, 2024","externalUrl":null,"permalink":"/post/cr2_publication/","section":"Posts","summary":"CellRank 2, our latest work on cell-state dynamics from single-cell data, is out in Nature Methods and won the first Helmholtz Software Award in the category “Scientific originality”. To date, the software has been downloaded over 120,000 times from PyPI and is used by biologists around the world to gain a deeper understanding into complex biological processes including cancer, regeneration, development and reprogramming.\n","title":"CellRank 2 gets published in Nature Methods and wins the Helmholtz Software Award","type":"post"},{"content":"","date":"Jul 29, 2024","externalUrl":null,"permalink":"/tag/fate-mapping/","section":"tags","summary":"","title":"fate mapping","type":"tags"},{"content":"Are you an MSc student in Computer Science, Physics, Maths, Bioinformatics, or a related discipline with strong coding/ML skills and an interest in biological questions? This thesis project might be interesting for you!\nContact Information:\nEmail: marius.lange@bsse.ethz.ch Twitter/X: @MariusLange8 The Project # In this project, we want to use different data modalities to learn faithful representations of cellular states and dynamics during human brain development. Using combinations of deep learning, probabilistic modeling, and (neural) optimal transport, we want to better understand how cells execute complex decisions. We will develop new computational methods and apply them to in-house generated datasets.\nFacts # Project is offered by the Quantitative Developmental Biology Lab of Prof. Barbara Treutlein at ETH Zurich. Our lab is part of ETH’s Department of Biosystems Science and Engineering in Basel, Switzerland. Project is supervised by Dr. Marius Lange (me). Start date: March/April Background # Understanding the behavior of biological cells requires robust quantitative representations of cellular state. Once we have such representations, we can use them to understand how cells make decisions, for example, how a stem cell executes the “building plan” to generate an entire human body.\nIn our context, we’re interested in the formation of the human brain - a hugely complex process involving many different types of cells. We generate our own data in the lab, where we use reprogrammed stem cells to form mini-brains in a dish - so-called “brain organoids”. These brain organoids resemble the actual human brain in a number of important aspects - for example, they contain many different types of neurons and other brain cells. However, the major advantage of these brain organoids is that we can generate them at a large scale in the lab, to get enough data for machine learning models.\nWe perform different experiments on these brain organoids, which give us different data modalities, including sequencing and imaging data. Importantly, our experiments are precise enough to identify individual cells, and their molecular properties.\n","date":"Feb 20, 2024","externalUrl":null,"permalink":"/post/msc_thesis/","section":"Posts","summary":"Are you an MSc student in Computer Science, Physics, Maths, Bioinformatics, or a related discipline with strong coding/ML skills and an interest in biological questions? This thesis project might be interesting for you!\n","title":"MSc thesis project available","type":"post"},{"content":"","date":"Feb 20, 2024","externalUrl":null,"permalink":"/tag/organoids/","section":"tags","summary":"","title":"organoids","type":"tags"},{"content":"","date":"Feb 20, 2024","externalUrl":null,"permalink":"/tag/teaching/","section":"tags","summary":"","title":"teaching","type":"tags"},{"content":"Happy to share that we released our preprint presenting CellRank 2, a unified framework to study cellular fate decisions. CellRank 2 comes with a modular interface that makes it easy to learn transition probabilities among cells based on various data modalities or views; currently, these include any Pseudotime, developmental potential, real-time information, and metabolic labeling data. In addition, CellRank 2 inhertis all of CellRank 1\u0026rsquo;s functionality to work with RNA velocity. CellRank 2 further accelerates version 1 and scales to millions of cells. Use it to compute initial and terminal states, fate probabilities, putative driver genes, gene expression trends along specific trajectories, and much more. Beyond the functionality we demonstrate in this preprint, CellRank 2 may also be applied to lineage-traced data downstream of moslin, or to spatio-temporal data downstream of moscot.\nTo find out more, see the tweetorials from Philipp or me, or read the full preprint on bioRxiv. Check out the implementation at cellrank.org to try it on your own single-cell or spatial data. CellRank 2 comes with a completely updated set of tutorials that make it easy to get started.\nThis project was co-lead by Philipp Weiler from the Theislab and me.\nAbstract # Single-cell RNA sequencing allows us to model cellular state dynamics and fate decisions using expression similarity or RNA velocity to reconstruct state-change trajectories. However, trajectory inference does not incorporate valuable time point information or utilize additional modalities, while methods that address these different data views cannot be combined and do not scale. Here, we present CellRank 2, a versatile and scalable framework to study cellular fate using multiview single-cell data of up to millions of cells in a unified fashion. CellRank 2 consistently recovers terminal states and fate probabilities across data modalities in human hematopoiesis and mouse endodermal development. Our framework also allows combining transitions within and across experimental time points, a feature we use to recover genes promoting medullary thymic epithelial cell formation during pharyngeal endoderm development. Moreover, we enable estimating cell-specific transcription and degradation rates from metabolic labeling data, which we apply to an intestinal organoid system to delineate differentiation trajectories and pinpoint regulatory strategies.\n","date":"Sep 15, 2023","externalUrl":null,"permalink":"/post/cr2_biorxiv/","section":"Posts","summary":"Happy to share that we released our preprint presenting CellRank 2, a unified framework to study cellular fate decisions. CellRank 2 comes with a modular interface that makes it easy to learn transition probabilities among cells based on various data modalities or views; currently, these include any Pseudotime, developmental potential, real-time information, and metabolic labeling data. In addition, CellRank 2 inhertis all of CellRank 1’s functionality to work with RNA velocity. CellRank 2 further accelerates version 1 and scales to millions of cells. Use it to compute initial and terminal states, fate probabilities, putative driver genes, gene expression trends along specific trajectories, and much more. Beyond the functionality we demonstrate in this preprint, CellRank 2 may also be applied to lineage-traced data downstream of moslin, or to spatio-temporal data downstream of moscot.\n","title":"CellRank 2 preprint out","type":"post"},{"content":"We\u0026rsquo;ve just released moscot, our new computational framework that maps single cells across time and space using efficient optimal transport algorithms. Importantly, moscot makes use of multi-modal information consistently across all applications, scales to atlases, and comes with a modular and extensible implementation. To find out more, see the tweetorials from Dominik or me, or read the full preprint on bioRxiv. Check out the implementation at moscot-tools.org to try it on your own single-cell or spatial data.\nThis project was co-lead by Dominik Klein, Giovanni Palla, and me from the Theislab, as well as Michal Klein from Apple ML Research and Zoe Piran from the Nitzan lab\nAbstract # Single-cell genomics technologies enable multimodal profiling of millions of cells across temporal and spatial dimensions. Experimental limitations prevent the measurement of all-encompassing cellular states in their native temporal dynamics or spatial tissue niche. Optimal transport theory has emerged as a powerful tool to overcome such constraints, enabling the recovery of the original cellular context. However, most algorithmic implementations currently available have not kept up the pace with increasing dataset complexity, so that current methods are unable to incorporate multimodal information or scale to single-cell atlases. Here, we introduce multi-omics single-cell optimal transport (moscot), a general and scalable framework for optimal transport applications in single-cell genomics, supporting multimodality across all applications. We demonstrate moscot\u0026rsquo;s ability to efficiently reconstruct developmental trajectories of 1.7 million cells of mouse embryos across 20 time points and identify driver genes for first heart field formation. The moscot formulation can be used to transport cells across spatial dimensions as well: To demonstrate this, we enrich spatial transcriptomics datasets by mapping multimodal information from single-cell profiles in a mouse liver sample, and align multiple coronal sections of the mouse brain. We then present moscot.spatiotemporal, a new approach that leverages gene expression across spatial and temporal dimensions to uncover the spatiotemporal dynamics of mouse embryogenesis. Finally, we disentangle lineage relationships in a novel murine, time-resolved pancreas development dataset using paired measurements of gene expression and chromatin accessibility, finding evidence for a shared ancestry between delta and epsilon cells. Moscot is available as an easy-to-use, open-source python package with extensive documentation at https://moscot-tools.org.\n","date":"May 14, 2023","externalUrl":null,"permalink":"/post/moscot_biorxiv/","section":"Posts","summary":"We’ve just released moscot, our new computational framework that maps single cells across time and space using efficient optimal transport algorithms. Importantly, moscot makes use of multi-modal information consistently across all applications, scales to atlases, and comes with a modular and extensible implementation. To find out more, see the tweetorials from Dominik or me, or read the full preprint on bioRxiv. Check out the implementation at moscot-tools.org to try it on your own single-cell or spatial data.\n","title":"moscot preprint out","type":"post"},{"content":"","date":"Apr 17, 2023","externalUrl":null,"permalink":"/tag/lineage-tracing/","section":"tags","summary":"","title":"lineage tracing","type":"tags"},{"content":"","date":"Apr 17, 2023","externalUrl":null,"permalink":"/tag/moslin/","section":"tags","summary":"","title":"moslin","type":"tags"},{"content":"We\u0026rsquo;ve just released moslin, our new computational tool that maps single cells across time points based on lineage and gene expression information. To find out more, see the tweetorial or read the full preprint at bioRxiv. If you want to try moslin on your own lineage tracing data, check out the implementation at GibHub and the tutorial. Under the hood, moslin is based on moscot to solve the Fused Gromov-Wasserstein problem of relating both lineage and state across time. This project is a really fun collaboration with Zoe Piran from the Nitzan lab, Bastiaan Spanjaard from the Junker lab and Michal Klein, formerly Theislab, now Apple ML Research in Paris.\nAbstract # Simultaneous profiling of single-cell gene expression and lineage history holds enormous potential for studying cellular decision-making beyond simpler pseudotime-based approaches. However, it is currently unclear how lineage and gene expression information across experimental time points can be combined in destructive experiments, which is particularly challenging for in-vivo systems. Here we present moslin, a Fused Gromov-Wasserstein-based model to couple matching cellular profiles across time points. In contrast to existing methods, moslin leverages both intra-individual lineage relations and inter-individual gene expression similarity. We demonstrate on simulated and real data that moslin outperforms state-of-the-art approaches that use either one or both data modalities, even when the lineage information is noisy. On C. elegans embryonic development, we show how moslin, combined with trajectory inference methods, predicts fate probabilities and putative decision driver genes. Finally, we use moslin to delineate lineage relationships among transiently activated fibroblast states during zebrafish heart regeneration. We anticipate moslin to play a crucial role in deciphering complex state change trajectories from lineage-traced single-cell data.\n","date":"Apr 17, 2023","externalUrl":null,"permalink":"/post/moslin_biorxiv/","section":"Posts","summary":"We’ve just released moslin, our new computational tool that maps single cells across time points based on lineage and gene expression information. To find out more, see the tweetorial or read the full preprint at bioRxiv. If you want to try moslin on your own lineage tracing data, check out the implementation at GibHub and the tutorial. Under the hood, moslin is based on moscot to solve the Fused Gromov-Wasserstein problem of relating both lineage and state across time. This project is a really fun collaboration with Zoe Piran from the Nitzan lab, Bastiaan Spanjaard from the Junker lab and Michal Klein, formerly Theislab, now Apple ML Research in Paris.\n","title":"moslin preprint out","type":"post"},{"content":"On October 24th, I successfully defended my PhD thesis with summa cum laude. My committee consisted of Fabian Theis, Dana Pe\u0026rsquo;er and Samantha Morris and was chaired by Donna Ankerst. I\u0026rsquo;m extremely thankful for all the support I received throughout my PhD from my supervisor Fabian, the office at the institute, my colleagues, collaboration partners, friends, family and mentors. You can find my thesis here: https://mediatum.ub.tum.de/1656496.\n","date":"Nov 24, 2022","externalUrl":null,"permalink":"/post/defense/","section":"Posts","summary":"On October 24th, I successfully defended my PhD thesis with summa cum laude. My committee consisted of Fabian Theis, Dana Pe’er and Samantha Morris and was chaired by Donna Ankerst. I’m extremely thankful for all the support I received throughout my PhD from my supervisor Fabian, the office at the institute, my colleagues, collaboration partners, friends, family and mentors. You can find my thesis here: https://mediatum.ub.tum.de/1656496.\n","title":"PhD defense done!","type":"post"},{"content":"Starting August 1st, I\u0026rsquo;ll go on a 3-months partial end-of-PhD leave. I\u0026rsquo;ll reduce my working hours to one day a week; this means it will take me a bit longer to react to emails. Enjoy the summer!\n","date":"Jul 28, 2022","externalUrl":null,"permalink":"/post/post_phd_leave/","section":"Posts","summary":"Starting August 1st, I’ll go on a 3-months partial end-of-PhD leave. I’ll reduce my working hours to one day a week; this means it will take me a bit longer to react to emails. Enjoy the summer!\n","title":"Partial end-of-PhD leave","type":"post"},{"content":"Proud to share Philipp Weiler\u0026rsquo;s upcoming seminar at the Sydney Precision Bioinformatics Alliance (SPBA). He will be presenting our joint work with Michal Klein and Fabian Theis on CellRank2. Watch the talk to find out how we\u0026rsquo;re improving CellRank and how you might benefit from these new features. We expect to release CellRank2 in a few weeks on github.\n","date":"Jun 19, 2022","externalUrl":null,"permalink":"/post/cr2_sydney/","section":"Posts","summary":"Proud to share Philipp Weiler’s upcoming seminar at the Sydney Precision Bioinformatics Alliance (SPBA). He will be presenting our joint work with Michal Klein and Fabian Theis on CellRank2. Watch the talk to find out how we’re improving CellRank and how you might benefit from these new features. We expect to release CellRank2 in a few weeks on github.\n","title":"CellRank2 @ Sydney Statistical Bioinformatics Seminar","type":"post"},{"content":"","date":"Jun 19, 2022","externalUrl":null,"permalink":"/tag/talk/","section":"tags","summary":"","title":"talk","type":"tags"},{"content":"I\u0026rsquo;m excited to give a talk on CellRank and recent extensions featured in CellRank2 on June 14th at 10am ET in the Einstein-Montefiore Omics Club of Albert Einstein College of Medicine in New York. Register on eventbrite.\n","date":"Jun 6, 2022","externalUrl":null,"permalink":"/post/cellrank_talk_einstein_montefiore/","section":"Posts","summary":"I’m excited to give a talk on CellRank and recent extensions featured in CellRank2 on June 14th at 10am ET in the Einstein-Montefiore Omics Club of Albert Einstein College of Medicine in New York. Register on eventbrite.\n","title":"CellRank @ Einstein-Montefiore Omics Club","type":"post"}]