STR-validator

3xNews
12.08.2017: STR-validator version 2.0.0 released! Check out the updated tutorial and Italian translation (by Massimiliano Stabile  and Stella Eugenia Cirillo).
23.07.2017: The import issue introduced in R 3.4.0 is solved by updating gWidgetsRGtk2 to the latest version (see this issue on github).
11.07.2017: NB! STR-validator may not work on R versions greater than 3.4.0. See known problems. I am working on a fix.

Introduction
STR-validator is written and maintained by Oskar Hansson at Oslo University Hospital (OUS), Section of Forensic Genetics. The work has received external funding from the European Union seventh Framework Programme (FP7/2007-2013) under grant agreement n° 285487 (EUROFORGEN-NoE), and some work are performed as a part of my position at OUS.

STR-validator is a free and open source R-package developed mainly for internal validation of forensic STR DNA typing kit. However, it is equally suited for validation of other methods and instruments, or for process control. Its graphical user interface makes it very easy to analyse data exported from e.g. GeneMapper® software, without any knowledge about R commands. It provides convenient functions to import, view, edit, and export data. After completed analysis the results, generated plots, heat-maps, and data can be saved in a project for easy access. Currently, analysis modules for stutter, balance, drop-out, concordance, mixtures, precision, pull-up, result types, and analytical threshold are available. STR-validator can greatly increase the speed of validation by reducing the time and effort needed for analysis of the validation data. It allows easy exploration of the characteristics of DNA typing kits according to ENFSI and SWGDAM recommendations. Another area of use is monitoring of the contamination level which is essential to estimate the probability of drop-in. In this way STR-validator facilitates the implementation of probabilistic interpretation of DNA results. 

Tutorial, installation instructions and other material are available for download at the bottom of the page.

Please report errors in the manual and tutorials to the package maintainer (link).

Workshops and courses involving STR-validator
2017
2016
  • "Statistical methods in forensic genetics", Bologna (Italy) 6-7 June
2015
  • "Statistical methods in forensic genetics Train the trainers Workshop", Copenhagen (Denmark) 20-23 April
  • "Mixtures, complex DNA profiles, and interpretation with the LRmix Studio software", Krakow (Poland) 1 September
2014
  • "Statistical methods in forensic genetics Train the trainers Workshop", Copenhagen (Denmark) 20-23 May

