Monday, June 16, 2008

GenePython - What’s the Big Idea?

GenePython is exactly what its name suggests! It is the use of Python (, a popular and simple, open-source programming language to simulate gene expression in silico. Python has a way to depict real objects in what Pythonspeak is called ‘classes’. Classes can also be formed from other classes thereby inheriting their properties and behavior.

GenePython uses Python classes to depict molecular objects and define their behavior. This allows the flexibility of not just exploring the behavior of a mixture of different objects in-silico but also redefining the response of individual objects to different stimuli.

So in GenePython we have a class defining a sequence, for instance a genome comprising of either DNA or RNA. Similarly, sequences involved in the central dogma of molecular biology as well as the adjunct can all be represented using the class ‘Sequence’ or classes that inherit from class Sequence.

This architecture allows GenePython to facilitate the rapid construction of a virtual cell capable of simulating processes within and similar to the central dogma. This means that it can be used to rapidly create and explore in silico gene expression, understand bio-molecules that can be derived, classify them, create metabolic networks and systems and even design a-life.

In our next blog, we will look at how class ‘Sequence’ works. We’ll get you to use this class and explore the different behavioral patterns possible with the class. Those of you who are new to Python need not fear… we’ll run you through the code in Englishspeak and guide you through installing Python on your computer.

Labels: , , , , , ,

Wednesday, June 11, 2008

The Flow of Genetic information

The Flow of Genetic information
Sohan Modak

The beauty of Genetic Information Storage and Retrieval systems lies in how both process components are entrenched in a fail-safe mode. Genes are arranged linearly along the double stranded genome but not necessarily on the same strand. In principle, a single gene, i.e. piece of genetic information, is stored on one strand at a time. However, there may be arrays of genes that follow each other on the same strand or alternate between two strands, but rarely overlapping both strands.
Thus, given a stretch of double stranded DNA containing a gene, the strand containing the coding sequence is called as the positive strand while its complement is the negative strand. The principle of base pairing between the two complementary strands ensures that, given the sequence of nucleotides on one strand, one can correctly conceive, visualize and construct the sequence on the complementary strand. The strand complementary to the coding sequences is named as the negative strand. Thus, the same DNA strand may act as positive or negative strand at different locations.
What one means by the coding information is the sequence of nucleotides arranged as a linear array of triplets or codons that can be translated into a string of amino acids, or a polypeptide. As the information on the coding strand must be transferred verbatim to messenger RNA that will act as the transfer intermediate, one must copy the negative strand, and not the positive strand, to generate the exact copy of the positive strand coding sequence in the mRNA.
In the genetic language or nucleotide sequence, different type of signaling elements/motifs or words are required to act as punctuation marks to locate and access a given gene segment with appropriate coding sequence and to specifically copy/transcribe it into RNA before converting it into a translatable form for protein synthesis.
Finally, inside a cell DNA is not a naked molecule but protected as chromatin or a deoxyribonucleoprotein complex. While we do know of a number of signals such as transcriptor binding and initiation sites, ribosome binding site, translation initiation and termination sites, exon-intron junctions and quite a few transcription factor binding sites, there is a great deal of confusion about the strands on which are positioned identifier signals of a desired coding sequence and process signals before and during transcription and translation. On which strand are located the signals or motifs that allow localization, identification and specificity of a gene sentence ?

Here we go…

1. On which DNA strand are located signals or motifs that ensure binding of RNA polymerase to the template/negative strand?
2. Which signals or processes generate binding space on DNA in the chromatin to ensure correct positioning of RNA polymerase?
3. What is the nature of signals or processes that allow translocation of RNA polymerase during the transcription of the negative strand of DNA
4. On which DNA strand are located signals or motifs that allow processing/packaging/trimming of the nascent transcript into mRNA ?
5. On which DNA strand are located signals or motifs that allow binding of the ribosome prior to the initiation of translation ?
6. And there are many other questions related to the rules of the genetic grammar and specific words and clauses in the genetic language that still escape our knowledge.

Surely, out there, you would have much to add…
June 11, 2008

Labels: , , , , , , , ,

Saturday, May 17, 2008

The wet option

The design of life is the quest of synthetic biology- Don't all approaches to design carbon based life rest on the central dogma of molecular biology? SPM, I guess you would you like to contest that?

Here is one approach to designing life: Craig Venter at his laboratory promoting wet (organic) synthetic life.

Pranav, can we rake up a discussion saying GenePython offers steps to the another approach: your own laboratory of artificial life, on your computer?

Is it a cool way to create building blocks of genes and cells and extend the functionality of genes, RNA and peptides as you wish and to keep pace with the stalwarts of web-biology? Is it a safe way to play with lifes building blocks, an easy way to learm about the central dogma and maybe even do thought experiments challenging the dogma. Is it also a great way to design, recognize and explore feedback based regulation?

So before we get going with explaining GenePython, can we say it's a framework to start building life designs and do what you want out of it! Right Pranav?

Labels: , , ,

About Gene Python...

After thirty years of the central dogma we are now in an age where we can create an in silico cell and simulate the whole of the central dogma!

Ever wanted to do gene engineering and thought it took weeks? Ever wanted to figure out gene expression and found the painful wet labs to drive you nuts? Ever wondered what peptides could be generated from a molecule of mRNA? Or just plain wanted to have fun putting together genomes and having them generate peptides and proteins? Wanted to create an automatic gene annotater?

What fun it would be if we could assign a gene to a computer variable and simply let the computer behave as if it were the central dogma and generate the RNA molecules and convert those with reading frames into peptides! If only we could explore the wonders of nature in minutes and map the proteins or peptides to known ones from published databases! What if we could use such designs to genetically re-engineer real genes in organisms?

GenePython initiates a journey to make this exploration fun. It is the result of intense dialogue on the central dogma and an effort to create genetic objects in python over a few weeks in November and December of 2007.

This blog and this site are our effort to get you to join the fun and come and build a virtual cell together with us. Over the next blogs we will expose the code of genetic objects to help you understand and begin use of these objects as building blocks of the cell.

Labels: , , , , , , ,