1 / 23

DSL for Pedigree Rearrangements

DSL for Pedigree Rearrangements. CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala. Agenda. DSL overview Goals of DSL Tool support for the DSL DSL creation technology Sample usage Foreseen impact of language evolution Potential for analysis

bowen
Download Presentation

DSL for Pedigree Rearrangements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DSL for Pedigree Rearrangements CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala

  2. Agenda • DSL overview • Goals of DSL • Tool support for the DSL • DSL creation technology • Sample usage • Foreseen impact of language evolution • Potential for analysis • Conclusions

  3. DSL Overview • Domain Specific Language (DSL) is a specific language being used to solve problems in a particular domain • It is not intended to work outside that domain • Contains very specific goals in design and implementation

  4. DSL for Pedigree Rearrangements  • Genetic analysis of biological data is one of the most important research directions in modern bioinformatics • The data to be analyzed is supplied in different textual formats by hospitals/researchers and may be analyzed by different bioinformatics tools • Our focus is on the type of genetic data called pedigree data presented in so-called PEDFILES • Typical pedigree data is presented by the family structure • Includes persons and child-parents relations between the persons

  5. A simple pedigree example Graphical representation of the pedigree data Textual representation of the pedigree data - PEDFILES • Each line represents Pedigree data and Biological data for a specific person

  6. Why do we need a graphical tool? • Usual work flow of a bio informaticians involve extensive editing of PEDFILEs • Initial PEDFILEs received from hospitals may include too big pedigrees or too much biological data in order to be analyzed by existing software • This problem requires splitting PEDFILEs into smaller sub pedigrees or/and removal of different persons from a pedigree in order to make it analyzable • The rearrangement of a pedigree requires multiple point changes within pedigree data • It is not feasible • Bio informaticians thus need some visual graphical environment for presentation and rearrangement of pedigrees

  7. Scope of tool support for the DSL • Provides visual graphical environment for presentation and rearrangement of pedigrees • Provides the possibility to save the constructed and rearranged pedigreesto textual PEDFILEs

  8. DSL creation technology

  9. Overview of the approach • Meta-model: Construction and development of objects, relations, constraints and actions for modelling a predefined class of problems. • In the case of Pedigree Rearrangements problem the meta-model is defined as the set of the following: • Objects: • Person – represents single person in a pedigree. Holds the following data: name (unique within a pedigree), person's sex and biological data • Pedigree – a set of persons and relations among them. Pedigree has unique id (Pedigree ID) • Relations: • Person has a father • Person has a mother • Pedigree consists of persons

  10. Constraints • Person can have maximum one father and one mother • Person can be associated to exactly one pedigree • Person can not be connected to persons in another pedigree • Adding a new relation of type child-parents shouldn't create directed cycles in a pedigree • In simple words, circular relationships can not exist between persons, ex: mother can not be a child....

  11. Pedigree Rearrangements Model

  12. Example – input PEDFILE Ped1 grandfather1 0 0 1 1 2 1 1 2 2 1 2 3 Ped1 grandmother1 0 0 2 1 1 1 2 3 4 2 12 3 5 Ped1 grandfather2 0 0 1 1 2 3 2 2 2 2 2 2 2 2 Ped1 grandmother2 0 0 2 4 4 4 4 423 2 3 2 4 Ped1 grandfather3 0 0 1 1 2 1 2 4 5 6 3 2 Ped1 father grandfather1 grandmother1 1 12 1 3 4 56 4 3 56 7 8 Ped1 mother grandfather2 grandmother2 2 1 2 4 5 6 3 4 2 45 32 Ped1 stranger grandfather3 grandmother2 1 2 3 4 5 1 3 4 6 7 8 56 Ped1 mother2 grandfather3 grandmother2 2 1 2 3 4 6 4 5 6 7 8 Ped1 child1 father mother 1 1 2 1 2 1 2 1 2 1 2 Ped1 child2 stranger mother2 2 1 2 34 54 6 7 8

  13. Example - editor view of the input pedigree

  14. Example – editor view of the output pedigree

  15. Example – output PEDFILE Ped1 grandfather1 0 0 1 1 2 1 1 2 2 1 2 3 Ped1 grandmother1 0 0 2 1 1 1 2 3 4 2 12 3 5 Ped1 grandfather2 0 0 1 1 2 3 2 2 2 2 2 2 2 2 Ped1 grandmother2 0 0 2 4 4 4 4 423 2 3 2 4 Ped1 father grandfather1 grandmother1 1 12 1 3 4 56 4 3 56 7 8 Ped1 mother grandfather2 grandmother2 2 1 2 4 5 6 3 4 2 45 32 Ped1 child1 father mother 1 1 2 1 2 1 2 1 2 1 2 Ped2 grandfather3 0 0 1 1 2 1 2 4 5 6 3 2 Ped2 grandmother2 0 0 2 4 4 4 4 423 2 3 2 4 Ped2 stranger grandfather3 grandmother2 1 2 3 4 5 1 3 4 6 7 8 56 Ped2 mother2 grandfather3 grandmother2 2 1 2 3 4 6 4 5 6 7 8 Ped2 child2 stranger mother2 2 1 2 34 54 6 7 8

  16. Model-to-text (M2T) transformation technique used • The Model to Text (M2T) transformations focus on the generation of textual artifacts from models • New PEDFILEs are generated using Xpand • Xpand is a language specialized on code (text) generation based on EMF models • Provides OCL-like expressions (semantics) with Java-like syntax

  17. Language evolution – GUI adjustments • Different shapes and/or colors for person items according to person sexes • Persons dropped onto the pedigree “canvas” instead of being linked to it by arrows • These require minor changes in GMF components • Considered for the upcoming release on the 18th of April

  18. Language evolution – functionality extensions • Pedigree layout is the crucial parameter in visual analysis of pedigree structure • Different auto-layout algorithms should provide different views of a pedigree structure • It takes a lot of time to build a pedigree from a given PEDFILE manually • Automatic construction of a pedigree by only browsing a PEDFILE would be helpful • These are hard to implement in existing DSL Toolkit and require extensions to the framework

  19. Potential for analysis – Bayesian networks • These statistical networks are used to analyze biological data stored in pedigrees • They are provided as input to different statistical bioinformatics software (Superlink, Gene hunter, Allegro etc.) • BNs are graphs with specific properties, constructed using pedigree structure and biological data • BNs are much more complex to construct than pedigrees (more nodes, more links)

  20. Potential for analysis – Bayesian networks, example pedigree

  21. Potential for analysis – Bayesian networks, example network

  22. Potential for analysis – Bayesian networks, transformation • BNs are presented in structured textual files, just as PEDFILEs • Define meta-model for BayesianNetwork • Define model-to-model (M2M) transformation from Pedigree Model to Bayesian Network model • Define model-to-text (M2T) transformation for Bayesian Network • Run BN analysis software and find disease gene locations!

  23. Conclusions • Our tool provides support for graphical representation of biological instances • Existing DSL creation tools do not provide full coverage for all DSL editor needs • Data to be manipulated is very complex, therefore automation of transformations between different models becomes essential • Software Engineering should enhance the ongoing research in biology, otherwise it is not feasible due to exponentially growing amount of biological data

More Related