Team:Mexico-UNAM-CINVESTAV/Software

From 2010.igem.org

About the idea

The problem

Usually as a biologist, we found a set of tools that can acomplish to help us to solve our work, this is not an isolated problem in other fields of biology, on which our set of tools grows as the complexity of our research. This keeps our work sparse and very difficult to maintain cause our info has to move between different software applications with approaches of programming, plus added the non-standarized methods used between them making us to learn every part of every software and increasing the learning curve.

As an iGEM participant we found additional issues, different teams working with different protocols, many databases file formats running on the web, hundreds of tools to work with biological data, a plenty of programming languages. This makes our work more difficult and is more if we count a simple problem: the idea to design a BioBrick from scratch, there is a known methodology to do this and can be resume next:


Steps for design a Non-Coding BioBrick part

  1. Consult databases like NCBI, PUBMED, Etc. for a sequence with a function.
  2. Analyze our sequences looking for restriction sites (In case of BB RFC 10, EcoRI XbaI SpeI PstI NotI.
  3. In the case that there are one or more sites, we have to replace them, mostly depending on the published tables on the [http://www.kazusa.or.jp/codon/ Codon Usage Database].
  4. Then we had to analyze again for restriction sites, if there are not any so we can continue.
  5. If we are going to take it from an organism, we have to design primer to amplify our BioBrick with a PCR, this primers has the prefix and suffix from the chosen standard, if not send the sequences for sinthesize.


Steps for design a Coding BioBrick part

  1. Consult databases like NCBI, PUBMED, Etc. for a sequence with a function.
  2. Retro-transcribe to the alphabet for our chassis, this can be done using the tables on [http://www.kazusa.or.jp/codon/ Codon Usage Database].
  3. Analyze our sequences looking for restriction sites (In case of BB RFC 10, EcoRI XbaI SpeI PstI NotI.
  4. In the case that there are one or more sites, we have to replace them, mostly depending on the published tables on the [http://www.kazusa.or.jp/codon/ Codon Usage Database].
  5. Then we had to analyze again for restriction sites, if there are not any so we can continue.
  6. If we are going to take it from an organism, we have to design primer to amplify our BioBrick with a PCR, this primers has the prefix and suffix from the chosen standard, if not send the sequences for sinthesize.

Folowing this steps almost involves the use of at least 3 different kind of platforms to work, plus the difficult to use them, and its related learning curve, this can be done easily, when we work with few parts, but gets complicated when working with hundreds of them and also how we can talk or at least keep a continuous work without keeping our eyes from the very important task: GET A BIOBRICK.

Now this is added when we work with commercial packages cause they are NOT DESIGNED to work with iGEM Standards from default, adding an additional set of problems, then other issues get involved, to resume them here we present:

FeatureManual MethodCommercial SoftwareBioBrick jtools
Can connect with published databases?Mx-48px-Crystal Clear action apply.pngMx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action apply.png
Can read any file format?Mx-48px-Crystal Clear action apply.pngMx-48px-Crystal Clear action apply.pngMx-48px-Crystal Clear action apply.png
Allows to reflect changes in any step of the design?Mx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action apply.png
Can do a batch process for many files?Mx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action apply.png
Can export to any format?Mx-48px-Crystal Clear action apply.pngMx-48px-Crystal Clear action apply.pngMx-48px-Crystal Clear action apply.png
Source code available?SometimesSometimesMx-48px-Crystal Clear action apply.png
Based on OpenSource?SometimesSometimesMx-48px-Crystal Clear action apply.png
Can be extended?SometimesMx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action apply.png
Runs on any platform?Mx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action button cancel.pngMx-48px-Crystal Clear action apply.png

The Solution

Surfing on the web, we can look for different applications and frameworks used to work on Bioinformatics, which we can adapt to our needs, mostly available software is not designed to work with the special needs for Synthetic Biology and more with the iGEM Requirements, plus the chances to automate it the process to maximun allowing us to enhance productivity, and to let us to connect it with other software related.

This lack of software makes a great chance to explore the road to develop a software that can meet our requirements plus add the ability to be extended by anyone of the community, plus being free as in Free Speech.

Steps done until now

  1. look which language could be used, and plus taking all the advantajes was decided to use [http://www.java.com Java ™] language, which is object oriented and has ported runtimes in almost all Operating Systems, plus the availability of Open Source [http://en.wikipedia.org/wiki/Free_Java_implementations#Class_library implementations].
  2. Use a framework thad can be extended,[http://biojava.org/wiki/Main_Page Biojava] is a framework designed to work with biological data and can be extended, its OpenSource based so its source is fully available and can be viewed how it works from its inside.
  3. Design the logic of the application and test it.
  4. Share our work to other users across the web, and having a real user need basis design, on which can be involved from asking for features to even participating on the programming itself

Getting the software

BioBrick jtools can be downloaded from its hosted site on sourceforge.net [http://sourceforge.net/projects/biobrick-jtools/ http://sourceforge.net/projects/biobrick-jtools/] on which we hosted the main project to keep in continuous improvement letting users participating at any levels and letting iGEM comunity had more tools to work with.