Java Introductie
Upcoming SlideShare
Loading in...5

Java Introductie






Total Views
Views on SlideShare
Embed Views



1 Embed 1 1


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Java Introductie Java Introductie Presentation Transcript

  • Java voor Bio-Informatica I
  • Introduction
    • Course intro
    • Java as a language for Bioinformatics
    • Current Java API’s, Applications and Tools for Bioinformatics
    • Some Statistics
  • Books
    • Book: Java voor studenten
    • Syllabus: Java voor BioInformatica 1
    On Scholar View slide
  • USE THE BOOK View slide
  • Like this
  • OnLine
    • How to Think Like a Computer Scientist
      • Java Version
    • Thinking in Java –edition 3, Bruce Eckel
    • BlueJ Tutorial
    • SUN Java
        • /
  • Software
    • BlueJ ( )
  • OO! Similar to C(++) Isn’t JavaScript
  • From Python to Java
  • 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
  • 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 .”
  • 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
  • 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 ”.
  • 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
    • Artemis is a genome viewer and annotation tool.
            • The Sanger Institute
    • PatternHunter is a homology search tool.
            • Bioinformatics Solutions Inc.
  • 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
  • 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
  • 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
  • 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
  • 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
  • Statistics November 12 2006 0 15 1.420.000 C++ AND Bioinformatics 14 1,220 2.040.000 Python AND Bioinformatics 82 146 PubMed 5,350 10,500 Google Scholar 1.510.000 1.660.000 Google Perl AND Bioinformatics Java AND Bioinformatics Query
  • Statistics November 13 2007 20 23 1.560.000 C++ AND Bioinformatics 25 1.860 1.640.000 Python AND Bioinformatics 102 180 PubMed 9.930 13,400 Google Scholar 1.710.000 1.920.000 Google Perl AND Bioinformatics Java AND Bioinformatics Query
  • Hello World!
    • //
    • public class Hello {
    • public static void main(String[] args) { System.out.println("Hello, world!");
    • }
    • }
  • 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");
    • }
    • }
  • Syntax isn’t important for me
    • But the JVM cares!
    • Casesensitivity
    • E.g System.out.println != system.out.println
  • 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)
  • References
    • Java for Bioinformatics and Java APIs for Bioinformatics
          • by Stephen Montgomery at
    • 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