Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

17
Protein Manipulation Domain Specific Language Lu Sun Shuo Wu

Transcript of Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Page 1: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Protein Manipulation Domain Specific

LanguageLu Sun

Shuo Wu

Page 2: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

OutlineBackground

Development Environment

Goals of DSL

Grammar model

Grammar

Editor

Code generation

Future work and Conclusion

Page 3: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

BackgroundDSL

General-purpose programming languageC, Java or Python

Domain specific languageSQL, HTML, YACC

XtextDefine grammar

XtendLanguage execution

Page 4: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Development EnvironmentOperating System: Windows 7

Eclipse Integrated with Xtext

JDK 1.7

Page 5: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Goals of DSLThe PDB(Protein Data Bank) file is used to describe

protein structures.

An example of PDB files:

Only desceibe the name of the atoms as well as their coordinates.

ATOM 1 N GLN A 1 12.606 0.298 -13.791ATOM 2 CA GLN A 1 13.611 1.223 -13.286ATOM 3 C GLN A 1 14.099 0.753 -11.915ATOM 4 O GLN A 1 15.229 1.025 -11.507ATOM 5 CB GLN A 1 13.013 2.631 -13.203ATOM 6 CG GLN A 1 13.956 3.685 -12.648ATOM 7 CD GLN A 1 13.321 5.064 -12.624

Page 6: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Goals of DSLOur DSL is designed to simplify management and

manipulation of the protein description file.

expected functionality: import and export protein conformations into or

from the DSL program. implement insert and link operations on the protein

objects.

Page 7: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Grammer - semantic model

Page 8: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Grammer

Page 9: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Grammer//Declaration of protein

protein p

//import a protein conformation from an external file

import 'input.pdb' into p

//export a protein conformation into an external file

dump 'output.pdb' from p

Page 10: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Grammer//link two proteins

combine p1 p2 into p

//insert a segment into a protein

insert p1(12,33) into p2(124,145)

Page 11: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Grammer

declaration

operation

*The operations can be in any orders

Page 12: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Editor

Eclipse and Xtext automatically generate an editor with code completion and error checking.

Page 13: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Editor

Page 14: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Code Generation

Page 15: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Code Generation

Page 16: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Code Generation

Page 17: Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.

Future Work and Conclusion

Grammer EvolutionAdd iteration to handle the batch taskOptimize the structure of the grammer

Functionality EvolutionComplete the functionalities

Manipulate protein structure in other waysCompare a pair of protein’s structure

ConclusionNatual language like Easy to use