Papers citing STR-validator
2017
2016
2015
Contribute to STR-validator
Contribution to the strvalidator R package or STR-validator community is more than welcome. Do not hesitate to contact the developer to:
  • Contribute with improvements or new functions to the strvalidator package.
  • Contribute with translations of course material, manuals or tutorials.
  • Collaborate to implement new functions.
    Code validation
    STR-validator uses the 'testthat' package to write tests for important functions. It works by comparing the result of calculations with the expected hard-coded result, often calculated using e.g. a spread-sheet software. Tests are automatically run upon compilation of a new version of STR-validatorIf a test fail the new version cannot be created. New functions must have tests written for them. If bugs are found tests are written to check that the bug is fixed. Currently the following functions are specifically tested:
    • addSize
    • calculateBalance
    • calculateConcordance
    • calculateDropout
    • calculateHeight
    • calculateLb
    • calculateMixture
    • calculateOL
    • calculateStutter
    • filterProfile
    • tableBalance
    • trim

      Known problems
      Known problems and bugs with the current version 2.0.0:
      • Plot titles are left aligned instead of centred - this is not a bug. The reason is new options and defaults in the package ggplot2 version 2.2.0. If you would like centred titles as before please either a) revert to ggplot2 version 2.1.0, or b) save as a ggplot object and customise manually. See this Facebook post for details. The new options may be implemented in a future version of STR-validator but this is not prioritised.
      • Estimation of analytical thresholds (AT) - using any of the metacharacters in extended regular expressions: . \ | ( ) [ { ^ $ * + ?. may prevent masking of data using a reference dataset. Avoiding these characters in sample names will keep you out of trouble. For more information see this Facebook post by Alexander at the STR-validator community. 

      In case you want to try out the latest development version it can be download by typing this into the command window:
      devtools::install_github("oskarhansson/strvalidator")

      You may need to install devtools to make it work:
      install.packages("devtools", dependencies=TRUE)

      Note that the development version is not stable and some changes may be reverted before the next stable version is released to CRAN. 


      For a complete list of current and past reported bugs and issues see GitHub (direct link).

      User community and support
      Discuss STR-validator in the Facebook group: https://www.facebook.com/groups/strvalidator/
      Get news, tips, and other information at the Facebook page: https://www.facebook.com/pages/STR-validator/240891279451450?ref=tn_tnmn
      There will occasionally be sent out information by mail. Contact me if you wish to be added to the mailing list (e-mail is found the STR-validator CRAN page).

      Report bugs
      Please report bugs at GitHub (direct link). Remember to provide a reproducible example if possible.

      Links
      The source code is hosted at GitHub: https://github.com/OskarHansson/strvalidator
      Please report bugs at GitHub (direct link). Remember to provide a reproducible example if possible.


      This video show how to analyse heterozygous balance, inter-locus balance, stutter ratio, and sizing precision: http://youtu.be/aUDlDI744ZI

      For better performance (multi-core support) see: https://mran.microsoft.com/

      Work in progress
      • Routine maintenance.
      Version history - main features [release date]
      2.0.0 - Migration to gWidgets2. New audit trail. Remember last used paths. [12.08.2017] 
      1.9.0 - Minor improvements and corrections. New function to add marker order to a dataset. [08.03.2017] 
      1.8.0 - Several functions rewritten for faster analysis. Calculation of profile proportion in height metrics, and many other improvements. [04.10.2016] 
      1.7.0 - New functions for drop-in analyses. Support for quality sensors. Numerous minor improvements. [05.07.2016]
      1.6.0 - Automatic calculation of average peak height when analysing drop-out and balance. New functions for efficient profile balance, and marker ratio calculations. [19.01.2016]
      1.5.2 - Calculation for AT6 corrected (use standard error of the regression instead of standard error of the intercept). [31.08.2015]
      1.5.1 - (not on CRAN) Fixes some bugs in the AT analysis module. [27.06.2015]
      1.5.0 - Estimate analytical thresholds. Improved import (autotrim, autoslim). [10.06.2015]
      1.4.0 - Analyse pull-ups, generate EPG's, changes to kit file to handle multiple sex markers. [07.01.2015]
      1.3.1 - Fixed window losing focus (hidden windows). Simpler installation. Bug fixes.
      1.3.0 - Integrated project manager. New module for analysis of concordance and mixtures. Bug fixes. [13.08.2014]
      1.2.0 - Added Fusion and GlobalFiler kit. New module for analysis of capillary balance. Bug fixes.
      1.1.0 - Compatibility update (testthat 0.8) and multiple improvements.
      1.0.0 - Major update with important bug fixes. New kit file structure and several new features.
      0.3.0 - Option to save GUI state
      0.2.0 - Graphical user interface (GUI)
      0.1.0 - Initial release on CRAN

      Publications
      Hansson O, Gill P. Egeland T. STR-validator: An open source platform for validation and process control. Forensic Science International: Genetics. 2014;13:154-166.

      Hansson O, Gill P. Free open source software for internal validation of forensic STR typing kits. Forensic Science International: Genetics Supplement Series. 2013;4(1):e300–e301. 

      Downloads
      Here is a selection of downloads (a complete list is available at the bottom of the web page - if a link does not work, please try clicking the blue arrow).

      Manuals

      Tutorials and exercises
      Posters
      • "Free open source software for internal validation of forensic STR typing kits" presented at the 25th World Congress of the International Society for Forensic Genetics, 2 – 7 September 2013, Melbourne, Australia. [Poster_ISFG2013.pdf]


      Screen shots

       
      The STR-validator GUI
      The main program graphical user interface

      Kit marker ranges comparison
      Kits marker range comparison.

      ESX17 profile
      ESX17 EPG generated from allele and peak height information.

      ESX17 mixture
      ESX17 EPG mixture of two arbitrary samples.

      Histogram
      Histogram of peak heights in PCR negative control samples.

      Blocked ranges
      Blocked data ranges in a positive control sample prior to estimation of AT.

      Regression
      Linear regression of serial dilutions to estimate AT.


       Dropout model by logistic regression
      Dropout modelling

      Dropout modelling
      Dropout modelling

      Heatmap
      Heatmap allele and locus dropout

      Dropout event dotplot
      Dropout event dotplot per locus

      Empirical cumulative distribution of dropout events
      Empirical cumulative distribution of peak heights for single heterozygous alleles and homozygous peaks



      Peak balance
      Heterozygous peak balance by mean peak height plotted per locus


      Balance by repeat difference
      Heterozygous peak balance by allele repeat difference plotted by locus

      Locus balance
      Inter locus balance by mean peak height plotted by locus

      Contamination
      Contaminations in negative extraction and PCR controls

      Peak height distribution of drop-in contamination
      Peak height distribution of drop-in contaminations

      Fragment size distribution of drop-in contaminations
      Fragment size distribution of drop-in contaminations

      Result type analysis
      Result type analysis of low template samples

      Size precision analysis
      Size precision analysis of allelic ladders per allele and locus


      Complete list of downloads - if a hyperlink does not work, please try clicking the blue download arrow.
      ċ
      Guided_Exercise_Contamination.zip
      (64k)
      Oskar Hansson,
      May 26, 2014, 4:27 AM
      ċ
      Guided_Exercise_Dropout.zip
      (36k)
      Oskar Hansson,
      May 26, 2014, 4:27 AM
      Ċ
      Oskar Hansson,
      Apr 26, 2015, 11:33 PM
      Ċ
      Oskar Hansson,
      Sep 5, 2013, 5:24 AM
      ċ
      STR-validator_exercises.zip
      (1007k)
      Oskar Hansson,
      Jan 28, 2016, 3:54 AM
      Ċ
      Oskar Hansson,
      May 26, 2014, 4:26 AM
      Ċ
      Oskar Hansson,
      Dec 19, 2016, 3:22 AM
      ċ
      strvalidator_1.6.0.9002.zip
      (789k)
      Oskar Hansson,
      Apr 2, 2016, 6:49 AM
      Ċ
      Oskar Hansson,
      Feb 14, 2016, 11:51 AM
      Ċ
      Oskar Hansson,
      Oct 16, 2014, 5:17 AM
      Ċ
      Oskar Hansson,
      Jun 11, 2015, 9:48 AM
      Ċ
      Oskar Hansson,
      Aug 11, 2017, 9:21 PM
      Ċ
      Oskar Hansson,
      Aug 11, 2017, 9:22 PM