variantgrid_api

API to connect to VariantGrid


License
MIT
Install
pip install variantgrid_api==0.2.0

Documentation

VariantGrid API

Command line tool and Python library to connect to the VariantGrid variant database.

Installing

Install the Pip Package. On Linux this is via:

sudo pip install variantgrid_api

Example

Retrieve publicly classified variants for the F5 gene from variantgrid.com:

remote-client$ vg_api classifications --gene=F5

Output:

##fileformat=VCFv4.1
##generated_by=2018-02-14 10:04:08.470158 by vg_api v0.1
##command_line=vg_api classifications --gene=F5
##INFO=<ID=VARIANTCLASSIFICATION_ZYGOSITY,Number=1,Type=String,Description="Sample Zygosity of classification (E=HET, O=HOM) multiple values joined with a |">
##INFO=<ID=VARIANT_GRID_ID,Number=1,Type=Integer,Description="VariantGrid primary column">
##INFO=<ID=VARIANTCLASSIFICATION_GROUP,Number=1,Type=String,Description="Group performing classification multiple values joined with a |">
##INFO=<ID=CLASSIFICATION,Number=1,Type=String,Description="Pathogenicity according to ACMG guidelines. 1-Benign, 2-Likely Benign, 3-VUS, 4-Likely Pathogenic, 5-Pathogenic multiple values joined with a |">
##INFO=<ID=VARIANTCLASSIFICATION_ID,Number=1,Type=String,Description="Unique Classification ID multiple values joined with a |">
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO
1	169519049	.	T	C	.	.	VARIANTCLASSIFICATION_ZYGOSITY=|E;VARIANTCLASSIFICATION_ID=19886|20902;CLASSIFICATION=2|1
1	169521853	.	A	G	.	.	VARIANTCLASSIFICATION_ID=20924;CLASSIFICATION=2

Add a public classification to the 1st variant. You need a valid login:

vg_api add_classification --login=mylogin --password=X --dbsnp rs6025 --classification=3 --public

Add a private classification:

vg_api add_classification --login=mylogin --password=X --dbsnp rs6025 --classification=4

Retrieve the classifications using a login - your 2 new classifications (1 public, 1 private) are there:

$vg_api classifications --login=mylogin --password=X --gene=F5
...
1	169519049	.	T	C	.	.	VARIANTCLASSIFICATION_ZYGOSITY=|E||;VARIANTCLASSIFICATION_ID=19886|20902|20926|20927;CLASSIFICATION=2|1|3|4
...

Retrieve the classifications without a login - only public classification is there:

$vg_api classifications --gene=F5
...
1	169519049	.	T	C	.	.	VARIANTCLASSIFICATION_ZYGOSITY=|E|;VARIANTCLASSIFICATION_ID=19886|20902|20926;CLASSIFICATION=2|1|3
...

Configuration Files

Create ~/.vg_api to store command line parameters so you don't have to pass them each time, eg:

login = mylogin
password = X

Python

You can make your own API calls via Python:

from variantgrid_api import VariantGridAPI

In [1]: api = VariantGridAPI(login, password)

In [2]: api.gene_annotation('ENSG00000147065')
Out[2]: 
{'chromosome_name': 'X',
 'ensembl_gene': {'ensembl_gene_id': 'ENSG00000147065', 'gene_symbol': 'MSN'},
 'entrez_gene_id': 4478,
 'gene_biotype': 'protein_coding' ...... }

VariantGrid provides a REST API for remote access - so it is easy to write programs to talk to VariantGrid in any language.

For details, see: VariantGrid REST API documentation

For a REST example, here's the Variant Classifications for F5 gene

License

This project is licensed under the MIT License - see the LICENSE.md file for details