Skip to main content
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://github.com/biothings/biothings_client.py/actions/workflows/build-package.yml/badge.svg https://github.com/biothings/biothings_client.py/actions/workflows/run-tests.yml/badge.svg Codacy Badge Codacy Coverage 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.

  • geneset - The client for MyGeneset.Info, which provides access to geneset/pathway objects.

  • taxon - The client for MyTaxon.Info, which provides access to taxon objects.

Support

Python >=3.7

Optional dependencies

  • dataframe support (install using pip install biothings_client[dataframe])

    pandas is required for returning query results as a DataFrame.

  • caching support (install using pip install biothings_client[caching], requires Python >=3.8)

    Allows local caching of client queries to a SQLite database. Requires:

Installation

  • Option 1. Install from pypi repository using pip:

    pip install biothings_client
  • Option 2. Install the latest commit from the github repository using pip:

    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

  • Synchronous client.

    from biothings_client import get_client
    
    # get a client for variant objects
    mv = get_client("variant")
    
    mv.getvariant("chr7:g.140453134T>C")
    
    # 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
    mg = get_client("gene")
    
    mg.getgene(1017, 'name,symbol,refseq')
    
    {'_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
    md = get_client("chem")
    
    md.getchem("ATBDZSAENDYQDW-UHFFFAOYSA-N", fields="pubchem")
    
    {'_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
    mt = get_client("taxon")
    
    mt.gettaxon(9606)
    
    {'_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'}
  • Asynchronous client.

    from biothings_client import get_async_client
    
    # get a client for variant objects
    mv = get_async_client("variant")
    await mv.getvariant("chr7:g.140453134T>C")
    
    # get a client for gene objects
    mg = get_async_client("gene")
    await mg.getgene(1017, 'name,symbol,refseq')
    
    # get a client for chems/drugs
    md = get_async_client("chem")
    await md.getchem("ATBDZSAENDYQDW-UHFFFAOYSA-N", fields="pubchem")
    
    # get a client for taxa
    mt = get_async_client("taxon")
    await mt.gettaxon(9606)

Contact

Drop us any feedback @biothingsapi

Metadata

Release files for biothings-client 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biothings-client 0.5.1
File Size Uploaded
biothings_client-0.5.1.tar.gz 61.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biothings-client 0.5.1
File Interpreter ABI Platform
biothings_client-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 113.7 kB

Release files / biothings_client-0.5.1.tar.gz

Download URL biothings_client-0.5.1.tar.gz
Size 61.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4ee3a64e278dc0483aae9c85faef88296534a955543d5291a9d528c5164a8506
BLAKE2b-256 checksum
How to use checksums
ee2173de534c2e1903d58613be872368c8319239d3fa723edd4402f089a81abd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / biothings_client-0.5.1-py3-none-any.whl

Download URL biothings_client-0.5.1-py3-none-any.whl
Size 52.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ca9e23887016eabda10054c3fcd1a2482271afac2e58e8399c5a6f841f1735d
BLAKE2b-256 checksum
How to use checksums
38dff8fe522363990cc3b588d4dafd7601545ca5c3a7b452afc1a79f7802ba2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page