getmyancestrydna.py is a python3 script that downloads DNA matches sharing information from AncestryDNA
This script requires the python3 requests module to work. To install this module, run this in your terminal: "python3 -m pip install requests" (or "python3 -m pip install --user requests" if you don't have admin rights on your machine)
getmy23andme.py is a python3 script that downloads DNA match sharing information from 23andMe
This script requires the python3 requests module to work. To install this module, run this in your terminal: "python3 -m pip install requests" (or "python3 -m pip install --user requests" if you don't have admin rights on your machine)
ancestry2graph.py is a python3 script that converts the output of getmyancestrydna.py into a graph file
ibdview2graph.py is a python3 script that converts the output of getmy23andme.py into a graph file
To obtain distances in centiMorgans it requires a genetic map for the GRCh37 genome
graph2matrix.py is a python3 script that converts a graph file into matrix format which can be subsequently loaded into Gephi
graph2plot.py is a python script that generates sharing plots from graph files
This script requires the networkx module to work. To install this module, run this in your terminal: "python -m pip install networkx" (or "python -m pip install --user networkx" if you don't have admin rights on your machine)
This script requires the pydot module to work. To install this module, run this in your terminal: "python -m pip install pydot" (or "python -m pip install --user pydot" if you don't have admin rights on your machine)
Unfortunately this script requires python 2.7 to run due to some portability issues within the pydot code
matches2plot is a python script that shows relative sharing of DNA matches with two separate individuals in your account
wget http://bochet.gcc.biostat.washington.edu/beagle/genetic_maps/plink.GRCh37.map.zip
unzip -d . -o plink.GRCh37.map.zip
./getmy23andme.py -u %USERNAME% -p %PASSWORD% -x
WORK IN PROGRESS
./graph2plot.py -i %ACCOUNT_ID%.graph.tsv -r %EHID% -rel %ACCOUNT_ID%.%EHID%.relfinder.tsv -o %EHID%.pdf
./getmyancestrydna.py -u %USERNAME% -p %PASSWORD% -x
./ancestry2graph.py -i %UCDMID%.%GUID%.tsv -o %GUID%.graph.tsv
./graph2plot.py -r %GUID% -i %GUID%.graph.tsv -anc %UCDMID%.%GUID%.tsv -o %GUID%.pdf
./graph2matrix.py -t \; -l -v -c -g -i %ACCOUNT_ID%.graph.tsv -h %ACCOUNT_ID%.inheritance.tsv -o %ACCOUNT_ID%.matrix.csv
./matches2plot -a %UCDMID%.%GUID1%.tsv -b %UCDMID%.%GUID2%.tsv
To learn more about the data being retrieved by this tool, see here
This set of programs is still in beta phase, and bugs are still present. Features will be added on request. It is provided as is
These scripts require both python 3.4 to run due to some novel features in the argparse module (https://docs.python.org/3/whatsnew/3.4.html#argparse) and python 2.7 due to current incompabilities within the python3 pydot package
Current version was updated on Aug 16th 2018
A special thank goes to Vincenzo Palleschi for the numerous discussions and acting as the first beta tester. Part of the inspiration of this project came from his work on pairwise genome sharing and the Shared Matches tool from AncestryDNA.
Send questions, suggestions, or feature requests to giulio.genovese@gmail.com