aboutsummaryrefslogtreecommitdiff
path: root/docs/gemma.ipynb
blob: 4c5f9a67bc7441b423bf3b61898fd45ee7c1f29a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Running GEMMA from GN3\n",
    "\n",
    "This document outlines how to use gemma from Genenetwork3."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you are running gn3 through a development environment, ensure that it is up and running by running the command:\n",
    "\n",
    "```sh\n",
    "env FLASK_APP=\"main.py\" flask run --port 8080\n",
    "```\n",
    "\n",
    "To ensure that things are working, run:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'code': 0, 'output': 'gemma-wrapper 0.98.1 (Ruby 2.6.5) by Pjotr Prins 2017,2018\\n'}\n"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "r = requests.get(\"http://127.0.0.1:8080/api/gemma/version\")\n",
    "print(r.json())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Uploading data\n",
    "\n",
    "Before you perform any computation, you need to ensure you have your data uploaded\n",
    "\n",
    "TODO"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-Computation\n",
    "\n",
    "Make sure that your metadata file is up to date!\n",
    "You need the genofile, traitfile, and snpsfile. You also need a token provided when you first uploaded your metadata file."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Computing K-Values (no loco, no cavariates): \n",
    "##### POST /gemma/k-compute/:token\n",
    "The end command will look something like:\n",
    "\n",
    "```\n",
    "gemma-wrapper --json -- -debug \\\n",
    "                -g genotype-file -p traitfile \\\n",
    "                -a genotypte-snps -gk > input-hash-k-output-filename\"\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Demo\n",
    "import requests\n",
    "r = requests.post(\"localhost:8080/api/gemma/k-compute/abcde-abcde\")\n",
    "print(r.json())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### POST /gemma/k-compute/:chromosomes/:token\n",
    "\n",
    "Cqmpute K values with chromosomes. The end command will look similar to:\n",
    "\n",
    "```\n",
    "  gemma-wrapper --json --loco 1,2,3,4 \\\n",
    "                -debug -g genotypefile -p traitfile \\\n",
    "                -a genotype-snps -gk > k_output_filename.json\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "/gnu/store/bvd09gb8ka642jzgxd2lpqlpdp160gn0-python-wrapper-3.8.2/bin/python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}