Your SlideShare is downloading. ×
Decouttere_SeqPad _BOSC2009
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Decouttere_SeqPad _BOSC2009


Published on

Published in: Technology, Travel

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. SEQPAD BOSC 2009 – Stockholm (Sweden) Decouttere F., De Beule D., Trooskens G., Devisscher M. & Van Criekinge W.
  • 2. seqpad : built upon an open source stack seqpad: high performance, very flexible bioinformatics visualization & data handling platform java swing extensions java utility libraries biojava & biojavax relational database backend based on BioSQL + SeqPad project extensions JDK 1.6+ with Java3D extension (windows - linux – mac os x)
  • 3. seqpad: 2003 - 2009 •  THEN (2003) : a very basic java GUI demonstrating sequence/ feature display & 3D formats, funded & developed by Genohm, a University of Gent spinoff company in Belgium •  NOW (2009): +- 1140 java classes +- 165.000 lines of source code Lots of features open-source (LGPL V3)
  • 4. seqpad in detail
  • 5. seqpad: main window 1.  typed project pane with full DnD support 2.  MDI + ZUI –  sequence –  3D –  multiple alignment –  phylogenetic trees 3.  Viewport linked to MDI 4.  task scheduler 5.  All linked by seqpad’s event scheduler!
  • 6. project & collections •  project / collection centric view where each project can contain 0 or more collections. Each collection is typed as DNA or Protein •  the project pane supports full DnD from any source (file system, directly from www browser, …) •  accepts all common sequence file formats (biojava + seqpad readers) e.g. FASTA DNA, FASTA Protein, Genbank, Genpept, Swissprot, EMBL DNA, EMBL Protein, Clustal W, MSF, BLAST XML, PDB,… with annotation & feature parsing •  all information is automatically persisted in a relational database upon import •  collection can also accept arbitrary files like MS Word, Excel, OpenOffice, pdf, images, …
  • 7. Multiple Document Interface (MDI) •  central panel: parent container for all rendering views (sequence, molecule, dotplot, …) •  Each view has its own renderer & event subscribe/consume setup •  an example: the 3D view consumes the selection event from the protein sequence, showing the selected sequence simultaneously!
  • 8. task scheduling •  basic scheduling mechanism for sync + async interaction with 3rd party systems (e.g. blast, custom perl scripts, …) •  It can remove or re-execute defined tasks •  Not a full blown workflow! And it never will be… •  keeps track of where the task call came from, adds the results to the correct project / collection as they return from the remote system •  also shows if your Java VM runs out of memory ;-)
  • 9. currently available viewers •  sequence with features, annotation, color schemes, inline editing, … •  multiple alignments •  3D models •  phylogenetic trees •  blast result viewer & selection •  inline <office> view (Java JDIC)
  • 10. seqpad: mapping piccolo2D to bio* •  seqpad provides a high-level API to produce a visual representation of biojava’s sequence model •  seqpad’s API mapping with biojava == visual CRUD model •  piccolo2D visualization provides great image quality at all zoom levels •  seqpad provides semantic zooming (the closer you look, the more details are revealed)
  • 11. seqpad: sequence manipulation Visual CRUD (using biojava API where applicable): –  edit view with PERL like regular expression support –  Reverse, Complement, Reverse complement, Shuffle, bisulfite –  6-frame translation –  feature editing –  manual sequence alignment (e.g. introduce of remove gaps, …)
  • 12. performance: 1e6 bp sequence semantic zooming 1e6 3y old laptop, using 34,9 MB of data (of which +- 20 MB seqpad baseline)
  • 13. performance: browsing evolution •  browsing - searching the entire tree-of- life •  Using a bit more memory, 179 MB
  • 14. event system in action •  slide through a rooted phylogenetic tree, simultaneously highlighting conserved regions in the multiple alignment & 3D structure •  all using seqpad’s event system
  • 15. writing a new viewer •  it takes some steps (but you have to know java swing!) –  define at which level you will include your view data in the project/collection tree, possibly register a new node type –  write a new Panel “extends PPanel implements DockableView” –  give your panel a ToolBar –  write a Renderer for your Panel, this bridges the view with Piccolo2D (using seqpad’s mapping API) –  define all Events that your view is going to emit and consume. –  run, debug & fix your code ;-) LOOK AT the seqpad.gui.* packages for examples or as a reference !
  • 16. seqpad roadmap •  update to biojava(x) 1.7, support & test all IO formats from biojava(x) 1.7 •  create a “multi-lane” sequence view for visual mapping (map sequence fragment against reference sequence) •  explore native integration possibilities from the JDK1.6 (Desktop, SystemTray, …) •  create optimized releases/L&F for windows - linux – mac os x •  provide pre-configured hooks/viewers for integration with DAS •  … ?
  • 17. getting seqpad •  See for details, wiki, roadmap, tickets, source code & more ! •  warning: trac website just launched, so please report missing functions, problems, …
  • 18. acknowledgements java… David De Beule Jonas Van Poucke Geert Trooskens brain(storming)… Wim Van Criekinge coffee funds… Genohm & Ghent University
  • 19. Questions ?