After Judy Russell implored me to get the DNA of my 93 year old uncle tested as soon as possible, FamilyTreeDNA returns me 7,017 possible relatives. The tools for autosomal DNA analysis are still in their infancy, and I did not relish the idea of manually using FamilyTreeDNA's Chromosome Browser tool to check 184,758 segments for over seven thousand people, five people at a time. I discovered that FamilyTreeDNA allows you to download all the segment matches in a single Chromosome Browser Results file. Being a programmer, that gave me an idea ...

What it does

Double Match Triangulator (DMT) combines two different people's Chromosome Browser Results files from FamilyTreeDNA to provide Double Match and Triangulation data that can be used to help determine genealogical relationships. It loads the results into an Excel file along with a colorful map that helps the researcher visualize the matches and help to identify Triangulation Groups made up of people who could share a common ancestor, helping you to map your DNA segments to your ancestors.

How I built it

I first manually went through the labor of loading two Chromosome Browser Results files into Excel, one of my uncle that contained 172,299 lines and one of my 3rd cousin Joel that had 73,644 lines in it, who sent me his file to try out when I told him what I was trying to do. I sorted by chromosome and base address, and discovered that my uncle and Joel double matched with a third person on 4,582 segments and I figured out a nice way to display this with a colorful map of the matches.

After much experimentation, and receiving the Chromosome Browser Results files from a number of 4th to remote cousins who connected to my uncle (but I did not know how), I wrote a Delphi program that would read in the files and produce the Excel output so that I would not have to do so manually and laboriously myself.

Challenges I ran into

First of all, this was entirely brand new stuff. Autosomal DNA analysis is a new field, and nobody had looked in detail at what happens when you look at Double Matches. In fact, I even had to invent the terms "Double Match", "Single Match", "Missing a-b match" and a few others, because I otherwise had no way to describe what I was trying to do.

I had to learn Excel automation and how to implement it in Delphi. There is no documentation on that. I found many of the techniques I needed from the programmer's Q&A site: StackOverflow, e.g. This question I asked.

The Chromosome Browser Download file had several imperfections that I found (the hard way) and had to get around.

I ended up with lots of people willing to help me out, and almost too many files to deal with.

Finally, there were all the other tasks associated with writing a freeware program.

Accomplishments that I'm proud of

I've got really good feedback from the people who have tried the program. The DMT program was used as part of a presentation by Sandy Aaronson at the IAJGS International Conference on Jewish Genealogy in Seattle in August 2016, and was given a very nice review by genetic genealogist Roberta Estes on her DNAeXplained blog and another by Judy Russell on her The Legal Genealogist blog.

What I learned

I read everything I could about autosomal DNA analysis, and that included reading and rereading several times every one of Jim Bartlett's fantastic segment-ology blog posts.

I also had a misconception that triangulated segments meant that the segment was always Identical By Descent (IBD), but I then had a long email conversation with genetic genealogist Debbie Kennett who set me straight, and I then understood that small triangulated segments could be a match by chance.

What's next for Double Match Triangulator (DMT)

It takes a skilled genetic genealogist some time to be able to become good at DNA segment matching. Double Match Triangulator is not an entry level tool. To use it, you'll need to first have experience with Single Matching. Then you'll have to puzzle with Double Matching for a while, since the technique is still new and mostly unexplored.

From what I've seen in the DMT runs I have done for my uncle that combine more than 60 CBR files together, I postulate that this technique might be able to make use of the crossovers, shared segments, missing a-b matches and other match information to not only phase the matches (assign to paternal or maternal), but go even further and determine the ancestral line every segment comes from. For this to happen, it will take investigation, experimentation, time, effort and luck. But the rewards would be enormous, as all the genealogical relationships available in autosomal DNA might be able to be extracted. That would change everything.

I have ideas on how to get there, but as a single developer without an infinite amount of time available, I could use some help. I'm hoping through the Innovator's Summit that some people experienced in DNA segment analysis and maybe even the DNA testing companies will be made aware of DMT, and see the potential that Double Matching has to offer.

DNA analysis is tough. The goal is to make it easier.

I know how 1 of my uncle's matches is related. I'd like DMT to help determine how the other 7,000 are related.

Built With

  • delphi
  • office-automation
  • runs-on-windows
  • vcl
  • winapi
Share this project:


posted an update

20 Jan 2017 - Version 1.4 - Now works if either File a or b was downloaded before the other person's results came in. Prevents the same person from being used twice. Excludes non-matches from By Chromosome analysis. Better handling of duplicate segments in CBR files. Improvements to People page. Several minor fixes and improvements. Updated help file.

Log in or sign up for Devpost to join the conversation.

posted an update

14 Dec 2016 - I was just officially notified and super pleased to find out that Double Match Triangulator was chosen as one of the 10 semi-finalists for the 2017 RootsTech Innovator Showdown. RootsTech will likely announce the 10 semi-finalists very soon.

Log in or sign up for Devpost to join the conversation.

posted an update

21 Nov 2016 - Version 1.2 - Identifies Double Match Groups. Allows combination of multiple runs by Chromosome. Improved People Page/File. Now can work if only Person a has b matches or Person b has a matches, which might occur if one file was downloaded before the other's test results were in. Excludes duplicate or overlapping segments in CBR files and prefixes such people with ##. The People page and file now include just the Person c matches with Person a.

Log in or sign up for Devpost to join the conversation.