+ All Categories
Home > Technology > Java Introductie

Java Introductie

Date post: 10-May-2015
Category:
Upload: mbruggen
View: 1,503 times
Download: 0 times
Share this document with a friend
Popular Tags:
29
Java voor Bio-Informatica I
Transcript
Page 1: Java Introductie

Java voor Bio-Informatica I

Page 2: Java Introductie

Introduction

Course intro Java as a language for Bioinformatics Current Java API’s, Applications and

Tools for Bioinformatics Some Statistics

Page 3: Java Introductie

Books Book: Java voor studenten Syllabus: Java voor BioInformatica 1

On Scholar

Page 4: Java Introductie

USE THE BOOK

Page 5: Java Introductie

Like this

Page 6: Java Introductie

OnLine How to Think Like a Computer Scientist

– Java Version http://www.greenteapress.com/thinkapjava/thinkapjava.pdf

Thinking in Java –edition 3, Bruce Eckel http://www.planetpdf.com/codecuts/pdfs/eckel/TIJ3.zip

BlueJ Tutorial http://www.bluej.org/tutorial/tutorial.pdf

SUN Java http://java.sun.com/

Page 7: Java Introductie

Software BlueJ (www.bluej.org)

Page 8: Java Introductie
Page 9: Java Introductie

http://www.youtube.com/watch?v=SRLU1bJSLVg

Page 10: Java Introductie

OO!

Similar to C(++)

Isn’t JavaScript

Page 11: Java Introductie

http://java.sun.com/

Page 12: Java Introductie

From Python to Java

Page 13: Java Introductie

Why Python? Less effort Regular Expressions for manipulating text Lot of pre-existing bioinformatics Python

modules (BioPython) Python is widely used in the biology

community, and it is a language well suited for writing Web applications

Good for quick prototypes

Page 14: Java Introductie

Why not Python (Ensembl)? “Some aspects of Python are not well suited for a

software project of Ensembl's size”. “absence of compile time checking of function

prototypes and variable types is a steady source of runtime errors.”

Page 15: Java Introductie

Why Java?

Java is platform independent and hence easily distributable.

Ideal for Visualization

Ensj, BioJava APIs

Since lot of standards and software engineering tools (IDEs,Testing, etc) are built for Java we can build applications that are robust and heavy duty

Page 16: Java Introductie

Why Java (Ensembl) “compile time type checking, enforced interfaces, multi threading, better support for graphical user interfaces, and correct garbage collection of circularly

referenced objects”.

Page 17: Java Introductie

Java Genomics Tools Argo Genome Browser is a tool for visualizing and

annotating whole genomes. Broad Institute

Apollo genome editor is a tool for annotating genomic sequences

FruitFly.org

Artemis is a genome viewer and annotation tool. The Sanger Institute

PatternHunter is a homology search tool. Bioinformatics Solutions Inc.

Page 18: Java Introductie

Java Genomics Tools The  GBuilder is a tool for analysis and visualization of

collections and assemblies of sequences. EMBL, EBI

Sockeye is a 3D environment for comparative genomics.

Canada genome sciences centre

VCMap MapView uses interactive Java interface Rat Genome Database

Jalview is a multiple alignment editor. BBSRC UK

Page 19: Java Introductie

Java Data Management Tools OmniGene helps to exchange biological data through the web

services model and J2EE technology Panther Informatics

Genome Directory System (GDS) is a distributed search and retrieval system for genome databases

Indiana University

Citrina is a database management tool that automates the mirroring and processing of databases that are distributed via ftp servers

Indiana University

Haystack is designed to let individuals manage all information in ways that make the most sense to them.

IBM

LuceGene is a document/object search and retrieval system for Genome and Bioinformatics Databases

Indiana University

Page 20: Java Introductie

Java Gene Expression Tools

GeneX is a gene expression database and integrated tool set NCGR

TIGR TM4 Microarray Software Suite Microarray Explorer (MAExplorer) - data-mining program

National Cancer Institute

Caryoscope is for viewing gene expression data in a whole-genome context

Stanford University

Java TreeView renders gene expression data into several interactive views.

Stanford University

J-Express Pro - analysis and visualization of microarray data. molmine

Page 21: Java Introductie

Java Bioinformatics APIs/Libraries BioJava project APIs for processing biological data.

Jemboss is a java based interface to EMBOSS (The European Molecular Biology Open Software Suite)

Ensj – API to access ensembl databases

MartJ – API to access EnsEMBL's Mart database

Phylogenetic Analysis Library (PAL)-bioinformatics analysis of evolutionary development of genomes.

CEBL New Zealand

Knowledge Discovery Object Model (KDOM) is an API to represent and manage biological knowledge during application development

Genome Sciences Centre Canada

Page 22: Java Introductie

Other Java Tools JaMBW is Java based Molecular Biologist's Workbench

EMBL

DAG-Edit is an application to browse, query and edit GO GO

ImageJ can display, edit, analyze, process, save and print images. Research Service Branch NIH

Cytoscape is a tool for analyzing and visualizing biological network data

The Institute for Systems Biology (ISB)

PubSearch is a web based literature curation tool The Arabidopsis Information Resource (TAIR)

PubFetch is a literature retrieval tool BRC

Page 23: Java Introductie

Statistics November 12 2006

Query Java AND Bioinformatics

Python ANDBioinformatics

C++ ANDBioinformatics

Perl AND Bioinformatics

Google 1.660.000 2.040.000 1.420.000 1.510.000

Google Scholar 10,500 1,220 15 5,350

PubMed 146 14 0 82

Page 24: Java Introductie

Statistics November 13 2007

Query Java AND Bioinformatics

Python ANDBioinformatics

C++ ANDBioinformatics

Perl AND Bioinformatics

Google 1.920.000 1.640.000 1.560.000 1.710.000

Google Scholar 13,400 1.860 23 9.930

PubMed 180 25 20 102

Page 25: Java Introductie

Hello World!// Hello.java

public class Hello {

public static void main(String[] args) { System.out.println("Hello, world!");

}

}

Page 26: Java Introductie

Hello World!import java.awt.*;import java.awt.event.*;import javax.swing.*;

public class HelloSwing extends JFrame{ public static void main (String[] args){ JOptionPane.showMessageDialog(null,

"Hello World"); }

}

Page 27: Java Introductie

Syntax isn’t important for me But the JVM cares! Casesensitivity E.g System.out.println != system.out.println

Page 28: Java Introductie

Summary Java is increasingly being adopted by Bioinformatics

community Many former Perl based applications and APIs are

currently being rewritten in Java (e.g. BioMOBY, Ensembl etc.)

With release of advanced Java APIs and improved Java Virtual Machine some of the drawbacks were eliminated (e.g. Regular Expression, Casting)

Page 29: Java Introductie

References Java for Bioinformatics and Java APIs

for Bioinformatics – by Stephen Montgomery at http://www.oreillynet.com

The Ensembl core software libraries.– Stabenau A, McVicker G, Melsopp C, Proctor G, Clamp M, and

Birney E in Genome Res. 2004 May;14(5):929-33


Recommended