SEQPAD
       BOSC 2009 – Stockholm (Sweden)
Decouttere F., De Beule D., Trooskens G., Devisscher M. & Van Criekinge W.
seqpad : built upon an open source stack

          seqpad: high performance, very flexible bioinformatics
               ...
seqpad: 2003 - 2009
•  THEN (2003) : a very basic java GUI demonstrating sequence/
   feature display & 3D formats, funded...
seqpad in detail
seqpad: main window
                 1.  typed project
                     pane with full
                     DnD suppor...
project & collections
•    project / collection centric view where each project can
     contain 0 or more collections. Ea...
Multiple Document Interface (MDI)
                     •  central panel: parent
                        container for all
...
task scheduling



•  basic scheduling mechanism for sync + async interaction
   with 3rd party systems (e.g. blast, custo...
currently available viewers
•  sequence with features, annotation,
color schemes, inline editing, …
•  multiple alignments...
seqpad: mapping piccolo2D to bio*
               •  seqpad provides a high-level API
                  to produce a visual...
seqpad: sequence manipulation
                   Visual CRUD (using biojava
                      API where applicable):

...
performance: 1e6 bp sequence




              semantic zooming




   1e6     3y old laptop, using 34,9 MB of data
      ...
performance: browsing evolution

                       •  browsing -
                          searching the
            ...
event system in action




•  slide through a rooted phylogenetic tree, simultaneously
   highlighting conserved regions i...
writing a new viewer
           •  it takes some steps (but you
              have to know java swing!)

              –  ...
seqpad roadmap
•  update to biojava(x) 1.7, support & test all IO
   formats from biojava(x) 1.7
•  create a “multi-lane” ...
getting seqpad
•  See http://www.seqpad.org for details, wiki, roadmap, tickets,
   source code & more !
•  warning: trac ...
acknowledgements
java…
  David De Beule
  Jonas Van Poucke
  Geert Trooskens


brain(storming)…
  Wim Van Criekinge


coff...
Questions ?
Decouttere_SeqPad _BOSC2009
Upcoming SlideShare
Loading in …5
×

Decouttere_SeqPad _BOSC2009

666 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
666
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Decouttere_SeqPad _BOSC2009

  1. 1. SEQPAD BOSC 2009 – Stockholm (Sweden) Decouttere F., De Beule D., Trooskens G., Devisscher M. & Van Criekinge W.
  2. 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. 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. 4. seqpad in detail
  5. 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. 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. 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. 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. 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. 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. 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. 12. performance: 1e6 bp sequence semantic zooming 1e6 3y old laptop, using 34,9 MB of data (of which +- 20 MB seqpad baseline)
  13. 13. performance: browsing evolution •  browsing - searching the entire tree-of- life •  Using a bit more memory, 179 MB
  14. 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. 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. 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. 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. 18. acknowledgements java… David De Beule Jonas Van Poucke Geert Trooskens brain(storming)… Wim Van Criekinge coffee funds… Genohm & Ghent University
  19. 19. Questions ?

×