Coder Social home page Coder Social logo

bio2bel / interpro Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 132 KB

A Bio2BEL package for converting InterPro to BEL

License: MIT License

Python 100.00%
biological-expression-language systems-biology networks-biology protein-families proteins protein-domains interpro

interpro's Introduction

Bio2BEL InterPro Build Status Coverage Status Documentation Status Zenodo DOI

Converts the InterPro protein families, domains, and other classes to ontological relations in BEL.

Installation Current version on PyPI Stable Supported Python Versions MIT License

bio2bel_interpro can be installed easily from PyPI with the following code in your favorite terminal:

$ python3 -m pip install bio2bel_interpro

or from the latest code on GitHub with:

$ python3 -m pip install git+https://github.com/bio2bel/interpro.git@master

Setup

InterPro can be downloaded and populated from either the Python REPL or the automatically installed command line utility.

Python REPL

>>> import bio2bel_interpro
>>> interpro_manager = bio2bel_interpro.Manager()
>>> interpro_manager.populate()

Command Line Utility

bio2bel_interpro populate

Programmatic Interface

To enrich the proteins in a BEL Graph with their InterPro entries (families, domains, sites, etc.) , use:

>>> from bio2bel_interpro import enrich_proteins
>>> graph = ... # get a BEL graph
>>> enrich_proteins(graph)

interpro's People

Contributors

aramgrigoryan avatar cthoyt avatar

Watchers

 avatar  avatar

interpro's Issues

Add InterPro to GO Annotations

The ultimate goal of this sub-project is to use the GO annotations for protein families to check if BEL statements in a graph containing a molecular activity could really have that molecular activity (lots of checking necessary for manually curated and text-mining results)

  • Read http://www.ebi.ac.uk/GOA/InterPro2GO
  • Add data model for GO entries
  • Add data model for interpro entry - go
  • Implement downloader for interpro2go data
  • Implement parser for interpro2go data
  • Implement loader for interpro2go data (use a subclass of main data manager)

Later we'll write unit tests for a graph checker

Write unit tests for graph enrichment function

It's nice that we can serialize the entirety of a database to a BEL file, but often, we only want the parts that are relevant to a pre-existing BEL network. We need a function that extracts the proteins from a BEL network, queries the database for them, finds their InterPro entries, and adds them to the BEL graph

  1. Read the documentation on the BELGraph data model
  2. Write unit tests that have a small graph (built in python code)

Molecular activity checker

As a follow up to #10 and #9, we'll implement unit tests for a molecular activity checker that first enriches a graph with protein families, then enriches their member proteins with their possible activities, then checks their edges for concordance

Convert namespace

From the downloads page, see:

ftp://ftp.ebi.ac.uk/pub/databases/interpro/entry.list

Consider if all elements should be serialized, or just families

Convert hierarchy

Check out the protein family hierarchy file at: ftp://ftp.ebi.ac.uk/pub/databases/interpro/ParentChildTreeFile.txt

Challenge:

  1. Parse this into a NetworkX network
  2. Display that network inline in Jupyter notebook using MatPlotLib

Incorporate Protein Memberships

I'm not really sure where to begin on this. First step would be to check the AETIONOMY code on gitlab to see what @cebel was able to load before.

Possibilities:

  • InterPro XML contains much more rich information
  • UniProt has cross-references to InterPro so it would be possible to use PyUniProt to get some of this information

Graph enrichment function

As a follow up to #8, we will implement the function that extracts the proteins from a BEL network, queries the database for them, finds their InterPro entries, and adds them to the BEL graph

Installation of Interpro not possible

Error message:

failed to import bio2bel_interpro

This should also be considered:

bio2bel-interpro 0.1.1 has requirement networkx==1.11, but you'll have networkx 2.2 which is incompatible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.