100 likes | 246 Views
BLAST & Regular Expression Searches Functionality Susie Stephens Life Sciences Product Manager Oracle Corporation. BLAST in the Database. Implemented using a table function interface BLAST search functions can be placed in SQL queries Different functions for match and align
E N D
BLAST & Regular Expression Searches Functionality Susie Stephens Life Sciences Product Manager Oracle Corporation
BLAST in the Database • Implemented using a table function interface • BLAST search functions can be placed in SQL queries • Different functions for match and align • SQL queries can be used to pre-filter database of sequences and post-process the search results • Combination of SQL queries and BLAST is very powerful and flexible
Sub select the sequence database Export the sequences Create BLAST dataset Run BLAST search Import search result into database Write SQL queries for further analysis BLAST Server Sequence DB Search Result Stand-alone BLAST Server Export FormatDB exportFile BLAST DB Import
Core Functionality of BLAST • Implemented an NCBI BLAST 2.0-like version of BLAST • Implemented the 5 core variants • BLASTN: Nucleotide sequence vs. nucleotide db • BLASTP: Protein sequence vs. protein db • TBLAST: Searches involving translations • BLASTX: translated nucleotide sequence vs. protein db • TBLASTN: protein sequence vs. translated nucleotide db • TBLASTX: translated nucleotide sequence vs. translated nucleotide db
BLAST Interface select t.seq_id, t.score, t.expect from Table(BLASTN_MATCH( ‘ATCGAGTACGTACAT’, cursor (select seq_id, sequence from GENE_DB where organism = ‘human’), 5, /* expect_value */ 12)) t /* word_size */ seq_id, score, expect BLASTN_MATCH organism = ‘human’ query_sequence, parameters GENE_DB
Regular Expression Searches • Powerful method of describing simple and complex patterns for searching and manipulating • Multilingual regular expression support for SQL and PL/SQL string types • Follows POSIX style Regexp syntax • Support standard Regexp operators • Compatible with popular Regexp implementations like GNU, Perl, Awk
Features • Quantifiers • Grouping • Back References • Character Classes • Anchors • Backtracking • Greediness • LOB Support • Match Options • Locale Sensitive ‘.’ any one character ‘+’one or more ‘*’ zero or more ‘?’ zero or one ‘{m,n}’ between m and n ‘|’ infix or ‘()’ group ‘[ .. ]’ any in the list ‘[^ .. ]’ any not in the list ‘\n’ reference nth group ‘^$’ line/string anchor ‘[:c:]’ classes