Usage
GeneBe Utils
GeneBe: A Python client seamlessly integrating with the GeneBe platform, offering efficient annotation of genetic variants through its API, while supporting pandas, VCF file formats, and HGVS parsing.
Using this client, you can easily annotate your DNA variants with the GeneBe API. Annotations include:
Gene, transcript, and effect
ClinVar phenotype
GnomAD frequency
ACMG score
… if you need more, please let us know
Command Line Usage
Check current options using --help
switch:
genebe --help
genebe annotate --help
Annotating VCF using annotate
command
GeneBe client allows you to annotate your VCF file with ease. Use the following command:
genebe annotate --input input.vcf.gz --output output.vcf.gz
Remember that your VCF file must be in a single allelic format! Utilize bcftools (https://samtools.github.io/bcftools/) to split the file. The output VCF will contain additional fields.
To use VCF annotation, you have to have the cyvcf2
package installed. Take a look at the Installation section below.
If your VCF file is large (over 10,000 variants), you may encounter request limits. To avoid this, create a GeneBe account with an API Key and provide your login/key using the --username
and --api-key
arguments. You can always check your limits with the account command. Update your annotation command as follows:
genebe annotate --input input.vcf.gz --output output.vcf.gz --username your_username --api-key your_api_key
For more information, call:
genebe annotate --help
Library usage
Simple annotation of genetic variants
Example of annotating a single variant.
import genebe as gnb
input_variants = ['7-69599651-A-G']
# output as a list, with all transcripts
list = gnb.annotate_variants_list(input_variants,flatten_consequences = False)
# output as a pandas dataframe, flat
df = gnb.annotate_variants_list_to_dataframe(input_variants, flatten_consequences=True)
Annotating pandas dataframe
If you have a pandas dataframe named df
with columns chr
, pos
, ref
, alt
then annotating it with variant consequences etc. is as easy as:
import genebe as gnb
annotated = gnb.annotate_dataframe_variants(df,use_ensembl=False,use_refseq=True, genome='hg38', flatten_consequences=True)
Parsing HGVS
import genebe as gnb
# parse HGVS
input_hgvs = ['NM_000277.2:c.1A>G']
parsed_variants = gnb.parse_hgvs(input_hgvs)
Making a liftover
Simple lift genetic variants between hg19/hg38/T2T
import genebe as gnb
# parse HGVS
input_hgvs = ['NM_000277.2:c.1A>G']
gnb.lift_over_variants(['chr6-161006172-T-G'])
Find more usage examples on GitHub https://github.com/pstawinski/pygenebe/tree/main/examples