Skip to main content

Access to Biological Web Services from Python

Project description

https://raw.githubusercontent.com/cokelaer/bioservices/main/doc/_static/bioservices2_logo_256.png

BIOSERVICES: access to biological web services programmatically

https://badge.fury.io/py/bioservices.svg https://github.com/cokelaer/bioservices/actions/workflows/ci.yml/badge.svg Documentation Status https://static.pepy.tech/personalized-badge/bioservices?period=month&units=international_system&left_color=black&right_color=orange&left_text=Downloads https://anaconda.org/conda-forge/bioservices/badges/version.svg

Codacy-Grade

Python_version_available:

BioServices is tested for Python 3.9, 3.10, 3.11, 3.12

Contributions:

Please join https://github.com/cokelaer/bioservices

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_id:9606", frmt="tsv", limit=3,
...                 columns="id,length,accession, gene_names")
>>> 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

biocontainers

https://github.com/cokelaer/bioservices/actions/workflows/biocontainers.yml/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

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

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 and possibly it genbank or GFF file (if available):

bioservices download-accession --accession K01711.1 --with-gbk

Changelog

Version

Description

1.12.1

  • fix pyproject to use python>3.9 and pandas/numpy>2.2

1.12.0

  • Fix pyproject missing requirements

  • Fix pkg_resources warning

  • drop python 3.8, add py3.12

1.11.2

  • Update COG service to be more user-friendly and return all pages by default

  • uniprot set progress to False in the search method

  • Merged #250 and #249 user PRs (compress option in uniprot module and logging issue in biodbnet)

1.11.1

1.11.0

  • Fix uniprot limitation of 25 results only (

  • For developers: all services are now refactorised to use services as an attribute rather than a parent class.

  • Remove ReactomeOld and ReactomeAnalysis (deprecated)

  • move rnaseq_ebi (deprecated) to attic for book_keeping

1.10.4

  • Fix v1.10.3 adding missing requirements.txt

1.10.3

  • Update pdb service to use v2 API

  • remove biocarta (website not accesible anymore)

  • Update Chembl (no API changes)

1.10.2

1.10.1

  • allow command line to download genbank and GFF

  • update pride module to use new PRIDE API (July 2022)

  • Fixed KEGG bug #225

1.10.0

  • Update uniprot to use the new API (june 2022)

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

1.4.X

  • NEW RNAseq from EBI in rnaseq_ebi module

  • 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.

1.3.X

  • CACHE files are now stored in a general directory in the home

  • 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

  • NEW services: BioDBnet, BioDBNet, MUSCLE, PathwayCommons, GeneProf

1.1.X

  • NEW services: biocarta, pfam, ChEBI, UniChem

1.0.0:

  • first stable release

0.9.X:

  • NEW services: BioModels, Kegg, Reactome, Chembl, PICR, QuickGO, Rhea, UniProt,WSDbfetch, NCBIblast, PSICQUIC, Wikipath

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

bioservices-1.12.1.tar.gz (218.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bioservices-1.12.1-py3-none-any.whl (258.0 kB view details)

Uploaded Python 3

File details

Details for the file bioservices-1.12.1.tar.gz.

File metadata

  • Download URL: bioservices-1.12.1.tar.gz
  • Upload date:
  • Size: 218.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bioservices-1.12.1.tar.gz
Algorithm Hash digest
SHA256 0f31782ae50930d4ab82b43f98d1ca2cc9befaa699f3a7a6cba512a8f9e2cab0
MD5 0cfeff28270bef4a0444e4718314dfe9
BLAKE2b-256 5e511a8dc87ffc6c27e0a896b982da3ff1b483f5ef85a47ae1ffafbc6a479bb4

See more details on using hashes here.

File details

Details for the file bioservices-1.12.1-py3-none-any.whl.

File metadata

  • Download URL: bioservices-1.12.1-py3-none-any.whl
  • Upload date:
  • Size: 258.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bioservices-1.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 898033fe0158a0e31ea5ad93ff02f5000aa67ff9d06e9dc6477583d3f60ace80
MD5 fc0e1600267f543866e98d65a0d7a638
BLAKE2b-256 b8c9656854139abbdc0a09d544bacc6fa3132245ebf9847dd45da9a8e416c5a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page