SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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
                  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)
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)
seqpad in detail
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!
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, …
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!
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 ;-)
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)
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)
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, …)
performance: 1e6 bp sequence




              semantic zooming




   1e6     3y old laptop, using 34,9 MB of data
           (of which +- 20 MB seqpad baseline)
performance: browsing evolution

                       •  browsing -
                          searching the
                          entire tree-of-
                          life
                       •  Using a bit more
                          memory, 179
                          MB
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
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 !
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
•  … ?
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, …
acknowledgements
java…
  David De Beule
  Jonas Van Poucke
  Geert Trooskens


brain(storming)…
  Wim Van Criekinge


coffee funds…
  Genohm & Ghent University
Questions ?
Decouttere_SeqPad _BOSC2009

Mais conteúdo relacionado

Semelhante a Decouttere_SeqPad _BOSC2009

Large-Scale Data Storage and Processing for Scientists with Hadoop
Large-Scale Data Storage and Processing for Scientists with HadoopLarge-Scale Data Storage and Processing for Scientists with Hadoop
Large-Scale Data Storage and Processing for Scientists with HadoopEvert Lammerts
 
Java Course 14: Beans, Applets, GUI
Java Course 14: Beans, Applets, GUIJava Course 14: Beans, Applets, GUI
Java Course 14: Beans, Applets, GUIAnton Keks
 
Building Server Applications Using ObjectiveC And GNUstep
Building Server Applications Using ObjectiveC And GNUstepBuilding Server Applications Using ObjectiveC And GNUstep
Building Server Applications Using ObjectiveC And GNUstepguest9efd1a1
 
Building Server Applications Using Objective C And Gn Ustep
Building Server Applications Using Objective C And Gn UstepBuilding Server Applications Using Objective C And Gn Ustep
Building Server Applications Using Objective C And Gn Ustepwangii
 
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Andrey Vykhodtsev
 
Hidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceHidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceSven Ruppert
 
high_level_parallel_processing_model
high_level_parallel_processing_modelhigh_level_parallel_processing_model
high_level_parallel_processing_modelMingliang Sun
 
E-GEN/iCAN
E-GEN/iCANE-GEN/iCAN
E-GEN/iCANteddi22
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your DataDaniel Nüst
 
IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationGeertjan Wielenga
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker Jonathan Martin
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiDatabricks
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaMatteo Baglini
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal JavaPhilippe Riand
 

Semelhante a Decouttere_SeqPad _BOSC2009 (20)

Large-Scale Data Storage and Processing for Scientists with Hadoop
Large-Scale Data Storage and Processing for Scientists with HadoopLarge-Scale Data Storage and Processing for Scientists with Hadoop
Large-Scale Data Storage and Processing for Scientists with Hadoop
 
Java Course 14: Beans, Applets, GUI
Java Course 14: Beans, Applets, GUIJava Course 14: Beans, Applets, GUI
Java Course 14: Beans, Applets, GUI
 
Building Server Applications Using ObjectiveC And GNUstep
Building Server Applications Using ObjectiveC And GNUstepBuilding Server Applications Using ObjectiveC And GNUstep
Building Server Applications Using ObjectiveC And GNUstep
 
Building Server Applications Using Objective C And Gn Ustep
Building Server Applications Using Objective C And Gn UstepBuilding Server Applications Using Objective C And Gn Ustep
Building Server Applications Using Objective C And Gn Ustep
 
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
Big Data Essentials meetup @ IBM Ljubljana 23.06.2015
 
Hidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceHidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-Persistence
 
high_level_parallel_processing_model
high_level_parallel_processing_modelhigh_level_parallel_processing_model
high_level_parallel_processing_model
 
Play framework
Play frameworkPlay framework
Play framework
 
E-GEN/iCAN
E-GEN/iCANE-GEN/iCAN
E-GEN/iCAN
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your Data
 
IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical Presentation
 
kishore_Nokia
kishore_Nokiakishore_Nokia
kishore_Nokia
 
