API to connect to VariantGrid
pip install variantgrid_api==0.2.0
Command line tool and Python library to connect to the VariantGrid variant database.
Install the Pip Package. On Linux this is via:
sudo pip install variantgrid_api
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
...
Create ~/.vg_api to store command line parameters so you don't have to pass them each time, eg:
login = mylogin
password = X
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
This project is licensed under the MIT License - see the LICENSE.md file for details