Python Client for BioThings API services.
Project description
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 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
Tutorial
See the quick start tutorial at the biothings_client doc page.
Documentation
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
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
Built Distribution
File details
Details for the file biothings_client-0.3.1.tar.gz
.
File metadata
- Download URL: biothings_client-0.3.1.tar.gz
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c972bf2e02b6f9cc78f7f2fbc5ef02cc56fe4f8a2adcb8801ec902f4ab7011e6 |
|
MD5 | 08bfce32147a245cc251c61ccc053539 |
|
BLAKE2b-256 | ee541a6bce6507a986906a828786e3f2c7411ae12d846d4d3edf806ec405bc9a |
File details
Details for the file biothings_client-0.3.1-py2.py3-none-any.whl
.
File metadata
- Download URL: biothings_client-0.3.1-py2.py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c08437f652d9282da785e098288ef7cf3aa2a79f5d90c480eadfce96b846013e |
|
MD5 | 394cdd4f5c9124ac901b8c1a88686227 |
|
BLAKE2b-256 | c2216c4bdb8ba8d2cdeb5ac3a6460ab1cbd841e46cd851d6b00028b327c5deb3 |