![Page 1: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/1.jpg)
TranSMART API & Plugin Development: A Case Study
TranSMART Community MeetingChilly-Mazarin, France
November 6, 2013
![Page 2: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/2.jpg)
Requirements
• HTML5 Genome Browser (in-place in UI)• Drag-n-drop of High-Dimensional Data Nodes– Visualization of Genomic Variants– Visualization of Copy Number Variation Data
• Visualization of public data (gene annotations, SNP chip coverage, COSMIC annotations etc.)
• Switching between genome builds
![Page 3: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/3.jpg)
Community Consultation• Ask transmart-discuss mailing list what people
are using / planning to use as genome browser• Ask the same on the LinkedIn group• Start a wiki topic on the tranSMART Foundation
wiki with an inventory of pro’s and con’s of the various genome browsers available
![Page 4: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/4.jpg)
Solution
• Dalliance genome browser chosen as frontend• MyDAS was chosen as backend• Both implemented as plugins• Core API had to be extended with a few VCF-
specific methods
![Page 5: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/5.jpg)
Kees van Bochove - The Hyve
Emerging tranSMART Architecture
![Page 6: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/6.jpg)
Extend the core API
![Page 7: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/7.jpg)
Write some tests
![Page 8: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/8.jpg)
Create some implementing plugins
• https://github.com/thehyve/transmart-mydas• https://github.com/thehyve/dalliance-plugin
DB
MyDAS Backend Plugin Dalliance Frontend Plugin
TranSMART Core API
![Page 9: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/9.jpg)
Add them to transmartApp
but don’t force it upon others
![Page 10: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/10.jpg)
Leverage other branches• Implementing VCF loading (and viewing) and
GWAS loading and viewing in tranSMART• VCF loader taken from GWAS Pfizer branch• Also, variant definitions (SNP loading) were
present in the J&J branch• It proved challenging to merge both
approaches, we but succeeded in the end• Generating more docs on the wiki!
![Page 11: tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins, APIs)](https://reader035.vdocuments.us/reader035/viewer/2022070304/54bbf1c64a795952248b456b/html5/thumbnails/11.jpg)
2. Drag genomic node on genome browser
The end result