GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software...
Transcript of GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software...
![Page 1: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/1.jpg)
GeneJax: A Prototype CAD tool in support of Genome
Refactoring
Ishan AnandJune 7, 2006
![Page 2: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/2.jpg)
What is GeneJax● “Google Maps for Genomes”
– Google Map style navigation– JavaScript (aka “AJAX”) Web Browser Application
● Supports the dissection of genomes during genome refactoring process
![Page 3: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/3.jpg)
This Presentation● Introduction
– Genome Refactoring– Motivatation for GeneJax
● GeneJax Features– What worked, what didn't.
● GeneJax Implementation Details● Future Enhancements
![Page 4: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/4.jpg)
Introduction
![Page 5: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/5.jpg)
Software Refactoring● Refactoring:
– Redesign of a software program– Improves isolation between functional modules– Removes unused and redundant modules– Adds no new features.
● Benefits: – Easier to understand: Each module has less
complexity and can be tested inpendently– Easier to modify: Modules can be replaced or
altered independently
![Page 6: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/6.jpg)
Genome Refactoring● Refactoring:
– Redesign of a genome– Improves isolation between functional elements (i.e.
Genes, promoters, etc.)– Removes unused and redundant elements– Adds no new features.
● Benefits: – Easier to understand: Each genome section has
single purpose and can be tested inpendently– Easier to modify: Elements can be replaced or
altered independently
![Page 7: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/7.jpg)
Genome Refactoring
Natural Genome
Natural Genome magnified to show overlapping parts
Refactored Genomewith no overlapping
parts
Region of overlap between parts
Region with overlap between parts removed
![Page 8: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/8.jpg)
Genome Refactoring Process
Natural Genome Refactored GenomeComparison
Visualization
Genome and Annotations
Dissection
Raw Parts Refined Parts
Editing
Synthesis
Additional Parts
![Page 9: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/9.jpg)
Genome Refactoring Tools
Natural Genome Refactored GenomeComparison
Visualization
Genome and Annotations
Dissection
Raw Parts Refined Parts
Editing
Synthesis
Additional Parts
BioViz
GBrowse, VectorNTI
Parts Registry
Parts Registry
?
![Page 10: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/10.jpg)
Dissection Tool Needed
Natural Genome Refactored GenomeComparison
Visualization
Genome and Annotations
Dissection
Raw Parts Refined Parts
Editing
Synthesis
Additional Parts
BioViz
GBrowse, VectorNTI
Parts Registry
Parts Registry
? GeneJax!GeneJax!
![Page 11: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/11.jpg)
GeneJax Goals● Genome Dissection tool for Refactoring:
– Define and extract parts from a natural genome sequence
● Also a Visualization tool by necessity
![Page 12: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/12.jpg)
Inspired by Google Maps● Similar tasks
– Map a local region from large data set– “Click-drag” navigation– Zoom in/out– Multiple viewing modes
● Plan– Build a Google Maps for T7.1 genome– Add part manipulation features
![Page 13: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/13.jpg)
GeneJax Features
![Page 14: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/14.jpg)
GeneJax User Interface
Search Box Genome Map and Slider
ViewingPane
ToolButtons
StatusFields
![Page 15: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/15.jpg)
GeneJax Navigation Features● Planned Features
– Click-drag– Zoom In/Out
● Useful range is limited● Problems
– Partly needed because zoom didn't work– Difficult to move around a genome by click-drag
alone.– User felt lost. Need to know where in the genome
they were.
![Page 16: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/16.jpg)
GeneJax Navigation Features● New Navigation Features
– Search box● Forgot search! Essential part of Google Maps. 'Duh!● Jump to any annotation or part● Auto suggests parts/annotation
– Map● Map of genome● “Slider” indicating current position on map● Google Maps later adopted something similar during
development of GeneJax
![Page 17: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/17.jpg)
GeneJax Dissection Features● Part Visualization
– Parts above sequence– Annotations below the sequence
● Part Manipulation– Create– Rename– Delete– Export
![Page 18: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/18.jpg)
GeneJax Implementation
![Page 19: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/19.jpg)
GeneJax Architecture
Web Browser running
JavaScript
Client
Apache Web Server
running PHP
ServerHTTP GET Request
JSON Response
![Page 20: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/20.jpg)
Click-drag animation● Basic display elements are text elements
– Google Maps, etc. display elements are images– Leverage font resizing for zoom features
● JavaScript animation– Sluggish at first.– Biggest improvement: Caching DOM Access
● Two algorithms– Base pairs (fixed number of display elements)– Parts (variable number of display elements
![Page 21: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/21.jpg)
Base Pair Animation
2 3 4
Viewable Area
Display Elements
2 3 4
2 3 44
Last element movesoutside viewable area
Element moves from last to first positon
2 31
Element changesdisplayed valueand moves intoviewable area
![Page 22: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/22.jpg)
Part/Annotation Animation
Viewable Area
Display Elements
Note 1Note 2
Element is discardedas it moves outside the
viewable area
Elementis created
as it movesinside the
viewable area
Note 1Note 2
Note 0
![Page 23: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/23.jpg)
GeneJax Server● Server
– Loose collection of PHP scripts– Not major focus of development effort– Just wanted something that works
● Base Pair Lookup– Flat text file– nth base pair is at nth byte of file
● Annotation Lookup– PHP file evaluated by server to get annotation
information
![Page 24: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/24.jpg)
Comparison with GBrowse● Another “Google Maps for Genomes” project● http://genome.biowiki.org/● Independently proposed ● Very cool. Very impressive.● Different approach
– No on-the-fly rendering by client or server– Display elements are images– Only visualization, no genome dissection
![Page 25: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/25.jpg)
Comparison with GBrowse● Advantages
– More efficient than GeneJax for server and client– Can display any type of annotation
● Disadvantages– No part manipulation features yet, but they have
thought about it.– Difficult to independently manipulate parts
● Base pairs and annotations are inseparably commingled together into static image.
![Page 26: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/26.jpg)
Future Enhancements
![Page 27: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/27.jpg)
Future Navigation Enhancements● Zoom needs to be fixed
– Dynamically switch to “functional” view● Possible map/slider improvements
– Zoom within map– Multiple maps/sliders at different scales– Map is always “zoomed” out by fixed ratio
● Web style navigation– Forward, back button– Bookmarks
![Page 28: GeneJax: A Prototype CAD tool in support of Genome Refactoring · 2017-01-26 · Software Refactoring Refactoring: – Redesign of a software program – Improves isolation between](https://reader034.fdocuments.in/reader034/viewer/2022050123/5f5354d79f921d171121b0b3/html5/thumbnails/28.jpg)
Future Enhancements● Integration with MIT Biological Parts Registry● Scaling to support larger Genomes
– Client limited by ● “Local” number of annotations. Will scales● “Global” number of parts. May scale. Can get help from
server if it does not.– Server
● Base pair retrieval should scale● Annotation retrieval may not scale.● Hard to maintain. Migrate to a real database?