Java voor Bio-Informatica  I
Introduction  <ul><li>Course intro </li></ul><ul><li>Java as a language for Bioinformatics </li></ul><ul><li>Current Java ...
Books <ul><li>Book: Java voor studenten </li></ul><ul><li>Syllabus: Java voor BioInformatica 1 </li></ul>On Scholar
USE THE BOOK
Like this
OnLine <ul><li>How to Think Like a Computer Scientist  </li></ul><ul><ul><li>Java Version </li></ul></ul><ul><ul><ul><li>h...
Software <ul><li>BlueJ ( www.bluej.org ) </li></ul>
 
<ul><li>http://www.youtube.com/watch?v=SRLU1bJSLVg </li></ul>
OO! Similar to C(++) Isn’t JavaScript
http://java.sun.com/
From Python to Java
Why Python? <ul><li>Less effort </li></ul><ul><li>Regular Expressions  for manipulating text </li></ul><ul><li>Lot of pre-...
Why not Python (Ensembl)? <ul><li>“ Some aspects of Python are not well suited for a software project of Ensembl's size”. ...
Why Java? <ul><li>Java is  platform independent  and hence easily distributable. </li></ul><ul><li>Ideal for  Visualizatio...
Why Java (Ensembl) <ul><li>“compile time  type checking ,  </li></ul><ul><li>enforced  interfaces ,  </li></ul><ul><li>mul...
Java Genomics Tools <ul><li>Argo Genome Browser   is a tool for visualizing and annotating whole genomes. </li></ul><ul><u...
Java Genomics Tools <ul><li>The   GBuilder  is a tool for analysis and visualization of collections and assemblies of sequ...
Java Data Management Tools <ul><li>OmniGene  helps to exchange biological data through the web services model and J2EE tec...
Java Gene Expression Tools <ul><li>GeneX  is a gene expression database and integrated tool set </li></ul><ul><ul><ul><ul>...
Java Bioinformatics APIs/Libraries <ul><li>BioJava  project APIs for processing biological data. </li></ul><ul><li>Jemboss...
Other Java Tools <ul><li>JaMBW  is  Java based Molecular Biologist's Workbench </li></ul><ul><ul><ul><ul><ul><li>EMBL </li...
Statistics November 12 2006 0 15   1.420.000   C++ AND Bioinformatics 14 1,220   2.040.000   Python AND Bioinformatics 82 ...
Statistics November 13 2007 20 23   1.560.000   C++ AND Bioinformatics 25 1.860   1.640.000   Python AND Bioinformatics 10...
Hello World! <ul><li>// Hello.java  </li></ul><ul><li>public class Hello { </li></ul><ul><li>public static void main(Strin...
Hello World! <ul><li>import java.awt.*; </li></ul><ul><li>import java.awt.event.*; </li></ul><ul><li>import javax.swing.*;...
Syntax isn’t important for me <ul><li>But the JVM cares! </li></ul><ul><li>Casesensitivity </li></ul><ul><li>E.g System.ou...
Summary <ul><li>Java is increasingly being adopted by Bioinformatics community </li></ul><ul><li>Many former Perl based ap...
References <ul><li>Java for Bioinformatics and Java APIs for Bioinformatics  </li></ul><ul><ul><ul><ul><li>by Stephen Mont...
Upcoming SlideShare
Loading in...5
×

Java Introductie

