Giter Site home page Giter Site logo

getmydnamatches's Introduction

List of scripts

getmyancestrydna.py

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

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

ancestry2graph.py is a python3 script that converts the output of getmyancestrydna.py into a graph file

ibdview2graph.py

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

graph2matrix.py is a python3 script that converts a graph file into matrix format which can be subsequently loaded into Gephi

graph2plot.py

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.py

matches2plot is a python script that shows relative sharing of DNA matches with two separate individuals in your account

Examples

download and unpack the genetic map

wget http://bochet.gcc.biostat.washington.edu/beagle/genetic_maps/plink.GRCh37.map.zip

unzip -d . -o plink.GRCh37.map.zip

download DNA match sharing information from 23andMe

./getmy23andme.py -u %USERNAME% -p %PASSWORD% -x

convert your 23andMe information into a graph file

WORK IN PROGRESS

plot your 23andMe graph file

./graph2plot.py -i %ACCOUNT_ID%.graph.tsv -r %EHID% -rel %ACCOUNT_ID%.%EHID%.relfinder.tsv -o %EHID%.pdf

download DNA match sharing information from AncestryDNA

./getmyancestrydna.py -u %USERNAME% -p %PASSWORD% -x

convert your AncestryDNA information into a graph file

./ancestry2graph.py -i %UCDMID%.%GUID%.tsv -o %GUID%.graph.tsv

plot your AncestryDNA graph file

./graph2plot.py -r %GUID% -i %GUID%.graph.tsv -anc %UCDMID%.%GUID%.tsv -o %GUID%.pdf

convert your 23andMe graph file into a matrix that you can open with Gephi

./graph2matrix.py -t ; -l -v -c -g -i %ACCOUNT_ID%.graph.tsv -h %ACCOUNT_ID%.inheritance.tsv -o %ACCOUNT_ID%.matrix.csv

plot the amount of sharing from DNAmatches with a parent and a child

./matches2plot -a %UCDMID%.%GUID1%.tsv -b %UCDMID%.%GUID2%.tsv

Support

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 [email protected]

getmydnamatches's People

Contributors

freeseek avatar mahespth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

getmydnamatches's Issues

Ancestry API auth is broken

The login func trys to set a cookie with a key of ATT which no longer appears to be returned from a successful ancestry login post request. I would like to fix myself but am not sure which cookie is required to maintain the auth state for the following requests.. and could not any find ancestry API docs. Any plans to look into this?

EDIT: Looks like the login route itself not longer works either. Funnily enough ancestry returns a 200 on https://www.ancestry.com/secure/login but if you inspect the response its just HTML of the login page. Looks like this repo is beyond a few quick hacks to get it working again.

EDIT2: Was able to get past login by logging in manually, copying the 'secureATT' cookie and passing that to getUrl func.

No module named pip

I followed your instructions but received this error:

mac:getmydnamatches njh$ python3 -m pip install --user requests
/opt/local/bin/python3: No module named pip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.