Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/naturale0/genome

Python class which reads and interprets 23andMe raw genotype data.
https://github.com/naturale0/genome

23andme

Last synced: about 2 months ago
JSON representation

Python class which reads and interprets 23andMe raw genotype data.

Awesome Lists containing this project

README

        

# GenoMe: interpret your 23andMe data
GenoMe is a Python module which reads and interprets 23andMe raw genotype data. It Support simple wellness report from 23andMe, and searching your genotype with related traits at SNPedia.

## Quick-look
```python
>>> from GenoMe import Geno
>>> g = Geno("/path/to/your/raw/data.txt")
```

- `Geno.report_wellness()` prints out wellness report provided by 23andMe API.

```python
>>> g.report_wellness()
```
```
=============================== WELLNESS REPORT ===============================

< Alcohol Flush Reaction >
--------------------------------------------------------------------------------
The marker we tested comes in two different forms, the G variant and the A varia
nt. The A variant results in an enzyme that is less efficient at breaking down a
cetaldehyde. The A variant is also known as c.1510G>A, Glu487Lys, and Glu504Lys.
This marker has been studied the most in people of East Asian descent.

rsID: rs671
Yours: G;G - homozygous
Detail: 2 | Alcohol Flush: Normal, doesn't flush. Normal hangovers. Normal ris
k of Alcoholism. Normal risk of Esophageal Cancer. Disulfiram is effective for a
lcoholism. | 60.2% of JPT

...
```

- `Geno.type_id(rsid)` prints out specific SNP of input rsid and its related trait written in SNPedia.

```python
>>> g.type_id("rs28897696")
```
```
rs28897696 | G;G | 0 | normal | 0.0% of JPT
```

rsid
chr
pos
genotype

492260
rs28897696
17
38469446
GG

- `Geno.type_trait(trait)` prints out all SNPs related to input trait, written in SNPedia.

```python
>>> g.type_trait("baldness")
```

```
rs6152 | G;G | 0.5 | able to go bald | 100.0% of JPT
rs2223841 | T;T | 1.2 | more likely to go bald before age 40 | 100.0% of JPT
rs6152 | G;G | 0.5 | able to go bald | 100.0% of JPT
rs2223841 | T;T | 1.2 | more likely to go bald before age 40 | 100.0% of JPT
rs2180439 | C;T | 2.5 | Increased risk of Male Pattern Baldness. | 44.2% of JPT
rs11683401 | C;T | | --% of JPT
rs2073963 | G;G | 2.5 | increased risk of baldness | 18.6% of JPT
rs1511061 | T;T | | --% of JPT
* more details at https://www.snpedia.com/index.php/baldness
```

## Reference Population
You can also change the population used to report genotype ratio, other than 'JPT'. `report_wellness`, `type_id`, and `type_trait` supports `ref_population` option to input population code.

```python
>>> g.report_wellness(ref_population="CEU")
>>> g.type_id("rs28897696", ref_population="CHB")
>>> g.type_trait("baldness", ref_population="ASW")
```

For more information about populations and their code, see [this page](http://www.internationalgenome.org/faq/which-populations-are-part-your-study/).