1. The Infobiotics BioProgramming Language &
Workbench
Computer-Aided Design for Synthetic Biology
Harold Fellermann & Nat Krasnogor
2. Motivation CAD for Synthetic Biology
l Most synthetic biology designs are currently developed
by laborious trial-and-error in the wet lab.
l Synthetic biology attempts to engineer elaborate
biological circuits from non-engineered biological parts.
l Unconsidered interactions among these parts often
prevent reliable scaling of designs.
l We develop systematic engineering approaches for
synthetic biology.
3. Motivation CAD for Synthetic Biology
Computer-Aided Design software for Synthetic Biology that
integrates for the following iterative work flow:
4. TheInfobioticsWorkbench The Infobiotics Workbench
Project
navigation simulation
results
simulation
controller
IDE
features
Perspectives:
simulation
verification
compilation
IBL
code
Targeted users:
l computational synthetic biologists
l “people who use CoPaSi”
Typical IDE (integrated development environment)
interface:
6. TheInfobioticsLanguage The Infobiotics Language (IBL)
l domain specific programming language for SB
entities
l provides statements to
l define SB parts and systems
l define rules and rates for stochastic simulation
l annotate designs with verification statements
l annotate designs with genetic sequence
information
l supports scalable designs through modularity
l declarative language with Java-like syntax
8. define ActivatedTranscription typeof PROCESS(
PROMOTER promoter: input,
MOLECULE signal: input,
RNA rna: output
) {
// RULEs here
} using rnaP
trans = ActivatedTranscription(
promoter=PBAD, signal=Ara, rna=rna
)
TheInfobioticsLanguage Abstraction and Encapsulation: Processes
Loosely correspond to functions in other languages
l Definition:
l Usage:
encapsulating rules
10. TheInfobioticsLanguage Putting it all together: Devices
A device in the SB sense: a continuous piece of DNA
DEVICE(
parts = [lacI, pLs1con, pTrc2, cI, gfpmut3],
input = [aTc, IPTG], output = [LacI, CI, GFPmut3]
) {
mrna_LacI = RNA() // a local variable
// PROCESSES and RULES here
}
GFPmut3cI
LacI pTrc2
pLs1con
IPTG
aTc
collection of parts,
rules, and processes
that characterize the
piece of DNA
11. TheInfobioticsLanguage Topological Organization: Cells and Regions
Cells introduce compartments with physical
boundaries
Cells are embedded in regions (e.g. wells)
define Ecoli typeof CELL() {
AHL = MOLECULE()
RULE diffusion: AHL <-> OUTSIDE
}
define site typeof REGION() {
AHL = MOLECULE()
mycell = Ecoli()
}
collection of devices,
parts, rules, and
processes that
characterize a cell
13. TheInfobioticsLanguage Stochastic Simulation
Stochastic rate annotation is part of IBL
l Rate constants given in physical units.
l Converted into Markov process for stochastic
simulation.
P = PROMOTER()
rnaP = MOLECULE()
Rna = RNA()
RULE transcriptionInitiation: P + rnaP <==> P~rnaP
transcriptionInitiation.forwardRate = 0.1 M-1 s-1
transcriptionInitiation.backwardRate = 50 s-1
RULE transcriptionStep: P~rnaP => P + rnaP + rna
transcriptionStep.forwardRate = 10 s-1
RULE rnaDegradation: rna =>
rnaDegradation.forwardRate = 0.01 s-1
14. TheInfobioticsWorkbench Stochastic Simulation
Stochastic simulation is delegated to ngss
(next generation stochastic simulator, D.
Sanassy)
l implemented for best performance
l currently implements nine different SSAs
l automatic algorithm selection
l MPI support to distribute
l simultaneous runs
16. TheInfobioticsLanguage Verification through Model Checking
Verification statements are part of IBL
l Natural language like syntax
l Properties obtained from mining biological literature
l Can be converted into temporal logic clauses and fed
into different model checkers (PRISM, NuSVM, MS2)
VERIFY [ GFP > 0 uM ] EVENTUALLY HOLDS
VERIFY [ GFP > 0 uM ] EVENTUALLY HOLDS WITH PROBABILITY > 0.9
VERIFY [ GFP > 0 uM ] ALWAYS HOLDS
VERIFY [ GFP > 2*RFP ] NEVER HOLDS
VERIFY [ GFP > 0 uM ] HOLDS WITHIN 60 s
VERIFY [ AHL > 0 uM ] IS FOLLOWED BY [ GFP > 0 uM ]
VERIFY [ GFP > 0 uM ] EVENTUALLY HOLDS,
UNTIL THEN [ NahR = 0 uM ] HOLDS
17. TheInfobioticsWorkbench Verification through Model Checking
Verification is performed in the defining context:
Allows scaling of model checking to systems with many
components.
Verification of RULEs
Verification of CELLs
Verification of DEVICEs
define myDevice typeof DEVICE() {
// RULEs tested during verification
VERIFY [ GFP > 0 uM ] EVENTUALLY HOLDS
}
// other DEVICEs and RULEs, not tested during verification
19. TheInfobioticsLanguage Biomatter Compilation
Biomatter compilation directives are part of IBL
Sequence information can be pulled in from standard
repositories
(e.g. biobricks, virtualParts), in-house databases, or defined
manually.
PnahR = PROMOTER(URI = "biobricks://BB_0132")
nahR = GENE(URI = "biobricks://BB_08431")
lasR = GENE(sequence= "TACGTTGACCA...")
myDevice = DEVICE(parts=[PnahR, nahR, lasR], output=[NahR, LasR]) {
ATCG ARRANGE nahR lasR
// PROCESSES and RULES here
}
ATCG DEVICE myDevice CLONING SITES: 2
20. TheInfobioticsWorkbench Biomatter Compilation
Biomatter compilation is delegated to ATGC
(assistent to genetic compilation, C. Ladroue)
l Completes IBL designs with terminators, spacers, RBS's
l Calculates ideal RBS's from given IBL transcription rate
l Arranges parts according to given constraints
l Adds cloning sites from specified library
l Generates final sequence in standard formats (e.g. SBOL)
21. TheInfobioticsWorkbench The IBW Workflow
l IBW cannot guarantee that defined RULES correctly
reflect the mechanism of a specified biopart
l The user is responsible for defining correct RULES
l Version management can help in an iterative design
process
l toward a correct overall design
22. TheInfobioticsWorkbench The IBW Implementation
planned
ngss PRISM, NuSVM ATGC
IBW is implemented as Ecplise Rich Client Application
using XText to define IBL.
23. Acknowledgments
l Christophe Ladroue
l Laurentiu Mierla
l Jonny Naylor
l Daven Sanassy
l Marian Gheorghe
l Sara Kalvala
l Savas Konur
l Natalio Krasnogor
l varaious members of ICOS