Skip to content
Extracting biomedical relationships from literature with Snorkel 🏊
Jupyter Notebook Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
compound_disease Fixes lingering outdated urls and added Notebooks (#92) Aug 19, 2019
compound_gene/compound_binds_gene Fixes lingering outdated urls and added Notebooks (#92) Aug 19, 2019
dependency_cluster added Bethany's work into a single folder (#77) Apr 9, 2019
disease_gene
figures
gene_gene/gene_interacts_gene Fixes lingering outdated urls and added Notebooks (#92) Aug 19, 2019
generate_datafiles
modules/utils Adding Error Analysis and Few Other Results (#89) Jul 30, 2019
playground Organization Part2 (#81) May 28, 2019
.gitattributes Add word vector scripts to repository (#84) Jun 17, 2019
.gitignore Data Insertion Update (#21) Jul 19, 2017
.gitmodules Refactor Snorkeling Repository Part 1 (#80) May 27, 2019
LICENSE-BSD.md Dual license as BSD & CC0. Add README Jan 4, 2017
LICENSE-CC0.md Dual license as BSD & CC0. Add README Jan 4, 2017
README.md Updating the Readme (#91) Aug 7, 2019
environment.yml

README.md

Snorkeling

This repository stores data and code to scale up the extraction of biomedical relationships (i.e. Disease-Gene assocaitions, Compounds binding to Genes, Gene-Gene interactions etc.) from the Pubmed Abstracts.

Quick Synopsis

This work uses a subset of Hetionet v1 (bolded in the resource schema below), which is a heterogenous network that contains pharmacological and biological information in the form of nodes and edges. This network was made from publicly available data, which is usually populated via manual curation. Manual curation is time consuming and difficult to scale as the rate of publications continues to rise. A recently introduced "Data Programming" paradigm can circumvent this issue by being able to generate large annotated datasets quickly. This paradigm combines distant supervision with simple rules and heuristics written as labeling functions to automatically annotate large datasets. Unfortunately, it takes a significant amount of time and effort to write a useful label function. Because of this fact, we aimed to speed up this process by re-using label functions across edge types. Read the full paper here.

Highlighted edges used in Hetionet v1

Directories

Described below are the main folders for this project. For convention the folder names are based on the schema shown above.

Name Descirption
compound_disease Head folder that contains all relationships compounds and diseases may share
compound_gene Head folder that contains all relationships compounds and genes may share
disease_gene Head folder that contains all realtionships disease and genes may share
gene_gene Head folder than contains all realtionships genes may share with each other
dependency cluster This folder contains preprocessed results from the "A global network of biomedical relationships derived from text" paper.
figures This folder contains figures for this work
modules This folder contains helper scripts that this work uses
playground This folder contains ancient code designed to test and understand the snorkel package.

Installing/Setting Up The Conda Environment

Snorkeling uses conda as a python package manager. Before moving on to the instructions below, please make sure to have it installed. Download conda here!!

Once everything has been installed, type following command in the terminal:

conda env create --file environment.yml

You can activate the environment by using the following command:

source activate snorkeling

Note: If you want to leave the environment, just enter the following command:

source deactivate 

License

This repository is dual licensed as BSD 3-Clause and CC0 1.0, meaning any repository content can be used under either license. This licensing arrangement ensures source code is available under an OSI-approved License, while non-code content β€” such as figures, data, and documentation β€” is maximally reusable under a public domain dedication.

You can’t perform that action at this time.