1,502

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,502
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java Introductie

  1. 1. Java voor Bio-Informatica I
  2. 2. Introduction <ul><li>Course intro </li></ul><ul><li>Java as a language for Bioinformatics </li></ul><ul><li>Current Java API’s, Applications and Tools for Bioinformatics </li></ul><ul><li>Some Statistics </li></ul>
  3. 3. Books <ul><li>Book: Java voor studenten </li></ul><ul><li>Syllabus: Java voor BioInformatica 1 </li></ul>On Scholar
  4. 4. USE THE BOOK
  5. 5. Like this
  6. 6. OnLine <ul><li>How to Think Like a Computer Scientist </li></ul><ul><ul><li>Java Version </li></ul></ul><ul><ul><ul><li>http://www.greenteapress.com/thinkapjava/thinkapjava.pdf </li></ul></ul></ul><ul><li>Thinking in Java –edition 3, Bruce Eckel </li></ul><ul><ul><ul><li>http://www.planetpdf.com/codecuts/pdfs/eckel/TIJ3.zip </li></ul></ul></ul><ul><li>BlueJ Tutorial </li></ul><ul><ul><ul><li>http://www.bluej.org/tutorial/tutorial.pdf </li></ul></ul></ul><ul><li>SUN Java </li></ul><ul><ul><ul><li>http://java.sun.com / </li></ul></ul></ul>
  7. 7. Software <ul><li>BlueJ ( www.bluej.org ) </li></ul>
  8. 9. <ul><li>http://www.youtube.com/watch?v=SRLU1bJSLVg </li></ul>
  9. 10. OO! Similar to C(++) Isn’t JavaScript
  10. 11. http://java.sun.com/
  11. 12. From Python to Java
  12. 13. Why Python? <ul><li>Less effort </li></ul><ul><li>Regular Expressions for manipulating text </li></ul><ul><li>Lot of pre-existing bioinformatics Python modules ( BioPython ) </li></ul><ul><li>Python is widely used in the biology community, and it is a language well suited for writing Web applications </li></ul><ul><li>Good for quick prototypes </li></ul>
  13. 14. Why not Python (Ensembl)? <ul><li>“ Some aspects of Python are not well suited for a software project of Ensembl's size”. </li></ul><ul><li>“ absence of compile time checking of function prototypes and variable types is a steady source of runtime errors .” </li></ul>
  14. 15. Why Java? <ul><li>Java is platform independent and hence easily distributable. </li></ul><ul><li>Ideal for Visualization </li></ul><ul><li>Ensj , BioJava APIs </li></ul><ul><li>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 </li></ul>
  15. 16. Why Java (Ensembl) <ul><li>“compile time type checking , </li></ul><ul><li>enforced interfaces , </li></ul><ul><li>multi threading , </li></ul><ul><li>better support for graphical user interfaces , </li></ul><ul><li>and correct garbage collection of circularly referenced objects ”. </li></ul>
  16. 17. Java Genomics Tools <ul><li>Argo Genome Browser is a tool for visualizing and annotating whole genomes. </li></ul><ul><ul><ul><ul><ul><li>Broad Institute </li></ul></ul></ul></ul></ul><ul><li>Apollo genome editor is a tool for annotating genomic sequences </li></ul><ul><ul><ul><ul><ul><li>FruitFly.org </li></ul></ul></ul></ul></ul><ul><li>Artemis is a genome viewer and annotation tool. </li></ul><ul><ul><ul><ul><ul><li>The Sanger Institute </li></ul></ul></ul></ul></ul><ul><li>PatternHunter is a homology search tool. </li></ul><ul><ul><ul><ul><ul><li>Bioinformatics Solutions Inc. </li></ul></ul></ul></ul></ul>
  17. 18. Java Genomics Tools <ul><li>The  GBuilder is a tool for analysis and visualization of collections and assemblies of sequences. </li></ul><ul><ul><ul><ul><ul><li>EMBL, EBI </li></ul></ul></ul></ul></ul><ul><li>Sockeye is a 3D environment for comparative genomics . </li></ul><ul><ul><ul><ul><ul><li>Canada genome sciences centre </li></ul></ul></ul></ul></ul><ul><li>VCMap MapView uses interactive Java interface </li></ul><ul><ul><ul><ul><ul><li>Rat Genome Database </li></ul></ul></ul></ul></ul><ul><li>Jalview is a multiple alignment editor. </li></ul><ul><ul><ul><ul><ul><li>BBSRC UK </li></ul></ul></ul></ul></ul>
  18. 19. Java Data Management Tools <ul><li>OmniGene helps to exchange biological data through the web services model and J2EE technology </li></ul><ul><ul><ul><ul><ul><li>Panther Informatics </li></ul></ul></ul></ul></ul><ul><li>Genome Directory System (GDS) is a distributed search and retrieval system for genome databases </li></ul><ul><ul><ul><ul><ul><li>Indiana University </li></ul></ul></ul></ul></ul><ul><li>Citrina is a database management tool that automates the mirroring and processing of databases that are distributed via ftp servers </li></ul><ul><ul><ul><ul><ul><li>Indiana University </li></ul></ul></ul></ul></ul><ul><li>Haystack is designed to let individuals manage all information in ways that make the most sense to them. </li></ul><ul><ul><ul><ul><ul><li>IBM </li></ul></ul></ul></ul></ul><ul><li>LuceGene is a document/object search and retrieval system for Genome and Bioinformatics Databases </li></ul><ul><ul><ul><ul><ul><li>Indiana University </li></ul></ul></ul></ul></ul>
  19. 20. Java Gene Expression Tools <ul><li>GeneX is a gene expression database and integrated tool set </li></ul><ul><ul><ul><ul><ul><li>NCGR </li></ul></ul></ul></ul></ul><ul><li>TIGR TM4 Microarray Software Suite </li></ul><ul><li>Microarray Explorer (MAExplorer) - data-mining program </li></ul><ul><ul><ul><ul><ul><li>National Cancer Institute </li></ul></ul></ul></ul></ul><ul><li>Caryoscope is for viewing gene expression data in a whole-genome context </li></ul><ul><ul><ul><ul><ul><li>Stanford University </li></ul></ul></ul></ul></ul><ul><li>Java TreeView renders gene expression data into several interactive views. </li></ul><ul><ul><ul><ul><ul><li>Stanford University </li></ul></ul></ul></ul></ul><ul><li>J-Express Pro - analysis and visualization of microarray data. </li></ul><ul><ul><ul><ul><ul><li>molmine </li></ul></ul></ul></ul></ul>
  20. 21. Java Bioinformatics APIs/Libraries <ul><li>BioJava project APIs for processing biological data. </li></ul><ul><li>Jemboss is a java based interface to EMBOSS (The European Molecular Biology Open Software Suite) </li></ul><ul><li>Ensj – API to access ensembl databases </li></ul><ul><li>MartJ – API to access EnsEMBL's Mart database </li></ul><ul><li>Phylogenetic Analysis Library (PAL) - bioinformatics analysis of evolutionary development of genomes. </li></ul><ul><ul><ul><ul><ul><li>CEBL New Zealand </li></ul></ul></ul></ul></ul><ul><li>Knowledge Discovery Object Model (KDOM) is an API to represent and manage biological knowledge during application development </li></ul><ul><ul><ul><ul><ul><li>Genome Sciences Centre Canada </li></ul></ul></ul></ul></ul>
  21. 22. Other Java Tools <ul><li>JaMBW is Java based Molecular Biologist's Workbench </li></ul><ul><ul><ul><ul><ul><li>EMBL </li></ul></ul></ul></ul></ul><ul><li>DAG-Edit is an application to browse, query and edit GO </li></ul><ul><ul><ul><ul><ul><li>GO </li></ul></ul></ul></ul></ul><ul><li>ImageJ can display, edit, analyze, process, save and print images. </li></ul><ul><ul><ul><ul><ul><li>Research Service Branch NIH </li></ul></ul></ul></ul></ul><ul><li>Cytoscape is a tool for analyzing and visualizing biological network data </li></ul><ul><ul><ul><ul><ul><li>The Institute for Systems Biology (ISB) </li></ul></ul></ul></ul></ul><ul><li>PubSearch is a web based literature curation tool </li></ul><ul><ul><ul><ul><ul><li>The Arabidopsis Information Resource (TAIR) </li></ul></ul></ul></ul></ul><ul><li>PubFetch is a literature retrieval tool </li></ul><ul><ul><ul><ul><ul><li>BRC </li></ul></ul></ul></ul></ul>
  22. 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
  23. 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
  24. 25. Hello World! <ul><li>// Hello.java </li></ul><ul><li>public class Hello { </li></ul><ul><li>public static void main(String[] args) { System.out.println(&quot;Hello, world!&quot;); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  25. 26. Hello World! <ul><li>import java.awt.*; </li></ul><ul><li>import java.awt.event.*; </li></ul><ul><li>import javax.swing.*; </li></ul><ul><li>public class HelloSwing extends JFrame </li></ul><ul><li>{ </li></ul><ul><li>public static void main (String[] args){ </li></ul><ul><li>JOptionPane.showMessageDialog(null, &quot;Hello World&quot;); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  26. 27. Syntax isn’t important for me <ul><li>But the JVM cares! </li></ul><ul><li>Casesensitivity </li></ul><ul><li>E.g System.out.println != system.out.println </li></ul>
  27. 28. Summary <ul><li>Java is increasingly being adopted by Bioinformatics community </li></ul><ul><li>Many former Perl based applications and APIs are currently being rewritten in Java (e.g. BioMOBY, Ensembl etc.) </li></ul><ul><li>With release of advanced Java APIs and improved Java Virtual Machine some of the drawbacks were eliminated (e.g. Regular Expression, Casting) </li></ul>
  28. 29. References <ul><li>Java for Bioinformatics and Java APIs for Bioinformatics </li></ul><ul><ul><ul><ul><li>by Stephen Montgomery at http://www.oreillynet.com </li></ul></ul></ul></ul><ul><li>The Ensembl core software libraries. </li></ul><ul><ul><ul><ul><li>Stabenau A, McVicker G, Melsopp C, Proctor G, Clamp M, and Birney E in Genome Res. 2004 May;14(5):929-33 </li></ul></ul></ul></ul>
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×