Access to Biological Web Services from Python
|note:||BioServices is tested for Python 2.7, 3.3. Version 3.4 is currently not available due to a gevent dependencies, which should be fixed soon. Building may appear to fail sometimes but this is due to one or two services amongst 25 being down temporarily and is independent of BioServices. Similarly the coverage is actually higher than what is reported here above, which is a subset of the tests available for developers.|
Bioservices is a Python package that provides access to many Bioinformatices Web Services (e.g., UniProt) and a framework to easily implement Web Services wrappers (based on WSDL/SOAP or REST protocols).
The primary goal of BioServices is to use Python as a glue language to provide a programmatic access to several Bioinformatics Web Services. By doing so, elaboration of new applications that combine several of the wrapped Web Services is fostered.
One of the main philosophy of BioServices is to make use of the existing biological databases (not to re-invent new databases) and to alleviates the needs for expertise in Web Services for the developers/users.
BioServices provides access to 25 Web Services including. For a quick start, look at some notebooks related to
- UniProt on uniprot nbviewer
- BioModels on biomodels nbviewer
- ChhEMBL on chembl nbviewer
- KEGG on KEGG nbviewer
- MUSCLE on MUSCLE nbviewer
- NCBIBlast on ncbiblast nbviewer
- WikiPathway on wikipathway nbviewer
and more on github.
An up-to-date list of Web Services is provided within the online documentation.
Here is a little example using the UniProt Web Service to search for the zap70 specy in human organism:
>>> from bioservices import UniProt >>> u = UniProt(verbose=False) >>> data = u.search("zap70+and+taxonomy:9606", format="tab", limit=3, ... columns="entry name,length,id, genes") >>> print(data) Entry name Length Entry Gene names ZAP70_HUMAN 619 P43403 ZAP70 SRK B4E0E2_HUMAN 185 B4E0E2 RHOH_HUMAN 191 Q15669 RHOH ARHH TTF
More examples and tutorials are available in the exhaustive On-line documentation
This is a summary of the changelog, which can be found in the main documentation.
- Source code moved to github.com
- New REST class to use requests package instead of urllib2