Skip to main content

Access to Biological Web Services from Python

Project description

https://badge.fury.io/py/bioservices.svg https://github.com/cokelaer/bioservices/actions/workflows/ci.yml/badge.svg Documentation Status https://raw.githubusercontent.com/cokelaer/bioservices/master/doc/bioservices.png
Python_version_available:BioServices is tested for Python 3.6, 3.7, 3.8, 3.9
Contributions:Please join https://github.com/cokelaer/bioservices and share your notebooks https://github.com/bioservices/notebooks/
Issues:Please use https://github.com/cokelaer/bioservices/issues
How to cite:Cokelaer et al. BioServices: a common Python package to access biological Web Services programmatically Bioinformatics (2013) 29 (24): 3241-3242
Documentation:RTD documentation.

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 about 40 Web Services.

Contributors

Maintaining BioServices would not have been possible without users and contributors. Each contribution has been an encouragement to pursue this project. Thanks to all:

https://contrib.rocks/image?repo=cokelaer/bioservices

Quick example

Here is a small 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", frmt="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 On-line documentation

Current services

Here is the list of services available and their testing status.

Service CI testing
arrayexpress https://github.com/cokelaer/bioservices/actions/workflows/arrayexpress.yml/badge.svg
bigg https://github.com/cokelaer/bioservices/actions/workflows/bigg.yml/badge.svg
biocarta https://github.com/cokelaer/bioservices/actions/workflows/biocarta.yml/badge.svg
biocontainers https://github.com/cokelaer/bioservices/actions/workflows/biocontainersyml/badge.svg
biodbnet https://github.com/cokelaer/bioservices/actions/workflows/biodbnet.yml/badge.svg
biogrid https://github.com/cokelaer/bioservices/actions/workflows/biogrid.yml/badge.svg
biomart https://github.com/cokelaer/bioservices/actions/workflows/biomart.yml/badge.svg
biomodels https://github.com/cokelaer/bioservices/actions/workflows/biomodels.yml/badge.svg
chebi https://github.com/cokelaer/bioservices/actions/workflows/chebi.yml/badge.svg
chembl https://github.com/cokelaer/bioservices/actions/workflows/chembl.yml/badge.svg
cog https://github.com/cokelaer/bioservices/actions/workflows/cog.yml/badge.svg
dbfetch https://github.com/cokelaer/bioservices/actions/workflows/dbfetch.yml/badge.svg
ena https://github.com/cokelaer/bioservices/actions/workflows/ena.yml/badge.svg
ensembl https://github.com/cokelaer/bioservices/actions/workflows/ensembl.yml/badge.svg
eutils https://github.com/cokelaer/bioservices/actions/workflows/eutils.yml/badge.svg
eva https://github.com/cokelaer/bioservices/actions/workflows/eva.yml/badge.svg
hgnc https://github.com/cokelaer/bioservices/actions/workflows/hgnc.yml/badge.svg
intact_complex https://github.com/cokelaer/bioservices/actions/workflows/intact_complex.yml/badge.svg
kegg https://github.com/cokelaer/bioservices/actions/workflows/kegg.yml/badge.svg
muscle https://github.com/cokelaer/bioservices/actions/workflows/muscle.yml/badge.svg
mygeneinfo https://github.com/cokelaer/bioservices/actions/workflows/mygeneinfo.yml/badge.svg
ncbiblast https://github.com/cokelaer/bioservices/actions/workflows/ncbiblast.yml/badge.svg
omicsdi https://github.com/cokelaer/bioservices/actions/workflows/omicsdi.yml/badge.svg
omnipath https://github.com/cokelaer/bioservices/actions/workflows/omnipath.yml/badge.svg
panther https://github.com/cokelaer/bioservices/actions/workflows/panther.yml/badge.svg
pathwaycommons https://github.com/cokelaer/bioservices/actions/workflows/pathwaycommons.yml/badge.svg
pdb https://github.com/cokelaer/bioservices/actions/workflows/pdb.yml/badge.svg
pdbe https://github.com/cokelaer/bioservices/actions/workflows/pdbe.yml/badge.svg
pfam https://github.com/cokelaer/bioservices/actions/workflows/pfam.yml/badge.svg
pride https://github.com/cokelaer/bioservices/actions/workflows/pride.yml/badge.svg
psicquic https://github.com/cokelaer/bioservices/actions/workflows/psicquic.yml/badge.svg
pubchem https://github.com/cokelaer/bioservices/actions/workflows/pubchem.yml/badge.svg
quickgo https://github.com/cokelaer/bioservices/actions/workflows/quickgo.yml/badge.svg
reactome https://github.com/cokelaer/bioservices/actions/workflows/reactome.yml/badge.svg
rhea https://github.com/cokelaer/bioservices/actions/workflows/rhea.yml/badge.svg
rnaseq_ebi https://github.com/cokelaer/bioservices/actions/workflows/rnaseq_ebi.yml/badge.svg
seqret https://github.com/cokelaer/bioservices/actions/workflows/seqret.yml/badge.svg
unichem https://github.com/cokelaer/bioservices/actions/workflows/unichem.yml/badge.svg
uniprot https://github.com/cokelaer/bioservices/actions/workflows/uniprot.yml/badge.svg
wikipathway https://github.com/cokelaer/bioservices/actions/workflows/wikipathway.yml/badge.svg

