Inferring Signaling Pathways with Probabilistic Programming
  Cells regulate themselves via dizzyingly complex biochemical processes called
signaling pathways. These are usually depicted as a network, where nodes
represent proteins and edges indicate their influence on each other. In order
to understand diseases and therapies at the cellular level, it is crucial to
have an accurate understanding of the signaling pathways at work. Since
signaling pathways can be modified by disease, the ability to infer signaling
pathways from condition- or patient-specific data is highly valuable. A variety
of techniques exist for inferring signaling pathways. We build on past works
that formulate signaling pathway inference as a Dynamic Bayesian Network
structure estimation problem on phosphoproteomic time course data. We take a
Bayesian approach, using Markov Chain Monte Carlo to estimate a posterior
distribution over possible Dynamic Bayesian Network structures. Our primary
contributions are (i) a novel proposal distribution that efficiently samples
sparse graphs and (ii) the relaxation of common restrictive modeling
assumptions. We implement our method, named Sparse Signaling Pathway Sampling,
in Julia using the Gen probabilistic programming language. Probabilistic
programming is a powerful methodology for building statistical models. The
resulting code is modular, extensible, and legible. The Gen language, in
particular, allows us to customize our inference procedure for biological
graphs and ensure efficient sampling. We evaluate our algorithm on simulated
data and the HPN-DREAM pathway reconstruction challenge, comparing our
performance against a variety of baseline methods. Our results demonstrate the
vast potential for probabilistic programming, and Gen specifically, for
biological network inference. Find the full codebase at
https://github.com/gitter-lab/ssps
