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

383
views

Published on

Published in: Technology, Travel

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

  • Be the first to like this

No Downloads
Views
Total Views
383
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
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. 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 http://www.seqpad.org 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 ?