Skip to main content

Python Client for BioThings API services.

Project description

https://badge.fury.io/py/biothings-client.svg https://img.shields.io/pypi/pyversions/biothings-client.svg https://img.shields.io/pypi/format/biothings-client.svg https://travis-ci.org/biothings/biothings_client.py.svg?branch=master Codacy Badge PyPI Downloads Documentation Status

Intro

biothings_client is an easy-to-use Python wrapper to access any Biothings.api -based backend service. Currently, the following clients are available:

  • gene - The client for MyGene.Info, which provides access to gene objects.

  • variant - The client MyVariant.Info, which provides access to genetic variant objects.

  • chem - The client for MyChem.Info, which provides access to chemical/drug objects.

  • disease - The client for MyDisease.Info, which provides access to disease objects.

  • taxon - The client for t.biothings.io, which provides access to taxon objects.

Requirements

python >=2.7 (including all python3 versions)

(It may still work under python 2.6, but it’s not supported any more.)

requests (install using “pip install requests”)

Optional dependencies

  • pandas (install using “pip install pandas”) is required for returning a list of variant objects as DataFrame.

  • requests_cache (install using “pip install requests_cache”) is required for local caching of API requests.

Installation

Option 1
pip install biothings_client
Option 2

download/extract the source code and run:

python setup.py install
Option 3

install the latest code directly from the repository:

pip install -e git+https://github.com/biothings/biothings_client.py#egg=biothings_client

Version history

CHANGES.txt

Tutorial

See the quick start tutorial at the biothings_client doc page.

Documentation

https://biothings-clientpy.readthedocs.io

Usage

In [1]: from biothings_client import get_client

# get a client for variant objects

In [2]: mv = get_client("variant")

In [3]: mv.getvariant("chr7:g.140453134T>C")
Out[3]:  #output below is collapsed
{"_id": "chr7:g.140453134T>C",
 "_version": 1,
 "chrom": "7",
 "cadd": {...},
 "clinvar": {...},
 "cosmic": {...},
 "dbnsfp": {...},
 "dbsnp": {...},
 "docm": {...},
 "hg19": {'end': 140453134, 'start': 140453134},
 "mutdb": {...},
 "snpeff": {...},
 "vcf": {
    "alt": "C",
    "position": "140453134",
    "ref": "T"
 }}

# get a client for gene objects

In [7]: mg = get_client("gene")

In [8]: mg.getgene(1017, 'name,symbol,refseq')
Out[8]:
{'_id': '1017',
 '_score': 21.03413,
 'name': 'cyclin dependent kinase 2',
 'refseq': {'genomic': ['NC_000012.12', 'NC_018923.2', 'NG_034014.1'],
  'protein': ['NP_001277159.1',
   'NP_001789.2',
   'NP_439892.2',
   'XP_011536034.1'],
  'rna': ['NM_001290230.1', 'NM_001798.4', 'NM_052827.3', 'XM_011537732.1'],
  'translation': [{'protein': 'NP_001789.2', 'rna': 'NM_001798.4'},
   {'protein': 'NP_439892.2', 'rna': 'NM_052827.3'},
   {'protein': 'NP_001277159.1', 'rna': 'NM_001290230.1'},
   {'protein': 'XP_011536034.1', 'rna': 'XM_011537732.1'}]},
 'symbol': 'CDK2'}

# get a client for chems/drugs

In [9]: md = get_client("chem")

In [10]: md.getchem("ATBDZSAENDYQDW-UHFFFAOYSA-N", fields="pubchem")
Out[10]:
{'_id': 'ATBDZSAENDYQDW-UHFFFAOYSA-N',
 '_version': 1,
 'pubchem': {'chiral_atom_count': 0,
  'chiral_bond_count': 0,
  'cid': 'CID4080429',
  'complexity': 250,
  'covalently-bonded_unit_count': 1,
  'defined_atom_stereocenter_count': 0,
  'defined_bond_stereocenter_count': 0,
  'exact_mass': 184.019415,
  'formal_charge': 0,
  'heavy_atom_count': 12,
  'hydrogen_bond_acceptor_count': 3,
  'hydrogen_bond_donor_count': 1,
  'inchi': 'InChI=1S/C8H8O3S/c1-2-7-4-3-5-8(6-7)12(9,10)11/h2-6H,1H2,(H,9,10,11)',
  'inchi_key': 'ATBDZSAENDYQDW-UHFFFAOYSA-N',
  'isotope_atom_count': 0,
  'iupac': {'traditional': '3-vinylbesylic acid'},
  'molecular_formula': 'C8H8O3S',
  'molecular_weight': 184.21232,
  'monoisotopic_weight': 184.019415,
  'rotatable_bond_count': 2,
  'smiles': {'isomeric': 'C=CC1=CC(=CC=C1)S(=O)(=O)O'},
  'tautomers_count': 1,
  'topological_polar_surface_area': 62.8,
  'undefined_atom_stereocenter_count': 0,
  'undefined_bond_stereocenter_count': 0,
  'xlogp': 1.4}}

# get a client for taxa

In [11]: mt = get_client("taxon")

In [12]: mt.gettaxon(9606)
Out[12]:
{'_id': '9606',
 '_version': 1,
 'authority': ['homo sapiens linnaeus, 1758'],
 'common_name': 'man',
 'genbank_common_name': 'human',
 'has_gene': True,
 'lineage': [9606,
  9605,
  207598,
  9604,
  314295,
  9526,
  314293,
  376913,
  9443,
  314146,
  1437010,
  9347,
  32525,
  40674,
  32524,
  32523,
  1338369,
  8287,
  117571,
  117570,
  7776,
  7742,
  89593,
  7711,
  33511,
  33213,
  6072,
  33208,
  33154,
  2759,
  131567,
  1],
 'other_names': ['humans'],
 'parent_taxid': 9605,
 'rank': 'species',
 'scientific_name': 'homo sapiens',
 'taxid': 9606,
 'uniprot_name': 'homo sapiens'}

Contact

Drop us any feedback @biothingsapi

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

biothings_client-0.2.6.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

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

biothings_client-0.2.6-py2.py3-none-any.whl (37.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file biothings_client-0.2.6.tar.gz.

File metadata

  • Download URL: biothings_client-0.2.6.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for biothings_client-0.2.6.tar.gz
Algorithm Hash digest
SHA256 84d9d577b8fb3963a2fa71c5a13b10411566f3bc2e8ba67bb15de9d2ced08c2d
MD5 d1ff01fcda1497389224a7c2509dc139
BLAKE2b-256 0d9c7f45d8626ea747bca83eb1274f6ca9af6f2c01434171b231bad1d8c96d05

See more details on using hashes here.

File details

Details for the file biothings_client-0.2.6-py2.py3-none-any.whl.

File metadata

  • Download URL: biothings_client-0.2.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for biothings_client-0.2.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f88f3dfcc962d84b3555a426ae59cf4752761c17b8968ae60532109b9e8a232e
MD5 8ee5c8323d652e16e371d9c211cdfec7
BLAKE2b-256 6745595faf22215de8d56900143572747357af67b48c62513383489a41b7d31a

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