The Infobiotics workbench

23
The Infobiotics BioProgramming Language & Workbench Computer-Aided Design for Synthetic Biology Harold Fellermann & Nat Krasnogor

Transcript of The Infobiotics workbench

Page 1: The Infobiotics workbench

The Infobiotics BioProgramming Language & Workbench

Computer-Aided Design for Synthetic Biology

Harold Fellermann & Nat Krasnogor

Page 2: The Infobiotics workbench

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.

Page 3: The Infobiotics workbench

Motivation

CAD for Synthetic Biology

Computer-Aided Design software for Synthetic Biology that integrates for the following iterative work flow:

Page 4: The Infobiotics workbench

The Infobiotics Workbench

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:

Page 5: The Infobiotics workbench

Motivation

IBW Workflow

Page 6: The Infobiotics workbench

The Infobiotics Language

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

Page 7: The Infobiotics workbench

The Infobiotics Language

Coding Molecular Interactions

Example: mRNA transcription from up-regulated promoter

Promoter

RNA signal

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

Page 8: The Infobiotics workbench

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 )

The Infobiotics Language

Abstraction and Encapsulation: Processes

Loosely correspond to functions in other languages l  Definition:

l  Usage:

encapsulating rules

Page 9: The Infobiotics workbench

The Infobiotics Language

Abstraction and Encapsulation: Processes

trans1 = ActivatedTranscription( promoter=PBAD, signal=Ara, rna=rna

) trans2 = ActivatedTranscription(

promoter=PLas, signal=aTc, rna=rna )

Page 10: The Infobiotics workbench

The Infobiotics Language

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

}

GFPmut3 cI

LacI pTrc2 pLs1con

IPTG

aTc

collection of parts, rules, and processes that characterize the

piece of DNA

Page 11: The Infobiotics workbench

The Infobiotics Language

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

Page 12: The Infobiotics workbench

Motivation

IBW Workflow

2

Page 13: The Infobiotics workbench

The Infobiotics Language

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

Page 14: The Infobiotics workbench

The Infobiotics Workbench

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

Page 15: The Infobiotics workbench

Motivation

IBW Workflow

3

Page 16: The Infobiotics workbench

The Infobiotics Language

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

Page 17: The Infobiotics workbench

The Infobiotics Workbench

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

Page 18: The Infobiotics workbench

Motivation

IBW Workflow

4

Page 19: The Infobiotics workbench

The Infobiotics Language

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

Page 20: The Infobiotics workbench

The Infobiotics Workbench

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)

Page 21: The Infobiotics workbench

The Infobiotics Workbench

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

Page 22: The Infobiotics workbench

The Infobiotics Workbench

The IBW Implementation

planned

ngss PRISM, NuSVM ATGC

IBW is implemented as Ecplise Rich Client Application using XText to define IBL.

Page 23: The Infobiotics workbench

Acknow

ledgments

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