Please import a data set.

STRAF is a browser-based application that allows to perform forensics and population genetics analysis of STR data.

The STRAF Book

Click on the image below to access the online book with a lot more details about the software.

STRAF Book

Input file format

STRAF accepts tab-delimited text tables containing genotypes.

  • The first column, named ind, contains the sample ID.
  • The second column, named pop, contains the population ID (this column must exist even if a single population is studied).
  • The next columns correspond to genotypes: for haploid samples, one column per locus must be reported; for diploid data, two columns per locus (with the same name).
  • Genotypes must be encoded as numbers (STRAF accepts point alleles such as 9.3).
  • Missing data (e.g. null alleles) must be indicated with a "0".

This format is designed to facilitate the input file generation from a typical Excel file (Save as > Text (Tab-delimited) (*.txt)).

Examples of diploid and haploid input files can be downloaded using the following links:

Using STRAF

STRAF computes standard forensics parameters. Some standard population genetics analyses can be performed if the samples are assigned to different populations. STRAF generates downloadable tables and plots. Details about the methods can be found in Gouy & Zieger (2025) and Gouy & Zieger (2017).

Use the left panel to choose and upload your file. Once the file is uploaded, the analysis tabs become available: Data, Forensic parameters, Population genetics, PCA - MDS, and Reference population.

On the Data tab, two checkboxes allow to plot the distribution of allele frequencies per locus and to display a table of allele frequencies. The frequency table is formatted as in most forensics data reports (rows = alleles; columns = loci) and can be downloaded as a TSV file readable in Excel.

On the Forensic parameters tab, you can compute all the standard forensics parameters for your dataset (N, Nall, GD, PIC, PM, PD, PE, TPI). The table can be downloaded and any column can be plotted.

On the Population genetics tab, summary statistics (Ho, He, HWE), pairwise linkage disequilibrium and pairwise Fst (Weir & Cockerham) can be computed.

The PCA - MDS tab runs a Principal Component Analysis on the dataset (with optional 95% confidence ellipses per population) and a population-level Multidimensional Scaling using a choice of genetic distance measures (Nei, Rogers, Provesti, Edwards).

The Reference population tab projects the populations from the STRidER reference database (or a custom CSV in the same format) on a Nei-distance MDS, optionally including the currently-loaded dataset.

Differences from the original STRAF

This is a pure-browser TypeScript reimplementation. The most commonly used features have been ported, but the following differences apply:

  • HWE and LD tests use an asymptotic χ² approximation rather than Genepop's exact MCMC test.
  • MDS is classical (cmdscale) rather than non-metric (isoMDS).
  • File conversion to Genepop, Familias, Arlequin, etc. is not yet implemented.
  • Haplotype statistics (haploid pairwise distances, haplotype diversity) are not yet implemented.
  • All computation runs in your browser; no data is uploaded to a server.

Reference

Please cite STRAF if you use it for your project. The recommended reference is the 2025 paper; the original 2017 paper may also be cited:

Gouy, A., & Zieger, M. (2025). STRAF 2: New features and improvements of the STR population data analysis software. Forensic Science International: Genetics, 76, 103207.
Gouy, A., & Zieger, M. (2017). STRAF — A convenient online tool for STR data evaluation in forensic genetics. Forensic Science International: Genetics, 30, 148–151.

STRAF is a browser-based application that allows to perform forensics and population genetics analysis of STR data.

Updates

  • 3.0.0 – Pure-browser TypeScript reimplementation. Static deployment, no server-side computation. Implements Data, Forensic parameters, Population genetics (heterozygosities, HWE, LD, pairwise Fst), PCA with confidence ellipses, isoMDS / classical MDS with multiple distance measures, Reference population MDS against the STRidER database, file conversion to Genepop / Arlequin / Familias / Euroformix / STRmix / LRmix, and detailed input file validation.
  • 2.1.1 (09/09/2022) – Added conversion to Euroformix, LRMix and STRMix formats.
  • 2.1.0 (26/08/2022) – Added haplotype statistics for haploid data and unit tests. Fully refactored deployment material.
  • 2.0.8 (04/12/2021) – Bug fix in HWE computation for single population.
  • 2.0.7 (03/10/2021) – STRAF includes now more robust HW and LD tests, calling Genepop to run the tests. Graphical representations are now interactive.
  • 2.0.0 (01/05/2021) – STRAF reimplemented as an R package. MDS with reference population improved. The STRAF book has been populated. Input parameters simplified (only the "ploidy" input parameter remains).
  • 1.4.6 (25/04/2021) – It is now possible to add custom reference frequency data to perform an MDS.
  • 1.4.5 (25/04/2021) – Genepop conversion now works for haploid data. Common alleles are displayed for MDS.
  • 1.4.4 (24/04/2021) – Various UI improvements, code optimisation. MDS now excluding alleles with at least 1 missing value instead of imputing with the mean.
  • 1.4.3 (18/04/2021) – It is now possible to add uploaded population to the STRidER MDS. Minor UI improvements.
  • 1.4.2 (17/04/2021) – MDS on STRidER reference database has been added.
  • 1.4.1 (08/03/2021) – STRAF now accepts point alleles for haploid data.
  • 1.4.0 (09/02/2021) – STRAF can now perform an MDS. All results can be downloaded as Excel files.
  • 1.3.3 (03/02/2021) – Minor bug fixes in file conversion and PIC computation. Improved graphics.
  • 1.3.2 (02/02/2021) – STRAF can convert files to the Arlequin format.
  • 1.3.0 (01/02/2021) – STRAF can convert files to the Genepop and Familias formats. A File conversion tab has been added.
  • 1.2.2 (09/01/2021) – STRAF has moved to an AWS server (without any changes in the License).
  • 1.1.2 (03/10/2020) – Preparation for integration to Tercen; minor updates.
  • 1.0.5 (18/09/2018) – Bug fixes; new page with updates, license, data usage.
  • 1.0.4 (30/01/2018) – Percentages of explained variance appear now on the PCA plot; style improvements.
  • 1.0.3 (18/12/2017) – Bug fixes; it is now possible to analyse a single locus.
  • 1.0.2 (20/10/2017) – Forensics parameters and population genetics indices can be computed for each population separately; PCA coordinates and eigenvectors can be downloaded.
  • 1.0.1 (22/09/2017) – Allele frequencies can now be computed and downloaded for each population separately.
  • 1.0.0 (02/06/2017) – STRAF 1.0.0 release.

Data policy

This reimplementation runs entirely in your browser. No data leaves your machine — all computation happens client-side, and there is no server to retain or process your input.

License

The STRAF software as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC LICENSE version 3). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 (GPL-3) as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License for more details.

Acknowledgments

STRAF benefited of the comments of Martin Zieger, Peter Vallone, Peter de Knijff, Guanglin He and Martin Bodner.

Source code

Original Shiny application: github.com/agouy/straf · straf.fr