Your SlideShare is downloading. ×

Java Introductie

1,472
views

Published on

Published in: Technology, News & Politics

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,472
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
58
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Java voor Bio-Informatica I
  • 2. Introduction
    • Course intro
    • Java as a language for Bioinformatics
    • Current Java API’s, Applications and Tools for Bioinformatics
    • Some Statistics
  • 3. Books
    • Book: Java voor studenten
    • Syllabus: Java voor BioInformatica 1
    On Scholar
  • 4. USE THE BOOK
  • 5. Like this
  • 6. 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 /
  • 7. Software
    • BlueJ ( www.bluej.org )
  • 8.  
  • 9.
    • http://www.youtube.com/watch?v=SRLU1bJSLVg
  • 10. OO! Similar to C(++) Isn’t JavaScript
  • 11. http://java.sun.com/
  • 12. From Python to Java
  • 13. 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
  • 14. 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 .”
  • 15. 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
  • 16. 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 ”.
  • 17. 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.
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. Hello World!
    • // Hello.java
    • public class Hello {
    • public static void main(String[] args) { System.out.println("Hello, world!");
    • }
    • }
  • 26. 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");
    • }
    • }
  • 27. Syntax isn’t important for me
    • But the JVM cares!
    • Casesensitivity
    • E.g System.out.println != system.out.println
  • 28. 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)
  • 29. 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