Note

Contributions to implement new wrappers are more than welcome. See BioServices github page to join the development, and the Developer guide on how to implement new wrappers.

Bioservices command

In version 1.8.2, we included a bioservices command. For now it has only one subcommand to download a NCBI accession number:

bioservices download-accession --accession K01711.1

Changelog

Version Description
1.9.0
  • Update unichem to reflect new API
1.8.4
  • biomodels. Fix #208
  • KEGG: fixed #204 #202 and #203
1.8.3
  • Eutils: remove warning due to unreachable URL. Set REST as attribute rather and inheritance.
  • NEW biocontainers module
  • KEGG: add save_pathway method. Fix parsing of structure/pdb entry
  • remove deprecated function from Reactome
1.8.2
  • Fix suds package in code and requirements
1.8.1
  • Integrated a change made in KEGG service (DEFINITON was changed to ORG_CODE)
  • for developers: applied black on all modules
  • switch suds-jurko to new suds community
1.8.0
  • add main standalone application.
  • moved chemspider and clinvitae to the attic
  • removed picr service, not active anymore

Release History

This is a summary of the changelog. Complete change can be found in the <main documentation.

1.4.X

  • Include RNASEQ (EBI) in module rnaseq_ebi
  • Renamed kegg.KEGG.info into dbinfo , which was overloaded with Logging
  • Replaced deprecated HGNC with the official web service from genenames.org
  • Fully updated EUtils since WSDL is now down; implementation uses REST now.
  • Removed the apps/taxonomy module now part of http://github.com/biokit.
  • added http_delete in services.py

1.3.X

  • CACHE files are now stored in a general directory in the home, rather than locally
  • Source code moved to github.com
  • New REST class to use requests package instead of urllib2.
  • Creation of a global configuration file in .config/bioservice/bioservices.cfg
  • NEW services: Reactome, Readseq, Ensembl, EUtils

1.2.X

  • add try/except for pandas library.
  • added sub-package called apps with some useful tools (fasta,peptides, taxon) in bioservices.apps directory
  • NEW services: BioDBnet, BioDBNet, MUSCLE, PathwayCommons, GeneProf

1.1.X

  • NEW services: biocarta, pfam, ChEBI, UniChem
  • Add documentation and examples related to Galaxy/BioPython.
  • NEW Service : HGNC
  • Use BeautifulSoup4 instead of 3

1.0.X

  • add PDB, ArrayExpress, biomart, chemspider draft, eutils, miriam, arrayexpress

1.0.0:

  • First release of bioservices

0.9.X:

  • Stable version of bioservices including the following services:
    BioModels, Kegg, Reactome, Chembl, PICR, QuickGO, Rhea, UniProt, WSDbfetch, NCBIblast, PSICQUIC, Wikipath

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bioservices-1.9.0.tar.gz (199.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page