UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

12
1 http://utgenome.org/ UTGB Shell UTGB Shell An Open-Source Browser Framework An Open-Source Browser Framework for the Integration of Biological for the Integration of Biological Data Data Taro L. Saito, Shin Sasaki, Budrul Ahsa Taro L. Saito, Shin Sasaki, Budrul Ahsa n and Shinichi Morishita n and Shinichi Morishita Department of Computational Biology Graduate School of Frontier Sciences University of Tokyo

description

UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data. Taro L. Saito, Shin Sasaki, Budrul Ahsan and Shinichi Morishita Department of Computational Biology Graduate School of Frontier Sciences University of Tokyo. What is UTGB Shell?. - PowerPoint PPT Presentation

Transcript of UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

Page 1: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

1http://utgenome.org/

UTGB ShellUTGB ShellAn Open-Source Browser Framework An Open-Source Browser Framework for the Integration of Biological Datafor the Integration of Biological Data

Taro L. Saito, Shin Sasaki, Budrul Ahsan and Shinichi Taro L. Saito, Shin Sasaki, Budrul Ahsan and Shinichi MorishitaMorishita

Department of Computational BiologyGraduate School of Frontier Sciences

University of Tokyo

Page 2: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

2

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

What is UTGB Shell?What is UTGB Shell?

• UTGB UTGB (University of Tokyo Genome Browser)(University of Tokyo Genome Browser)– http://http://ugenome.orgugenome.org//

• UTGB ShellUTGB Shell– Web-Based Database Server Development ToolkitWeb-Based Database Server Development Toolkit– UTGB browsers are implemented using UTGB ShellUTGB browsers are implemented using UTGB Shell

• Features:Features:– AJAXAJAX based web interface based web interface– Instant Setup Instant Setup

• Portable Web Server is included in the UTGB Shell.

– Database Connection SupportDatabase Connection Support::• Commercial: SQL Server, Oracle, DB2, etc.• Open Source: PostgreSQL, MySQL, SQLite, etc.

– Smart Data MappingSmart Data Mapping (XML, JSON, CSV, etc.) (XML, JSON, CSV, etc.)

Page 3: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

3

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

UTGB: Medaka Genome BrowserUTGB: Medaka Genome Browser

Page 4: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

4

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

Interactive User InterfaceInteractive User Interface

• Drag-Drop & Resizing of TracksDrag-Drop & Resizing of Tracks– without reloading the entire pages without reloading the entire pages

• Interactive Track Interactive Track ConfigurationConfiguration– No reload is requiredNo reload is required

Page 5: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

5

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

UTGB FrameworkUTGB Framework

• UTGB supports interactive communication with UTGB supports interactive communication with multiple web serversmultiple web servers

Page 6: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

6

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

How to implement your own trackHow to implement your own track

• Arbitrary web pages can be used as a track:Arbitrary web pages can be used as a track:– Static contents Static contents

• HTML pages

– Dynamic contents (CGI programs, etc.)Dynamic contents (CGI programs, etc.)• Perl, PHP, Java Servlet programs etc.

• UTGB Shell has several utilities for rapid track developUTGB Shell has several utilities for rapid track development:ment:– Database Access via JDBC Database Access via JDBC

• Java Database Connection

– Smart Mapping Between Database Data and Class ObjectsSmart Mapping Between Database Data and Class Objects– Graphic DrawingGraphic Drawing

Page 7: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

7

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

Smart Mapping: Database ⇔ Smart Mapping: Database ⇔ ObjectObject

class Gene { private int id; private int start; private int end; private String name;

public Gene(){} public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } // followed by other setters ….}

// Get a database access to “mydb” databaseDatabaseAccess db = UTGBMaster.getDatabaseAcce

ss("mydb");

// Perform an SQL query to the database then bind the result to Gene class objects.

