1,425 research outputs found
Experimental Biological Protocols with Formal Semantics
Both experimental and computational biology is becoming increasingly
automated. Laboratory experiments are now performed automatically on
high-throughput machinery, while computational models are synthesized or
inferred automatically from data. However, integration between automated tasks
in the process of biological discovery is still lacking, largely due to
incompatible or missing formal representations. While theories are expressed
formally as computational models, existing languages for encoding and
automating experimental protocols often lack formal semantics. This makes it
challenging to extract novel understanding by identifying when theory and
experimental evidence disagree due to errors in the models or the protocols
used to validate them. To address this, we formalize the syntax of a core
protocol language, which provides a unified description for the models of
biochemical systems being experimented on, together with the discrete events
representing the liquid-handling steps of biological protocols. We present both
a deterministic and a stochastic semantics to this language, both defined in
terms of hybrid processes. In particular, the stochastic semantics captures
uncertainties in equipment tolerances, making it a suitable tool for both
experimental and computational biologists. We illustrate how the proposed
protocol language can be used for automated verification and synthesis of
laboratory experiments on case studies from the fields of chemistry and
molecular programming
Verifying chemical reaction network implementations: A bisimulation approach
Efforts in programming DNA and other biological molecules have recently focused on general schemes to physically implement arbitrary Chemical Reaction Networks. Errors in some of the proposed schemes have driven a desire for formal verification methods. By interpreting each implementation species as a multiset of formal species, the concept of weak bisimulation can be adapted to CRNs in a way that agrees with an intuitive notion of a correct implementation. The theory of CRN bisimulation can be used to prove the correctness of a general implementation scheme or to detect subtle problems. Given a specific formal CRN and a specific implementation CRN, the complexity of finding a valid interpretation between the two CRNs if one exists, and that of checking whether an interpretation is valid are both PSPACE-complete in the general case, but are NP-complete and polynomial-time respectively under an assumption that holds in many cases of interest. We present effective algorithms for both of those problems. We further discuss features of CRN bisimulation including a transitivity property and a modularity condition, the precise connection to the general theory of bisimulation, and an extension that takes into account spurious catalysts
- …