Team:METU-BIN Ankara/Instructions

From 2011.igem.org

METU-BIN iGEM Software TeamProject: Mining for BioBricks

Instructions: How to use M4B?

Usage

M4B: Mining for BioBricks is a software that scans the parts on the database we created by the relational data of 2011 distribution and shows the combination of parts which starts with a specific promoter and a specific gene, of course after gene there is always terminator.

The specifity is determined by users. Our software provides two textfields for input of the desired device and output of it. By these parameters, users select those and with the other options, hit the search button and take results of possible desired devices.

In the results area, possible devices are shown by the specific order of parts' ID's given by PartsRegistry. So you can know which parts a resulted device is composed of. When a result is clicked, it's composition is shown graphically with exact PartsRegistry images just above the results field.

At the left of the software, you'll see the information field for the parts. When you click on a part in the field of graphical results, its all the information available in XML database of PartsRegistry will appear.

README file for the team METU-BIN_Ankara iGEM 2011

Developed Software: M4B: Mining for BioBricks

M4B is a java applet that can find novel composite devices for a user specified input and output based on the parts connection graph that we constructed using the information in Parts Registry.

The applet is available at http://dayhoff.ii.metu.edu.tr:8080/m4b/

The applet contains code that remotely access a MySQL database; therefore, it had to be signed with a security certificate. The users should accept the certificate when prompted with "The application's digital signature cannot be verified. Do you want to run the application?" by choosing the "Run" option at the bottom of the notification window.

In order to compile the source code provided at GitHub:

  • The developer should install and create a MySQL database. The "database" directory contains a dump of the current database tables used by M4B. These dump files contain SQL statements that can be executed under MySQL to create the corresponding database locally.
  • The developer should download the Connector/J library which is a java library for connection to MySQL databases. Documentation and download links can be found at: http://dev.mysql.com/usingmysql/java/ and http://dev.mysql.com/downloads/connector/j/
  • The developer should get the yFiles, graph visualization library. METU-BIN_Ankara purchased a single developer license. Hence, we cannot make the licensed library available at GitHub. An evaluation copy of "yFiles for Java" can be obtained from: http://www.yworks.com/en/downloads.html. The current version of yFiles for Java is 2.8.0.3 as of September 18, 2011.
  • The developer should get the JSch - Java Secure Channel library. The library is an implementation of SSH2 for java and allows our applet to connect to sshd servers. The library can be downloaded from: http://www.jcraft.com/jsch/
  • The developer should modify the MySQL database user information hardcoded inside the java source file: IIConnection.java before compilation.
  • The java source files are defined under the package igem_applet and can be compiled using "javac igem_applet/" in the src directory.

The source code under the directory "src/igem_applet" is composed of 7 .java files.

M4BApplet.java is the main applet and GUI code.

PathwayFinder.java is the main code for finding composite devices in the parts registry graph. The source code is modified from the original version to hide some user/password information required for remote database access. The original passwords are replaced with "******".

Util.java contains some utility code.

Part.java contains the class description for a Part object.

GraphConstructor.java contains code for generating a visual description of the composite device found.

MysqlTunnelSession.java contains code for database access via JDBC.

IIConnection.java contains code to establish database connection to our Part Connections database at the Informatics Institute. The original passwords are replaced with "*****". The developer should replace them with their own user/passwords before compilation.

More information can be found on our GitHub account.