GO enrichment with python -- pandas meets networkx
Project description
goenrich
Convenient GO enrichments from python. For use in python projects.
Builds the GO-ontology graph
Propagates GO-annotations up the graph
Performs enrichment test for all categories
Performs multiple testing correction
Allows for export to graphviz for visualization
Installation
Install package from pypi and download annotations from geneontology.org
pip install goenrich
mkdir db
wget http://purl.obolibrary.org/obo/go/go-basic.obo -O db/go-basic.obo
wget http://geneontology.org/gene-associations/gene_association.goa_ref_human.gz -O db/gene_association.goa_ref_human.gz
Run GO enrichment
import goenrich
# use all associations as background
background = goenrich.goa.read('db/gene_association.goa_ref_human.gz')
# extract some list of UniprotACC as query
query = set(background['db_object_id'].unique()[:20])
# build the ontology and apply background
G = goenrich.obo.graph('db/go-basic.obo')
goenrich.enrich.set_background(G, background)
# run enrichment analysis, correct for multiple testing
# and export to graphviz
pvalues = goenrich.enrich.calculate_pvalues(G, query)
goenrich.enrich.multiple_testing_correction(G, pvalues)
sig = goenrich.enrich.filter_significant(G)
R = goenrich.export.to_graphviz(G, sig, 'test.dot')
Generate pdf using graphviz
dot -Tpdf test.dot > test.pdf
Licence
This work is licenced under the MIT licence
Contributions are welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
goenrich-0.2.3.tar.gz
(4.5 kB
view hashes)