The Familial Search software is optimized for computing parent—, sibling— and half sibling indices and direct matches for very large databases (millions of profiles). These likelihood ratios are used to investigate possible familial relations between a crime scene DNA profile and offender DNA profiles in the database. Familial Searches are usually performed on DNA databases containing million of profiles. It is therefore important to have significant performance from the algorithms in order to reduce waiting times.
Bonaparte Familial Search is a highly optimized software application. To illustrate this we searched one suspect profile against 520,000 known profiles (all drawn from Caucasian population statistics) on a single CPU server machine that also ran the database. The results are displayed in the graph below.
The graphs show the elapsed time for a full match process including loading profiles and writing the results—without database interaction each processing core computes about 100,000 matches per second:
The server used to obtain the results above was a single CPU Intel Xeon X5680 server, 24GB RAM and dual 1 TB hard disks in RAID 1 (mirror) running FreeBSD 8.2-release. This machine hosted both Bonaparte and the MySQL database.