1"use strict";(globalThis.webpackChunkgenebe_docs=globalThis.webpackChunkgenebe_docs||[]).push([[7735],{6593(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/overview","title":"API access","description":"Annotate your VCF, Pandas dataframe or variants list with ACMG scores, GnomAD frequencies, ClinVar annotations, effect predictors and more using GeneBe API","source":"@site/docs/api/01.overview.md","sourceDirName":"api","slug":"/api/overview","permalink":"/docs/api/overview","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"API access","toc-title":"Overview of the API","description":"Annotate your VCF, Pandas dataframe or variants list with ACMG scores, GnomAD frequencies, ClinVar annotations, effect predictors and more using GeneBe API"},"sidebar":"tutorialSidebar","previous":{"title":"API","permalink":"/docs/category/api"},"next":{"title":"Account, API Keys, Rate Limits","permalink":"/docs/api/api-account"}}');var a=t(4848),o=t(8453);const r={title:"API access","toc-title":"Overview of the API",description:"Annotate your VCF, Pandas dataframe or variants list with ACMG scores, GnomAD frequencies, ClinVar annotations, effect predictors and more using GeneBe API"},s="GeneBe API",c={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Endpoints for Genetic Variant Annotation",id:"endpoints-for-genetic-variant-annotation",level:2},{value:"GET Endpoint for Single Variant (<code>/api-public/v1/variant</code>)",id:"get-endpoint-for-single-variant-api-publicv1variant",level:3},{value:"POST Endpoint for Batch Annotation (<code>/api-public/v1/variants</code>)",id:"post-endpoint-for-batch-annotation-api-publicv1variants",level:3},{value:"GeneBe Python client",id:"genebe-python-client",level:2},{value:"TODO types",id:"todo-types",level:2},{value:"API Limits and Registration",id:"api-limits-and-registration",level:2},{value:"Detailed Open API documentation",id:"detailed-open-api-documentation",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"genebe-api",children:"GeneBe API"})}),"\n",(0,a.jsx)(n.p,{children:"This page briefly describes the GeneBe API, which can be utilized for various purposes:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["If you need to annotate a VCF file using the API, we recommend using the Java client available at ",(0,a.jsx)(n.a,{href:"https://github.com/pstawinski/genebe-cli",children:"https://github.com/pstawinski/genebe-cli"})," . Read more ",(0,a.jsx)(n.a,{href:"https://genebe.net/about/vcf-file-annotation",children:"here"})," ."]}),"\n",(0,a.jsxs)(n.li,{children:["If you intend to annotate variants in a Python script, such as with Pandas, we suggest using the Python library also accessible at ",(0,a.jsx)(n.a,{href:"https://pygenebe.readthedocs.io/en/latest/",children:"https://pygenebe.readthedocs.io/en/latest/"}),". Read more ",(0,a.jsx)(n.a,{href:"https://genebe.net/about/api-pandas",children:"here"})," ."]}),"\n",(0,a.jsxs)(n.li,{children:["For other specific requirements, you may opt to generate a client yourself by referring to the Open API documentation at ",(0,a.jsx)(n.a,{href:"https://api.genebe.net/cloud/gb-api-doc/swagger-ui/index.html",children:"https://api.genebe.net/cloud/gb-api-doc/swagger-ui/index.html"})," ."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"We encourage you to review the brief description below, which outlines the main endpoints."}),"\n",(0,a.jsx)(n.hr,{}),"\n",(0,a.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(n.p,{children:"GeneBe provides a user-friendly API for genetic variant annotation. You can use one of two key endpoints: a GET query for single variant annotation and a POST query for batch annotation. We'll explore the details of this API, its advantages, and how to use it effectively."}),"\n",(0,a.jsx)(n.h2,{id:"endpoints-for-genetic-variant-annotation",children:"Endpoints for Genetic Variant Annotation"}),"\n",(0,a.jsxs)(n.p,{children:["You can read more about Variant Annotation ",(0,a.jsx)(n.a,{href:"https://genebe.net/about/api-variant-annotation",children:"here"}),"."]}),"\n",(0,a.jsxs)(n.h3,{id:"get-endpoint-for-single-variant-api-publicv1variant",children:["GET Endpoint for Single Variant (",(0,a.jsx)(n.code,{children:"/api-public/v1/variant"}),")"]}),"\n",(0,a.jsx)(n.p,{children:"Ideal for individual variant annotation."}),"\n",(0,a.jsx)(n.p,{children:"Example Usage without Logging In:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:" curl -X 'GET' \\\n 'https://api.genebe.net/cloud/api-public/v1/variant?chr=6&pos=160585140&ref=T&alt=G&genome=hg38' \\\n -H 'Accept: application/json'\n"})}),"\n",(0,a.jsxs)(n.p,{children:["You can easily see the results in browser:\n",(0,a.jsx)(n.a,{href:"https://api.genebe.net/cloud/api-public/v1/variant?chr=6&pos=160585140&ref=T&alt=G&genome=hg38",children:"https://api.genebe.net/cloud/api-public/v1/variant?chr=6&pos=160585140&ref=T&alt=G&genome=hg38"})]}),"\n",(0,a.jsx)(n.p,{children:"Example Usage with an API key:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"curl -X 'GET' -u YOUR_EMAIL:YOUR_API_KEY \\\n'https://api.genebe.net/cloud/api-public/v1/variant?chr=6&pos=160585140&ref=T&alt=G&genome=hg38' \\\n-H 'Accept: application/json'\n"})}),"\n",(0,a.jsxs)(n.h3,{id:"post-endpoint-for-batch-annotation-api-publicv1variants",children:["POST Endpoint for Batch Annotation (",(0,a.jsx)(n.code,{children:"/api-public/v1/variants"}),")"]}),"\n",(0,a.jsx)(n.p,{children:"If you need to annotate multiple variants it is recommended to use POST endpoint. It works with multiple variants in batches (up to 1000)."}),"\n",(0,a.jsx)(n.p,{children:"Example Usage Without Logging In:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:' curl -X \'POST\' \\\n \'https://api.genebe.net/cloud/api-public/v1/variants?genome=hg38\' \\\n -H \'Accept: application/json\' \\\n -H \'Content-Type: application/json\' \\\n -d \'[{"chr":"22", "pos":28695868, "ref":"AG", "alt":"A"}]\'\n'})}),"\n",(0,a.jsx)(n.p,{children:"Example Usage with an API key:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:' curl -X \'POST\' -u YOUR_EMAIL:YOUR_API_KEY \\\n \'https://api.genebe.net/cloud/api-public/v1/variants?genome=hg38\' \\\n -H \'Accept: application/json\' \\\n -H \'Content-Type: application/json\' \\\n -d \'[{"chr":"22", "pos":28695868, "ref":"AG", "alt":"A"}]\'\n'})}
1),"\n",(0,a.jsx)(n.h2,{id:"genebe-python-client",children:"GeneBe Python client"}),"\n",(0,a.jsxs)(n.p,{children:["There is an experimental python API client, available on ",(0,a.jsx)(n.a,{href:"https://pypi.org/project/genebe/",children:"PyPI"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Read more ",(0,a.jsx)(n.a,{href:"https://genebe.net/about/api-pandas",children:"here"}),"."]}),"\n",(0,a.jsx)(n.h2,{id:"todo-types",children:"TODO types"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"CNV"}),"\n",(0,a.jsx)(n.li,{children:"Convertig, lifting etc"}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"api-limits-and-registration",children:"API Limits and Registration"}),"\n",(0,a.jsx)(n.p,{children:"GeneBe enforces daily query limits per IP address. To access more queries, it's recommended to:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"Register an account on GeneBe."}),"\n",(0,a.jsx)(n.li,{children:"Create an API key on your profile page."}),"\n",(0,a.jsx)(n.li,{children:"Use Basic Authorization with your email as the username and the API key as the password in your API requests."}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Read more ",(0,a.jsx)(n.a,{href:"https://genebe.net/about/api-account",children:"here"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"If you require annotation for hundreds of thousands of variants daily, please contact us."}),"\n",(0,a.jsx)(n.h2,{id:"detailed-open-api-documentation",children:"Detailed Open API documentation"}),"\n",(0,a.jsxs)(n.p,{children:["For more comprehensive information, you can refer to the automatically generated ",(0,a.jsx)(n.a,{href:"https://api.genebe.net/cloud/gb-api-doc/swagger-ui/index.html",children:"GeneBe Rest API documentation"})," ."]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>r,x:()=>s});var i=t(6540);const a={},o=i.createContext(a);function r(e){const n=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.