Kera - a new programming language for composing organisms
Key contacts: Umesh. P, Achuthsankar S Nair
Alphabets and numbers are human inventions that do not exist in the real world and yet find use every day transactions. Language and its underlying grammar are born out of such needs of communication. We have a reasonable idea of alphabets used to build language of the Life operating system. The grammar is what needs to be identified now. We asked a simple question: if DNA represents the source code, how are different protein objects compiled in different situations? This gave rise to an open source language Kera (meaning coconut, in sanskrit), a new communication interface with biology and is based on the computer aided design of organisms.
Kera is a general purpose, object-oriented language based on microsoft's C# framework. Organisms are represented as 'classes', metabolic pathways as 'functions' and DNA-RNA-protein interactions as 'rules'. DNA is viewed as a source code that compiles into different RNA and protein molecules under various environmental conditions. The challenge is to write a computer code that closely resembles biology. Each molecular interaction is stored in the form of rules in a library, called Samhita.
The ver 1.0 of Kera is all about structure and functionality rather than language efficiency. To help rapid prototype development leading to experiments, Kera 1.0 currently works in the interpreter mode. An efficient compilation facility shall appear in the future versions. Briefly Kera v1.0 comes with following key features
- object oriented language
- supports C like control structures
- create, edit, combine and display biological part and / or constructs using them and convert it to a sequence.
- Kera has an in-built rule library named Samhita, which will check compatibility of bioparts and suggest
optimal parts for required design.