React native
React nativeReact native
React native
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
 
Write an Android library
Write an Android libraryWrite an Android library
Write an Android library
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscana
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal Java
 

Mais de bosc

Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009bosc
 
Bosc Intro 20090627
Bosc Intro 20090627Bosc Intro 20090627
Bosc Intro 20090627bosc
 
Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009bosc
 
Schbath Rmes Bosc2009
Schbath Rmes Bosc2009Schbath Rmes Bosc2009
Schbath Rmes Bosc2009bosc
 
Kallio Chipster Bosc2009
Kallio Chipster Bosc2009Kallio Chipster Bosc2009
Kallio Chipster Bosc2009bosc
 
Welch Wordifier Bosc2009
Welch Wordifier Bosc2009Welch Wordifier Bosc2009
Welch Wordifier Bosc2009bosc
 
Rice Emboss Bosc2009
Rice Emboss Bosc2009Rice Emboss Bosc2009
Rice Emboss Bosc2009bosc
 
Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009bosc
 
Senger Soaplab Bosc2009
Senger Soaplab Bosc2009Senger Soaplab Bosc2009
Senger Soaplab Bosc2009bosc
 
Cock Biopython Bosc2009
Cock Biopython Bosc2009Cock Biopython Bosc2009
Cock Biopython Bosc2009bosc
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009bosc
 
Snell Psoda Bosc2009
Snell Psoda Bosc2009Snell Psoda Bosc2009
Snell Psoda Bosc2009bosc
 
Procter Vamsas Bosc2009
Procter Vamsas Bosc2009Procter Vamsas Bosc2009
Procter Vamsas Bosc2009bosc
 
Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009bosc
 
Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009bosc
 
Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009bosc
 
Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009bosc
 
Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009bosc
 
Trelles_QnormBOSC2009
Trelles_QnormBOSC2009Trelles_QnormBOSC2009
Trelles_QnormBOSC2009bosc
 
Rother_ModeRNA_BOSC2009
Rother_ModeRNA_BOSC2009Rother_ModeRNA_BOSC2009
Rother_ModeRNA_BOSC2009bosc
 

Mais de bosc (20)

Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009
 
Bosc Intro 20090627
Bosc Intro 20090627Bosc Intro 20090627
Bosc Intro 20090627
 
Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009
 
Schbath Rmes Bosc2009
Schbath Rmes Bosc2009Schbath Rmes Bosc2009
Schbath Rmes Bosc2009
 
Kallio Chipster Bosc2009
Kallio Chipster Bosc2009Kallio Chipster Bosc2009
Kallio Chipster Bosc2009
 
Welch Wordifier Bosc2009
Welch Wordifier Bosc2009Welch Wordifier Bosc2009
Welch Wordifier Bosc2009
 
Rice Emboss Bosc2009
Rice Emboss Bosc2009Rice Emboss Bosc2009
Rice Emboss Bosc2009
 
Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009
 
Senger Soaplab Bosc2009
Senger Soaplab Bosc2009Senger Soaplab Bosc2009
Senger Soaplab Bosc2009
 
Cock Biopython Bosc2009
Cock Biopython Bosc2009Cock Biopython Bosc2009
Cock Biopython Bosc2009
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009
 
Snell Psoda Bosc2009
Snell Psoda Bosc2009Snell Psoda Bosc2009
Snell Psoda Bosc2009
 
Procter Vamsas Bosc2009
Procter Vamsas Bosc2009Procter Vamsas Bosc2009
Procter Vamsas Bosc2009
 
Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009
 
Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009
 
Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009
 
Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009
 
Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009
 
Trelles_QnormBOSC2009
Trelles_QnormBOSC2009Trelles_QnormBOSC2009
Trelles_QnormBOSC2009
 
Rother_ModeRNA_BOSC2009
Rother_ModeRNA_BOSC2009Rother_ModeRNA_BOSC2009
Rother_ModeRNA_BOSC2009
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Decouttere_SeqPad _BOSC2009

  • 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)
  • 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