Biohacking: Merging DNA Results from 23andMe and Ancestry

The two most popular genetic testing services and 23andMe are testing a similar number of genetic variations. They are both close to ~630,00 SNPs (Single Nucleotide Polymorphisms). However, they are not testing for the exact same SNPs. This means with the reduced cost of genetic testing ($70 from either service) we can collect data from both services and learn a bit more about ourselves. The challenge with this is comparing the data from two different sources. This post will explain how we can view the results in a standardized format and even merge the data into one friendly view.

Promethease is an incredible resource that links right to the most relevant clinical studies and SNP explanations. The service costs ~$10 as a one time fee and let’s you work with multiple RAW DNA files which means you can not only run all of your own results through this system, but you can help your friends and family who are not technical enough to process their own files.

Here is a technique for processing two seperate reports through Promethease and ending up with a nice clean spreadsheet view of your data:

  • Download Raw Data files from 23andMe and
    • 23andMe – Tools –> Raw Data –> Browse and download your raw genetic data
    • – DNA –> DNA Results Summary –> Settings –> Download Raw DNA Data
  • Go to and upload the raw data files one at a time.
  • Once uploaded each file can be managed. Use the three vertical dots on the right and select ‘View report’.


  • Use the “Table” button in the top right (circled below) to generate a report. This will take several minutes and nothing will appear to be happening. Be patient.


  • The Promethease format is pretty unusable as they try and present 10 lines at a time for 24,653 entries. I suggest exporting the data into a CSV by hitting the button at the top.


  • At this point we can repeat the above steps for generating a similar CSV file for
  • Once both CSV files are in place we can open them in Google Sheets for line by line comparison. This is a much easier view to compare two DNA results with the studies ordered by magnitude and single line summaries.

Merging Ancestry and 23andMe Data

There is another approach which uses a ruby script to merge the raw data files from 23andMe and The resulting file can be read by a subscription service called livewello. This service costs $6 a month and offers the clearest explanations of any service I have used of just what this data means to you and possible steps you could take to manage health issues.

  • Let’s start with merging the 23andMe and Ancestry files with the ruby script. Simple save the script to a file and run it against both raw data files using this command:

ruby merge_dna_files.rb 23andMe.txt Ancestry.txt > 23andMe-Ancestry-2018-merge.txt

  • The resulting file from STDOUT “23andMe-Ancestry-2018-merge.txt” can be uploaded  to livewello. I’ve tried many DNA services and they often gag on this merged file upon upload. 

  • At this point we can review the four types of health reports which are combing DNA SNPs from both genetic services. Here is an example of a single SNP about my B12 levels being compromised.



Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.