Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2527cb9
Add paper clasification ipython nb
jialinding Nov 17, 2016
b5de7b1
update readme
kuleshov Oct 21, 2016
24dfbc2
transfer over the phenotype notebook
kuleshov Oct 21, 2016
f7fcfac
changes in parser
kuleshov Oct 22, 2016
65171f8
snorkel updates
kuleshov Oct 25, 2016
012b7f2
switch remote snorkel git repo
kuleshov Oct 25, 2016
9f9f094
interrupt and overwrite gwc crawling
kuleshov Oct 27, 2016
932a09d
save results for paper
kuleshov Oct 29, 2016
35096df
update set_env
kuleshov Nov 15, 2016
0aaf3de
tons of updates to phenotype extraction nb
kuleshov Nov 15, 2016
c4979d4
new system output files
kuleshov Nov 15, 2016
b47f476
update data urls
kuleshov Nov 16, 2016
705010a
fix typos in readme
kuleshov Nov 16, 2016
f6167d1
update readme
kuleshov Nov 16, 2016
8a416ed
report progress when parsing gwc
kuleshov Nov 17, 2016
cc90965
fix broken link
kuleshov Nov 16, 2016
c89fe31
move and save nb outputs
kuleshov Nov 17, 2016
b5596c6
extend overlap fn to relations
kuleshov Nov 17, 2016
32e9330
restore lost file
kuleshov Nov 17, 2016
d83a5b9
eval notebook
kuleshov Nov 17, 2016
89860e1
remove old file
kuleshov Nov 17, 2016
2f039f6
save final results
kuleshov Nov 17, 2016
b13b086
gwascat phen mapping
kuleshov Nov 17, 2016
fa6aa23
update results
kuleshov Nov 17, 2016
48b8a39
update eval notebook
kuleshov Nov 17, 2016
eba7438
some work on table extraction notebooks
kuleshov Nov 17, 2016
72dab33
fix gwc parsing issues
kuleshov Nov 17, 2016
1975a86
forgot to create papers folder
kuleshov Nov 17, 2016
5989d61
clean up main notebooks; update readme
kuleshov Nov 17, 2016
d29deea
upload validated relations
kuleshov Nov 18, 2016
1f584f0
update snorkel
kuleshov Nov 18, 2016
a7e6fc5
Update README.md
kuleshov Nov 18, 2016
acf3883
Update README.md
kuleshov Nov 20, 2016
3737068
update snorkel
kuleshov Nov 20, 2016
125f25b
update deduplication code
kuleshov Nov 20, 2016
f38e2b5
move over from dev table and phenotype-table extraction nb
kuleshov Nov 20, 2016
21bb52c
cleanup notebooks
kuleshov Nov 20, 2016
df82dc7
update to upstream
jialinding Nov 21, 2016
e7dee14
Update paper classification ipynb
jialinding Nov 21, 2016
19af1b6
Loose ends
jialinding Jan 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
env
sftp-config.json
*.pkl
!classifier.pkl
*.sql
*.bak
data/phenotypes/snorkel/dicts*
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
url = https://github.com/HazyResearch/snorkel.git
[submodule "snorkel-tables"]
path = snorkel-tables
url = git@github.com:HazyResearch/snorkel.git
url = git@github.com:kuleshov/snorkel.git
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,29 @@ GWASdb

GWASdb is a machine reading system for discovering associations between genetic mutations and disease from academic papers.

## Results

The machine-curated relations are found in `notebooks/results/associations.tsv`.
The five columns are: `pmid`, `rsid`, high-level phenotype, low-level phenotype, p-value. If the latter is `-1`, it means that we were not able to extract the p-value.

In addition, the following files are important:

* `notebooks/results/nb-output`: folder containing the output of each system module
* `notebooks/util/phenotype.mapping.annotated.tsv`: manually annotated mapping between GWAS Central and GWASdb phenotypes
* `notebooks/util/phenotype.mapping.gwascat.annotated.tsv`: manually annotated mapping between GWAS Catalog and GWASdb phenotypes
* `notebooks/util/rels.discovered.annotated.txt`: random subset of 100 previously unreported relations with explanations for why they are correct or not.

## Requirements

GWASdb is implemented in Python and requires:

* `lxml`, ElementTree
* `lxml`, `ElementTree`
* `numpy`
* `sklearn`
* `sqlite`
* `snorkel`

Check out the Snorkel web page for a list of its requirements.
Check out the [Snorkel repo](https://github.com/kuleshov/snorkel) for a list of its requirements.

## Installation

Expand Down Expand Up @@ -46,7 +58,7 @@ In addition, we use hand-curated databases such as GWAS Catalog and GWAS Central
The first step is to download this data onto your machine. The `data` subfolder contains code for doing this.

```
cd data
cd data/db

# we will store part of the dataset in a sqlite databset
make init # this will initialize an empty database
Expand All @@ -57,7 +69,7 @@ make init # this will initialize an empty database
make phenotypes

# next, we download the contents of the hand-curated GWAS catalog database
make gwas-catalog # the results will go in the sqlite db (in /tmp/gwas.sql by default)
make gwas-catalog # loads into sqlite db (/tmp/gwas.sql by default); this takes a while

# now, let's download from pubmed all the open-access papers mentioned in the GWAS catalog
make dl-papers # downloads ~600 papers + their supplementary material!
Expand All @@ -70,7 +82,7 @@ This process can be automated by just typing `make`.

## Information extraction

We demo our system in a series of Jupyter notebooks in the `notebooks` subfolder.
We demo our system in a series of Jupyter notebooks in the `notebooks` subfolder. Currently, notebooks 1 and 5 are up, and we are cleaning up the others (see `dev` branch).

1. `phenotype-extraction.ipynb` identifies the phenotypes studied in each paper
2. `table-pval-extraction.ipynb` extracts mutation ids and their associated p-values
Expand All @@ -82,4 +94,4 @@ The result is a second SQLite database containing facts (e.g. mutation/disease r

## Feedback

Please send feedback to [Volodymyr Kuleshov](http://web.stanford.edu/~kuleshov/).
Please send feedback to [Volodymyr Kuleshov](http://web.stanford.edu/~kuleshov/).
Loading