Skip to content

This tool allows a user to parse through their genomic data on 23andMe using the GA4GH API functions.

Notifications You must be signed in to change notification settings

Kusdhill/GA4GHandMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GA4GHandMe

The goal of this project is to build a GA4GH API wrapper around the 23andMe REST API. The work will result in a server that can be started by a user. The user will be required to provide their 23andMe credentials. The server will then use those to connect with the 23andMe REST interface. The server will then respond to GA4GH variant API requests from that user only. There are many people who have used 23andMe and this project will allow any GA4GH API compatible application to run against their 23andMe variant information.

The purpose of this project is to allow individuals to retrieve information about their personal genomics from 23andMe and receive a Global Alliance for Genomic Health (GA4GH) response. GA4GH aims to create a standard for how genomic data is organized with the hopes of simplifying the reception and exhange of genomic data. You can read more about GA4GH here.

Usage

Disclaimer: These instructions work as of March 2017. 23andMe may change how their application registration works and that may in turn change how this application works. If you run into a problem, feel free to open up an issue and I'll try my best to resolve it in a timely manner. Thanks!

To begin, you should clone this repository. If you don't know how to do that, you can just download the code to your Desktop.

If you don't have a 23andMe account already, you can register a developer account here. If you just want to test drive this program and haven't actually sampled your genome with 23andMe, that's fine too. 23andMe has sample information with every account.

If this is your first time registering a client to 23andMe, you will see a page like the one below. alt text

You can fill out the parameters exactly as I have. Here they are if you'd like to copy/paste:

GA4GH
GA4GHandMe
names, basic, email, genomes
Web

Before opening any of the files you will have to register an API client with 23andMe. You can use the same parameters in the image below: alt text

Here are the parameters if you'd like to copy/paste:

GA4GHandMe
http://localhost:5000/oauth
A GA4GH wrapper for the 23andMe API

Once you have done this, 23andMe will give you two credentials: a client id, and a client secret. Put both of these in keys.py, along with a sessions key for flask. The sessions key can be anything.

Once that's setup, make a virtual environment.

If you don't have virtual environment already

pip install virtualenv

Once you have that you can make a virtual environment

virtualenv env_name

And then start the virtual environment

source env_name/bin/activate

With the virual environment running, go ahead and install the requirements.txt.

You should also make sure you have the GA4GH server setup.

pip install --upgrade -r requirements.txt
pip install ga4gh-server

After this is all complete, you can start up the server.

python server.py

Once that's up and running you can navigate to localhost:5000 in your web browser. The only thing you need to do from here is follow the prompts. Enjoy!


This project was made possible thanks to 23andMe's python oauth/flask example, w3school's sample data table, and the help of Kevin Osborn and David Steinberg.

About

This tool allows a user to parse through their genomic data on 23andMe using the GA4GH API functions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published