List<Gene> geneList = db.query(Gene.class, “select * from gene order by start");

idid startstart endend namename

11 100100 200200 AA

22 200200 300300 BB

Gene TableGene Table

Class ObjectClass Object   (Java)(Java)

• Database access codes in Database access codes in UTGB are quite simpleUTGB are quite simple– UTGB automatically converts UTGB automatically converts

database data into class objectsdatabase data into class objects

Page 8: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

8

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

Strong XML/JSON Data SupportStrong XML/JSON Data Support

• XML, JSONXML, JSON– Tree-Structured Data Tree-Structured Data

• XML/JSON to class object mapping is also XML/JSON to class object mapping is also supported in UTGBsupported in UTGB

<data> <gene id=“1”> <start>100</start> <end>3000</end> <name>A</name> </gene> <gene id=“2”> <start>3500</start> <end>7000</end> </gene></data>

<data> <gene id=“1”> <start>100</start> <end>3000</end> <name>A</name> </gene> <gene id=“2”> <start>3500</start> <end>7000</end> </gene></data>

{“data”: {“gene”:[ { “id”:1, “start”:100, “end”:3000}, { “id”:”2”, “start”:2, “start”:3500, “end”:7000} ]}}

{“data”: {“gene”:[ { “id”:1, “start”:100, “end”:3000}, { “id”:”2”, “start”:2, “start”:3500, “end”:7000} ]}}

Page 9: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

9

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

UTGB Shell CommandsUTGB Shell Commands

• Create Create – Create a new project for implementing your own track. Create a new project for implementing your own track.

• Action Action – Add a new web action handler (CGI of a kind)Add a new web action handler (CGI of a kind)

• Server Server – Start up the portable web server for debugging Start up the portable web server for debugging

• DBinfo DBinfo – Displays database information Displays database information

• Deploy Deploy – Deploy the web application to the remote web server Deploy the web application to the remote web server

Page 10: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

10

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

Rapid Development with UTGB Rapid Development with UTGB ShellShell

• Installation of UTGB Installation of UTGB – Only Java 1.5 SDK is required in your system.Only Java 1.5 SDK is required in your system.

• Windows, Mac OS X (Tiger, Leopard), Linux are supported.– UTGB automatically downloads other resources UTGB automatically downloads other resources

from the web.from the web.• ““utgb create myapp”utgb create myapp”

– generates a web application templategenerates a web application template• ““utgb action HelloWolrd”utgb action HelloWolrd”

– adds new web interface adds new web interface • http://localhost:8989/myapp/HelloWorld

• ““utgb server”utgb server”– launches the web server in your local machinelaunches the web server in your local machine

• No installation of Apache, Tomcat, etc. is required.

Page 11: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

11

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

UTGB ImplementationUTGB Implementation

• UTGB is implemented in Java UTGB is implemented in Java – using using Google Web ToolkitGoogle Web Toolkit (GWT) to produce AJAX (Asynchrono (GWT) to produce AJAX (Asynchrono

us JavaScript + XML) based web interface codes. us JavaScript + XML) based web interface codes. – Source codes are managed via Subversion (source code versiSource codes are managed via Subversion (source code versi

on management system)on management system)• Accessible from the web: http://utgenome.org/

• UTGB is self-containedUTGB is self-contained– Portable web server (Tomcat)Portable web server (Tomcat)– Database Engine (SQLite)Database Engine (SQLite)– No installation of web server and database system is requireNo installation of web server and database system is require

d.d.– UTGB is a ready-to-use development framework.UTGB is a ready-to-use development framework.

Page 12: UTGB Shell An Open-Source Browser Framework for the Integration of Biological Data

12

UTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser FrameworkUTGB Shell: An Open-Source Genome Browser Framework

http://utgenome.org/

UTGB is An Open-Source Program UTGB is An Open-Source Program

• Source Code LicenseSource Code License– Apache License Version 2.0Apache License Version 2.0

• Academic and business friendly open source license

• It allows you to: It allows you to: – Freely download and use this software, in Freely download and use this software, in

whole or in part, for personal, company whole or in part, for personal, company internal, or commercial purposes; internal, or commercial purposes;

– Use this software in packages or distributions Use this software in packages or distributions that you create. that you create.

• It does not require you to: It does not require you to: – Include the source of this software itself, or of Include the source of this software itself, or of

any modifications you may have made to it, in any modifications you may have made to it, in any redistribution you may assemble that any redistribution you may assemble that includes it; includes it;

– Submit changes that you make to the software Submit changes that you make to the software back to this software back to this software (though such feedback is (though such feedback is encouraged)encouraged). .