GO enrichment with python -- pandas meets networkx
Project description
goenrich
========
Convenient GO enrichments from python. For use in ``python`` projects.
1. Builds the GO-ontology graph
2. Propagates GO-annotations up the graph
3. Performs enrichment test for all categories
4. Performs multiple testing correction
5. Allows for export to ``graphviz`` for visualization
Installation
------------
Install package from pypi and download annotations from
``geneontology.org``
.. code:: shell
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
-----------------
.. code:: python
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
.. code:: shell
dot -Tpdf test.dot > test.pdf
.. figure:: https://cloud.githubusercontent.com/assets/2606663/8106301/ab9ec4e8-1048-11e5-8ea0-63eb77db08d9.png
:alt: Example output
Example output
Licence
=======
This work is licenced under the MIT licence
Contributions are welcome!
========
Convenient GO enrichments from python. For use in ``python`` projects.
1. Builds the GO-ontology graph
2. Propagates GO-annotations up the graph
3. Performs enrichment test for all categories
4. Performs multiple testing correction
5. Allows for export to ``graphviz`` for visualization
Installation
------------
Install package from pypi and download annotations from
``geneontology.org``
.. code:: shell
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
-----------------
.. code:: python
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
.. code:: shell
dot -Tpdf test.dot > test.pdf
.. figure:: https://cloud.githubusercontent.com/assets/2606663/8106301/ab9ec4e8-1048-11e5-8ea0-63eb77db08d9.png
:alt: Example output
Example output
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.2.tar.gz
(4.5 kB
view hashes)