170 likes | 295 Vues
Protein Manipulation Domain Specific Language. Lu Sun Shuo Wu. Outline. Background Development Environment Goals of DSL Grammar model Grammar Editor Code generation Future work and Conclusion. Background. DSL General-purpose programming language C, Java or Python
E N D
Protein Manipulation Domain Specific Language Lu Sun Shuo Wu
Outline • Background • Development Environment • Goals of DSL • Grammar model • Grammar • Editor • Code generation • Future work and Conclusion
Background • DSL • General-purpose programming language • C, Java or Python • Domain specific language • SQL, HTML, YACC • Xtext • Define grammar • Xtend • Language execution
Development Environment • Operating System: Windows 7 • Eclipse Integrated with Xtext • JDK 1.7
Goals of DSL • The 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.791 ATOM 2 CA GLN A 1 13.611 1.223 -13.286 ATOM 3 C GLN A 1 14.099 0.753 -11.915 ATOM 4 O GLN A 1 15.229 1.025 -11.507 ATOM 5 CB GLN A 1 13.013 2.631 -13.203 ATOM 6 CG GLN A 1 13.956 3.685 -12.648 ATOM 7 CD GLN A 1 13.321 5.064 -12.624
Goals of DSL • Our 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.
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'fromp
Grammer //link two proteins • combine p1 p2 into p //insert a segment into a protein • insertp1(12,33)intop2(124,145)
Grammer declaration operation *The operations can be in any orders
Editor • Eclipse and Xtext automatically generate an editor with code completion and error checking.
Future Work and Conclusion • Grammer Evolution • Add iteration to handle the batch task • Optimize the structure of the grammer • Functionality Evolution • Complete the functionalities • Manipulate protein structure in other ways • Compare a pair of protein’s structure • Conclusion • Natual language like • Easy to use