moved app messaging to Log::Report; validation of vep data before updating db tables; tests scripts test data insert to sqlite in-memory db; switched off console output of vep data structures for devel; trialing optional bootstrap 3.3.6 css
wrapped call to NGS::VEP in try/catch to handle die via 500.tt - works for tests as well; test for invalid filename; display list of valid filenames in upload page
major version change: refactored _run_vep() to select consequence, variation, sift & polyphen values from specified gene/feature combination (multiple entries for same exon_id from vep, with varying sift, polyphen, consequence & variation vals taken into hashref meant last one wins); added cds and protein annotation vals; vep data row skipped & warning issued if ENSG0000* gene id not present in transcripts db
added new counters for vep input rows and raw src_file rows; patched lab number regex to allow optional letter prefix; fixed test scripts to report vep input row count instead of 'accepted' rows
bugfix to _prediction_and_score() - needed to skip undef vars; colour-coded results if deleterious or damaging; truncated long (>30 char) variation results; re-ordered results cols for clarity
replaced / readline with IO::All methods pipe and getline; always returned defined content for sift & polyphen in _prediction_and_score() to avoid empty cells in results.tt; bugfix ngs.css