The Infobiotics BioProgramming Language &
Workbench
Computer-Aided Design for Synthetic Biology
Harold Fellermann & Nat Krasnogor
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.
Motivation CAD for Synthetic Biology
Computer-Aided Design software for Synthetic Biology that
integrates for the following iterative work flow:
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:
Motivation IBW Workflow
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
TheInfobioticsLanguage Coding Molecular Interactions
Example: mRNA transcription from up-regulated promoter
Promoter
RNAsignal
PBAD = PROMOTER()
Ara = MOLECULE()
rnaP = MOLECULE()
rna = RNA()
RULE regulation: PBAD + Ara <==> PBAD~Ara
RULE transcriptionInitiation: PBAD~Ara + rnaP <==> PBAD~Ara~rnaP
RULE transcriptionStep: PBAD~Ara~rnaP => PBAD + Ara + rnaP + rna
RULE rnaDegradation: rna =>
parts
interactions
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
TheInfobioticsLanguage Abstraction and Encapsulation: Processes
trans1 = ActivatedTranscription(
promoter=PBAD, signal=Ara, rna=rna
)
trans2 = ActivatedTranscription(
promoter=PLas, signal=aTc, rna=rna
)
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
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
Motivation IBW Workflow
2
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
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
Motivation IBW Workflow
3
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
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
Motivation IBW Workflow
4
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
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)
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
TheInfobioticsWorkbench The IBW Implementation
planned
ngss PRISM, NuSVM ATGC
IBW is implemented as Ecplise Rich Client Application
using XText to define IBL.
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

The Infobiotics workbench

  • 1.
    The Infobiotics BioProgrammingLanguage & Workbench Computer-Aided Design for Synthetic Biology Harold Fellermann & Nat Krasnogor
  • 2.
    Motivation CAD forSynthetic 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 forSynthetic Biology Computer-Aided Design software for Synthetic Biology that integrates for the following iterative work flow:
  • 4.
    TheInfobioticsWorkbench The InfobioticsWorkbench 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:
  • 5.
  • 6.
    TheInfobioticsLanguage The InfobioticsLanguage (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
  • 7.
    TheInfobioticsLanguage Coding MolecularInteractions Example: mRNA transcription from up-regulated promoter Promoter RNAsignal PBAD = PROMOTER() Ara = MOLECULE() rnaP = MOLECULE() rna = RNA() RULE regulation: PBAD + Ara <==> PBAD~Ara RULE transcriptionInitiation: PBAD~Ara + rnaP <==> PBAD~Ara~rnaP RULE transcriptionStep: PBAD~Ara~rnaP => PBAD + Ara + rnaP + rna RULE rnaDegradation: rna => parts interactions
  • 8.
    define ActivatedTranscription typeofPROCESS( 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
  • 9.
    TheInfobioticsLanguage Abstraction andEncapsulation: Processes trans1 = ActivatedTranscription( promoter=PBAD, signal=Ara, rna=rna ) trans2 = ActivatedTranscription( promoter=PLas, signal=aTc, rna=rna )
  • 10.
    TheInfobioticsLanguage Putting itall 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
  • 12.
  • 13.
    TheInfobioticsLanguage Stochastic Simulation Stochasticrate 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 Stochasticsimulation 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
  • 15.
  • 16.
    TheInfobioticsLanguage Verification throughModel 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 throughModel 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
  • 18.
  • 19.
    TheInfobioticsLanguage Biomatter Compilation Biomattercompilation 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 Biomattercompilation 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 IBWWorkflow 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 IBWImplementation 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