Team:BU Wellesley Software/Notebook/TailiNotebook
From 2011.igem.org
Week of June 3 (Bootcamp!)
- Overview of iGEM Competition
- Introductory crash course on Biology and Synthetic Biology
- Summary on Tuberculosis
- Connection between Synthetic Bio and CAD concepts (super cool)
- Existing tools developed for Synthetic Bio
- Digital Logic
Week of June 10 (Brainstorming via [http://www.youtube.com/watch?v=Q8uXVq2yseI G-Nome Surfer])
- Reconsider the application of G-nome Surfer towards Synthetic Bio
- Provide support for prokaryotes (previously only focusing on eukaryotes)
- New visualizations for displaying circular chromosomes
- New visualizations for BLAST results
- Improve existing [http://www.ncbi.nlm.nih.gov/pubmed/ PubMed] access function on G-nome Surfer
- Ability to support over 200 publication results
- Debug HTTP request bug in code
- Optimize method for pulling data via internet
- Design new ways for visualizing large quantities of text-based data
- Brainstorm Extended Desktop feature
- co-existence of multiple layers in a way that does not hinder interaction
- smooth animation for data transfer between layers
- Expand existing code on feature implementation
Week of June 17 (Implementation of initial prototype)
- Explored interactions of a wheel-like feature for navigating circular chromosome based on [http://www.youtube.com/watch?v=PM8hbKfU5iI&feature=channel_video_title paper prototype]
- Construct functional prototype of chromosome wheel and base pair navigation using [http://www.microsoft.com/surface/softwareplatform.aspx Surface SDK]
- Adopted interaction approach via custom user control and Affine2DManipulationProcessor events (versus the alternative of using ScatterViewItems and preexisting contact events)
- Dynamically generated tick marks and labels on wheel according to base pair information
- Overlay of actual gene visualization by porting GView into WPF environment
- Continued brainstorming concepts for new publications (PubMed feature) interaction
- Studied [http://www.geneious.com/ Geneious] software's approach to handling publications
- Pros and cons between PubMed and Google Scholar
- Common methods for sorting and filtering publications during research
Week of June 24 (Prep for first demo)
- Worked out GView adaptation into G-Nome Surfer
- Created live access to GView through terminal access and .jar execution
- Implemented publications feature on G-Nome Surfer
- Shuffling interaction
- Adopted cards-in-a-box metaphor for interaction
- Added animations to Chromosome Wheel feature
- Integration of Chromosome Wheel and publication feature with rest of project (zooming, search menu, individual gene exploration, sequences, ontology, back-end data management, etc)
Week of July 1 (Refined direction for competition)
- Adapted implementation of new codes using [http://msdn.microsoft.com/en-us/library/ms752347.aspx data binding] and unit testing techniques (WAY more organized code!)
- Refractored publication feature code using new techniques
- Implemented real-time result retrieval
- Optimized HTML parsing code using [http://htmlagilitypack.codeplex.com/ HTML Agility Pack]
- Reduced lag time to less than 2 seconds for over 200 results
Week of July 8 (Adopting [http://msdn.microsoft.com/en-us/magazine/dd419663.aspx Model-View-ViewModel] concept)
- Restructured entire G-nome Surfer Pro application by using the Model-View-ViewModel concept
- Separated all previously existing classes into Models, Views, ViewModels, and auxiliary classes
- Merged all resource dictionaries into a common dictionary
- Cleaned up and removed unnecessary code
- Replaced all components of the application from various different controls into SurfaceUserControls
- Re-wrote Publications feature using new MVVM concept
- Applied articles-in-a-box metaphor to Publications feature
- Implemented drag and drop interaction using the [http://msdn.microsoft.com/en-us/library/ee804812(v=surface.10).aspx DragandDropFramework]
- Improved color scheme for Publications feature
Week of July 15 (Adding Extended Desktop feature)
- To support better information organization and workflow efficiency, we designed an extended desktop feature, similar to a drawer/file cabinet metaphor
- Implemented additional layer on G-nome Surfer Pro as extended desktop
- Filtered horizontal touch manipulation for layer
- Implemented object transferring between layer mechanism