90 likes | 217 Views
BSL. B iological S cripting L anguage. Jared Eng Jay Kota Igor Marfin Amna Qaiser. Background / Overview. Sequence handling DNA, RNA, amino acid etc… Nucleotides A, C, G, T, U, F, L, S, Y, C, etc … Sizeable number Massive amounts. BSL Functionality.
E N D
BSL B iological S cripting L anguage Jared Eng Jay Kota Igor Marfin Amna Qaiser
Background / Overview • Sequence handling • DNA, RNA, amino acid etc… • Nucleotides • A, C, G, T, U, F, L, S, Y, C, etc … • Sizeable number • Massive amounts
BSL Functionality • Specializes in sequence manipulation, translation, and analysis • Methods • Access • Search • Align • Map • Translate
Sample Script /* Here is a test script */ start method int TestMethod (Sequence a, Sequence b) Print: a, “myfile.txt”; return 0; end method; new Sequence dnaSeq1 type DNA = “AGGGAACCTT”; new Sequence dnaSeq2 type DNA = “AGGAACTC”; new int dnaSum; dnaSum = TestMethod: dnaSeq1, dnaSeq2; Print: dnaSum; /* End script */
Syntax and Semantics • Primitives and BSL objects (int vs Sequence) • Sequence has “type” associated with it • Properties: length, type, value • Method calls: Align: Sequence, Sequence; • User defined methods (Overloading)
Architecture Overview • Used ANTLR • Invoke using java BSL_TreeParser <file> • Input: .bsl file • Outputs java file and compiles the file
BSL Implementation • Method symbol tables • Java Classes handle method calls • Align is taken care of by Aligner • Uses Smith-Waterman Algorithm • Approach to implementation • Modularity allowed for faster coding time • Easier testing
Testing Plan • Phase I • BSL Libraries • Lexer and Parser (Grammar) • Phase II • Code Generator • Combined Testing
Lessons and Future Goals • Start early • Keep minutes • Stay focused • Incorporate more algorithms • Access online databases • Make millions and retire early