BioSyn A High Level Language For Molecular Synthesis Introduction While genetic engineering primarily involves the design modification and synthesis of individual genes synthetic biology is an emerging discipline centered on constructing entire systems of genes and gene products It involves designing and building new biological systems by assembling molecular and genetic parts with the purpose of adding to or modifying the biological functions of existing organisms or creating new organisms with specific properties In a manner similar to the way electrical engineers assemble complex integrated circuits from transistors synthetic biology envisions assembly of complex biological devices and networks by assembling individual biological parts And in a manner similar to how electrical engineers use high level languages such as Verilog and VHDL the development of a high level language BioSyn is proposed for the purpose of designing biological and genetic assemblies Standard biology parts have been catalogued by various parts registries notable among them being the MIT parts registry see references below Assembly standards have been documented by the BioBricks Foundation and made available as RFCs All parts that are part of an assembly need to comply with one of the assembly standards Parts compliance data is available in the parts registries The genetic sequence associated with a part is also published by the parts registries It is proposed that the biological assembly is put together using high level programming constructs Language Constructs The language constructs needed to construct an assembly from biological parts are informally described below together with example usage of the same In addition to the ability to build assemblies from standard parts it is proposed that the language includes built in functions to print the genetic sequence print schematic diagrams as well as generate XML markup for use with external simulation software Primitive types int float char boolean and string as in C with the exception that character strings are included as built in types Arrays arrays of the primitive types as in C Operators arithmetic string boolean Comparison assignment string concatenation as in Java and assignment to variables representing primitives objects and object properties Complex types These include types representing biological parts attributes of parts eg part sequence as well as composites derived from parts assemblies Prototypes for each of these are defined prior to instantiation as illustrated in the examples below Attribute Sequence string Attribute Name string Attribute Compatibility string Attribute Strength float The sequence property is declared as a string attribute The BioBricks name property Represents BioBricks RFC compatibility define the prototype for promoters Part Promoter Name Sequence Compatibility Strength define the prototype for an RBS Part RBS Name Sequence Compatibility instantiate the BioBricks promoter BBa I14018 Promoter Bba I14018 BBa I14018 tgtaagtttatacataggcgagtactctgttatgg RFC11 0 5 instantiate the BioBricks RBS Bba J63003 RBS Bba J63003 BBa J63003 cccgccgccaccatggag RFC21 create an assembly represented by a composite composites may contain other composites Composite Assembly1 Bba I14018 Bba J63003 Conditional statements if else as in C Loops for and while as in C can be used for iterating through arrays Constraints Composites can be parsed and validated against constraints examples of constraints Start PlasmidBackbone Prefix Cassette Suffix Cassette Promoter Cistron Terminator Cistron RBS Gene User defined functions Global functions as in C Library functions Functions to validate assemblies print gene sequences print diagrams and generate markup examples of function usage if Assembly1 validate Assembly1 printSequence Assembly1 printDiagram Assembly1 generateMarkup usr local home user1 assembly1markup xml Sample program declare all attributes that can be properties of standard parts Attribute Sequence string Attribute Name string Attribute Compatibility string Attribute Strength float The sequence property is declared as a string attribute The BioBricks name property Represents BioBricks RFC compatibility part prototypes are declared prior to instantiation each part uses one or more attributes technical definitions for the parts can be found in the glossary define the prototype for promoters Part Promoter Name Sequence Compatibility Strength define the prototype for an RBS Part RBS Name Sequence Compatibility define the prototype for a terminator Part Terminator Name Sequence Compatibility define the prototype for a cistron Part Cistron Name Sequence Strength define the prototype for a cassette Part Cassette Name Sequence Compatibility define the prototype for a gene Part Gene Name Sequence define the prototype for a prefix Part Prefix Name define the prototype for a suffix Part Suffix Name instantiate the BioBricks promoter BBa I14018 Promoter Bba I14018 BBa I14018 tgtaagtttatacataggcgagtactctgttatgg RFC21 0 5 instantiate the BioBricks RBS Bba J63003 RBS Bba J63003 BBa J63003 cccgccgccaccatggag RFC21 instantiate the BioBricks terminator BBa B1002 Terminator Bba B1002 BBa B1002 cgcaaaaaaccccgcttcggcggggttttttcgc RFC21 declare the constraints against which the assembly is parsed and validated Start PlasmidBackbone Prefix Cassette Suffix Cassette Promoter Cistron Terminator Cistron RBS Gene Cistron Cistron Cistron Terminator Terminator Terminator Gene Gene Gene create an assembly represented by a composite composites may contain other composites Composite Assembly1 Bba I14018 Bba J63003 Bba B1002 validate the assembly against the declared constraints and then print sequence print diagram and generate markup if Assembly1 validate Assembly1 printSequence Assembly1 printDiagram Assembly1 generateMarkup usr local home user1 assembly1markup xml Glossary adapted from definitions at the MIT Biological Parts Registry and the medical dictionary at freedictionary com as well as http openwetware org wiki Synthetic Biology and the High School Curriculum Glossary Cloning recombinant DNA molecules inserted into a plasmid or virus vector The vector must then be introduced into a host cell without killing it Device an engineered genetic object that produces a human defined function under specified conditions Devices are produced by combining one or more standard biological parts DNA Synthesis chemical assembly of nucleotides in a specified order Gel
View Full Document
Unlocking...