# Packages
# README
Go API client for genome_nexus_public_api
This page shows how to use HTTP requests to access the Genome Nexus API. There are more high level clients available in Python, R, JavaScript, TypeScript and various other languages as well as a command line client to annotate MAF and VCF. See https://docs.genomenexus.org/api.
Aside from programmatic clients there are web based tools to annotate variants, see https://docs.genomenexus.org/tools.
We currently only provide long-term support for the '/annotation' endpoint. The other endpoints might change.
Overview
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 2.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Installation
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import genome_nexus_public_api "github.com/GIT_USER_ID/GIT_REPO_ID"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Configuration of Server URL
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
Select Server Configuration
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), genome_nexus_public_api.ContextServerIndex, 1)
Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), genome_nexus_public_api.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
URLs Configuration per Operation
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), genome_nexus_public_api.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), genome_nexus_public_api.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
Documentation for API Endpoints
All URIs are relative to http://www.genomenexus.org
Class | Method | HTTP request | Description |
---|---|---|---|
AnnotationControllerApi | FetchVariantAnnotationByGenomicLocationGET | Get /annotation/genomic/{genomicLocation} | Retrieves VEP annotation for the provided genomic location |
AnnotationControllerApi | FetchVariantAnnotationByGenomicLocationPOST | Post /annotation/genomic | Retrieves VEP annotation for the provided list of genomic locations |
AnnotationControllerApi | FetchVariantAnnotationByIdGET | Get /annotation/dbsnp/{variantId} | Retrieves VEP annotation for the give dbSNP id |
AnnotationControllerApi | FetchVariantAnnotationByIdPOST | Post /annotation/dbsnp/ | Retrieves VEP annotation for the provided list of dbSNP ids |
AnnotationControllerApi | FetchVariantAnnotationGET | Get /annotation/{variant} | Retrieves VEP annotation for the provided variant |
AnnotationControllerApi | FetchVariantAnnotationPOST | Post /annotation | Retrieves VEP annotation for the provided list of variants |
EnsemblControllerApi | FetchCanonicalEnsemblGeneIdByEntrezGeneIdGET | Get /ensembl/canonical-gene/entrez/{entrezGeneId} | Retrieves Ensembl canonical gene id by Entrez Gene Id |
EnsemblControllerApi | FetchCanonicalEnsemblGeneIdByEntrezGeneIdsPOST | Post /ensembl/canonical-gene/entrez | Retrieves canonical Ensembl Gene ID by Entrez Gene Ids |
EnsemblControllerApi | FetchCanonicalEnsemblGeneIdByHugoSymbolGET | Get /ensembl/canonical-gene/hgnc/{hugoSymbol} | Retrieves Ensembl canonical gene id by Hugo Symbol |
EnsemblControllerApi | FetchCanonicalEnsemblGeneIdByHugoSymbolsPOST | Post /ensembl/canonical-gene/hgnc | Retrieves canonical Ensembl Gene ID by Hugo Symbols |
EnsemblControllerApi | FetchCanonicalEnsemblTranscriptByHugoSymbolGET | Get /ensembl/canonical-transcript/hgnc/{hugoSymbol} | Retrieves Ensembl canonical transcript by Hugo Symbol |
EnsemblControllerApi | FetchCanonicalEnsemblTranscriptsByHugoSymbolsPOST | Post /ensembl/canonical-transcript/hgnc | Retrieves Ensembl canonical transcripts by Hugo Symbols |
EnsemblControllerApi | FetchEnsemblTranscriptByTranscriptIdGET | Get /ensembl/transcript/{transcriptId} | Retrieves the transcript by an Ensembl transcript ID |
EnsemblControllerApi | FetchEnsemblTranscriptsByEnsemblFilterPOST | Post /ensembl/transcript | Retrieves Ensembl Transcripts by Ensembl transcript IDs, hugo Symbols, protein IDs, or gene IDs |
EnsemblControllerApi | FetchEnsemblTranscriptsGET | Get /ensembl/transcript | Retrieves Ensembl Transcripts by protein ID, and gene ID. Retrieves all transcripts in case no query parameter provided |
EnsemblControllerApi | FetchGeneXrefsGET | Get /ensembl/xrefs | Perform lookups of Ensembl identifiers and retrieve their external references in other databases |
InfoControllerApi | FetchVersionGET | Get /version | Retrieve Genome Nexus Version |
PdbControllerApi | FetchPdbHeaderGET | Get /pdb/header/{pdbId} | Retrieves PDB header info by a PDB id |
PdbControllerApi | FetchPdbHeaderPOST | Post /pdb/header | Retrieves PDB header info by a PDB id |
PfamControllerApi | FetchPfamDomainsByAccessionGET | Get /pfam/domain/{pfamAccession} | Retrieves a PFAM domain by a PFAM domain ID |
PfamControllerApi | FetchPfamDomainsByPfamAccessionPOST | Post /pfam/domain | Retrieves PFAM domains by PFAM domain accession IDs |
PtmControllerApi | FetchPostTranslationalModificationsByPtmFilterPOST | Post /ptm/experimental | Retrieves PTM entries by Ensembl Transcript IDs |
PtmControllerApi | FetchPostTranslationalModificationsGET | Get /ptm/experimental | Retrieves PTM entries by Ensembl Transcript ID |
Documentation For Models
- AggregateSourceInfo
- AlleleCount
- AlleleFrequency
- AlleleNumber
- Alleles
- ArticleAbstract
- Citations
- ClinVar
- Clinvar
- ClinvarAnnotation
- ColocatedVariant
- Cosmic
- CountByTumorType
- Dbsnp
- Drug
- EnsemblFilter
- EnsemblGene
- EnsemblTranscript
- Exon
- Gene
- GeneXref
- GeneralPopulationStats
- GenomeNexusInfo
- GenomicLocation
- Gnomad
- Hg19
- Hg38
- Hgvs
- Homozygotes
- Hotspot
- HotspotAnnotation
- HrdScore
- Implication
- IndicatorQueryResp
- IndicatorQueryTreatment
- IntegerRange
- IntergenicConsequences
- MainType
- MutationAssessor
- MutationAssessorAnnotation
- MutationEffectResp
- Mutdb
- MyVariantInfo
- MyVariantInfoAnnotation
- NucleotideContext
- NucleotideContextAnnotation
- OncokbAnnotation
- PdbHeader
- PfamDomain
- PfamDomainRange
- PostTranslationalModification
- PtmAnnotation
- PtmFilter
- Query
- Rcv
- SignalAnnotation
- SignalMutation
- SignalPopulationStats
- Snpeff
- SourceVersionInfo
- StatsByTumorType
- TranscriptConsequence
- TranscriptConsequenceSummary
- TumorType
- UntranslatedRegion
- VEPInfo
- VariantAnnotation
- VariantAnnotationSummary
- Vcf
- Version
- Vues
Documentation For Authorization
Endpoints do not require authorization.
Documentation for Utility Methods
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime