From f0cf1be7019ff2a70a30e16eb11de91826b9ade4 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Fri, 26 Jan 2024 08:04:38 +0100 Subject: [PATCH] feat: adding protobuf to typescript generation --- Makefile | 18 + README.md | 8 + package-lock.json | 78 + package.json | 1 + protos/annonars/genes/base.proto | 1081 +++++ src/pbs/annonars/genes/base.ts | 7547 ++++++++++++++++++++++++++++++ 6 files changed, 8733 insertions(+) create mode 100644 protos/annonars/genes/base.proto create mode 100644 src/pbs/annonars/genes/base.ts diff --git a/Makefile b/Makefile index 500dd1a..fe3b9a0 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,9 @@ help: @echo " test Run tests (no watch)" @echo " test-ci Run tests (no watch) for CI (with coverage, single-threaded)" @echo " test-nocov Run tests (no watch) without coverage" + @echo " proto-fetch Fetch protobuf files" + @echo " proto-ts Generate .ts from .proto files" + @echo " proto Fetch, generate, and format .ts from .proto files" @echo " test-w Run tests (watch)" @echo " ci Install dependencies, run lints and tests" @echo " serve Run the Storybook server" @@ -61,3 +64,18 @@ serve: .PHONY: serve-public serve-public: npm run storybook -- --host=0.0.0.0 + +PROTO_BASE := https://raw.githubusercontent.com/varfish-org/annonars/main + +.PHONY: proto-fetch +proto-fetch: + mkdir -p protos/annonars/genes + wget -O protos/annonars/genes/base.proto $(PROTO_BASE)/protos/annonars/genes/base.proto + +.PHONY: proto-ts +proto-ts: + mkdir -p src/pbs + npx protoc --ts_out src/pbs --proto_path protos protos/annonars/genes/base.proto + +.PHONY: proto +proto: proto-fetch proto-ts format lint diff --git a/README.md b/README.md index 917792d..5e630e3 100644 --- a/README.md +++ b/README.md @@ -18,3 +18,11 @@ npm ci make serve # hack away! ``` + +## Generating TS for Protobuf + +Fetch protobuf files from main, and re-generate the TS files, and format them. + +``` +make proto +``` diff --git a/package-lock.json b/package-lock.json index 7ec8e4d..f183a86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "vue": "^3.3.11" }, "devDependencies": { + "@protobuf-ts/plugin": "^2.9.3", "@rushstack/eslint-patch": "^1.6.1", "@storybook/addon-essentials": "^7.6.10", "@storybook/addon-interactions": "^7.6.10", @@ -3290,6 +3291,83 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@protobuf-ts/plugin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.3.tgz", + "integrity": "sha512-tHYACv+nnIV2eoiMxeZhrgMqGiUktzUzrhfgnROg/rr8TecPLp9v5/yqNibN+bad5k7d57aqlTuQKhFl+J4W/g==", + "dev": true, + "dependencies": { + "@protobuf-ts/plugin-framework": "^2.9.3", + "@protobuf-ts/protoc": "^2.9.3", + "@protobuf-ts/runtime": "^2.9.3", + "@protobuf-ts/runtime-rpc": "^2.9.3", + "typescript": "^3.9" + }, + "bin": { + "protoc-gen-dump": "bin/protoc-gen-dump", + "protoc-gen-ts": "bin/protoc-gen-ts" + } + }, + "node_modules/@protobuf-ts/plugin-framework": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.3.tgz", + "integrity": "sha512-iqdkhAu7fGPvBCVOoAEEFJ1/oaGIBoNIMgSv2WonTNJVHxv5FvvAfWFn6nG/eta34fHRZT38ZXTaYcMUkv8AiQ==", + "dev": true, + "dependencies": { + "@protobuf-ts/runtime": "^2.9.3", + "typescript": "^3.9" + } + }, + "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@protobuf-ts/plugin/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@protobuf-ts/protoc": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.3.tgz", + "integrity": "sha512-TJ0Ycx/CIBqpB4wpKt6K05kjXj6zv36s/qpdCT/wdJBhpayOVBqLF5NpLp3WIiw1PmIxvqalB6QHKjvnLzGKLA==", + "dev": true, + "bin": { + "protoc": "protoc.js" + } + }, + "node_modules/@protobuf-ts/runtime": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.3.tgz", + "integrity": "sha512-nivzCpg/qYD0RX2OmHOahJALb8ndjGmUhNBcTJ0BbXoqKwCSM6vYA+vegzS3rhuaPgbyC7Ec8idlnizzUfIRuw==", + "dev": true + }, + "node_modules/@protobuf-ts/runtime-rpc": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.3.tgz", + "integrity": "sha512-WelHpctvZeG8yhbb7tnsrLzotq9xjMCXuGuhJ8qMyEdNoBBEodbXseofAYFTebo2/PN2LzyEq3X6vwr5f8jqTA==", + "dev": true, + "dependencies": { + "@protobuf-ts/runtime": "^2.9.3" + } + }, "node_modules/@radix-ui/number": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", diff --git a/package.json b/package.json index c29d5e7..de54265 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "vue": "^3.3.11" }, "devDependencies": { + "@protobuf-ts/plugin": "^2.9.3", "@rushstack/eslint-patch": "^1.6.1", "@storybook/addon-essentials": "^7.6.10", "@storybook/addon-interactions": "^7.6.10", diff --git a/protos/annonars/genes/base.proto b/protos/annonars/genes/base.proto new file mode 100644 index 0000000..e33d2fa --- /dev/null +++ b/protos/annonars/genes/base.proto @@ -0,0 +1,1081 @@ +syntax = "proto3"; + +package annonars.genes.base; + +// Information from ACMG secondary findings list. +message AcmgSecondaryFindingRecord { + // The HGNC ID. + string hgnc_id = 1; + // The Ensembl gene ID. + string ensembl_gene_id = 2; + // The NCBI gene ID. + string ncbi_gene_id = 3; + // The HGNC gene symbol. + string gene_symbol = 4; + // The MIM gene ID. + string mim_gene_id = 5; + // The disease phenotype. + string disease_phenotype = 6; + // The disease MIM id. + string disorder_mim = 7; + // The phenotype category. + string phenotype_category = 8; + // The mode of inheritance. + string inheritance = 9; + // The version of the ACMG SF list of first appearance. + string sf_list_version = 10; + // The variants to report according to ACMG SF. + string variants_to_report = 11; +} + +/// Enumeration for Haploinsufficiency / Triplosensitivity scores. +enum ClingenDosageScore { + // unknown + CLINGEN_DOSAGE_SCORE_UNKNOWN = 0; + // Sufficient evidence for dosage pathogenicity + CLINGEN_DOSAGE_SCORE_SUFFICIENT_EVIDENCE_AVAILABLE = 1; + // Some evidence for dosage pathogenicity + CLINGEN_DOSAGE_SCORE_SOME_EVIDENCE_AVAILABLE = 2; + // Little evidence for dosage pathogenicity + CLINGEN_DOSAGE_SCORE_LITTLE_EVIDENCE = 3; + // No evidence available + CLINGEN_DOSAGE_SCORE_NO_EVIDENCE_AVAILABLE = 4; + // Gene associated with autosomal recessive phenotype + CLINGEN_DOSAGE_SCORE_RECESSIVE = 5; + // Dosage sensitivity unlikely + CLINGEN_DOSAGE_SCORE_UNLIKELY = 6; +} + +/// `ClinGen` gene dosage sensitivity record. +message ClingenDosageRecord { + // Gene symbol. + string gene_symbol = 1; + // NCBI gene ID. + string ncbi_gene_id = 2; + // Genomic location GRCh37. + string genomic_location_37 = 3; + // Genomic location GRCh38. + string genomic_location_38 = 4; + // Haploinsufficiency score. + ClingenDosageScore haploinsufficiency_score = 5; + // Triplosensitivity score. + ClingenDosageScore triplosensitivity_score = 6; + // Haploinsufficiency Disease ID. + optional string haploinsufficiency_disease_id = 7; + // Haploinsufficiency Disease ID. + optional string triplosensitivity_disease_id = 8; +} + +// Decipher HI Predictions +message DecipherHiRecord { + // HGNC identifier. + string hgnc_id = 1; + // Official HGNC gene symbol. + string hgnc_symbol = 2; + // P(HI) prediction from DECIPHER HI. + double p_hi = 3; + // Percent HI index. + double hi_index = 4; +} + +// Information from DOMINO. +message DominoRecord { + // Gene symbol. + string gene_symbol = 1; + // The score. + double score = 2; +} + +// Code for data from the dbNSFP database. +message DbnsfpRecord { + // Gene symbol from HGNC. + string gene_name = 1; + // Ensembl gene id (from HGNC). + optional string ensembl_gene = 2; + // Chromosome number (from HGNC). + optional string chr = 3; + // Old gene symbol (from HGNC). + repeated string gene_old_names = 4; + // Other gene names (from HGNC). + repeated string gene_other_names = 5; + // Uniprot acc (from HGNC). + optional string uniprot_acc = 6; + // Uniprot id (from HGNC). + optional string uniprot_id = 7; + // Uniprot id (from HGNC). + optional string entrez_gene_id = 8; + // CCDS id (from HGNC). + repeated string ccds_id = 9; + // Refseq gene id (from HGNC). + repeated string refseq_id = 10; + // UCSC gene id (from HGNC). + optional string ucsc_id = 11; + // MIM gene id (from OMIM). + repeated string mim_id = 12; + // MIM gene id from OMIM. + repeated string omim_id = 13; + // Gene full name (from HGNC). + optional string gene_full_name = 14; + + // Pathway description from Uniprot. + optional string pathway_uniprot = 15; + // Short name of the Pathway(s) the gene belongs to (from BioCarta). + repeated string pathway_biocarta_short = 16; + // Full name(s) of the Pathway(s) the gene belongs to (from BioCarta). + repeated string pathway_biocarta_full = 17; + // Pathway(s) the gene belongs to (from ConsensusPathDB). + repeated string pathway_consensus_path_db = 18; + // ID(s) of the Pathway(s) the gene belongs to (from KEGG). + repeated string pathway_kegg_id = 19; + // Full name(s) of the Pathway(s) the gene belongs to (from KEGG). + repeated string pathway_kegg_full = 20; + + // Function description of the gene (from Uniprot). + repeated string function_description = 21; + // Disease(s) the gene caused or associated with (from Uniprot). + repeated string disease_description = 22; + // MIM id(s) of the phenotype the gene caused or associated with (from Uniprot). + repeated string mim_phenotype_id = 23; + // MIM disease name(s) with MIM id(s) in [] (from Uniprot). + repeated string mim_disease = 24; + // Orphanet Number of the disorder the gene caused or associated with. + repeated string orphanet_disorder_id = 25; + // Disorder name from Orphanet. + repeated string orphanet_disorder = 26; + // The type of association beteen the gene and the disorder in Orphanet. + repeated string orphanet_association_type = 27; + // Trait(s) the gene associated with (from GWAS catalog). + repeated string trait_association_gwas = 28; + // ID of the mapped Human Phenotype Ontology. + repeated string hpo_id = 29; + // Name of the mapped Human Phenotype Ontology. + repeated string hpo_name = 30; + // GO terms for biological process. + repeated string go_biological_process = 31; + // GO terms for cellular component. + repeated string go_cellular_component = 32; + // GO terms for molecular function. + repeated string go_molecular_function = 33; + // Tissue specificity description from Uniprot. + repeated string tissue_specificity_uniprot = 34; + // Tissues/organs the gene expressed in (egenetics data from BioMart). + repeated string expression_egenetics = 35; + // Tissues/organs the gene expressed in (GNF/Atlas data from BioMart). + repeated string expression_gnf_atlas = 36; + // The interacting genes from IntAct. + repeated string interactions_intact = 37; + // The interacting genes from BioGRID. + repeated string interactions_biogrid = 38; + // The interacting genes from ConsensusPathDB. + repeated string interactions_consensus_path_db = 39; + + // Estimated probability of haploinsufficiency of the gene (from + // doi:10.1371/journal.pgen.1001154). + optional double haploinsufficiency = 40; + // Estimated probability of haploinsufficiency of the gene (from + // doi:10.1093/bioinformatics/btx028). + optional double hipred_score = 41; + // HIPred prediction of haploinsufficiency of the gene. Y(es) or N(o). (from + // doi:10.1093/bioinformatics/btx028). + optional string hipred = 42; + // A score predicting the gene haploinsufficiency. The higher the score the more likely the + // gene is haploinsufficient (from doi: 10.1093/nar/gkv474). + optional double ghis = 43; + // Estimated probability that gene is a recessive disease gene (from + // DOI:10.1126/science.1215040). + optional double prec = 44; + // Known recessive status of the gene (from DOI:10.1126/science.1215040) "lof-tolerant = + // seen in homozygous state in at least one 1000G individual" "recessive = known OMIM + // recessive disease" (original annotations from DOI:10.1126/science.1215040). + optional string known_rec_info = 45; + // Residual Variation Intolerance Score, a measure of intolerance of mutational burden, the + // higher the score the more tolerant to mutational burden the gene is. Based on EVS + // (ESP6500) data. from doi:10.1371/journal.pgen.1003709. + optional double rvis_evs = 46; + // The percentile rank of the gene based on RVIS, the higher the percentile the more + // tolerant to mutational burden the gene is. Based on EVS (ESP6500) data. + optional double rvis_percentile_evs = 47; + // "A gene's corresponding FDR p-value for preferential LoF depletion among the ExAC + // population. Lower FDR corresponds with genes that are increasingly depleted of LoF + // variants." cited from RVIS document. + optional double lof_fdr_exac = 48; + // "ExAC-based RVIS; setting 'common' MAF filter at 0.05% in at least one of the six + // individual ethnic strata from ExAC." cited from RVIS document. + optional double rvis_exac = 49; + // "Genome-Wide percentile for the new ExAC-based RVIS; setting 'common' MAF filter at 0.05% + // in at least one of the six individual ethnic strata from ExAC." cited from RVIS document. + optional double rvis_percentile_exac = 50; + // "the probability of being loss-of-function intolerant (intolerant of both heterozygous + // and homozygous lof variants)" based on ExAC r0.3 data. + optional double exac_pli = 51; + // "the probability of being intolerant of homozygous, but not heterozygous lof variants" + // based on ExAC r0.3 data. + optional double exac_prec = 52; + // "the probability of being tolerant of both heterozygous and homozygous lof variants" + // based on ExAC r0.3 data. + optional double exac_pnull = 53; + // "the probability of being loss-of-function intolerant (intolerant of both heterozygous + // and homozygous lof variants)" based on ExAC r0.3 nonTCGA subset. + optional double exac_nontcga_pli = 54; + // "the probability of being intolerant of homozygous, but not heterozygous lof variants" + // based on ExAC r0.3 nonTCGA subset. + optional double exac_nontcga_prec = 55; + // "the probability of being tolerant of both heterozygous and homozygous lof variants" + // based on ExAC r0.3 nonTCGA subset. + optional double exac_nontcga_pnull = 56; + // "the probability of being loss-of-function intolerant (intolerant of both heterozygous + // and homozygous lof variants)" based on ExAC r0.3 nonpsych subset. + optional double exac_nonpsych_pli = 57; + // "the probability of being intolerant of homozygous, but not heterozygous lof variants" + // based on ExAC r0.3 nonpsych subset. + optional double exac_nonpsych_prec = 58; + // "the probability of being tolerant of both heterozygous and homozygous lof variants" + // based on ExAC r0.3 nonpsych subset/ + optional double exac_nonpsych_pnull = 59; + // "the probability of being loss-of-function intolerant (intolerant of both heterozygous + // and homozygous lof variants)" based on gnomAD 2.1 data. + optional double gnomad_pli = 60; + // "the probability of being intolerant of homozygous, but not heterozygous lof variants" + // based on gnomAD 2.1 data. + optional double gnomad_prec = 61; + // "the probability of being tolerant of both heterozygous and homozygous lof variants" + // based on gnomAD 2.1 data. + optional double gnomad_pnull = 62; + // "Winsorised deletion intolerance z-score" based on ExAC r0.3.1 CNV data. + optional double exac_del_score = 63; + // "Winsorised duplication intolerance z-score" based on ExAC r0.3.1 CNV data. + optional double exac_dup_score = 64; + // "Winsorised cnv intolerance z-score" based on ExAC r0.3.1 CNV data. + optional double exac_cnv_score = 65; + // "Gene is in a known region of recurrent CNVs mediated by tandem segmental duplications + // and intolerance scores are more likely to be biased or noisy." from ExAC r0.3.1 CNV + // release. + optional string exac_cnv_flag = 66; + // gene damage index score, "a genome-wide, gene-level metric of the mutational damage that + // has accumulated in the general population" from doi: 10.1073/pnas.1518646112. The higher + // the score the less likely the gene is to be responsible for monogenic diseases. + optional double gdi = 67; + // Phred-scaled GDI scores. + optional double gdi_phred = 68; + // gene damage prediction (low/medium/high) by GDI for all diseases., + optional string gdp_all_disease_causing = 69; + // gene damage prediction (low/medium/high) by GDI for all Mendelian diseases. + optional string gdp_all_mendelian = 70; + // gene damage prediction (low/medium/high) by GDI for Mendelian autosomal dominant + // diseases. + optional string gdp_all_mendelian_ad = 71; + // gene damage prediction (low/medium/high) by GDI for Mendelian autosomal recessive + // diseases. + optional string gdp_mendelian_ar = 72; + // gene damage prediction (low/medium/high) by GDI for all primary immunodeficiency + // diseases. + optional string gdp_pid = 73; + // gene damage prediction (low/medium/high) by GDI for primary immunodeficiency autosomal + // dominant diseases. + optional string gdp_pid_ad = 74; + // gene damage prediction (low/medium/high) by GDI for primary immunodeficiency autosomal + // recessive diseases. + optional string gdp_pid_ar = 75; + // gene damage prediction (low/medium/high) by GDI for all cancer disease. + optional string gdp_cancer = 76; + // gene damage prediction (low/medium/high) by GDI for cancer recessive disease. + optional string gdb_cancer_rec = 77; + // gene damage prediction (low/medium/high) by GDI for cancer dominant disease. + optional string gdp_cancer_dom = 78; + // A percentile score for gene intolerance to functional change. The lower the score the + // higher gene intolerance to functional change. For details see doi: + // 10.1093/bioinformatics/btv602. + optional double loftool_score = 79; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Heterozygote or Homozygote of LOF SNVs whose MAF<0.005. This fraction is from a method + // for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_maf_5_het_or_hom = 80; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Compound Heterozygote or Homozygote of LOF SNVs whose MAF<0.005. This fraction is from a + // method for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_maf_5_hom_or_comphet = 81; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Heterozygote or Homozygote of LOF SNVs whose MAF<0.001. This fraction is from a method + // for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_maf_1_het_or_hom = 82; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Compound Heterozygote or Homozygote of LOF SNVs whose MAF<0.001. This fraction is from a + // method for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_maf_1_hom_or_comphet = 83; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.005. This fraction is from + // a method for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_or_mis_maf_5_het_or_hom = 84; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Compound Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.005. This + // fraction is from a method for ranking genes based on mutational burden called SORVA + // (Significance Of Rare VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_or_mis_maf_5_hom_or_comphet = 85; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.001. This fraction is from + // a method for ranking genes based on mutational burden called SORVA (Significance Of Rare + // VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_or_mis_maf_1_het_or_hom = 86; + // The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + // Compound Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.001. This + // fraction is from a method for ranking genes based on mutational burden called SORVA + // (Significance Of Rare VAriants). Please see doi: 10.1101/103218 for details. + optional double sorva_lof_or_mis_maf_1_hom_or_comphet = 87; + // Essential ("E") or Non-essential phenotype-changing ("N") based on Mouse Genome + // Informatics database. from doi:10.1371/journal.pgen.1003484. + optional string essential_gene = 88; + // Essential ("E") or Non-essential phenotype-changing ("N") based on large scale CRISPR + // experiments. from doi: 10.1126/science.aac7041. + optional string essential_gene_crispr = 89; + // Essential ("E"), context-Specific essential ("S"), or Non-essential phenotype-changing + // ("N") based on large scale CRISPR experiments. from + // http://dx.doi.org/10.1016/j.cell.2015.11.015. + optional string essential_gene_crispr2 = 90; + // Essential ("E"), HAP1-Specific essential ("H"), KBM7-Specific essential ("K"), or + // Non-essential phenotype-changing ("N"), based on large scale mutagenesis experiments. + // from doi: 10.1126/science.aac7557. + optional string essential_gene_gene_trap = 91; + // A probability prediction of the gene being essential. From + // doi:10.1371/journal.pcbi.1002886. + optional double gene_indispensability_score = 92; + // Essential ("E") or loss-of-function tolerant ("N") based on Gene_indispensability_score. + optional string gene_indispensability_pred = 93; + // Homolog mouse gene name from MGI. + optional string mgi_mouse_gene = 94; + // Phenotype description for the homolog mouse gene from MGI. + optional string mgi_mouse_phenotype = 95; + // Homolog zebrafish gene name from ZFIN. + optional string zfin_zebrafish_gene = 96; + // Affected structure of the homolog zebrafish gene from ZFIN. + optional string zfin_zebrafish_structure = 97; + // Phenotype description for the homolog zebrafish gene from ZFIN. + optional string zfin_zebrafish_phenotype_quality = 98; + // Phenotype tag for the homolog zebrafish gene from ZFIN" + optional string zfin_zebrafish_phenotype_tag = 99; +} + +// Code for data from the gnomAD constraints. +message GnomadConstraintsRecord { + /// The Ensembl gene ID. + string ensembl_gene_id = 1; + /// The NCBI gene ID. + string entrez_id = 2; + /// The HGNC gene symbol. + string gene_symbol = 3; + /// The expected number of loss-of-function variants. + optional double exp_lof = 4; + /// The expected number of missense variants. + optional double exp_mis = 5; + /// The expected number of synonymous variants. + optional double exp_syn = 6; + /// The missense-related Z-score. + optional double mis_z = 7; + /// The observed number of loss-of-function variants. + optional uint32 obs_lof = 8; + /// The observed number of missense variants. + optional uint32 obs_mis = 9; + /// The observed number of synonymous variants. + optional uint32 obs_syn = 10; + /// The loss-of-function observed/expected ratio. + optional double oe_lof = 11; + /// The lower bound of the loss-of-function observed/expected ratio. + optional double oe_lof_lower = 12; + /// The upper bound of the loss-of-function observed/expected ratio. + optional double oe_lof_upper = 13; + /// The missense observed/expected ratio. + optional double oe_mis = 14; + /// The lower bound of the missense observed/expected ratio. + optional double oe_mis_lower = 15; + /// The upper bound of the missense observed/expected ratio. + optional double oe_mis_upper = 16; + /// The synonymous observed/expected ratio. + optional double oe_syn = 17; + /// The lower bound of the synonymous observed/expected ratio. + optional double oe_syn_lower = 18; + /// The upper bound of the synonymous observed/expected ratio. + optional double oe_syn_upper = 19; + /// The probability of loss-of-function intolerance (pLI score). + optional double pli = 20; + /// The synonymous-related Z-score. + optional double syn_z = 21; + /// The probability of loss-of-function intolerance (pLI score) from ExAC. + optional double exac_pli = 22; + /// The observed number of loss-of-function variants from ExAC. + optional double exac_obs_lof = 23; + /// The expected number of loss-of-function variants from ExAC. + optional double exac_exp_lof = 24; + /// The loss-of-function observed/expected ratio from ExAC. + optional double exac_oe_lof = 25; +} + +// Status of the symbol report, which can be either "Approved" or "Entry Withdrawn". +enum HgncStatus { + // unknown + HGNC_STATUS_UNKNOWN = 0; + // Approved by HGNC. + HGNC_STATUS_APPROVED = 1; + // Withdrawn by HGNC. + HGNC_STATUS_WITHDRAWN = 2; +} + +// Information from the locus-specific dabase. +message HgncLsdb { + // The name of the Locus Specific Mutation Database. + string name = 1; + // The URL for the gene. + string url = 2; +} + +// A record from the HGNC database. +message HgncRecord { + // HGNC ID. A unique ID created by the HGNC for every approved symbol. + string hgnc_id = 1; + // The HGNC approved gene symbol. + string symbol = 2; + // HGNC approved name for the gene. + string name = 3; + // A group name for a set of related locus types as defined by the HGNC + // (e.g. non-coding RNA). + optional string locus_group = 4; + // The locus type as defined by the HGNC (e.g. RNA, transfer). + optional string locus_type = 5; + // Status of the symbol report. + HgncStatus status = 6; + // Cytogenetic location of the gene (e.g. 2q34). + optional string location = 7; + // Sortable cytogenic location of the gene (e.g. 02q34). + optional string location_sortable = 8; + // Other symbols used to refer to this gene. + repeated string alias_symbol = 9; + // Other names used to refer to this gene. + repeated string alias_name = 10; + // Prevous symbols used to refer to this gene. + repeated string prev_symbol = 11; + // Previous names used to refer to this gene. + repeated string prev_name = 12; + // Name given to a gene group. + repeated string gene_group = 13; + // ID used to designate a gene group. + repeated uint32 gene_group_id = 14; + // The date the entry was first approved. + optional string date_approved_reserved = 15; + // The date the gene symbol was last changed. + optional string date_symbol_changed = 16; + // The date the gene name was last changed. + optional string date_name_changed = 17; + // Date the entry was last modified. + optional string date_modified = 18; + // Entrez gene id. + optional string entrez_id = 19; + // Ensembl gene id. + optional string ensembl_gene_id = 20; + // Vega gene id. + optional string vega_id = 21; + // UCSC gene id. + optional string ucsc_id = 22; + // ENA accession number(s). + repeated string ena = 23; + // RefSeq nucleotide accession(s). + repeated string refseq_accession = 24; + // Consensus CDS ID(ds). + repeated string ccds_id = 25; + // Uniprot IDs. + repeated string uniprot_ids = 26; + // Pubmed IDs. + repeated uint32 pubmed_id = 27; + // Mouse genome informatics database ID(s). + repeated string mgd_id = 28; + // Rat genome database gene ID(s). + repeated string rgd_id = 29; + // The name of the Locus Specific Mutation Database and URL for the gene. + repeated HgncLsdb lsdb = 30; + // Symbol used within COSMIC. + optional string cosmic = 31; + // OMIM ID(s). + repeated string omim_id = 32; + // miRBase ID. + optional string mirbase = 33; + // Homeobox Database ID. + optional uint32 homeodb = 34; + // snoRNABase ID. + optional string snornabase = 35; + // Symbol used to link to the SLC tables database at bioparadigms.org + // for the gene. + optional string bioparadigms_slc = 36; + // Orphanet ID. + optional uint32 orphanet = 37; + // Pseudogene.org. + optional string pseudogene_org = 38; + // Symbol used within HORDE for the gene. + optional string horde_id = 39; + // ID used to link to the MEROPS peptidase database. + optional string merops = 40; + // Symbol used within international ImMunoGeneTics information system. + optional string imgt = 41; + // The objectId used to link to the IUPHAR/BPS Guide to PHARMACOLOGY + // database. + optional string iuphar = 42; + // Symbol used within the Human Cell Differentiation Molecule database. + optional string cd = 43; + // ID to link to the Mamit-tRNA database + optional uint32 mamit_trnadb = 44; + // lncRNA Database ID. + optional string lncrnadb = 45; + // ENZYME EC accession number. + repeated string enzyme_id = 46; + // ID used to link to the Human Intermediate Filament Database. + optional string intermediate_filament_db = 47; + // The HGNC ID that the Alliance of Genome Resources (AGR) use. + optional string agr = 48; + // NCBI and Ensembl transcript IDs/acessions including the version + // number. + repeated string mane_select = 49; +} + +// Reference into function record. +message RifEntry { + // The RIF text. + string text = 1; + // PubMed IDs. + repeated uint32 pmids = 2; +} + +// A record from the NCBI gene database. +message NcbiRecord { + // NCBI Gene ID. + string gene_id = 1; + // Gene summary. + optional string summary = 2; + // "Reference Into Function" entry. + repeated RifEntry rif_entries = 3; +} + +// Description of an OMIM record. +message OmimTerm { + // The OMIM ID. + string omim_id = 1; + // The OMIM label. + string label = 2; +} + +// A record from the OMIM gene association. +message OmimRecord { + // The HGNC gene ID. + string hgnc_id = 1; + // The associated OMIM records. + repeated OmimTerm omim_diseases = 2; +} + +// Description of an ORDO record. +message OrphaTerm { + // The ORPHA ID. + string orpha_id = 1; + // The disease name. + string label = 2; +} + +// A record from the ORDO gene association. +message OrphaRecord { + // The HGNC gene ID. + string hgnc_id = 1; + // The associated ORPHA diseases. + repeated OrphaTerm orpha_diseases = 2; +} + +// Entry in the rCNV dosage sensitivity scores (Collins et al., 2022). +message RcnvRecord { + // The HGNC ID. + string hgnc_id = 1; + // The pHaplo value. + double p_haplo = 2; + // The pTriplo value. + double p_triplo = 3; +} + +// Entry with sHet information (Weghorn et al., 2019). +message ShetRecord { + // The HGNC ID. + string hgnc_id = 1; + // The sHet value. + double s_het = 2; +} + +// Enumeration for GTEx V8 tissue +enum GtexTissue { + // unknown + GTEX_TISSUE_UNKNOWN = 0; + // Adipose Tissue + GTEX_TISSUE_ADIPOSE_TISSUE = 1; + // Adrenal Gland + GTEX_TISSUE_ADRENAL_GLAND = 2; + // Bladder + GTEX_TISSUE_BLADDER = 3; + // Blood + GTEX_TISSUE_BLOOD = 4; + // Blood Vessel + GTEX_TISSUE_BLOOD_VESSEL = 5; + // Bone Marrow + GTEX_TISSUE_BONE_MARROW = 6; + // Brain + GTEX_TISSUE_BRAIN = 7; + // Breast + GTEX_TISSUE_BREAST = 8; + // Cervix Uteri + GTEX_TISSUE_CERVIX_UTERI = 9; + // Colon + GTEX_TISSUE_COLON = 10; + // Esophagus + GTEX_TISSUE_ESOPHAGUS = 11; + // Fallopian Tube + GTEX_TISSUE_FALLOPIAN_TUBE = 12; + // Heart + GTEX_TISSUE_HEART = 13; + // Kidney + GTEX_TISSUE_KIDNEY = 14; + // Liver + GTEX_TISSUE_LIVER = 15; + // Lung + GTEX_TISSUE_LUNG = 16; + // Muscle + GTEX_TISSUE_MUSCLE = 17; + // Nerve + GTEX_TISSUE_NERVE = 18; + // Ovary + GTEX_TISSUE_OVARY = 19; + // Pancreas + GTEX_TISSUE_PANCREAS = 20; + // Pituitary + GTEX_TISSUE_PITUITARY = 21; + // Prostate + GTEX_TISSUE_PROSTATE = 22; + // Salivary Gland + GTEX_TISSUE_SALIVARY_GLAND = 23; + // Skin + GTEX_TISSUE_SKIN = 24; + // Small Intestine + GTEX_TISSUE_SMALL_INTESTINE = 25; + // Spleen + GTEX_TISSUE_SPLEEN = 26; + // Stomach + GTEX_TISSUE_STOMACH = 27; + // Testis + GTEX_TISSUE_TESTIS = 28; + // Thyroid + GTEX_TISSUE_THYROID = 29; + // Uterus + GTEX_TISSUE_UTERUS = 30; + // Vagina + GTEX_TISSUE_VAGINA = 31; +} + + +// Enumeration for GTEx V8 tissue details +enum GtexTissueDetailed { + // unknown + GTEX_TISSUE_DETAILED_UNKNOWN = 0; + // Adipose - Subcutaneous + GTEX_TISSUE_DETAILED_ADIPOSE_SUBCUTANEOUS = 1; + // Adipose - Visceral (Omentum) + GTEX_TISSUE_DETAILED_ADIPOSE_VISCERAL_OMENTUM = 2; + // Adrenal Gland + GTEX_TISSUE_DETAILED_ADRENAL_GLAND = 3; + // Artery - Aorta + GTEX_TISSUE_DETAILED_ARTERY_AORTA = 4; + // Artery - Coronary + GTEX_TISSUE_DETAILED_ARTERY_CORONARY = 5; + // Artery - Tibial + GTEX_TISSUE_DETAILED_ARTERY_TIBIAL = 6; + // Bladder + GTEX_TISSUE_DETAILED_BLADDER = 7; + // Brain - Amygdala + GTEX_TISSUE_DETAILED_BRAIN_AMYGDALA = 8; + // Brain - Anterior cingulate cortex (BA24) + GTEX_TISSUE_DETAILED_BRAIN_ANTERIOR_CINGULATE_CORTEX = 9; + // Brain - Caudate (basal ganglia) + GTEX_TISSUE_DETAILED_BRAIN_CAUDATE_BASAL_GANGLIA = 10; + // Brain - Cerebellar Hemisphere + GTEX_TISSUE_DETAILED_BRAIN_CEREBELLAR_HEMISPHERE = 11; + // Brain - Cerebellum + GTEX_TISSUE_DETAILED_BRAIN_CEREBELLUM = 12; + // Brain - Cortex + GTEX_TISSUE_DETAILED_BRAIN_CORTEX = 13; + // Brain - Frontal Cortex (BA9) + GTEX_TISSUE_DETAILED_BRAIN_FRONTAL_CORTEX = 14; + // Brain - Hippocampus + GTEX_TISSUE_DETAILED_BRAIN_HIPPOCAMPUS = 15; + // Brain - Hypothalamus + GTEX_TISSUE_DETAILED_BRAIN_HYPOTHALAMUS = 16; + // Brain - Nucleus accumbens (basal ganglia) + GTEX_TISSUE_DETAILED_BRAIN_NUCLEUS_ACCUMBENS = 17; + // Brain - Putamen (basal ganglia) + GTEX_TISSUE_DETAILED_BRAIN_PUTAMEN_BASAL_GANGLIA = 18; + // Brain - Spinal cord (cervical c-1) + GTEX_TISSUE_DETAILED_BRAIN_SPINAL_CORD = 19; + // Brain - Substantia nigra + GTEX_TISSUE_DETAILED_BRAIN_SUBSTANTIA_NIGRA = 20; + // Breast - Mammary Tissue + GTEX_TISSUE_DETAILED_BREAST_MAMMARY_TISSUE = 21; + // Cells - Cultured fibroblasts + GTEX_TISSUE_DETAILED_CELLS_CULTURED_FIBROBLASTS = 22; + // Cells - EBV-transformed lymphocytes + GTEX_TISSUE_DETAILED_CELLS_EBV_TRANSFORMED_LYMPHOCYTES = 23; + // Cells - Leukemia cell line (CML) + GTEX_TISSUE_DETAILED_CELLS_LEUKEMIA_CELL_LINE = 24; + // Cervix - Ectocervix + GTEX_TISSUE_DETAILED_CERVIX_ECTOCERVIX = 25; + // Cervix - Endocervix + GTEX_TISSUE_DETAILED_CERVIX_ENDOCERVIX = 26; + // Colon - Sigmoid + GTEX_TISSUE_DETAILED_COLON_SIGMOID = 27; + // Colon - Transverse + GTEX_TISSUE_DETAILED_COLON_TRANSVERSE = 28; + // Esophagus - Gastroesophageal Junction + GTEX_TISSUE_DETAILED_ESOPHAGUS_GASTROESOPHAGEAL_JUNCTION = 29; + // Esophagus - Mucosa + GTEX_TISSUE_DETAILED_ESOPHAGUS_MUCOSA = 30; + // Esophagus - Muscularis + GTEX_TISSUE_DETAILED_ESOPHAGUS_MUSCULARIS = 31; + // Fallopian Tube + GTEX_TISSUE_DETAILED_FALLOPIAN_TUBE = 32; + // Heart - Atrial Appendage + GTEX_TISSUE_DETAILED_HEART_ATRIAL_APPENDAGE = 33; + // Heart - Left Ventricle + GTEX_TISSUE_DETAILED_HEART_LEFT_VENTRICLE = 34; + // Kidney - Cortex + GTEX_TISSUE_DETAILED_KIDNEY_CORTEX = 35; + // Kidney - Medulla + GTEX_TISSUE_DETAILED_KIDNEY_MEDULLA = 36; + // Liver + GTEX_TISSUE_DETAILED_LIVER = 37; + // Lung + GTEX_TISSUE_DETAILED_LUNG = 38; + // Minor Salivary Gland + GTEX_TISSUE_DETAILED_MINOR_SALIVARY_GLAND = 39; + // Muscle - Skeletal + GTEX_TISSUE_DETAILED_MUSCLE_SKELETAL = 40; + // Nerve - Tibial + GTEX_TISSUE_DETAILED_NERVE_TIBIAL = 41; + // Ovary + GTEX_TISSUE_DETAILED_OVARY = 42; + // Pancreas + GTEX_TISSUE_DETAILED_PANCREAS = 43; + // Pituitary + GTEX_TISSUE_DETAILED_PITUITARY = 44; + // Prostate + GTEX_TISSUE_DETAILED_PROSTATE = 45; + // Salivary Gland + GTEX_TISSUE_DETAILED_SALIVARY_GLAND = 46; + // Skin - Not Sun Exposed (Suprapubic) + GTEX_TISSUE_DETAILED_SKIN_NOT_SUN_EXPOSED_SUPRAPUBIC = 47; + // Skin - Sun Exposed (Lower leg) + GTEX_TISSUE_DETAILED_SKIN_SUN_EXPOSED_LOWER_LEG = 48; + // Small Intestine - Terminal Ileum + GTEX_TISSUE_DETAILED_SMALL_INTESTINE_TERMINAL_ILEUM = 49; + // Spleen + GTEX_TISSUE_DETAILED_SPLEEN = 50; + // Stomach + GTEX_TISSUE_DETAILED_STOMACH = 51; + // Testis + GTEX_TISSUE_DETAILED_TESTIS = 52; + // Thyroid + GTEX_TISSUE_DETAILED_THYROID = 53; + // Uterus + GTEX_TISSUE_DETAILED_UTERUS = 54; + // Vagina + GTEX_TISSUE_DETAILED_VAGINA = 55; + // Whole Blood + GTEX_TISSUE_DETAILED_WHOLE_BLOOD = 56; +} + +// Entry with the tissue-specific information for a gene. +message GtexTissueRecord { + // The tissue type + GtexTissue tissue = 1; + // The detailed tissue type + GtexTissueDetailed tissue_detailed = 2; + // TPM counts + repeated float tpms = 3; +} + +// Entry with the GTEx information. +message GtexRecord { + // The HGNC ID. + string hgnc_id = 1; + // ENSEMBL gene ID. + string ensembl_gene_id = 2; + // ENSEMBL gene version. + string ensembl_gene_version = 3; + // Counts per tissue + repeated GtexTissueRecord records = 4; +} + +// Entry in PanelApp. +message PanelAppRecord { + /// Gene identity information. + message GeneData { + // HGNC ID. + optional string hgnc_id = 1; + // HGNC gene symbol. + optional string hgnc_symbol = 2; + // Gene symbol. + optional string gene_symbol = 3; + } + + // Enumeration for entity types. + enum EntityType { + // Unknown + ENTITY_TYPE_UNKNOWN = 0; + // Gene + ENTITY_TYPE_GENE = 1; + // Short Tandem Repeat + ENTITY_TYPE_STR = 2; + // Region + ENTITY_TYPE_REGION = 3; + } + + // Enumeration for confidence levels. + enum ConfidenceLevel { + // Unknown + CONFIDENCE_LEVEL_UNKNOWN = 0; + // None + CONFIDENCE_LEVEL_NONE = 1; + // Red + CONFIDENCE_LEVEL_RED = 2; + // Amber + CONFIDENCE_LEVEL_AMBER = 3; + // Green + CONFIDENCE_LEVEL_GREEN = 4; + } + + // Enumeration for penetrance. + enum Penetrance { + // Unknown + PENETRANCE_UNKNOWN = 0; + // Complete + PENETRANCE_COMPLETE = 1; + // Incomplete + PENETRANCE_INCOMPLETE = 2; + } + + // Message for panel statistics. + message PanelStats { + // Number of genes. + uint32 number_of_genes = 1; + // Number of STRs. + uint32 number_of_strs = 2; + // Number of regions. + uint32 number_of_regions = 3; + } + + // Message for panel types. + message PanelType { + // Type name. + string name = 1; + // Slug. + string slug = 2; + // Description. + string description = 3; + } + + // Message for panel information. + message Panel { + // Panel ID. + uint32 id = 1; + // Panel hash ID. + optional string hash_id = 2; + // Panel name. + string name = 3; + // Disease group. + string disease_group = 4; + // Disease subgroup. + string disease_sub_group = 5; + // Version + string version = 6; + // Creation date of version. + string version_created = 7; + // Relevant disorders. + repeated string relevant_disorders = 8; + // Stats. + PanelStats stats = 9; + // Panel types. + repeated PanelType types = 10; + } + + // Gene identity information. + GeneData gene_data = 1; + // Entity type. + EntityType entity_type = 2; + // Entity name. + string entity_name = 3; + // Confidence level. + ConfidenceLevel confidence_level = 4; + // Penetrance. + Penetrance penetrance = 5; + // Publications. + repeated string publications = 6; + // Evidence. + repeated string evidence = 7; + // Phenotypes. + repeated string phenotypes = 8; + // Mode of inheritance. + string mode_of_inheritance = 9; + // Panel. + Panel panel = 10; +} + +// Record from the integrated conditions computation. +message ConditionsRecord { + // A gene-disease association entry. + message GeneDiseaseAssociationEntry { + // Enumeration for sources. + enum GeneDiseaseAssociationSource { + // nil + GENE_DISEASE_ASSOCIATION_SOURCE_UNKNOWN = 0; + // OMIM + GENE_DISEASE_ASSOCIATION_SOURCE_OMIM = 1; + // Orphanet + GENE_DISEASE_ASSOCIATION_SOURCE_ORPHANET = 2; + // PanelApp + GENE_DISEASE_ASSOCIATION_SOURCE_PANELAPP = 3; + } + + // Enumeration for confidence levels. + enum ConfidenceLevel { + // nil + CONFIDENCE_LEVEL_UNKNOWN = 0; + // High confidence. + CONFIDENCE_LEVEL_HIGH = 1; + // Medium confidence. + CONFIDENCE_LEVEL_MEDIUM = 2; + // Low confidence. + CONFIDENCE_LEVEL_LOW = 3; + } + + // The gene-disease association source. + GeneDiseaseAssociationSource source = 1; + // The gene-disease association confidence level. + ConfidenceLevel confidence = 2; + } + + // A labeled disorder. + message LabeledDisorder { + // The disorder ID. + string term_id = 1; + // The disorder name. + optional string title = 2; + } + + // A gene-disease association. + message GeneDiseaseAssociation { + // The HGNC ID. + string hgnc_id = 1; + // The gene-disease association entries. + repeated LabeledDisorder labeled_disorders = 2; + // Overall disease name. + optional string disease_name = 3; + // Disease definition. + optional string disease_definition = 4; + // The gene-disease association sources. + repeated GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource sources = 5; + // Overall disease-gene association confidence level. + GeneDiseaseAssociationEntry.ConfidenceLevel confidence = 6; + } + + // A panel from PanelApp. + message PanelappPanel { + // PanelApp panel ID. + int32 id = 1; + // PanelApp panel name. + string name = 2; + // PanelApp panel version. + string version = 3; + } + + // An association of a gene by HGNC with a panel from PanelApp. + message PanelappAssociation { + // Enumeration for PanelApp confidence level. + enum PanelappConfidence { + // nil + PANELAPP_CONFIDENCE_UNKNOWN = 0; + // PanelApp green confidence. + PANELAPP_CONFIDENCE_GREEN = 1; + // PanelApp amber confidence. + PANELAPP_CONFIDENCE_AMBER = 2; + // PanelApp red confidence. + PANELAPP_CONFIDENCE_RED = 3; + // PanelApp none confidence (when removed after expert review). + PANELAPP_CONFIDENCE_NONE = 4; + } + + // Enumeration for entity type. + enum PanelappEntityType { + // nil + PANELAPP_ENTITY_TYPE_UNKNOWN = 0; + // PanelApp gene entity type. + PANELAPP_ENTITY_TYPE_GENE = 1; + // PanelApp region entity type. + PANELAPP_ENTITY_TYPE_REGION = 2; + // PanelApp short tandem repeat entity type. + PANELAPP_ENTITY_TYPE_STR = 3; + } + + // The HGNC ID. + string hgnc_id = 1; + // The PanelApp confidence level. + PanelappConfidence confidence_level = 2; + // The PanelApp entity type. + PanelappEntityType entity_type = 3; + // The PanelApp entity name. + optional string mode_of_inheritance = 4; + // The PanelApp publications. + repeated string phenotypes = 5; + // The PanelApp panel. + PanelappPanel panel = 6; + } + + // The HGNC ID. + string hgnc_id = 1; + // The gene-disease associations. + repeated GeneDiseaseAssociation disease_associations = 2; + // The PanelApp associations. + repeated PanelappAssociation panelapp_associations = 3; +} + +// Entry in the genes RocksDB database. +message Record { + // Information from the ACMG secondary finding list. + AcmgSecondaryFindingRecord acmg_sf = 1; + // Information from ClinGen dosage curation. + ClingenDosageRecord clingen = 2; + // Information from dbNSFP. + DbnsfpRecord dbnsfp = 3; + // Information from the gnomAD constraints database. + GnomadConstraintsRecord gnomad_constraints = 4; + // Information from the HGNC database. + HgncRecord hgnc = 5; + // Information from the NCBI gene database (aka "Entrez"). + NcbiRecord ncbi = 6; + // Information about gene to OMIM term annotation, composed from clingen and HPO. + OmimRecord omim = 7; + // Information about gene to Orphanet annotation, derived from Orphapacket. + OrphaRecord orpha = 8; + // Information from the rCNV dosage sensitivity scores (Collins et al., 2022). + RcnvRecord rcnv = 9; + // Information from the sHet score (Weghor et al., 2019) + ShetRecord shet = 10; + // Information from GTEx data + GtexRecord gtex = 11; + // Information from DOMINO. + DominoRecord domino = 12; + // DECIPHER HI score. + DecipherHiRecord decipher_hi = 13; + // GenomicsEngland PanelApp gene information. + repeated PanelAppRecord panelapp = 14; + // Conditions record. + ConditionsRecord conditions = 15; +} diff --git a/src/pbs/annonars/genes/base.ts b/src/pbs/annonars/genes/base.ts new file mode 100644 index 0000000..51724be --- /dev/null +++ b/src/pbs/annonars/genes/base.ts @@ -0,0 +1,7547 @@ +// @generated by protobuf-ts 2.9.3 +// @generated from protobuf file "annonars/genes/base.proto" (package "annonars.genes.base", syntax proto3) +// tslint:disable +import type { BinaryWriteOptions } from '@protobuf-ts/runtime' +import type { IBinaryWriter } from '@protobuf-ts/runtime' +import { WireType } from '@protobuf-ts/runtime' +import type { BinaryReadOptions } from '@protobuf-ts/runtime' +import type { IBinaryReader } from '@protobuf-ts/runtime' +import { UnknownFieldHandler } from '@protobuf-ts/runtime' +import type { PartialMessage } from '@protobuf-ts/runtime' +import { reflectionMergePartial } from '@protobuf-ts/runtime' +import { MessageType } from '@protobuf-ts/runtime' + +/** + * Information from ACMG secondary findings list. + * + * @generated from protobuf message annonars.genes.base.AcmgSecondaryFindingRecord + */ +export interface AcmgSecondaryFindingRecord { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The Ensembl gene ID. + * + * @generated from protobuf field: string ensembl_gene_id = 2; + */ + ensemblGeneId: string + /** + * The NCBI gene ID. + * + * @generated from protobuf field: string ncbi_gene_id = 3; + */ + ncbiGeneId: string + /** + * The HGNC gene symbol. + * + * @generated from protobuf field: string gene_symbol = 4; + */ + geneSymbol: string + /** + * The MIM gene ID. + * + * @generated from protobuf field: string mim_gene_id = 5; + */ + mimGeneId: string + /** + * The disease phenotype. + * + * @generated from protobuf field: string disease_phenotype = 6; + */ + diseasePhenotype: string + /** + * The disease MIM id. + * + * @generated from protobuf field: string disorder_mim = 7; + */ + disorderMim: string + /** + * The phenotype category. + * + * @generated from protobuf field: string phenotype_category = 8; + */ + phenotypeCategory: string + /** + * The mode of inheritance. + * + * @generated from protobuf field: string inheritance = 9; + */ + inheritance: string + /** + * The version of the ACMG SF list of first appearance. + * + * @generated from protobuf field: string sf_list_version = 10; + */ + sfListVersion: string + /** + * The variants to report according to ACMG SF. + * + * @generated from protobuf field: string variants_to_report = 11; + */ + variantsToReport: string +} +/** + * / `ClinGen` gene dosage sensitivity record. + * + * @generated from protobuf message annonars.genes.base.ClingenDosageRecord + */ +export interface ClingenDosageRecord { + /** + * Gene symbol. + * + * @generated from protobuf field: string gene_symbol = 1; + */ + geneSymbol: string + /** + * NCBI gene ID. + * + * @generated from protobuf field: string ncbi_gene_id = 2; + */ + ncbiGeneId: string + /** + * Genomic location GRCh37. + * + * @generated from protobuf field: string genomic_location_37 = 3; + */ + genomicLocation37: string + /** + * Genomic location GRCh38. + * + * @generated from protobuf field: string genomic_location_38 = 4; + */ + genomicLocation38: string + /** + * Haploinsufficiency score. + * + * @generated from protobuf field: annonars.genes.base.ClingenDosageScore haploinsufficiency_score = 5; + */ + haploinsufficiencyScore: ClingenDosageScore + /** + * Triplosensitivity score. + * + * @generated from protobuf field: annonars.genes.base.ClingenDosageScore triplosensitivity_score = 6; + */ + triplosensitivityScore: ClingenDosageScore + /** + * Haploinsufficiency Disease ID. + * + * @generated from protobuf field: optional string haploinsufficiency_disease_id = 7; + */ + haploinsufficiencyDiseaseId?: string + /** + * Haploinsufficiency Disease ID. + * + * @generated from protobuf field: optional string triplosensitivity_disease_id = 8; + */ + triplosensitivityDiseaseId?: string +} +/** + * Decipher HI Predictions + * + * @generated from protobuf message annonars.genes.base.DecipherHiRecord + */ +export interface DecipherHiRecord { + /** + * HGNC identifier. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * Official HGNC gene symbol. + * + * @generated from protobuf field: string hgnc_symbol = 2; + */ + hgncSymbol: string + /** + * P(HI) prediction from DECIPHER HI. + * + * @generated from protobuf field: double p_hi = 3; + */ + pHi: number + /** + * Percent HI index. + * + * @generated from protobuf field: double hi_index = 4; + */ + hiIndex: number +} +/** + * Information from DOMINO. + * + * @generated from protobuf message annonars.genes.base.DominoRecord + */ +export interface DominoRecord { + /** + * Gene symbol. + * + * @generated from protobuf field: string gene_symbol = 1; + */ + geneSymbol: string + /** + * The score. + * + * @generated from protobuf field: double score = 2; + */ + score: number +} +/** + * Code for data from the dbNSFP database. + * + * @generated from protobuf message annonars.genes.base.DbnsfpRecord + */ +export interface DbnsfpRecord { + /** + * Gene symbol from HGNC. + * + * @generated from protobuf field: string gene_name = 1; + */ + geneName: string + /** + * Ensembl gene id (from HGNC). + * + * @generated from protobuf field: optional string ensembl_gene = 2; + */ + ensemblGene?: string + /** + * Chromosome number (from HGNC). + * + * @generated from protobuf field: optional string chr = 3; + */ + chr?: string + /** + * Old gene symbol (from HGNC). + * + * @generated from protobuf field: repeated string gene_old_names = 4; + */ + geneOldNames: string[] + /** + * Other gene names (from HGNC). + * + * @generated from protobuf field: repeated string gene_other_names = 5; + */ + geneOtherNames: string[] + /** + * Uniprot acc (from HGNC). + * + * @generated from protobuf field: optional string uniprot_acc = 6; + */ + uniprotAcc?: string + /** + * Uniprot id (from HGNC). + * + * @generated from protobuf field: optional string uniprot_id = 7; + */ + uniprotId?: string + /** + * Uniprot id (from HGNC). + * + * @generated from protobuf field: optional string entrez_gene_id = 8; + */ + entrezGeneId?: string + /** + * CCDS id (from HGNC). + * + * @generated from protobuf field: repeated string ccds_id = 9; + */ + ccdsId: string[] + /** + * Refseq gene id (from HGNC). + * + * @generated from protobuf field: repeated string refseq_id = 10; + */ + refseqId: string[] + /** + * UCSC gene id (from HGNC). + * + * @generated from protobuf field: optional string ucsc_id = 11; + */ + ucscId?: string + /** + * MIM gene id (from OMIM). + * + * @generated from protobuf field: repeated string mim_id = 12; + */ + mimId: string[] + /** + * MIM gene id from OMIM. + * + * @generated from protobuf field: repeated string omim_id = 13; + */ + omimId: string[] + /** + * Gene full name (from HGNC). + * + * @generated from protobuf field: optional string gene_full_name = 14; + */ + geneFullName?: string + /** + * Pathway description from Uniprot. + * + * @generated from protobuf field: optional string pathway_uniprot = 15; + */ + pathwayUniprot?: string + /** + * Short name of the Pathway(s) the gene belongs to (from BioCarta). + * + * @generated from protobuf field: repeated string pathway_biocarta_short = 16; + */ + pathwayBiocartaShort: string[] + /** + * Full name(s) of the Pathway(s) the gene belongs to (from BioCarta). + * + * @generated from protobuf field: repeated string pathway_biocarta_full = 17; + */ + pathwayBiocartaFull: string[] + /** + * Pathway(s) the gene belongs to (from ConsensusPathDB). + * + * @generated from protobuf field: repeated string pathway_consensus_path_db = 18; + */ + pathwayConsensusPathDb: string[] + /** + * ID(s) of the Pathway(s) the gene belongs to (from KEGG). + * + * @generated from protobuf field: repeated string pathway_kegg_id = 19; + */ + pathwayKeggId: string[] + /** + * Full name(s) of the Pathway(s) the gene belongs to (from KEGG). + * + * @generated from protobuf field: repeated string pathway_kegg_full = 20; + */ + pathwayKeggFull: string[] + /** + * Function description of the gene (from Uniprot). + * + * @generated from protobuf field: repeated string function_description = 21; + */ + functionDescription: string[] + /** + * Disease(s) the gene caused or associated with (from Uniprot). + * + * @generated from protobuf field: repeated string disease_description = 22; + */ + diseaseDescription: string[] + /** + * MIM id(s) of the phenotype the gene caused or associated with (from Uniprot). + * + * @generated from protobuf field: repeated string mim_phenotype_id = 23; + */ + mimPhenotypeId: string[] + /** + * MIM disease name(s) with MIM id(s) in [] (from Uniprot). + * + * @generated from protobuf field: repeated string mim_disease = 24; + */ + mimDisease: string[] + /** + * Orphanet Number of the disorder the gene caused or associated with. + * + * @generated from protobuf field: repeated string orphanet_disorder_id = 25; + */ + orphanetDisorderId: string[] + /** + * Disorder name from Orphanet. + * + * @generated from protobuf field: repeated string orphanet_disorder = 26; + */ + orphanetDisorder: string[] + /** + * The type of association beteen the gene and the disorder in Orphanet. + * + * @generated from protobuf field: repeated string orphanet_association_type = 27; + */ + orphanetAssociationType: string[] + /** + * Trait(s) the gene associated with (from GWAS catalog). + * + * @generated from protobuf field: repeated string trait_association_gwas = 28; + */ + traitAssociationGwas: string[] + /** + * ID of the mapped Human Phenotype Ontology. + * + * @generated from protobuf field: repeated string hpo_id = 29; + */ + hpoId: string[] + /** + * Name of the mapped Human Phenotype Ontology. + * + * @generated from protobuf field: repeated string hpo_name = 30; + */ + hpoName: string[] + /** + * GO terms for biological process. + * + * @generated from protobuf field: repeated string go_biological_process = 31; + */ + goBiologicalProcess: string[] + /** + * GO terms for cellular component. + * + * @generated from protobuf field: repeated string go_cellular_component = 32; + */ + goCellularComponent: string[] + /** + * GO terms for molecular function. + * + * @generated from protobuf field: repeated string go_molecular_function = 33; + */ + goMolecularFunction: string[] + /** + * Tissue specificity description from Uniprot. + * + * @generated from protobuf field: repeated string tissue_specificity_uniprot = 34; + */ + tissueSpecificityUniprot: string[] + /** + * Tissues/organs the gene expressed in (egenetics data from BioMart). + * + * @generated from protobuf field: repeated string expression_egenetics = 35; + */ + expressionEgenetics: string[] + /** + * Tissues/organs the gene expressed in (GNF/Atlas data from BioMart). + * + * @generated from protobuf field: repeated string expression_gnf_atlas = 36; + */ + expressionGnfAtlas: string[] + /** + * The interacting genes from IntAct. + * + * @generated from protobuf field: repeated string interactions_intact = 37; + */ + interactionsIntact: string[] + /** + * The interacting genes from BioGRID. + * + * @generated from protobuf field: repeated string interactions_biogrid = 38; + */ + interactionsBiogrid: string[] + /** + * The interacting genes from ConsensusPathDB. + * + * @generated from protobuf field: repeated string interactions_consensus_path_db = 39; + */ + interactionsConsensusPathDb: string[] + /** + * Estimated probability of haploinsufficiency of the gene (from + * doi:10.1371/journal.pgen.1001154). + * + * @generated from protobuf field: optional double haploinsufficiency = 40; + */ + haploinsufficiency?: number + /** + * Estimated probability of haploinsufficiency of the gene (from + * doi:10.1093/bioinformatics/btx028). + * + * @generated from protobuf field: optional double hipred_score = 41; + */ + hipredScore?: number + /** + * HIPred prediction of haploinsufficiency of the gene. Y(es) or N(o). (from + * doi:10.1093/bioinformatics/btx028). + * + * @generated from protobuf field: optional string hipred = 42; + */ + hipred?: string + /** + * A score predicting the gene haploinsufficiency. The higher the score the more likely the + * gene is haploinsufficient (from doi: 10.1093/nar/gkv474). + * + * @generated from protobuf field: optional double ghis = 43; + */ + ghis?: number + /** + * Estimated probability that gene is a recessive disease gene (from + * DOI:10.1126/science.1215040). + * + * @generated from protobuf field: optional double prec = 44; + */ + prec?: number + /** + * Known recessive status of the gene (from DOI:10.1126/science.1215040) "lof-tolerant = + * seen in homozygous state in at least one 1000G individual" "recessive = known OMIM + * recessive disease" (original annotations from DOI:10.1126/science.1215040). + * + * @generated from protobuf field: optional string known_rec_info = 45; + */ + knownRecInfo?: string + /** + * Residual Variation Intolerance Score, a measure of intolerance of mutational burden, the + * higher the score the more tolerant to mutational burden the gene is. Based on EVS + * (ESP6500) data. from doi:10.1371/journal.pgen.1003709. + * + * @generated from protobuf field: optional double rvis_evs = 46; + */ + rvisEvs?: number + /** + * The percentile rank of the gene based on RVIS, the higher the percentile the more + * tolerant to mutational burden the gene is. Based on EVS (ESP6500) data. + * + * @generated from protobuf field: optional double rvis_percentile_evs = 47; + */ + rvisPercentileEvs?: number + /** + * "A gene's corresponding FDR p-value for preferential LoF depletion among the ExAC + * population. Lower FDR corresponds with genes that are increasingly depleted of LoF + * variants." cited from RVIS document. + * + * @generated from protobuf field: optional double lof_fdr_exac = 48; + */ + lofFdrExac?: number + /** + * "ExAC-based RVIS; setting 'common' MAF filter at 0.05% in at least one of the six + * individual ethnic strata from ExAC." cited from RVIS document. + * + * @generated from protobuf field: optional double rvis_exac = 49; + */ + rvisExac?: number + /** + * "Genome-Wide percentile for the new ExAC-based RVIS; setting 'common' MAF filter at 0.05% + * in at least one of the six individual ethnic strata from ExAC." cited from RVIS document. + * + * @generated from protobuf field: optional double rvis_percentile_exac = 50; + */ + rvisPercentileExac?: number + /** + * "the probability of being loss-of-function intolerant (intolerant of both heterozygous + * and homozygous lof variants)" based on ExAC r0.3 data. + * + * @generated from protobuf field: optional double exac_pli = 51; + */ + exacPli?: number + /** + * "the probability of being intolerant of homozygous, but not heterozygous lof variants" + * based on ExAC r0.3 data. + * + * @generated from protobuf field: optional double exac_prec = 52; + */ + exacPrec?: number + /** + * "the probability of being tolerant of both heterozygous and homozygous lof variants" + * based on ExAC r0.3 data. + * + * @generated from protobuf field: optional double exac_pnull = 53; + */ + exacPnull?: number + /** + * "the probability of being loss-of-function intolerant (intolerant of both heterozygous + * and homozygous lof variants)" based on ExAC r0.3 nonTCGA subset. + * + * @generated from protobuf field: optional double exac_nontcga_pli = 54; + */ + exacNontcgaPli?: number + /** + * "the probability of being intolerant of homozygous, but not heterozygous lof variants" + * based on ExAC r0.3 nonTCGA subset. + * + * @generated from protobuf field: optional double exac_nontcga_prec = 55; + */ + exacNontcgaPrec?: number + /** + * "the probability of being tolerant of both heterozygous and homozygous lof variants" + * based on ExAC r0.3 nonTCGA subset. + * + * @generated from protobuf field: optional double exac_nontcga_pnull = 56; + */ + exacNontcgaPnull?: number + /** + * "the probability of being loss-of-function intolerant (intolerant of both heterozygous + * and homozygous lof variants)" based on ExAC r0.3 nonpsych subset. + * + * @generated from protobuf field: optional double exac_nonpsych_pli = 57; + */ + exacNonpsychPli?: number + /** + * "the probability of being intolerant of homozygous, but not heterozygous lof variants" + * based on ExAC r0.3 nonpsych subset. + * + * @generated from protobuf field: optional double exac_nonpsych_prec = 58; + */ + exacNonpsychPrec?: number + /** + * "the probability of being tolerant of both heterozygous and homozygous lof variants" + * based on ExAC r0.3 nonpsych subset/ + * + * @generated from protobuf field: optional double exac_nonpsych_pnull = 59; + */ + exacNonpsychPnull?: number + /** + * "the probability of being loss-of-function intolerant (intolerant of both heterozygous + * and homozygous lof variants)" based on gnomAD 2.1 data. + * + * @generated from protobuf field: optional double gnomad_pli = 60; + */ + gnomadPli?: number + /** + * "the probability of being intolerant of homozygous, but not heterozygous lof variants" + * based on gnomAD 2.1 data. + * + * @generated from protobuf field: optional double gnomad_prec = 61; + */ + gnomadPrec?: number + /** + * "the probability of being tolerant of both heterozygous and homozygous lof variants" + * based on gnomAD 2.1 data. + * + * @generated from protobuf field: optional double gnomad_pnull = 62; + */ + gnomadPnull?: number + /** + * "Winsorised deletion intolerance z-score" based on ExAC r0.3.1 CNV data. + * + * @generated from protobuf field: optional double exac_del_score = 63; + */ + exacDelScore?: number + /** + * "Winsorised duplication intolerance z-score" based on ExAC r0.3.1 CNV data. + * + * @generated from protobuf field: optional double exac_dup_score = 64; + */ + exacDupScore?: number + /** + * "Winsorised cnv intolerance z-score" based on ExAC r0.3.1 CNV data. + * + * @generated from protobuf field: optional double exac_cnv_score = 65; + */ + exacCnvScore?: number + /** + * "Gene is in a known region of recurrent CNVs mediated by tandem segmental duplications + * and intolerance scores are more likely to be biased or noisy." from ExAC r0.3.1 CNV + * release. + * + * @generated from protobuf field: optional string exac_cnv_flag = 66; + */ + exacCnvFlag?: string + /** + * gene damage index score, "a genome-wide, gene-level metric of the mutational damage that + * has accumulated in the general population" from doi: 10.1073/pnas.1518646112. The higher + * the score the less likely the gene is to be responsible for monogenic diseases. + * + * @generated from protobuf field: optional double gdi = 67; + */ + gdi?: number + /** + * Phred-scaled GDI scores. + * + * @generated from protobuf field: optional double gdi_phred = 68; + */ + gdiPhred?: number + /** + * gene damage prediction (low/medium/high) by GDI for all diseases., + * + * @generated from protobuf field: optional string gdp_all_disease_causing = 69; + */ + gdpAllDiseaseCausing?: string + /** + * gene damage prediction (low/medium/high) by GDI for all Mendelian diseases. + * + * @generated from protobuf field: optional string gdp_all_mendelian = 70; + */ + gdpAllMendelian?: string + /** + * gene damage prediction (low/medium/high) by GDI for Mendelian autosomal dominant + * diseases. + * + * @generated from protobuf field: optional string gdp_all_mendelian_ad = 71; + */ + gdpAllMendelianAd?: string + /** + * gene damage prediction (low/medium/high) by GDI for Mendelian autosomal recessive + * diseases. + * + * @generated from protobuf field: optional string gdp_mendelian_ar = 72; + */ + gdpMendelianAr?: string + /** + * gene damage prediction (low/medium/high) by GDI for all primary immunodeficiency + * diseases. + * + * @generated from protobuf field: optional string gdp_pid = 73; + */ + gdpPid?: string + /** + * gene damage prediction (low/medium/high) by GDI for primary immunodeficiency autosomal + * dominant diseases. + * + * @generated from protobuf field: optional string gdp_pid_ad = 74; + */ + gdpPidAd?: string + /** + * gene damage prediction (low/medium/high) by GDI for primary immunodeficiency autosomal + * recessive diseases. + * + * @generated from protobuf field: optional string gdp_pid_ar = 75; + */ + gdpPidAr?: string + /** + * gene damage prediction (low/medium/high) by GDI for all cancer disease. + * + * @generated from protobuf field: optional string gdp_cancer = 76; + */ + gdpCancer?: string + /** + * gene damage prediction (low/medium/high) by GDI for cancer recessive disease. + * + * @generated from protobuf field: optional string gdb_cancer_rec = 77; + */ + gdbCancerRec?: string + /** + * gene damage prediction (low/medium/high) by GDI for cancer dominant disease. + * + * @generated from protobuf field: optional string gdp_cancer_dom = 78; + */ + gdpCancerDom?: string + /** + * A percentile score for gene intolerance to functional change. The lower the score the + * higher gene intolerance to functional change. For details see doi: + * 10.1093/bioinformatics/btv602. + * + * @generated from protobuf field: optional double loftool_score = 79; + */ + loftoolScore?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Heterozygote or Homozygote of LOF SNVs whose MAF<0.005. This fraction is from a method + * for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_maf_5_het_or_hom = 80; + */ + sorvaLofMaf5HetOrHom?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Compound Heterozygote or Homozygote of LOF SNVs whose MAF<0.005. This fraction is from a + * method for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_maf_5_hom_or_comphet = 81; + */ + sorvaLofMaf5HomOrComphet?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Heterozygote or Homozygote of LOF SNVs whose MAF<0.001. This fraction is from a method + * for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_maf_1_het_or_hom = 82; + */ + sorvaLofMaf1HetOrHom?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Compound Heterozygote or Homozygote of LOF SNVs whose MAF<0.001. This fraction is from a + * method for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_maf_1_hom_or_comphet = 83; + */ + sorvaLofMaf1HomOrComphet?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.005. This fraction is from + * a method for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_or_mis_maf_5_het_or_hom = 84; + */ + sorvaLofOrMisMaf5HetOrHom?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Compound Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.005. This + * fraction is from a method for ranking genes based on mutational burden called SORVA + * (Significance Of Rare VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_or_mis_maf_5_hom_or_comphet = 85; + */ + sorvaLofOrMisMaf5HomOrComphet?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.001. This fraction is from + * a method for ranking genes based on mutational burden called SORVA (Significance Of Rare + * VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_or_mis_maf_1_het_or_hom = 86; + */ + sorvaLofOrMisMaf1HetOrHom?: number + /** + * The fraction of individuals in the 1000 Genomes Project data (N=2504) who are either + * Compound Heterozygote or Homozygote of LOF or missense SNVs whose MAF<0.001. This + * fraction is from a method for ranking genes based on mutational burden called SORVA + * (Significance Of Rare VAriants). Please see doi: 10.1101/103218 for details. + * + * @generated from protobuf field: optional double sorva_lof_or_mis_maf_1_hom_or_comphet = 87; + */ + sorvaLofOrMisMaf1HomOrComphet?: number + /** + * Essential ("E") or Non-essential phenotype-changing ("N") based on Mouse Genome + * Informatics database. from doi:10.1371/journal.pgen.1003484. + * + * @generated from protobuf field: optional string essential_gene = 88; + */ + essentialGene?: string + /** + * Essential ("E") or Non-essential phenotype-changing ("N") based on large scale CRISPR + * experiments. from doi: 10.1126/science.aac7041. + * + * @generated from protobuf field: optional string essential_gene_crispr = 89; + */ + essentialGeneCrispr?: string + /** + * Essential ("E"), context-Specific essential ("S"), or Non-essential phenotype-changing + * ("N") based on large scale CRISPR experiments. from + * http://dx.doi.org/10.1016/j.cell.2015.11.015. + * + * @generated from protobuf field: optional string essential_gene_crispr2 = 90; + */ + essentialGeneCrispr2?: string + /** + * Essential ("E"), HAP1-Specific essential ("H"), KBM7-Specific essential ("K"), or + * Non-essential phenotype-changing ("N"), based on large scale mutagenesis experiments. + * from doi: 10.1126/science.aac7557. + * + * @generated from protobuf field: optional string essential_gene_gene_trap = 91; + */ + essentialGeneGeneTrap?: string + /** + * A probability prediction of the gene being essential. From + * doi:10.1371/journal.pcbi.1002886. + * + * @generated from protobuf field: optional double gene_indispensability_score = 92; + */ + geneIndispensabilityScore?: number + /** + * Essential ("E") or loss-of-function tolerant ("N") based on Gene_indispensability_score. + * + * @generated from protobuf field: optional string gene_indispensability_pred = 93; + */ + geneIndispensabilityPred?: string + /** + * Homolog mouse gene name from MGI. + * + * @generated from protobuf field: optional string mgi_mouse_gene = 94; + */ + mgiMouseGene?: string + /** + * Phenotype description for the homolog mouse gene from MGI. + * + * @generated from protobuf field: optional string mgi_mouse_phenotype = 95; + */ + mgiMousePhenotype?: string + /** + * Homolog zebrafish gene name from ZFIN. + * + * @generated from protobuf field: optional string zfin_zebrafish_gene = 96; + */ + zfinZebrafishGene?: string + /** + * Affected structure of the homolog zebrafish gene from ZFIN. + * + * @generated from protobuf field: optional string zfin_zebrafish_structure = 97; + */ + zfinZebrafishStructure?: string + /** + * Phenotype description for the homolog zebrafish gene from ZFIN. + * + * @generated from protobuf field: optional string zfin_zebrafish_phenotype_quality = 98; + */ + zfinZebrafishPhenotypeQuality?: string + /** + * Phenotype tag for the homolog zebrafish gene from ZFIN" + * + * @generated from protobuf field: optional string zfin_zebrafish_phenotype_tag = 99; + */ + zfinZebrafishPhenotypeTag?: string +} +/** + * Code for data from the gnomAD constraints. + * + * @generated from protobuf message annonars.genes.base.GnomadConstraintsRecord + */ +export interface GnomadConstraintsRecord { + /** + * / The Ensembl gene ID. + * + * @generated from protobuf field: string ensembl_gene_id = 1; + */ + ensemblGeneId: string + /** + * / The NCBI gene ID. + * + * @generated from protobuf field: string entrez_id = 2; + */ + entrezId: string + /** + * / The HGNC gene symbol. + * + * @generated from protobuf field: string gene_symbol = 3; + */ + geneSymbol: string + /** + * / The expected number of loss-of-function variants. + * + * @generated from protobuf field: optional double exp_lof = 4; + */ + expLof?: number + /** + * / The expected number of missense variants. + * + * @generated from protobuf field: optional double exp_mis = 5; + */ + expMis?: number + /** + * / The expected number of synonymous variants. + * + * @generated from protobuf field: optional double exp_syn = 6; + */ + expSyn?: number + /** + * / The missense-related Z-score. + * + * @generated from protobuf field: optional double mis_z = 7; + */ + misZ?: number + /** + * / The observed number of loss-of-function variants. + * + * @generated from protobuf field: optional uint32 obs_lof = 8; + */ + obsLof?: number + /** + * / The observed number of missense variants. + * + * @generated from protobuf field: optional uint32 obs_mis = 9; + */ + obsMis?: number + /** + * / The observed number of synonymous variants. + * + * @generated from protobuf field: optional uint32 obs_syn = 10; + */ + obsSyn?: number + /** + * / The loss-of-function observed/expected ratio. + * + * @generated from protobuf field: optional double oe_lof = 11; + */ + oeLof?: number + /** + * / The lower bound of the loss-of-function observed/expected ratio. + * + * @generated from protobuf field: optional double oe_lof_lower = 12; + */ + oeLofLower?: number + /** + * / The upper bound of the loss-of-function observed/expected ratio. + * + * @generated from protobuf field: optional double oe_lof_upper = 13; + */ + oeLofUpper?: number + /** + * / The missense observed/expected ratio. + * + * @generated from protobuf field: optional double oe_mis = 14; + */ + oeMis?: number + /** + * / The lower bound of the missense observed/expected ratio. + * + * @generated from protobuf field: optional double oe_mis_lower = 15; + */ + oeMisLower?: number + /** + * / The upper bound of the missense observed/expected ratio. + * + * @generated from protobuf field: optional double oe_mis_upper = 16; + */ + oeMisUpper?: number + /** + * / The synonymous observed/expected ratio. + * + * @generated from protobuf field: optional double oe_syn = 17; + */ + oeSyn?: number + /** + * / The lower bound of the synonymous observed/expected ratio. + * + * @generated from protobuf field: optional double oe_syn_lower = 18; + */ + oeSynLower?: number + /** + * / The upper bound of the synonymous observed/expected ratio. + * + * @generated from protobuf field: optional double oe_syn_upper = 19; + */ + oeSynUpper?: number + /** + * / The probability of loss-of-function intolerance (pLI score). + * + * @generated from protobuf field: optional double pli = 20; + */ + pli?: number + /** + * / The synonymous-related Z-score. + * + * @generated from protobuf field: optional double syn_z = 21; + */ + synZ?: number + /** + * / The probability of loss-of-function intolerance (pLI score) from ExAC. + * + * @generated from protobuf field: optional double exac_pli = 22; + */ + exacPli?: number + /** + * / The observed number of loss-of-function variants from ExAC. + * + * @generated from protobuf field: optional double exac_obs_lof = 23; + */ + exacObsLof?: number + /** + * / The expected number of loss-of-function variants from ExAC. + * + * @generated from protobuf field: optional double exac_exp_lof = 24; + */ + exacExpLof?: number + /** + * / The loss-of-function observed/expected ratio from ExAC. + * + * @generated from protobuf field: optional double exac_oe_lof = 25; + */ + exacOeLof?: number +} +/** + * Information from the locus-specific dabase. + * + * @generated from protobuf message annonars.genes.base.HgncLsdb + */ +export interface HgncLsdb { + /** + * The name of the Locus Specific Mutation Database. + * + * @generated from protobuf field: string name = 1; + */ + name: string + /** + * The URL for the gene. + * + * @generated from protobuf field: string url = 2; + */ + url: string +} +/** + * A record from the HGNC database. + * + * @generated from protobuf message annonars.genes.base.HgncRecord + */ +export interface HgncRecord { + /** + * HGNC ID. A unique ID created by the HGNC for every approved symbol. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The HGNC approved gene symbol. + * + * @generated from protobuf field: string symbol = 2; + */ + symbol: string + /** + * HGNC approved name for the gene. + * + * @generated from protobuf field: string name = 3; + */ + name: string + /** + * A group name for a set of related locus types as defined by the HGNC + * (e.g. non-coding RNA). + * + * @generated from protobuf field: optional string locus_group = 4; + */ + locusGroup?: string + /** + * The locus type as defined by the HGNC (e.g. RNA, transfer). + * + * @generated from protobuf field: optional string locus_type = 5; + */ + locusType?: string + /** + * Status of the symbol report. + * + * @generated from protobuf field: annonars.genes.base.HgncStatus status = 6; + */ + status: HgncStatus + /** + * Cytogenetic location of the gene (e.g. 2q34). + * + * @generated from protobuf field: optional string location = 7; + */ + location?: string + /** + * Sortable cytogenic location of the gene (e.g. 02q34). + * + * @generated from protobuf field: optional string location_sortable = 8; + */ + locationSortable?: string + /** + * Other symbols used to refer to this gene. + * + * @generated from protobuf field: repeated string alias_symbol = 9; + */ + aliasSymbol: string[] + /** + * Other names used to refer to this gene. + * + * @generated from protobuf field: repeated string alias_name = 10; + */ + aliasName: string[] + /** + * Prevous symbols used to refer to this gene. + * + * @generated from protobuf field: repeated string prev_symbol = 11; + */ + prevSymbol: string[] + /** + * Previous names used to refer to this gene. + * + * @generated from protobuf field: repeated string prev_name = 12; + */ + prevName: string[] + /** + * Name given to a gene group. + * + * @generated from protobuf field: repeated string gene_group = 13; + */ + geneGroup: string[] + /** + * ID used to designate a gene group. + * + * @generated from protobuf field: repeated uint32 gene_group_id = 14; + */ + geneGroupId: number[] + /** + * The date the entry was first approved. + * + * @generated from protobuf field: optional string date_approved_reserved = 15; + */ + dateApprovedReserved?: string + /** + * The date the gene symbol was last changed. + * + * @generated from protobuf field: optional string date_symbol_changed = 16; + */ + dateSymbolChanged?: string + /** + * The date the gene name was last changed. + * + * @generated from protobuf field: optional string date_name_changed = 17; + */ + dateNameChanged?: string + /** + * Date the entry was last modified. + * + * @generated from protobuf field: optional string date_modified = 18; + */ + dateModified?: string + /** + * Entrez gene id. + * + * @generated from protobuf field: optional string entrez_id = 19; + */ + entrezId?: string + /** + * Ensembl gene id. + * + * @generated from protobuf field: optional string ensembl_gene_id = 20; + */ + ensemblGeneId?: string + /** + * Vega gene id. + * + * @generated from protobuf field: optional string vega_id = 21; + */ + vegaId?: string + /** + * UCSC gene id. + * + * @generated from protobuf field: optional string ucsc_id = 22; + */ + ucscId?: string + /** + * ENA accession number(s). + * + * @generated from protobuf field: repeated string ena = 23; + */ + ena: string[] + /** + * RefSeq nucleotide accession(s). + * + * @generated from protobuf field: repeated string refseq_accession = 24; + */ + refseqAccession: string[] + /** + * Consensus CDS ID(ds). + * + * @generated from protobuf field: repeated string ccds_id = 25; + */ + ccdsId: string[] + /** + * Uniprot IDs. + * + * @generated from protobuf field: repeated string uniprot_ids = 26; + */ + uniprotIds: string[] + /** + * Pubmed IDs. + * + * @generated from protobuf field: repeated uint32 pubmed_id = 27; + */ + pubmedId: number[] + /** + * Mouse genome informatics database ID(s). + * + * @generated from protobuf field: repeated string mgd_id = 28; + */ + mgdId: string[] + /** + * Rat genome database gene ID(s). + * + * @generated from protobuf field: repeated string rgd_id = 29; + */ + rgdId: string[] + /** + * The name of the Locus Specific Mutation Database and URL for the gene. + * + * @generated from protobuf field: repeated annonars.genes.base.HgncLsdb lsdb = 30; + */ + lsdb: HgncLsdb[] + /** + * Symbol used within COSMIC. + * + * @generated from protobuf field: optional string cosmic = 31; + */ + cosmic?: string + /** + * OMIM ID(s). + * + * @generated from protobuf field: repeated string omim_id = 32; + */ + omimId: string[] + /** + * miRBase ID. + * + * @generated from protobuf field: optional string mirbase = 33; + */ + mirbase?: string + /** + * Homeobox Database ID. + * + * @generated from protobuf field: optional uint32 homeodb = 34; + */ + homeodb?: number + /** + * snoRNABase ID. + * + * @generated from protobuf field: optional string snornabase = 35; + */ + snornabase?: string + /** + * Symbol used to link to the SLC tables database at bioparadigms.org + * for the gene. + * + * @generated from protobuf field: optional string bioparadigms_slc = 36; + */ + bioparadigmsSlc?: string + /** + * Orphanet ID. + * + * @generated from protobuf field: optional uint32 orphanet = 37; + */ + orphanet?: number + /** + * Pseudogene.org. + * + * @generated from protobuf field: optional string pseudogene_org = 38; + */ + pseudogeneOrg?: string + /** + * Symbol used within HORDE for the gene. + * + * @generated from protobuf field: optional string horde_id = 39; + */ + hordeId?: string + /** + * ID used to link to the MEROPS peptidase database. + * + * @generated from protobuf field: optional string merops = 40; + */ + merops?: string + /** + * Symbol used within international ImMunoGeneTics information system. + * + * @generated from protobuf field: optional string imgt = 41; + */ + imgt?: string + /** + * The objectId used to link to the IUPHAR/BPS Guide to PHARMACOLOGY + * database. + * + * @generated from protobuf field: optional string iuphar = 42; + */ + iuphar?: string + /** + * Symbol used within the Human Cell Differentiation Molecule database. + * + * @generated from protobuf field: optional string cd = 43; + */ + cd?: string + /** + * ID to link to the Mamit-tRNA database + * + * @generated from protobuf field: optional uint32 mamit_trnadb = 44; + */ + mamitTrnadb?: number + /** + * lncRNA Database ID. + * + * @generated from protobuf field: optional string lncrnadb = 45; + */ + lncrnadb?: string + /** + * ENZYME EC accession number. + * + * @generated from protobuf field: repeated string enzyme_id = 46; + */ + enzymeId: string[] + /** + * ID used to link to the Human Intermediate Filament Database. + * + * @generated from protobuf field: optional string intermediate_filament_db = 47; + */ + intermediateFilamentDb?: string + /** + * The HGNC ID that the Alliance of Genome Resources (AGR) use. + * + * @generated from protobuf field: optional string agr = 48; + */ + agr?: string + /** + * NCBI and Ensembl transcript IDs/acessions including the version + * number. + * + * @generated from protobuf field: repeated string mane_select = 49; + */ + maneSelect: string[] +} +/** + * Reference into function record. + * + * @generated from protobuf message annonars.genes.base.RifEntry + */ +export interface RifEntry { + /** + * The RIF text. + * + * @generated from protobuf field: string text = 1; + */ + text: string + /** + * PubMed IDs. + * + * @generated from protobuf field: repeated uint32 pmids = 2; + */ + pmids: number[] +} +/** + * A record from the NCBI gene database. + * + * @generated from protobuf message annonars.genes.base.NcbiRecord + */ +export interface NcbiRecord { + /** + * NCBI Gene ID. + * + * @generated from protobuf field: string gene_id = 1; + */ + geneId: string + /** + * Gene summary. + * + * @generated from protobuf field: optional string summary = 2; + */ + summary?: string + /** + * "Reference Into Function" entry. + * + * @generated from protobuf field: repeated annonars.genes.base.RifEntry rif_entries = 3; + */ + rifEntries: RifEntry[] +} +/** + * Description of an OMIM record. + * + * @generated from protobuf message annonars.genes.base.OmimTerm + */ +export interface OmimTerm { + /** + * The OMIM ID. + * + * @generated from protobuf field: string omim_id = 1; + */ + omimId: string + /** + * The OMIM label. + * + * @generated from protobuf field: string label = 2; + */ + label: string +} +/** + * A record from the OMIM gene association. + * + * @generated from protobuf message annonars.genes.base.OmimRecord + */ +export interface OmimRecord { + /** + * The HGNC gene ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The associated OMIM records. + * + * @generated from protobuf field: repeated annonars.genes.base.OmimTerm omim_diseases = 2; + */ + omimDiseases: OmimTerm[] +} +/** + * Description of an ORDO record. + * + * @generated from protobuf message annonars.genes.base.OrphaTerm + */ +export interface OrphaTerm { + /** + * The ORPHA ID. + * + * @generated from protobuf field: string orpha_id = 1; + */ + orphaId: string + /** + * The disease name. + * + * @generated from protobuf field: string label = 2; + */ + label: string +} +/** + * A record from the ORDO gene association. + * + * @generated from protobuf message annonars.genes.base.OrphaRecord + */ +export interface OrphaRecord { + /** + * The HGNC gene ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The associated ORPHA diseases. + * + * @generated from protobuf field: repeated annonars.genes.base.OrphaTerm orpha_diseases = 2; + */ + orphaDiseases: OrphaTerm[] +} +/** + * Entry in the rCNV dosage sensitivity scores (Collins et al., 2022). + * + * @generated from protobuf message annonars.genes.base.RcnvRecord + */ +export interface RcnvRecord { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The pHaplo value. + * + * @generated from protobuf field: double p_haplo = 2; + */ + pHaplo: number + /** + * The pTriplo value. + * + * @generated from protobuf field: double p_triplo = 3; + */ + pTriplo: number +} +/** + * Entry with sHet information (Weghorn et al., 2019). + * + * @generated from protobuf message annonars.genes.base.ShetRecord + */ +export interface ShetRecord { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The sHet value. + * + * @generated from protobuf field: double s_het = 2; + */ + sHet: number +} +/** + * Entry with the tissue-specific information for a gene. + * + * @generated from protobuf message annonars.genes.base.GtexTissueRecord + */ +export interface GtexTissueRecord { + /** + * The tissue type + * + * @generated from protobuf field: annonars.genes.base.GtexTissue tissue = 1; + */ + tissue: GtexTissue + /** + * The detailed tissue type + * + * @generated from protobuf field: annonars.genes.base.GtexTissueDetailed tissue_detailed = 2; + */ + tissueDetailed: GtexTissueDetailed + /** + * TPM counts + * + * @generated from protobuf field: repeated float tpms = 3; + */ + tpms: number[] +} +/** + * Entry with the GTEx information. + * + * @generated from protobuf message annonars.genes.base.GtexRecord + */ +export interface GtexRecord { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * ENSEMBL gene ID. + * + * @generated from protobuf field: string ensembl_gene_id = 2; + */ + ensemblGeneId: string + /** + * ENSEMBL gene version. + * + * @generated from protobuf field: string ensembl_gene_version = 3; + */ + ensemblGeneVersion: string + /** + * Counts per tissue + * + * @generated from protobuf field: repeated annonars.genes.base.GtexTissueRecord records = 4; + */ + records: GtexTissueRecord[] +} +/** + * Entry in PanelApp. + * + * @generated from protobuf message annonars.genes.base.PanelAppRecord + */ +export interface PanelAppRecord { + /** + * Gene identity information. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.GeneData gene_data = 1; + */ + geneData?: PanelAppRecord_GeneData + /** + * Entity type. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.EntityType entity_type = 2; + */ + entityType: PanelAppRecord_EntityType + /** + * Entity name. + * + * @generated from protobuf field: string entity_name = 3; + */ + entityName: string + /** + * Confidence level. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.ConfidenceLevel confidence_level = 4; + */ + confidenceLevel: PanelAppRecord_ConfidenceLevel + /** + * Penetrance. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.Penetrance penetrance = 5; + */ + penetrance: PanelAppRecord_Penetrance + /** + * Publications. + * + * @generated from protobuf field: repeated string publications = 6; + */ + publications: string[] + /** + * Evidence. + * + * @generated from protobuf field: repeated string evidence = 7; + */ + evidence: string[] + /** + * Phenotypes. + * + * @generated from protobuf field: repeated string phenotypes = 8; + */ + phenotypes: string[] + /** + * Mode of inheritance. + * + * @generated from protobuf field: string mode_of_inheritance = 9; + */ + modeOfInheritance: string + /** + * Panel. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.Panel panel = 10; + */ + panel?: PanelAppRecord_Panel +} +/** + * / Gene identity information. + * + * @generated from protobuf message annonars.genes.base.PanelAppRecord.GeneData + */ +export interface PanelAppRecord_GeneData { + /** + * HGNC ID. + * + * @generated from protobuf field: optional string hgnc_id = 1; + */ + hgncId?: string + /** + * HGNC gene symbol. + * + * @generated from protobuf field: optional string hgnc_symbol = 2; + */ + hgncSymbol?: string + /** + * Gene symbol. + * + * @generated from protobuf field: optional string gene_symbol = 3; + */ + geneSymbol?: string +} +/** + * Message for panel statistics. + * + * @generated from protobuf message annonars.genes.base.PanelAppRecord.PanelStats + */ +export interface PanelAppRecord_PanelStats { + /** + * Number of genes. + * + * @generated from protobuf field: uint32 number_of_genes = 1; + */ + numberOfGenes: number + /** + * Number of STRs. + * + * @generated from protobuf field: uint32 number_of_strs = 2; + */ + numberOfStrs: number + /** + * Number of regions. + * + * @generated from protobuf field: uint32 number_of_regions = 3; + */ + numberOfRegions: number +} +/** + * Message for panel types. + * + * @generated from protobuf message annonars.genes.base.PanelAppRecord.PanelType + */ +export interface PanelAppRecord_PanelType { + /** + * Type name. + * + * @generated from protobuf field: string name = 1; + */ + name: string + /** + * Slug. + * + * @generated from protobuf field: string slug = 2; + */ + slug: string + /** + * Description. + * + * @generated from protobuf field: string description = 3; + */ + description: string +} +/** + * Message for panel information. + * + * @generated from protobuf message annonars.genes.base.PanelAppRecord.Panel + */ +export interface PanelAppRecord_Panel { + /** + * Panel ID. + * + * @generated from protobuf field: uint32 id = 1; + */ + id: number + /** + * Panel hash ID. + * + * @generated from protobuf field: optional string hash_id = 2; + */ + hashId?: string + /** + * Panel name. + * + * @generated from protobuf field: string name = 3; + */ + name: string + /** + * Disease group. + * + * @generated from protobuf field: string disease_group = 4; + */ + diseaseGroup: string + /** + * Disease subgroup. + * + * @generated from protobuf field: string disease_sub_group = 5; + */ + diseaseSubGroup: string + /** + * Version + * + * @generated from protobuf field: string version = 6; + */ + version: string + /** + * Creation date of version. + * + * @generated from protobuf field: string version_created = 7; + */ + versionCreated: string + /** + * Relevant disorders. + * + * @generated from protobuf field: repeated string relevant_disorders = 8; + */ + relevantDisorders: string[] + /** + * Stats. + * + * @generated from protobuf field: annonars.genes.base.PanelAppRecord.PanelStats stats = 9; + */ + stats?: PanelAppRecord_PanelStats + /** + * Panel types. + * + * @generated from protobuf field: repeated annonars.genes.base.PanelAppRecord.PanelType types = 10; + */ + types: PanelAppRecord_PanelType[] +} +/** + * Enumeration for entity types. + * + * @generated from protobuf enum annonars.genes.base.PanelAppRecord.EntityType + */ +export enum PanelAppRecord_EntityType { + /** + * Unknown + * + * @generated from protobuf enum value: ENTITY_TYPE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Gene + * + * @generated from protobuf enum value: ENTITY_TYPE_GENE = 1; + */ + GENE = 1, + /** + * Short Tandem Repeat + * + * @generated from protobuf enum value: ENTITY_TYPE_STR = 2; + */ + STR = 2, + /** + * Region + * + * @generated from protobuf enum value: ENTITY_TYPE_REGION = 3; + */ + REGION = 3 +} +/** + * Enumeration for confidence levels. + * + * @generated from protobuf enum annonars.genes.base.PanelAppRecord.ConfidenceLevel + */ +export enum PanelAppRecord_ConfidenceLevel { + /** + * Unknown + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * None + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_NONE = 1; + */ + NONE = 1, + /** + * Red + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_RED = 2; + */ + RED = 2, + /** + * Amber + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_AMBER = 3; + */ + AMBER = 3, + /** + * Green + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_GREEN = 4; + */ + GREEN = 4 +} +/** + * Enumeration for penetrance. + * + * @generated from protobuf enum annonars.genes.base.PanelAppRecord.Penetrance + */ +export enum PanelAppRecord_Penetrance { + /** + * Unknown + * + * @generated from protobuf enum value: PENETRANCE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Complete + * + * @generated from protobuf enum value: PENETRANCE_COMPLETE = 1; + */ + COMPLETE = 1, + /** + * Incomplete + * + * @generated from protobuf enum value: PENETRANCE_INCOMPLETE = 2; + */ + INCOMPLETE = 2 +} +/** + * Record from the integrated conditions computation. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord + */ +export interface ConditionsRecord { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The gene-disease associations. + * + * @generated from protobuf field: repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation disease_associations = 2; + */ + diseaseAssociations: ConditionsRecord_GeneDiseaseAssociation[] + /** + * The PanelApp associations. + * + * @generated from protobuf field: repeated annonars.genes.base.ConditionsRecord.PanelappAssociation panelapp_associations = 3; + */ + panelappAssociations: ConditionsRecord_PanelappAssociation[] +} +/** + * A gene-disease association entry. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry + */ +export interface ConditionsRecord_GeneDiseaseAssociationEntry { + /** + * The gene-disease association source. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource source = 1; + */ + source: ConditionsRecord_GeneDiseaseAssociationEntry_GeneDiseaseAssociationSource + /** + * The gene-disease association confidence level. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence = 2; + */ + confidence: ConditionsRecord_GeneDiseaseAssociationEntry_ConfidenceLevel +} +/** + * Enumeration for sources. + * + * @generated from protobuf enum annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource + */ +export enum ConditionsRecord_GeneDiseaseAssociationEntry_GeneDiseaseAssociationSource { + /** + * nil + * + * @generated from protobuf enum value: GENE_DISEASE_ASSOCIATION_SOURCE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * OMIM + * + * @generated from protobuf enum value: GENE_DISEASE_ASSOCIATION_SOURCE_OMIM = 1; + */ + OMIM = 1, + /** + * Orphanet + * + * @generated from protobuf enum value: GENE_DISEASE_ASSOCIATION_SOURCE_ORPHANET = 2; + */ + ORPHANET = 2, + /** + * PanelApp + * + * @generated from protobuf enum value: GENE_DISEASE_ASSOCIATION_SOURCE_PANELAPP = 3; + */ + PANELAPP = 3 +} +/** + * Enumeration for confidence levels. + * + * @generated from protobuf enum annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel + */ +export enum ConditionsRecord_GeneDiseaseAssociationEntry_ConfidenceLevel { + /** + * nil + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * High confidence. + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_HIGH = 1; + */ + HIGH = 1, + /** + * Medium confidence. + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_MEDIUM = 2; + */ + MEDIUM = 2, + /** + * Low confidence. + * + * @generated from protobuf enum value: CONFIDENCE_LEVEL_LOW = 3; + */ + LOW = 3 +} +/** + * A labeled disorder. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord.LabeledDisorder + */ +export interface ConditionsRecord_LabeledDisorder { + /** + * The disorder ID. + * + * @generated from protobuf field: string term_id = 1; + */ + termId: string + /** + * The disorder name. + * + * @generated from protobuf field: optional string title = 2; + */ + title?: string +} +/** + * A gene-disease association. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation + */ +export interface ConditionsRecord_GeneDiseaseAssociation { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The gene-disease association entries. + * + * @generated from protobuf field: repeated annonars.genes.base.ConditionsRecord.LabeledDisorder labeled_disorders = 2; + */ + labeledDisorders: ConditionsRecord_LabeledDisorder[] + /** + * Overall disease name. + * + * @generated from protobuf field: optional string disease_name = 3; + */ + diseaseName?: string + /** + * Disease definition. + * + * @generated from protobuf field: optional string disease_definition = 4; + */ + diseaseDefinition?: string + /** + * The gene-disease association sources. + * + * @generated from protobuf field: repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource sources = 5; + */ + sources: ConditionsRecord_GeneDiseaseAssociationEntry_GeneDiseaseAssociationSource[] + /** + * Overall disease-gene association confidence level. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence = 6; + */ + confidence: ConditionsRecord_GeneDiseaseAssociationEntry_ConfidenceLevel +} +/** + * A panel from PanelApp. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord.PanelappPanel + */ +export interface ConditionsRecord_PanelappPanel { + /** + * PanelApp panel ID. + * + * @generated from protobuf field: int32 id = 1; + */ + id: number + /** + * PanelApp panel name. + * + * @generated from protobuf field: string name = 2; + */ + name: string + /** + * PanelApp panel version. + * + * @generated from protobuf field: string version = 3; + */ + version: string +} +/** + * An association of a gene by HGNC with a panel from PanelApp. + * + * @generated from protobuf message annonars.genes.base.ConditionsRecord.PanelappAssociation + */ +export interface ConditionsRecord_PanelappAssociation { + /** + * The HGNC ID. + * + * @generated from protobuf field: string hgnc_id = 1; + */ + hgncId: string + /** + * The PanelApp confidence level. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappConfidence confidence_level = 2; + */ + confidenceLevel: ConditionsRecord_PanelappAssociation_PanelappConfidence + /** + * The PanelApp entity type. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappEntityType entity_type = 3; + */ + entityType: ConditionsRecord_PanelappAssociation_PanelappEntityType + /** + * The PanelApp entity name. + * + * @generated from protobuf field: optional string mode_of_inheritance = 4; + */ + modeOfInheritance?: string + /** + * The PanelApp publications. + * + * @generated from protobuf field: repeated string phenotypes = 5; + */ + phenotypes: string[] + /** + * The PanelApp panel. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord.PanelappPanel panel = 6; + */ + panel?: ConditionsRecord_PanelappPanel +} +/** + * Enumeration for PanelApp confidence level. + * + * @generated from protobuf enum annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappConfidence + */ +export enum ConditionsRecord_PanelappAssociation_PanelappConfidence { + /** + * nil + * + * @generated from protobuf enum value: PANELAPP_CONFIDENCE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * PanelApp green confidence. + * + * @generated from protobuf enum value: PANELAPP_CONFIDENCE_GREEN = 1; + */ + GREEN = 1, + /** + * PanelApp amber confidence. + * + * @generated from protobuf enum value: PANELAPP_CONFIDENCE_AMBER = 2; + */ + AMBER = 2, + /** + * PanelApp red confidence. + * + * @generated from protobuf enum value: PANELAPP_CONFIDENCE_RED = 3; + */ + RED = 3, + /** + * PanelApp none confidence (when removed after expert review). + * + * @generated from protobuf enum value: PANELAPP_CONFIDENCE_NONE = 4; + */ + NONE = 4 +} +/** + * Enumeration for entity type. + * + * @generated from protobuf enum annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappEntityType + */ +export enum ConditionsRecord_PanelappAssociation_PanelappEntityType { + /** + * nil + * + * @generated from protobuf enum value: PANELAPP_ENTITY_TYPE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * PanelApp gene entity type. + * + * @generated from protobuf enum value: PANELAPP_ENTITY_TYPE_GENE = 1; + */ + GENE = 1, + /** + * PanelApp region entity type. + * + * @generated from protobuf enum value: PANELAPP_ENTITY_TYPE_REGION = 2; + */ + REGION = 2, + /** + * PanelApp short tandem repeat entity type. + * + * @generated from protobuf enum value: PANELAPP_ENTITY_TYPE_STR = 3; + */ + STR = 3 +} +/** + * Entry in the genes RocksDB database. + * + * @generated from protobuf message annonars.genes.base.Record + */ +export interface Record { + /** + * Information from the ACMG secondary finding list. + * + * @generated from protobuf field: annonars.genes.base.AcmgSecondaryFindingRecord acmg_sf = 1; + */ + acmgSf?: AcmgSecondaryFindingRecord + /** + * Information from ClinGen dosage curation. + * + * @generated from protobuf field: annonars.genes.base.ClingenDosageRecord clingen = 2; + */ + clingen?: ClingenDosageRecord + /** + * Information from dbNSFP. + * + * @generated from protobuf field: annonars.genes.base.DbnsfpRecord dbnsfp = 3; + */ + dbnsfp?: DbnsfpRecord + /** + * Information from the gnomAD constraints database. + * + * @generated from protobuf field: annonars.genes.base.GnomadConstraintsRecord gnomad_constraints = 4; + */ + gnomadConstraints?: GnomadConstraintsRecord + /** + * Information from the HGNC database. + * + * @generated from protobuf field: annonars.genes.base.HgncRecord hgnc = 5; + */ + hgnc?: HgncRecord + /** + * Information from the NCBI gene database (aka "Entrez"). + * + * @generated from protobuf field: annonars.genes.base.NcbiRecord ncbi = 6; + */ + ncbi?: NcbiRecord + /** + * Information about gene to OMIM term annotation, composed from clingen and HPO. + * + * @generated from protobuf field: annonars.genes.base.OmimRecord omim = 7; + */ + omim?: OmimRecord + /** + * Information about gene to Orphanet annotation, derived from Orphapacket. + * + * @generated from protobuf field: annonars.genes.base.OrphaRecord orpha = 8; + */ + orpha?: OrphaRecord + /** + * Information from the rCNV dosage sensitivity scores (Collins et al., 2022). + * + * @generated from protobuf field: annonars.genes.base.RcnvRecord rcnv = 9; + */ + rcnv?: RcnvRecord + /** + * Information from the sHet score (Weghor et al., 2019) + * + * @generated from protobuf field: annonars.genes.base.ShetRecord shet = 10; + */ + shet?: ShetRecord + /** + * Information from GTEx data + * + * @generated from protobuf field: annonars.genes.base.GtexRecord gtex = 11; + */ + gtex?: GtexRecord + /** + * Information from DOMINO. + * + * @generated from protobuf field: annonars.genes.base.DominoRecord domino = 12; + */ + domino?: DominoRecord + /** + * DECIPHER HI score. + * + * @generated from protobuf field: annonars.genes.base.DecipherHiRecord decipher_hi = 13; + */ + decipherHi?: DecipherHiRecord + /** + * GenomicsEngland PanelApp gene information. + * + * @generated from protobuf field: repeated annonars.genes.base.PanelAppRecord panelapp = 14; + */ + panelapp: PanelAppRecord[] + /** + * Conditions record. + * + * @generated from protobuf field: annonars.genes.base.ConditionsRecord conditions = 15; + */ + conditions?: ConditionsRecord +} +/** + * / Enumeration for Haploinsufficiency / Triplosensitivity scores. + * + * @generated from protobuf enum annonars.genes.base.ClingenDosageScore + */ +export enum ClingenDosageScore { + /** + * unknown + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Sufficient evidence for dosage pathogenicity + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_SUFFICIENT_EVIDENCE_AVAILABLE = 1; + */ + SUFFICIENT_EVIDENCE_AVAILABLE = 1, + /** + * Some evidence for dosage pathogenicity + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_SOME_EVIDENCE_AVAILABLE = 2; + */ + SOME_EVIDENCE_AVAILABLE = 2, + /** + * Little evidence for dosage pathogenicity + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_LITTLE_EVIDENCE = 3; + */ + LITTLE_EVIDENCE = 3, + /** + * No evidence available + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_NO_EVIDENCE_AVAILABLE = 4; + */ + NO_EVIDENCE_AVAILABLE = 4, + /** + * Gene associated with autosomal recessive phenotype + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_RECESSIVE = 5; + */ + RECESSIVE = 5, + /** + * Dosage sensitivity unlikely + * + * @generated from protobuf enum value: CLINGEN_DOSAGE_SCORE_UNLIKELY = 6; + */ + UNLIKELY = 6 +} +/** + * Status of the symbol report, which can be either "Approved" or "Entry Withdrawn". + * + * @generated from protobuf enum annonars.genes.base.HgncStatus + */ +export enum HgncStatus { + /** + * unknown + * + * @generated from protobuf enum value: HGNC_STATUS_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Approved by HGNC. + * + * @generated from protobuf enum value: HGNC_STATUS_APPROVED = 1; + */ + APPROVED = 1, + /** + * Withdrawn by HGNC. + * + * @generated from protobuf enum value: HGNC_STATUS_WITHDRAWN = 2; + */ + WITHDRAWN = 2 +} +/** + * Enumeration for GTEx V8 tissue + * + * @generated from protobuf enum annonars.genes.base.GtexTissue + */ +export enum GtexTissue { + /** + * unknown + * + * @generated from protobuf enum value: GTEX_TISSUE_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Adipose Tissue + * + * @generated from protobuf enum value: GTEX_TISSUE_ADIPOSE_TISSUE = 1; + */ + ADIPOSE_TISSUE = 1, + /** + * Adrenal Gland + * + * @generated from protobuf enum value: GTEX_TISSUE_ADRENAL_GLAND = 2; + */ + ADRENAL_GLAND = 2, + /** + * Bladder + * + * @generated from protobuf enum value: GTEX_TISSUE_BLADDER = 3; + */ + BLADDER = 3, + /** + * Blood + * + * @generated from protobuf enum value: GTEX_TISSUE_BLOOD = 4; + */ + BLOOD = 4, + /** + * Blood Vessel + * + * @generated from protobuf enum value: GTEX_TISSUE_BLOOD_VESSEL = 5; + */ + BLOOD_VESSEL = 5, + /** + * Bone Marrow + * + * @generated from protobuf enum value: GTEX_TISSUE_BONE_MARROW = 6; + */ + BONE_MARROW = 6, + /** + * Brain + * + * @generated from protobuf enum value: GTEX_TISSUE_BRAIN = 7; + */ + BRAIN = 7, + /** + * Breast + * + * @generated from protobuf enum value: GTEX_TISSUE_BREAST = 8; + */ + BREAST = 8, + /** + * Cervix Uteri + * + * @generated from protobuf enum value: GTEX_TISSUE_CERVIX_UTERI = 9; + */ + CERVIX_UTERI = 9, + /** + * Colon + * + * @generated from protobuf enum value: GTEX_TISSUE_COLON = 10; + */ + COLON = 10, + /** + * Esophagus + * + * @generated from protobuf enum value: GTEX_TISSUE_ESOPHAGUS = 11; + */ + ESOPHAGUS = 11, + /** + * Fallopian Tube + * + * @generated from protobuf enum value: GTEX_TISSUE_FALLOPIAN_TUBE = 12; + */ + FALLOPIAN_TUBE = 12, + /** + * Heart + * + * @generated from protobuf enum value: GTEX_TISSUE_HEART = 13; + */ + HEART = 13, + /** + * Kidney + * + * @generated from protobuf enum value: GTEX_TISSUE_KIDNEY = 14; + */ + KIDNEY = 14, + /** + * Liver + * + * @generated from protobuf enum value: GTEX_TISSUE_LIVER = 15; + */ + LIVER = 15, + /** + * Lung + * + * @generated from protobuf enum value: GTEX_TISSUE_LUNG = 16; + */ + LUNG = 16, + /** + * Muscle + * + * @generated from protobuf enum value: GTEX_TISSUE_MUSCLE = 17; + */ + MUSCLE = 17, + /** + * Nerve + * + * @generated from protobuf enum value: GTEX_TISSUE_NERVE = 18; + */ + NERVE = 18, + /** + * Ovary + * + * @generated from protobuf enum value: GTEX_TISSUE_OVARY = 19; + */ + OVARY = 19, + /** + * Pancreas + * + * @generated from protobuf enum value: GTEX_TISSUE_PANCREAS = 20; + */ + PANCREAS = 20, + /** + * Pituitary + * + * @generated from protobuf enum value: GTEX_TISSUE_PITUITARY = 21; + */ + PITUITARY = 21, + /** + * Prostate + * + * @generated from protobuf enum value: GTEX_TISSUE_PROSTATE = 22; + */ + PROSTATE = 22, + /** + * Salivary Gland + * + * @generated from protobuf enum value: GTEX_TISSUE_SALIVARY_GLAND = 23; + */ + SALIVARY_GLAND = 23, + /** + * Skin + * + * @generated from protobuf enum value: GTEX_TISSUE_SKIN = 24; + */ + SKIN = 24, + /** + * Small Intestine + * + * @generated from protobuf enum value: GTEX_TISSUE_SMALL_INTESTINE = 25; + */ + SMALL_INTESTINE = 25, + /** + * Spleen + * + * @generated from protobuf enum value: GTEX_TISSUE_SPLEEN = 26; + */ + SPLEEN = 26, + /** + * Stomach + * + * @generated from protobuf enum value: GTEX_TISSUE_STOMACH = 27; + */ + STOMACH = 27, + /** + * Testis + * + * @generated from protobuf enum value: GTEX_TISSUE_TESTIS = 28; + */ + TESTIS = 28, + /** + * Thyroid + * + * @generated from protobuf enum value: GTEX_TISSUE_THYROID = 29; + */ + THYROID = 29, + /** + * Uterus + * + * @generated from protobuf enum value: GTEX_TISSUE_UTERUS = 30; + */ + UTERUS = 30, + /** + * Vagina + * + * @generated from protobuf enum value: GTEX_TISSUE_VAGINA = 31; + */ + VAGINA = 31 +} +/** + * Enumeration for GTEx V8 tissue details + * + * @generated from protobuf enum annonars.genes.base.GtexTissueDetailed + */ +export enum GtexTissueDetailed { + /** + * unknown + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_UNKNOWN = 0; + */ + UNKNOWN = 0, + /** + * Adipose - Subcutaneous + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ADIPOSE_SUBCUTANEOUS = 1; + */ + ADIPOSE_SUBCUTANEOUS = 1, + /** + * Adipose - Visceral (Omentum) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ADIPOSE_VISCERAL_OMENTUM = 2; + */ + ADIPOSE_VISCERAL_OMENTUM = 2, + /** + * Adrenal Gland + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ADRENAL_GLAND = 3; + */ + ADRENAL_GLAND = 3, + /** + * Artery - Aorta + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ARTERY_AORTA = 4; + */ + ARTERY_AORTA = 4, + /** + * Artery - Coronary + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ARTERY_CORONARY = 5; + */ + ARTERY_CORONARY = 5, + /** + * Artery - Tibial + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ARTERY_TIBIAL = 6; + */ + ARTERY_TIBIAL = 6, + /** + * Bladder + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BLADDER = 7; + */ + BLADDER = 7, + /** + * Brain - Amygdala + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_AMYGDALA = 8; + */ + BRAIN_AMYGDALA = 8, + /** + * Brain - Anterior cingulate cortex (BA24) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_ANTERIOR_CINGULATE_CORTEX = 9; + */ + BRAIN_ANTERIOR_CINGULATE_CORTEX = 9, + /** + * Brain - Caudate (basal ganglia) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_CAUDATE_BASAL_GANGLIA = 10; + */ + BRAIN_CAUDATE_BASAL_GANGLIA = 10, + /** + * Brain - Cerebellar Hemisphere + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_CEREBELLAR_HEMISPHERE = 11; + */ + BRAIN_CEREBELLAR_HEMISPHERE = 11, + /** + * Brain - Cerebellum + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_CEREBELLUM = 12; + */ + BRAIN_CEREBELLUM = 12, + /** + * Brain - Cortex + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_CORTEX = 13; + */ + BRAIN_CORTEX = 13, + /** + * Brain - Frontal Cortex (BA9) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_FRONTAL_CORTEX = 14; + */ + BRAIN_FRONTAL_CORTEX = 14, + /** + * Brain - Hippocampus + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_HIPPOCAMPUS = 15; + */ + BRAIN_HIPPOCAMPUS = 15, + /** + * Brain - Hypothalamus + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_HYPOTHALAMUS = 16; + */ + BRAIN_HYPOTHALAMUS = 16, + /** + * Brain - Nucleus accumbens (basal ganglia) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_NUCLEUS_ACCUMBENS = 17; + */ + BRAIN_NUCLEUS_ACCUMBENS = 17, + /** + * Brain - Putamen (basal ganglia) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_PUTAMEN_BASAL_GANGLIA = 18; + */ + BRAIN_PUTAMEN_BASAL_GANGLIA = 18, + /** + * Brain - Spinal cord (cervical c-1) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_SPINAL_CORD = 19; + */ + BRAIN_SPINAL_CORD = 19, + /** + * Brain - Substantia nigra + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BRAIN_SUBSTANTIA_NIGRA = 20; + */ + BRAIN_SUBSTANTIA_NIGRA = 20, + /** + * Breast - Mammary Tissue + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_BREAST_MAMMARY_TISSUE = 21; + */ + BREAST_MAMMARY_TISSUE = 21, + /** + * Cells - Cultured fibroblasts + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_CELLS_CULTURED_FIBROBLASTS = 22; + */ + CELLS_CULTURED_FIBROBLASTS = 22, + /** + * Cells - EBV-transformed lymphocytes + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_CELLS_EBV_TRANSFORMED_LYMPHOCYTES = 23; + */ + CELLS_EBV_TRANSFORMED_LYMPHOCYTES = 23, + /** + * Cells - Leukemia cell line (CML) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_CELLS_LEUKEMIA_CELL_LINE = 24; + */ + CELLS_LEUKEMIA_CELL_LINE = 24, + /** + * Cervix - Ectocervix + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_CERVIX_ECTOCERVIX = 25; + */ + CERVIX_ECTOCERVIX = 25, + /** + * Cervix - Endocervix + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_CERVIX_ENDOCERVIX = 26; + */ + CERVIX_ENDOCERVIX = 26, + /** + * Colon - Sigmoid + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_COLON_SIGMOID = 27; + */ + COLON_SIGMOID = 27, + /** + * Colon - Transverse + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_COLON_TRANSVERSE = 28; + */ + COLON_TRANSVERSE = 28, + /** + * Esophagus - Gastroesophageal Junction + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ESOPHAGUS_GASTROESOPHAGEAL_JUNCTION = 29; + */ + ESOPHAGUS_GASTROESOPHAGEAL_JUNCTION = 29, + /** + * Esophagus - Mucosa + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ESOPHAGUS_MUCOSA = 30; + */ + ESOPHAGUS_MUCOSA = 30, + /** + * Esophagus - Muscularis + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_ESOPHAGUS_MUSCULARIS = 31; + */ + ESOPHAGUS_MUSCULARIS = 31, + /** + * Fallopian Tube + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_FALLOPIAN_TUBE = 32; + */ + FALLOPIAN_TUBE = 32, + /** + * Heart - Atrial Appendage + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_HEART_ATRIAL_APPENDAGE = 33; + */ + HEART_ATRIAL_APPENDAGE = 33, + /** + * Heart - Left Ventricle + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_HEART_LEFT_VENTRICLE = 34; + */ + HEART_LEFT_VENTRICLE = 34, + /** + * Kidney - Cortex + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_KIDNEY_CORTEX = 35; + */ + KIDNEY_CORTEX = 35, + /** + * Kidney - Medulla + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_KIDNEY_MEDULLA = 36; + */ + KIDNEY_MEDULLA = 36, + /** + * Liver + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_LIVER = 37; + */ + LIVER = 37, + /** + * Lung + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_LUNG = 38; + */ + LUNG = 38, + /** + * Minor Salivary Gland + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_MINOR_SALIVARY_GLAND = 39; + */ + MINOR_SALIVARY_GLAND = 39, + /** + * Muscle - Skeletal + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_MUSCLE_SKELETAL = 40; + */ + MUSCLE_SKELETAL = 40, + /** + * Nerve - Tibial + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_NERVE_TIBIAL = 41; + */ + NERVE_TIBIAL = 41, + /** + * Ovary + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_OVARY = 42; + */ + OVARY = 42, + /** + * Pancreas + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_PANCREAS = 43; + */ + PANCREAS = 43, + /** + * Pituitary + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_PITUITARY = 44; + */ + PITUITARY = 44, + /** + * Prostate + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_PROSTATE = 45; + */ + PROSTATE = 45, + /** + * Salivary Gland + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_SALIVARY_GLAND = 46; + */ + SALIVARY_GLAND = 46, + /** + * Skin - Not Sun Exposed (Suprapubic) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_SKIN_NOT_SUN_EXPOSED_SUPRAPUBIC = 47; + */ + SKIN_NOT_SUN_EXPOSED_SUPRAPUBIC = 47, + /** + * Skin - Sun Exposed (Lower leg) + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_SKIN_SUN_EXPOSED_LOWER_LEG = 48; + */ + SKIN_SUN_EXPOSED_LOWER_LEG = 48, + /** + * Small Intestine - Terminal Ileum + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_SMALL_INTESTINE_TERMINAL_ILEUM = 49; + */ + SMALL_INTESTINE_TERMINAL_ILEUM = 49, + /** + * Spleen + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_SPLEEN = 50; + */ + SPLEEN = 50, + /** + * Stomach + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_STOMACH = 51; + */ + STOMACH = 51, + /** + * Testis + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_TESTIS = 52; + */ + TESTIS = 52, + /** + * Thyroid + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_THYROID = 53; + */ + THYROID = 53, + /** + * Uterus + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_UTERUS = 54; + */ + UTERUS = 54, + /** + * Vagina + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_VAGINA = 55; + */ + VAGINA = 55, + /** + * Whole Blood + * + * @generated from protobuf enum value: GTEX_TISSUE_DETAILED_WHOLE_BLOOD = 56; + */ + WHOLE_BLOOD = 56 +} +// @generated message type with reflection information, may provide speed optimized methods +class AcmgSecondaryFindingRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.AcmgSecondaryFindingRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'ensembl_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'ncbi_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'gene_symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 5, name: 'mim_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 6, name: 'disease_phenotype', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 7, name: 'disorder_mim', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 8, name: 'phenotype_category', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 9, name: 'inheritance', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 10, name: 'sf_list_version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 11, name: 'variants_to_report', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): AcmgSecondaryFindingRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.ensemblGeneId = '' + message.ncbiGeneId = '' + message.geneSymbol = '' + message.mimGeneId = '' + message.diseasePhenotype = '' + message.disorderMim = '' + message.phenotypeCategory = '' + message.inheritance = '' + message.sfListVersion = '' + message.variantsToReport = '' + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: AcmgSecondaryFindingRecord + ): AcmgSecondaryFindingRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* string ensembl_gene_id */ 2: + message.ensemblGeneId = reader.string() + break + case /* string ncbi_gene_id */ 3: + message.ncbiGeneId = reader.string() + break + case /* string gene_symbol */ 4: + message.geneSymbol = reader.string() + break + case /* string mim_gene_id */ 5: + message.mimGeneId = reader.string() + break + case /* string disease_phenotype */ 6: + message.diseasePhenotype = reader.string() + break + case /* string disorder_mim */ 7: + message.disorderMim = reader.string() + break + case /* string phenotype_category */ 8: + message.phenotypeCategory = reader.string() + break + case /* string inheritance */ 9: + message.inheritance = reader.string() + break + case /* string sf_list_version */ 10: + message.sfListVersion = reader.string() + break + case /* string variants_to_report */ 11: + message.variantsToReport = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: AcmgSecondaryFindingRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* string ensembl_gene_id = 2; */ + if (message.ensemblGeneId !== '') + writer.tag(2, WireType.LengthDelimited).string(message.ensemblGeneId) + /* string ncbi_gene_id = 3; */ + if (message.ncbiGeneId !== '') + writer.tag(3, WireType.LengthDelimited).string(message.ncbiGeneId) + /* string gene_symbol = 4; */ + if (message.geneSymbol !== '') + writer.tag(4, WireType.LengthDelimited).string(message.geneSymbol) + /* string mim_gene_id = 5; */ + if (message.mimGeneId !== '') writer.tag(5, WireType.LengthDelimited).string(message.mimGeneId) + /* string disease_phenotype = 6; */ + if (message.diseasePhenotype !== '') + writer.tag(6, WireType.LengthDelimited).string(message.diseasePhenotype) + /* string disorder_mim = 7; */ + if (message.disorderMim !== '') + writer.tag(7, WireType.LengthDelimited).string(message.disorderMim) + /* string phenotype_category = 8; */ + if (message.phenotypeCategory !== '') + writer.tag(8, WireType.LengthDelimited).string(message.phenotypeCategory) + /* string inheritance = 9; */ + if (message.inheritance !== '') + writer.tag(9, WireType.LengthDelimited).string(message.inheritance) + /* string sf_list_version = 10; */ + if (message.sfListVersion !== '') + writer.tag(10, WireType.LengthDelimited).string(message.sfListVersion) + /* string variants_to_report = 11; */ + if (message.variantsToReport !== '') + writer.tag(11, WireType.LengthDelimited).string(message.variantsToReport) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.AcmgSecondaryFindingRecord + */ +export const AcmgSecondaryFindingRecord = new AcmgSecondaryFindingRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ClingenDosageRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.ClingenDosageRecord', [ + { no: 1, name: 'gene_symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'ncbi_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'genomic_location_37', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'genomic_location_38', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 5, + name: 'haploinsufficiency_score', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ClingenDosageScore', + ClingenDosageScore, + 'CLINGEN_DOSAGE_SCORE_' + ] + }, + { + no: 6, + name: 'triplosensitivity_score', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ClingenDosageScore', + ClingenDosageScore, + 'CLINGEN_DOSAGE_SCORE_' + ] + }, + { + no: 7, + name: 'haploinsufficiency_disease_id', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 8, + name: 'triplosensitivity_disease_id', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + } + ]) + } + create(value?: PartialMessage): ClingenDosageRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.geneSymbol = '' + message.ncbiGeneId = '' + message.genomicLocation37 = '' + message.genomicLocation38 = '' + message.haploinsufficiencyScore = 0 + message.triplosensitivityScore = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ClingenDosageRecord + ): ClingenDosageRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string gene_symbol */ 1: + message.geneSymbol = reader.string() + break + case /* string ncbi_gene_id */ 2: + message.ncbiGeneId = reader.string() + break + case /* string genomic_location_37 */ 3: + message.genomicLocation37 = reader.string() + break + case /* string genomic_location_38 */ 4: + message.genomicLocation38 = reader.string() + break + case /* annonars.genes.base.ClingenDosageScore haploinsufficiency_score */ 5: + message.haploinsufficiencyScore = reader.int32() + break + case /* annonars.genes.base.ClingenDosageScore triplosensitivity_score */ 6: + message.triplosensitivityScore = reader.int32() + break + case /* optional string haploinsufficiency_disease_id */ 7: + message.haploinsufficiencyDiseaseId = reader.string() + break + case /* optional string triplosensitivity_disease_id */ 8: + message.triplosensitivityDiseaseId = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ClingenDosageRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string gene_symbol = 1; */ + if (message.geneSymbol !== '') + writer.tag(1, WireType.LengthDelimited).string(message.geneSymbol) + /* string ncbi_gene_id = 2; */ + if (message.ncbiGeneId !== '') + writer.tag(2, WireType.LengthDelimited).string(message.ncbiGeneId) + /* string genomic_location_37 = 3; */ + if (message.genomicLocation37 !== '') + writer.tag(3, WireType.LengthDelimited).string(message.genomicLocation37) + /* string genomic_location_38 = 4; */ + if (message.genomicLocation38 !== '') + writer.tag(4, WireType.LengthDelimited).string(message.genomicLocation38) + /* annonars.genes.base.ClingenDosageScore haploinsufficiency_score = 5; */ + if (message.haploinsufficiencyScore !== 0) + writer.tag(5, WireType.Varint).int32(message.haploinsufficiencyScore) + /* annonars.genes.base.ClingenDosageScore triplosensitivity_score = 6; */ + if (message.triplosensitivityScore !== 0) + writer.tag(6, WireType.Varint).int32(message.triplosensitivityScore) + /* optional string haploinsufficiency_disease_id = 7; */ + if (message.haploinsufficiencyDiseaseId !== undefined) + writer.tag(7, WireType.LengthDelimited).string(message.haploinsufficiencyDiseaseId) + /* optional string triplosensitivity_disease_id = 8; */ + if (message.triplosensitivityDiseaseId !== undefined) + writer.tag(8, WireType.LengthDelimited).string(message.triplosensitivityDiseaseId) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ClingenDosageRecord + */ +export const ClingenDosageRecord = new ClingenDosageRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class DecipherHiRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.DecipherHiRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'hgnc_symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'p_hi', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ }, + { no: 4, name: 'hi_index', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ } + ]) + } + create(value?: PartialMessage): DecipherHiRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.hgncSymbol = '' + message.pHi = 0 + message.hiIndex = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: DecipherHiRecord + ): DecipherHiRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* string hgnc_symbol */ 2: + message.hgncSymbol = reader.string() + break + case /* double p_hi */ 3: + message.pHi = reader.double() + break + case /* double hi_index */ 4: + message.hiIndex = reader.double() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: DecipherHiRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* string hgnc_symbol = 2; */ + if (message.hgncSymbol !== '') + writer.tag(2, WireType.LengthDelimited).string(message.hgncSymbol) + /* double p_hi = 3; */ + if (message.pHi !== 0) writer.tag(3, WireType.Bit64).double(message.pHi) + /* double hi_index = 4; */ + if (message.hiIndex !== 0) writer.tag(4, WireType.Bit64).double(message.hiIndex) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.DecipherHiRecord + */ +export const DecipherHiRecord = new DecipherHiRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class DominoRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.DominoRecord', [ + { no: 1, name: 'gene_symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'score', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ } + ]) + } + create(value?: PartialMessage): DominoRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.geneSymbol = '' + message.score = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: DominoRecord + ): DominoRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string gene_symbol */ 1: + message.geneSymbol = reader.string() + break + case /* double score */ 2: + message.score = reader.double() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: DominoRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string gene_symbol = 1; */ + if (message.geneSymbol !== '') + writer.tag(1, WireType.LengthDelimited).string(message.geneSymbol) + /* double score = 2; */ + if (message.score !== 0) writer.tag(2, WireType.Bit64).double(message.score) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.DominoRecord + */ +export const DominoRecord = new DominoRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class DbnsfpRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.DbnsfpRecord', [ + { no: 1, name: 'gene_name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'ensembl_gene', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'chr', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 4, + name: 'gene_old_names', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 5, + name: 'gene_other_names', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 6, name: 'uniprot_acc', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 7, name: 'uniprot_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 8, name: 'entrez_gene_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 9, + name: 'ccds_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 10, + name: 'refseq_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 11, name: 'ucsc_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 12, + name: 'mim_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 13, + name: 'omim_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 14, name: 'gene_full_name', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 15, name: 'pathway_uniprot', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 16, + name: 'pathway_biocarta_short', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 17, + name: 'pathway_biocarta_full', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 18, + name: 'pathway_consensus_path_db', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 19, + name: 'pathway_kegg_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 20, + name: 'pathway_kegg_full', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 21, + name: 'function_description', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 22, + name: 'disease_description', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 23, + name: 'mim_phenotype_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 24, + name: 'mim_disease', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 25, + name: 'orphanet_disorder_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 26, + name: 'orphanet_disorder', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 27, + name: 'orphanet_association_type', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 28, + name: 'trait_association_gwas', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 29, + name: 'hpo_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 30, + name: 'hpo_name', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 31, + name: 'go_biological_process', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 32, + name: 'go_cellular_component', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 33, + name: 'go_molecular_function', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 34, + name: 'tissue_specificity_uniprot', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 35, + name: 'expression_egenetics', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 36, + name: 'expression_gnf_atlas', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 37, + name: 'interactions_intact', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 38, + name: 'interactions_biogrid', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 39, + name: 'interactions_consensus_path_db', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 40, name: 'haploinsufficiency', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 41, name: 'hipred_score', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 42, name: 'hipred', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 43, name: 'ghis', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 44, name: 'prec', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 45, name: 'known_rec_info', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 46, name: 'rvis_evs', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { + no: 47, + name: 'rvis_percentile_evs', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { no: 48, name: 'lof_fdr_exac', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 49, name: 'rvis_exac', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { + no: 50, + name: 'rvis_percentile_exac', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { no: 51, name: 'exac_pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 52, name: 'exac_prec', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 53, name: 'exac_pnull', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 54, name: 'exac_nontcga_pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 55, name: 'exac_nontcga_prec', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 56, name: 'exac_nontcga_pnull', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 57, name: 'exac_nonpsych_pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 58, name: 'exac_nonpsych_prec', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { + no: 59, + name: 'exac_nonpsych_pnull', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { no: 60, name: 'gnomad_pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 61, name: 'gnomad_prec', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 62, name: 'gnomad_pnull', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 63, name: 'exac_del_score', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 64, name: 'exac_dup_score', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 65, name: 'exac_cnv_score', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 66, name: 'exac_cnv_flag', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 67, name: 'gdi', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 68, name: 'gdi_phred', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { + no: 69, + name: 'gdp_all_disease_causing', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { no: 70, name: 'gdp_all_mendelian', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 71, + name: 'gdp_all_mendelian_ad', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { no: 72, name: 'gdp_mendelian_ar', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 73, name: 'gdp_pid', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 74, name: 'gdp_pid_ad', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 75, name: 'gdp_pid_ar', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 76, name: 'gdp_cancer', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 77, name: 'gdb_cancer_rec', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 78, name: 'gdp_cancer_dom', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 79, name: 'loftool_score', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { + no: 80, + name: 'sorva_lof_maf_5_het_or_hom', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 81, + name: 'sorva_lof_maf_5_hom_or_comphet', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 82, + name: 'sorva_lof_maf_1_het_or_hom', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 83, + name: 'sorva_lof_maf_1_hom_or_comphet', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 84, + name: 'sorva_lof_or_mis_maf_5_het_or_hom', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 85, + name: 'sorva_lof_or_mis_maf_5_hom_or_comphet', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 86, + name: 'sorva_lof_or_mis_maf_1_het_or_hom', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 87, + name: 'sorva_lof_or_mis_maf_1_hom_or_comphet', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { no: 88, name: 'essential_gene', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 89, + name: 'essential_gene_crispr', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 90, + name: 'essential_gene_crispr2', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 91, + name: 'essential_gene_gene_trap', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 92, + name: 'gene_indispensability_score', + kind: 'scalar', + opt: true, + T: 1 /*ScalarType.DOUBLE*/ + }, + { + no: 93, + name: 'gene_indispensability_pred', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { no: 94, name: 'mgi_mouse_gene', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 95, + name: 'mgi_mouse_phenotype', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 96, + name: 'zfin_zebrafish_gene', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 97, + name: 'zfin_zebrafish_structure', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 98, + name: 'zfin_zebrafish_phenotype_quality', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 99, + name: 'zfin_zebrafish_phenotype_tag', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + } + ]) + } + create(value?: PartialMessage): DbnsfpRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.geneName = '' + message.geneOldNames = [] + message.geneOtherNames = [] + message.ccdsId = [] + message.refseqId = [] + message.mimId = [] + message.omimId = [] + message.pathwayBiocartaShort = [] + message.pathwayBiocartaFull = [] + message.pathwayConsensusPathDb = [] + message.pathwayKeggId = [] + message.pathwayKeggFull = [] + message.functionDescription = [] + message.diseaseDescription = [] + message.mimPhenotypeId = [] + message.mimDisease = [] + message.orphanetDisorderId = [] + message.orphanetDisorder = [] + message.orphanetAssociationType = [] + message.traitAssociationGwas = [] + message.hpoId = [] + message.hpoName = [] + message.goBiologicalProcess = [] + message.goCellularComponent = [] + message.goMolecularFunction = [] + message.tissueSpecificityUniprot = [] + message.expressionEgenetics = [] + message.expressionGnfAtlas = [] + message.interactionsIntact = [] + message.interactionsBiogrid = [] + message.interactionsConsensusPathDb = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: DbnsfpRecord + ): DbnsfpRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string gene_name */ 1: + message.geneName = reader.string() + break + case /* optional string ensembl_gene */ 2: + message.ensemblGene = reader.string() + break + case /* optional string chr */ 3: + message.chr = reader.string() + break + case /* repeated string gene_old_names */ 4: + message.geneOldNames.push(reader.string()) + break + case /* repeated string gene_other_names */ 5: + message.geneOtherNames.push(reader.string()) + break + case /* optional string uniprot_acc */ 6: + message.uniprotAcc = reader.string() + break + case /* optional string uniprot_id */ 7: + message.uniprotId = reader.string() + break + case /* optional string entrez_gene_id */ 8: + message.entrezGeneId = reader.string() + break + case /* repeated string ccds_id */ 9: + message.ccdsId.push(reader.string()) + break + case /* repeated string refseq_id */ 10: + message.refseqId.push(reader.string()) + break + case /* optional string ucsc_id */ 11: + message.ucscId = reader.string() + break + case /* repeated string mim_id */ 12: + message.mimId.push(reader.string()) + break + case /* repeated string omim_id */ 13: + message.omimId.push(reader.string()) + break + case /* optional string gene_full_name */ 14: + message.geneFullName = reader.string() + break + case /* optional string pathway_uniprot */ 15: + message.pathwayUniprot = reader.string() + break + case /* repeated string pathway_biocarta_short */ 16: + message.pathwayBiocartaShort.push(reader.string()) + break + case /* repeated string pathway_biocarta_full */ 17: + message.pathwayBiocartaFull.push(reader.string()) + break + case /* repeated string pathway_consensus_path_db */ 18: + message.pathwayConsensusPathDb.push(reader.string()) + break + case /* repeated string pathway_kegg_id */ 19: + message.pathwayKeggId.push(reader.string()) + break + case /* repeated string pathway_kegg_full */ 20: + message.pathwayKeggFull.push(reader.string()) + break + case /* repeated string function_description */ 21: + message.functionDescription.push(reader.string()) + break + case /* repeated string disease_description */ 22: + message.diseaseDescription.push(reader.string()) + break + case /* repeated string mim_phenotype_id */ 23: + message.mimPhenotypeId.push(reader.string()) + break + case /* repeated string mim_disease */ 24: + message.mimDisease.push(reader.string()) + break + case /* repeated string orphanet_disorder_id */ 25: + message.orphanetDisorderId.push(reader.string()) + break + case /* repeated string orphanet_disorder */ 26: + message.orphanetDisorder.push(reader.string()) + break + case /* repeated string orphanet_association_type */ 27: + message.orphanetAssociationType.push(reader.string()) + break + case /* repeated string trait_association_gwas */ 28: + message.traitAssociationGwas.push(reader.string()) + break + case /* repeated string hpo_id */ 29: + message.hpoId.push(reader.string()) + break + case /* repeated string hpo_name */ 30: + message.hpoName.push(reader.string()) + break + case /* repeated string go_biological_process */ 31: + message.goBiologicalProcess.push(reader.string()) + break + case /* repeated string go_cellular_component */ 32: + message.goCellularComponent.push(reader.string()) + break + case /* repeated string go_molecular_function */ 33: + message.goMolecularFunction.push(reader.string()) + break + case /* repeated string tissue_specificity_uniprot */ 34: + message.tissueSpecificityUniprot.push(reader.string()) + break + case /* repeated string expression_egenetics */ 35: + message.expressionEgenetics.push(reader.string()) + break + case /* repeated string expression_gnf_atlas */ 36: + message.expressionGnfAtlas.push(reader.string()) + break + case /* repeated string interactions_intact */ 37: + message.interactionsIntact.push(reader.string()) + break + case /* repeated string interactions_biogrid */ 38: + message.interactionsBiogrid.push(reader.string()) + break + case /* repeated string interactions_consensus_path_db */ 39: + message.interactionsConsensusPathDb.push(reader.string()) + break + case /* optional double haploinsufficiency */ 40: + message.haploinsufficiency = reader.double() + break + case /* optional double hipred_score */ 41: + message.hipredScore = reader.double() + break + case /* optional string hipred */ 42: + message.hipred = reader.string() + break + case /* optional double ghis */ 43: + message.ghis = reader.double() + break + case /* optional double prec */ 44: + message.prec = reader.double() + break + case /* optional string known_rec_info */ 45: + message.knownRecInfo = reader.string() + break + case /* optional double rvis_evs */ 46: + message.rvisEvs = reader.double() + break + case /* optional double rvis_percentile_evs */ 47: + message.rvisPercentileEvs = reader.double() + break + case /* optional double lof_fdr_exac */ 48: + message.lofFdrExac = reader.double() + break + case /* optional double rvis_exac */ 49: + message.rvisExac = reader.double() + break + case /* optional double rvis_percentile_exac */ 50: + message.rvisPercentileExac = reader.double() + break + case /* optional double exac_pli */ 51: + message.exacPli = reader.double() + break + case /* optional double exac_prec */ 52: + message.exacPrec = reader.double() + break + case /* optional double exac_pnull */ 53: + message.exacPnull = reader.double() + break + case /* optional double exac_nontcga_pli */ 54: + message.exacNontcgaPli = reader.double() + break + case /* optional double exac_nontcga_prec */ 55: + message.exacNontcgaPrec = reader.double() + break + case /* optional double exac_nontcga_pnull */ 56: + message.exacNontcgaPnull = reader.double() + break + case /* optional double exac_nonpsych_pli */ 57: + message.exacNonpsychPli = reader.double() + break + case /* optional double exac_nonpsych_prec */ 58: + message.exacNonpsychPrec = reader.double() + break + case /* optional double exac_nonpsych_pnull */ 59: + message.exacNonpsychPnull = reader.double() + break + case /* optional double gnomad_pli */ 60: + message.gnomadPli = reader.double() + break + case /* optional double gnomad_prec */ 61: + message.gnomadPrec = reader.double() + break + case /* optional double gnomad_pnull */ 62: + message.gnomadPnull = reader.double() + break + case /* optional double exac_del_score */ 63: + message.exacDelScore = reader.double() + break + case /* optional double exac_dup_score */ 64: + message.exacDupScore = reader.double() + break + case /* optional double exac_cnv_score */ 65: + message.exacCnvScore = reader.double() + break + case /* optional string exac_cnv_flag */ 66: + message.exacCnvFlag = reader.string() + break + case /* optional double gdi */ 67: + message.gdi = reader.double() + break + case /* optional double gdi_phred */ 68: + message.gdiPhred = reader.double() + break + case /* optional string gdp_all_disease_causing */ 69: + message.gdpAllDiseaseCausing = reader.string() + break + case /* optional string gdp_all_mendelian */ 70: + message.gdpAllMendelian = reader.string() + break + case /* optional string gdp_all_mendelian_ad */ 71: + message.gdpAllMendelianAd = reader.string() + break + case /* optional string gdp_mendelian_ar */ 72: + message.gdpMendelianAr = reader.string() + break + case /* optional string gdp_pid */ 73: + message.gdpPid = reader.string() + break + case /* optional string gdp_pid_ad */ 74: + message.gdpPidAd = reader.string() + break + case /* optional string gdp_pid_ar */ 75: + message.gdpPidAr = reader.string() + break + case /* optional string gdp_cancer */ 76: + message.gdpCancer = reader.string() + break + case /* optional string gdb_cancer_rec */ 77: + message.gdbCancerRec = reader.string() + break + case /* optional string gdp_cancer_dom */ 78: + message.gdpCancerDom = reader.string() + break + case /* optional double loftool_score */ 79: + message.loftoolScore = reader.double() + break + case /* optional double sorva_lof_maf_5_het_or_hom */ 80: + message.sorvaLofMaf5HetOrHom = reader.double() + break + case /* optional double sorva_lof_maf_5_hom_or_comphet */ 81: + message.sorvaLofMaf5HomOrComphet = reader.double() + break + case /* optional double sorva_lof_maf_1_het_or_hom */ 82: + message.sorvaLofMaf1HetOrHom = reader.double() + break + case /* optional double sorva_lof_maf_1_hom_or_comphet */ 83: + message.sorvaLofMaf1HomOrComphet = reader.double() + break + case /* optional double sorva_lof_or_mis_maf_5_het_or_hom */ 84: + message.sorvaLofOrMisMaf5HetOrHom = reader.double() + break + case /* optional double sorva_lof_or_mis_maf_5_hom_or_comphet */ 85: + message.sorvaLofOrMisMaf5HomOrComphet = reader.double() + break + case /* optional double sorva_lof_or_mis_maf_1_het_or_hom */ 86: + message.sorvaLofOrMisMaf1HetOrHom = reader.double() + break + case /* optional double sorva_lof_or_mis_maf_1_hom_or_comphet */ 87: + message.sorvaLofOrMisMaf1HomOrComphet = reader.double() + break + case /* optional string essential_gene */ 88: + message.essentialGene = reader.string() + break + case /* optional string essential_gene_crispr */ 89: + message.essentialGeneCrispr = reader.string() + break + case /* optional string essential_gene_crispr2 */ 90: + message.essentialGeneCrispr2 = reader.string() + break + case /* optional string essential_gene_gene_trap */ 91: + message.essentialGeneGeneTrap = reader.string() + break + case /* optional double gene_indispensability_score */ 92: + message.geneIndispensabilityScore = reader.double() + break + case /* optional string gene_indispensability_pred */ 93: + message.geneIndispensabilityPred = reader.string() + break + case /* optional string mgi_mouse_gene */ 94: + message.mgiMouseGene = reader.string() + break + case /* optional string mgi_mouse_phenotype */ 95: + message.mgiMousePhenotype = reader.string() + break + case /* optional string zfin_zebrafish_gene */ 96: + message.zfinZebrafishGene = reader.string() + break + case /* optional string zfin_zebrafish_structure */ 97: + message.zfinZebrafishStructure = reader.string() + break + case /* optional string zfin_zebrafish_phenotype_quality */ 98: + message.zfinZebrafishPhenotypeQuality = reader.string() + break + case /* optional string zfin_zebrafish_phenotype_tag */ 99: + message.zfinZebrafishPhenotypeTag = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: DbnsfpRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string gene_name = 1; */ + if (message.geneName !== '') writer.tag(1, WireType.LengthDelimited).string(message.geneName) + /* optional string ensembl_gene = 2; */ + if (message.ensemblGene !== undefined) + writer.tag(2, WireType.LengthDelimited).string(message.ensemblGene) + /* optional string chr = 3; */ + if (message.chr !== undefined) writer.tag(3, WireType.LengthDelimited).string(message.chr) + /* repeated string gene_old_names = 4; */ + for (let i = 0; i < message.geneOldNames.length; i++) + writer.tag(4, WireType.LengthDelimited).string(message.geneOldNames[i]) + /* repeated string gene_other_names = 5; */ + for (let i = 0; i < message.geneOtherNames.length; i++) + writer.tag(5, WireType.LengthDelimited).string(message.geneOtherNames[i]) + /* optional string uniprot_acc = 6; */ + if (message.uniprotAcc !== undefined) + writer.tag(6, WireType.LengthDelimited).string(message.uniprotAcc) + /* optional string uniprot_id = 7; */ + if (message.uniprotId !== undefined) + writer.tag(7, WireType.LengthDelimited).string(message.uniprotId) + /* optional string entrez_gene_id = 8; */ + if (message.entrezGeneId !== undefined) + writer.tag(8, WireType.LengthDelimited).string(message.entrezGeneId) + /* repeated string ccds_id = 9; */ + for (let i = 0; i < message.ccdsId.length; i++) + writer.tag(9, WireType.LengthDelimited).string(message.ccdsId[i]) + /* repeated string refseq_id = 10; */ + for (let i = 0; i < message.refseqId.length; i++) + writer.tag(10, WireType.LengthDelimited).string(message.refseqId[i]) + /* optional string ucsc_id = 11; */ + if (message.ucscId !== undefined) + writer.tag(11, WireType.LengthDelimited).string(message.ucscId) + /* repeated string mim_id = 12; */ + for (let i = 0; i < message.mimId.length; i++) + writer.tag(12, WireType.LengthDelimited).string(message.mimId[i]) + /* repeated string omim_id = 13; */ + for (let i = 0; i < message.omimId.length; i++) + writer.tag(13, WireType.LengthDelimited).string(message.omimId[i]) + /* optional string gene_full_name = 14; */ + if (message.geneFullName !== undefined) + writer.tag(14, WireType.LengthDelimited).string(message.geneFullName) + /* optional string pathway_uniprot = 15; */ + if (message.pathwayUniprot !== undefined) + writer.tag(15, WireType.LengthDelimited).string(message.pathwayUniprot) + /* repeated string pathway_biocarta_short = 16; */ + for (let i = 0; i < message.pathwayBiocartaShort.length; i++) + writer.tag(16, WireType.LengthDelimited).string(message.pathwayBiocartaShort[i]) + /* repeated string pathway_biocarta_full = 17; */ + for (let i = 0; i < message.pathwayBiocartaFull.length; i++) + writer.tag(17, WireType.LengthDelimited).string(message.pathwayBiocartaFull[i]) + /* repeated string pathway_consensus_path_db = 18; */ + for (let i = 0; i < message.pathwayConsensusPathDb.length; i++) + writer.tag(18, WireType.LengthDelimited).string(message.pathwayConsensusPathDb[i]) + /* repeated string pathway_kegg_id = 19; */ + for (let i = 0; i < message.pathwayKeggId.length; i++) + writer.tag(19, WireType.LengthDelimited).string(message.pathwayKeggId[i]) + /* repeated string pathway_kegg_full = 20; */ + for (let i = 0; i < message.pathwayKeggFull.length; i++) + writer.tag(20, WireType.LengthDelimited).string(message.pathwayKeggFull[i]) + /* repeated string function_description = 21; */ + for (let i = 0; i < message.functionDescription.length; i++) + writer.tag(21, WireType.LengthDelimited).string(message.functionDescription[i]) + /* repeated string disease_description = 22; */ + for (let i = 0; i < message.diseaseDescription.length; i++) + writer.tag(22, WireType.LengthDelimited).string(message.diseaseDescription[i]) + /* repeated string mim_phenotype_id = 23; */ + for (let i = 0; i < message.mimPhenotypeId.length; i++) + writer.tag(23, WireType.LengthDelimited).string(message.mimPhenotypeId[i]) + /* repeated string mim_disease = 24; */ + for (let i = 0; i < message.mimDisease.length; i++) + writer.tag(24, WireType.LengthDelimited).string(message.mimDisease[i]) + /* repeated string orphanet_disorder_id = 25; */ + for (let i = 0; i < message.orphanetDisorderId.length; i++) + writer.tag(25, WireType.LengthDelimited).string(message.orphanetDisorderId[i]) + /* repeated string orphanet_disorder = 26; */ + for (let i = 0; i < message.orphanetDisorder.length; i++) + writer.tag(26, WireType.LengthDelimited).string(message.orphanetDisorder[i]) + /* repeated string orphanet_association_type = 27; */ + for (let i = 0; i < message.orphanetAssociationType.length; i++) + writer.tag(27, WireType.LengthDelimited).string(message.orphanetAssociationType[i]) + /* repeated string trait_association_gwas = 28; */ + for (let i = 0; i < message.traitAssociationGwas.length; i++) + writer.tag(28, WireType.LengthDelimited).string(message.traitAssociationGwas[i]) + /* repeated string hpo_id = 29; */ + for (let i = 0; i < message.hpoId.length; i++) + writer.tag(29, WireType.LengthDelimited).string(message.hpoId[i]) + /* repeated string hpo_name = 30; */ + for (let i = 0; i < message.hpoName.length; i++) + writer.tag(30, WireType.LengthDelimited).string(message.hpoName[i]) + /* repeated string go_biological_process = 31; */ + for (let i = 0; i < message.goBiologicalProcess.length; i++) + writer.tag(31, WireType.LengthDelimited).string(message.goBiologicalProcess[i]) + /* repeated string go_cellular_component = 32; */ + for (let i = 0; i < message.goCellularComponent.length; i++) + writer.tag(32, WireType.LengthDelimited).string(message.goCellularComponent[i]) + /* repeated string go_molecular_function = 33; */ + for (let i = 0; i < message.goMolecularFunction.length; i++) + writer.tag(33, WireType.LengthDelimited).string(message.goMolecularFunction[i]) + /* repeated string tissue_specificity_uniprot = 34; */ + for (let i = 0; i < message.tissueSpecificityUniprot.length; i++) + writer.tag(34, WireType.LengthDelimited).string(message.tissueSpecificityUniprot[i]) + /* repeated string expression_egenetics = 35; */ + for (let i = 0; i < message.expressionEgenetics.length; i++) + writer.tag(35, WireType.LengthDelimited).string(message.expressionEgenetics[i]) + /* repeated string expression_gnf_atlas = 36; */ + for (let i = 0; i < message.expressionGnfAtlas.length; i++) + writer.tag(36, WireType.LengthDelimited).string(message.expressionGnfAtlas[i]) + /* repeated string interactions_intact = 37; */ + for (let i = 0; i < message.interactionsIntact.length; i++) + writer.tag(37, WireType.LengthDelimited).string(message.interactionsIntact[i]) + /* repeated string interactions_biogrid = 38; */ + for (let i = 0; i < message.interactionsBiogrid.length; i++) + writer.tag(38, WireType.LengthDelimited).string(message.interactionsBiogrid[i]) + /* repeated string interactions_consensus_path_db = 39; */ + for (let i = 0; i < message.interactionsConsensusPathDb.length; i++) + writer.tag(39, WireType.LengthDelimited).string(message.interactionsConsensusPathDb[i]) + /* optional double haploinsufficiency = 40; */ + if (message.haploinsufficiency !== undefined) + writer.tag(40, WireType.Bit64).double(message.haploinsufficiency) + /* optional double hipred_score = 41; */ + if (message.hipredScore !== undefined) + writer.tag(41, WireType.Bit64).double(message.hipredScore) + /* optional string hipred = 42; */ + if (message.hipred !== undefined) + writer.tag(42, WireType.LengthDelimited).string(message.hipred) + /* optional double ghis = 43; */ + if (message.ghis !== undefined) writer.tag(43, WireType.Bit64).double(message.ghis) + /* optional double prec = 44; */ + if (message.prec !== undefined) writer.tag(44, WireType.Bit64).double(message.prec) + /* optional string known_rec_info = 45; */ + if (message.knownRecInfo !== undefined) + writer.tag(45, WireType.LengthDelimited).string(message.knownRecInfo) + /* optional double rvis_evs = 46; */ + if (message.rvisEvs !== undefined) writer.tag(46, WireType.Bit64).double(message.rvisEvs) + /* optional double rvis_percentile_evs = 47; */ + if (message.rvisPercentileEvs !== undefined) + writer.tag(47, WireType.Bit64).double(message.rvisPercentileEvs) + /* optional double lof_fdr_exac = 48; */ + if (message.lofFdrExac !== undefined) writer.tag(48, WireType.Bit64).double(message.lofFdrExac) + /* optional double rvis_exac = 49; */ + if (message.rvisExac !== undefined) writer.tag(49, WireType.Bit64).double(message.rvisExac) + /* optional double rvis_percentile_exac = 50; */ + if (message.rvisPercentileExac !== undefined) + writer.tag(50, WireType.Bit64).double(message.rvisPercentileExac) + /* optional double exac_pli = 51; */ + if (message.exacPli !== undefined) writer.tag(51, WireType.Bit64).double(message.exacPli) + /* optional double exac_prec = 52; */ + if (message.exacPrec !== undefined) writer.tag(52, WireType.Bit64).double(message.exacPrec) + /* optional double exac_pnull = 53; */ + if (message.exacPnull !== undefined) writer.tag(53, WireType.Bit64).double(message.exacPnull) + /* optional double exac_nontcga_pli = 54; */ + if (message.exacNontcgaPli !== undefined) + writer.tag(54, WireType.Bit64).double(message.exacNontcgaPli) + /* optional double exac_nontcga_prec = 55; */ + if (message.exacNontcgaPrec !== undefined) + writer.tag(55, WireType.Bit64).double(message.exacNontcgaPrec) + /* optional double exac_nontcga_pnull = 56; */ + if (message.exacNontcgaPnull !== undefined) + writer.tag(56, WireType.Bit64).double(message.exacNontcgaPnull) + /* optional double exac_nonpsych_pli = 57; */ + if (message.exacNonpsychPli !== undefined) + writer.tag(57, WireType.Bit64).double(message.exacNonpsychPli) + /* optional double exac_nonpsych_prec = 58; */ + if (message.exacNonpsychPrec !== undefined) + writer.tag(58, WireType.Bit64).double(message.exacNonpsychPrec) + /* optional double exac_nonpsych_pnull = 59; */ + if (message.exacNonpsychPnull !== undefined) + writer.tag(59, WireType.Bit64).double(message.exacNonpsychPnull) + /* optional double gnomad_pli = 60; */ + if (message.gnomadPli !== undefined) writer.tag(60, WireType.Bit64).double(message.gnomadPli) + /* optional double gnomad_prec = 61; */ + if (message.gnomadPrec !== undefined) writer.tag(61, WireType.Bit64).double(message.gnomadPrec) + /* optional double gnomad_pnull = 62; */ + if (message.gnomadPnull !== undefined) + writer.tag(62, WireType.Bit64).double(message.gnomadPnull) + /* optional double exac_del_score = 63; */ + if (message.exacDelScore !== undefined) + writer.tag(63, WireType.Bit64).double(message.exacDelScore) + /* optional double exac_dup_score = 64; */ + if (message.exacDupScore !== undefined) + writer.tag(64, WireType.Bit64).double(message.exacDupScore) + /* optional double exac_cnv_score = 65; */ + if (message.exacCnvScore !== undefined) + writer.tag(65, WireType.Bit64).double(message.exacCnvScore) + /* optional string exac_cnv_flag = 66; */ + if (message.exacCnvFlag !== undefined) + writer.tag(66, WireType.LengthDelimited).string(message.exacCnvFlag) + /* optional double gdi = 67; */ + if (message.gdi !== undefined) writer.tag(67, WireType.Bit64).double(message.gdi) + /* optional double gdi_phred = 68; */ + if (message.gdiPhred !== undefined) writer.tag(68, WireType.Bit64).double(message.gdiPhred) + /* optional string gdp_all_disease_causing = 69; */ + if (message.gdpAllDiseaseCausing !== undefined) + writer.tag(69, WireType.LengthDelimited).string(message.gdpAllDiseaseCausing) + /* optional string gdp_all_mendelian = 70; */ + if (message.gdpAllMendelian !== undefined) + writer.tag(70, WireType.LengthDelimited).string(message.gdpAllMendelian) + /* optional string gdp_all_mendelian_ad = 71; */ + if (message.gdpAllMendelianAd !== undefined) + writer.tag(71, WireType.LengthDelimited).string(message.gdpAllMendelianAd) + /* optional string gdp_mendelian_ar = 72; */ + if (message.gdpMendelianAr !== undefined) + writer.tag(72, WireType.LengthDelimited).string(message.gdpMendelianAr) + /* optional string gdp_pid = 73; */ + if (message.gdpPid !== undefined) + writer.tag(73, WireType.LengthDelimited).string(message.gdpPid) + /* optional string gdp_pid_ad = 74; */ + if (message.gdpPidAd !== undefined) + writer.tag(74, WireType.LengthDelimited).string(message.gdpPidAd) + /* optional string gdp_pid_ar = 75; */ + if (message.gdpPidAr !== undefined) + writer.tag(75, WireType.LengthDelimited).string(message.gdpPidAr) + /* optional string gdp_cancer = 76; */ + if (message.gdpCancer !== undefined) + writer.tag(76, WireType.LengthDelimited).string(message.gdpCancer) + /* optional string gdb_cancer_rec = 77; */ + if (message.gdbCancerRec !== undefined) + writer.tag(77, WireType.LengthDelimited).string(message.gdbCancerRec) + /* optional string gdp_cancer_dom = 78; */ + if (message.gdpCancerDom !== undefined) + writer.tag(78, WireType.LengthDelimited).string(message.gdpCancerDom) + /* optional double loftool_score = 79; */ + if (message.loftoolScore !== undefined) + writer.tag(79, WireType.Bit64).double(message.loftoolScore) + /* optional double sorva_lof_maf_5_het_or_hom = 80; */ + if (message.sorvaLofMaf5HetOrHom !== undefined) + writer.tag(80, WireType.Bit64).double(message.sorvaLofMaf5HetOrHom) + /* optional double sorva_lof_maf_5_hom_or_comphet = 81; */ + if (message.sorvaLofMaf5HomOrComphet !== undefined) + writer.tag(81, WireType.Bit64).double(message.sorvaLofMaf5HomOrComphet) + /* optional double sorva_lof_maf_1_het_or_hom = 82; */ + if (message.sorvaLofMaf1HetOrHom !== undefined) + writer.tag(82, WireType.Bit64).double(message.sorvaLofMaf1HetOrHom) + /* optional double sorva_lof_maf_1_hom_or_comphet = 83; */ + if (message.sorvaLofMaf1HomOrComphet !== undefined) + writer.tag(83, WireType.Bit64).double(message.sorvaLofMaf1HomOrComphet) + /* optional double sorva_lof_or_mis_maf_5_het_or_hom = 84; */ + if (message.sorvaLofOrMisMaf5HetOrHom !== undefined) + writer.tag(84, WireType.Bit64).double(message.sorvaLofOrMisMaf5HetOrHom) + /* optional double sorva_lof_or_mis_maf_5_hom_or_comphet = 85; */ + if (message.sorvaLofOrMisMaf5HomOrComphet !== undefined) + writer.tag(85, WireType.Bit64).double(message.sorvaLofOrMisMaf5HomOrComphet) + /* optional double sorva_lof_or_mis_maf_1_het_or_hom = 86; */ + if (message.sorvaLofOrMisMaf1HetOrHom !== undefined) + writer.tag(86, WireType.Bit64).double(message.sorvaLofOrMisMaf1HetOrHom) + /* optional double sorva_lof_or_mis_maf_1_hom_or_comphet = 87; */ + if (message.sorvaLofOrMisMaf1HomOrComphet !== undefined) + writer.tag(87, WireType.Bit64).double(message.sorvaLofOrMisMaf1HomOrComphet) + /* optional string essential_gene = 88; */ + if (message.essentialGene !== undefined) + writer.tag(88, WireType.LengthDelimited).string(message.essentialGene) + /* optional string essential_gene_crispr = 89; */ + if (message.essentialGeneCrispr !== undefined) + writer.tag(89, WireType.LengthDelimited).string(message.essentialGeneCrispr) + /* optional string essential_gene_crispr2 = 90; */ + if (message.essentialGeneCrispr2 !== undefined) + writer.tag(90, WireType.LengthDelimited).string(message.essentialGeneCrispr2) + /* optional string essential_gene_gene_trap = 91; */ + if (message.essentialGeneGeneTrap !== undefined) + writer.tag(91, WireType.LengthDelimited).string(message.essentialGeneGeneTrap) + /* optional double gene_indispensability_score = 92; */ + if (message.geneIndispensabilityScore !== undefined) + writer.tag(92, WireType.Bit64).double(message.geneIndispensabilityScore) + /* optional string gene_indispensability_pred = 93; */ + if (message.geneIndispensabilityPred !== undefined) + writer.tag(93, WireType.LengthDelimited).string(message.geneIndispensabilityPred) + /* optional string mgi_mouse_gene = 94; */ + if (message.mgiMouseGene !== undefined) + writer.tag(94, WireType.LengthDelimited).string(message.mgiMouseGene) + /* optional string mgi_mouse_phenotype = 95; */ + if (message.mgiMousePhenotype !== undefined) + writer.tag(95, WireType.LengthDelimited).string(message.mgiMousePhenotype) + /* optional string zfin_zebrafish_gene = 96; */ + if (message.zfinZebrafishGene !== undefined) + writer.tag(96, WireType.LengthDelimited).string(message.zfinZebrafishGene) + /* optional string zfin_zebrafish_structure = 97; */ + if (message.zfinZebrafishStructure !== undefined) + writer.tag(97, WireType.LengthDelimited).string(message.zfinZebrafishStructure) + /* optional string zfin_zebrafish_phenotype_quality = 98; */ + if (message.zfinZebrafishPhenotypeQuality !== undefined) + writer.tag(98, WireType.LengthDelimited).string(message.zfinZebrafishPhenotypeQuality) + /* optional string zfin_zebrafish_phenotype_tag = 99; */ + if (message.zfinZebrafishPhenotypeTag !== undefined) + writer.tag(99, WireType.LengthDelimited).string(message.zfinZebrafishPhenotypeTag) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.DbnsfpRecord + */ +export const DbnsfpRecord = new DbnsfpRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class GnomadConstraintsRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.GnomadConstraintsRecord', [ + { no: 1, name: 'ensembl_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'entrez_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'gene_symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'exp_lof', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 5, name: 'exp_mis', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 6, name: 'exp_syn', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 7, name: 'mis_z', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 8, name: 'obs_lof', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 9, name: 'obs_mis', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 10, name: 'obs_syn', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 11, name: 'oe_lof', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 12, name: 'oe_lof_lower', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 13, name: 'oe_lof_upper', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 14, name: 'oe_mis', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 15, name: 'oe_mis_lower', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 16, name: 'oe_mis_upper', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 17, name: 'oe_syn', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 18, name: 'oe_syn_lower', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 19, name: 'oe_syn_upper', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 20, name: 'pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 21, name: 'syn_z', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 22, name: 'exac_pli', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 23, name: 'exac_obs_lof', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 24, name: 'exac_exp_lof', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ }, + { no: 25, name: 'exac_oe_lof', kind: 'scalar', opt: true, T: 1 /*ScalarType.DOUBLE*/ } + ]) + } + create(value?: PartialMessage): GnomadConstraintsRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.ensemblGeneId = '' + message.entrezId = '' + message.geneSymbol = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: GnomadConstraintsRecord + ): GnomadConstraintsRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string ensembl_gene_id */ 1: + message.ensemblGeneId = reader.string() + break + case /* string entrez_id */ 2: + message.entrezId = reader.string() + break + case /* string gene_symbol */ 3: + message.geneSymbol = reader.string() + break + case /* optional double exp_lof */ 4: + message.expLof = reader.double() + break + case /* optional double exp_mis */ 5: + message.expMis = reader.double() + break + case /* optional double exp_syn */ 6: + message.expSyn = reader.double() + break + case /* optional double mis_z */ 7: + message.misZ = reader.double() + break + case /* optional uint32 obs_lof */ 8: + message.obsLof = reader.uint32() + break + case /* optional uint32 obs_mis */ 9: + message.obsMis = reader.uint32() + break + case /* optional uint32 obs_syn */ 10: + message.obsSyn = reader.uint32() + break + case /* optional double oe_lof */ 11: + message.oeLof = reader.double() + break + case /* optional double oe_lof_lower */ 12: + message.oeLofLower = reader.double() + break + case /* optional double oe_lof_upper */ 13: + message.oeLofUpper = reader.double() + break + case /* optional double oe_mis */ 14: + message.oeMis = reader.double() + break + case /* optional double oe_mis_lower */ 15: + message.oeMisLower = reader.double() + break + case /* optional double oe_mis_upper */ 16: + message.oeMisUpper = reader.double() + break + case /* optional double oe_syn */ 17: + message.oeSyn = reader.double() + break + case /* optional double oe_syn_lower */ 18: + message.oeSynLower = reader.double() + break + case /* optional double oe_syn_upper */ 19: + message.oeSynUpper = reader.double() + break + case /* optional double pli */ 20: + message.pli = reader.double() + break + case /* optional double syn_z */ 21: + message.synZ = reader.double() + break + case /* optional double exac_pli */ 22: + message.exacPli = reader.double() + break + case /* optional double exac_obs_lof */ 23: + message.exacObsLof = reader.double() + break + case /* optional double exac_exp_lof */ 24: + message.exacExpLof = reader.double() + break + case /* optional double exac_oe_lof */ 25: + message.exacOeLof = reader.double() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: GnomadConstraintsRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string ensembl_gene_id = 1; */ + if (message.ensemblGeneId !== '') + writer.tag(1, WireType.LengthDelimited).string(message.ensemblGeneId) + /* string entrez_id = 2; */ + if (message.entrezId !== '') writer.tag(2, WireType.LengthDelimited).string(message.entrezId) + /* string gene_symbol = 3; */ + if (message.geneSymbol !== '') + writer.tag(3, WireType.LengthDelimited).string(message.geneSymbol) + /* optional double exp_lof = 4; */ + if (message.expLof !== undefined) writer.tag(4, WireType.Bit64).double(message.expLof) + /* optional double exp_mis = 5; */ + if (message.expMis !== undefined) writer.tag(5, WireType.Bit64).double(message.expMis) + /* optional double exp_syn = 6; */ + if (message.expSyn !== undefined) writer.tag(6, WireType.Bit64).double(message.expSyn) + /* optional double mis_z = 7; */ + if (message.misZ !== undefined) writer.tag(7, WireType.Bit64).double(message.misZ) + /* optional uint32 obs_lof = 8; */ + if (message.obsLof !== undefined) writer.tag(8, WireType.Varint).uint32(message.obsLof) + /* optional uint32 obs_mis = 9; */ + if (message.obsMis !== undefined) writer.tag(9, WireType.Varint).uint32(message.obsMis) + /* optional uint32 obs_syn = 10; */ + if (message.obsSyn !== undefined) writer.tag(10, WireType.Varint).uint32(message.obsSyn) + /* optional double oe_lof = 11; */ + if (message.oeLof !== undefined) writer.tag(11, WireType.Bit64).double(message.oeLof) + /* optional double oe_lof_lower = 12; */ + if (message.oeLofLower !== undefined) writer.tag(12, WireType.Bit64).double(message.oeLofLower) + /* optional double oe_lof_upper = 13; */ + if (message.oeLofUpper !== undefined) writer.tag(13, WireType.Bit64).double(message.oeLofUpper) + /* optional double oe_mis = 14; */ + if (message.oeMis !== undefined) writer.tag(14, WireType.Bit64).double(message.oeMis) + /* optional double oe_mis_lower = 15; */ + if (message.oeMisLower !== undefined) writer.tag(15, WireType.Bit64).double(message.oeMisLower) + /* optional double oe_mis_upper = 16; */ + if (message.oeMisUpper !== undefined) writer.tag(16, WireType.Bit64).double(message.oeMisUpper) + /* optional double oe_syn = 17; */ + if (message.oeSyn !== undefined) writer.tag(17, WireType.Bit64).double(message.oeSyn) + /* optional double oe_syn_lower = 18; */ + if (message.oeSynLower !== undefined) writer.tag(18, WireType.Bit64).double(message.oeSynLower) + /* optional double oe_syn_upper = 19; */ + if (message.oeSynUpper !== undefined) writer.tag(19, WireType.Bit64).double(message.oeSynUpper) + /* optional double pli = 20; */ + if (message.pli !== undefined) writer.tag(20, WireType.Bit64).double(message.pli) + /* optional double syn_z = 21; */ + if (message.synZ !== undefined) writer.tag(21, WireType.Bit64).double(message.synZ) + /* optional double exac_pli = 22; */ + if (message.exacPli !== undefined) writer.tag(22, WireType.Bit64).double(message.exacPli) + /* optional double exac_obs_lof = 23; */ + if (message.exacObsLof !== undefined) writer.tag(23, WireType.Bit64).double(message.exacObsLof) + /* optional double exac_exp_lof = 24; */ + if (message.exacExpLof !== undefined) writer.tag(24, WireType.Bit64).double(message.exacExpLof) + /* optional double exac_oe_lof = 25; */ + if (message.exacOeLof !== undefined) writer.tag(25, WireType.Bit64).double(message.exacOeLof) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.GnomadConstraintsRecord + */ +export const GnomadConstraintsRecord = new GnomadConstraintsRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class HgncLsdb$Type extends MessageType { + constructor() { + super('annonars.genes.base.HgncLsdb', [ + { no: 1, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'url', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): HgncLsdb { + const message = globalThis.Object.create(this.messagePrototype!) + message.name = '' + message.url = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: HgncLsdb + ): HgncLsdb { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string name */ 1: + message.name = reader.string() + break + case /* string url */ 2: + message.url = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: HgncLsdb, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string name = 1; */ + if (message.name !== '') writer.tag(1, WireType.LengthDelimited).string(message.name) + /* string url = 2; */ + if (message.url !== '') writer.tag(2, WireType.LengthDelimited).string(message.url) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.HgncLsdb + */ +export const HgncLsdb = new HgncLsdb$Type() +// @generated message type with reflection information, may provide speed optimized methods +class HgncRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.HgncRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'symbol', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'locus_group', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 5, name: 'locus_type', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 6, + name: 'status', + kind: 'enum', + T: () => ['annonars.genes.base.HgncStatus', HgncStatus, 'HGNC_STATUS_'] + }, + { no: 7, name: 'location', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 8, name: 'location_sortable', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 9, + name: 'alias_symbol', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 10, + name: 'alias_name', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 11, + name: 'prev_symbol', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 12, + name: 'prev_name', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 13, + name: 'gene_group', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 14, + name: 'gene_group_id', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 13 /*ScalarType.UINT32*/ + }, + { + no: 15, + name: 'date_approved_reserved', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 16, + name: 'date_symbol_changed', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { no: 17, name: 'date_name_changed', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 18, name: 'date_modified', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 19, name: 'entrez_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 20, name: 'ensembl_gene_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 21, name: 'vega_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 22, name: 'ucsc_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 23, + name: 'ena', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 24, + name: 'refseq_accession', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 25, + name: 'ccds_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 26, + name: 'uniprot_ids', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 27, + name: 'pubmed_id', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 13 /*ScalarType.UINT32*/ + }, + { + no: 28, + name: 'mgd_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 29, + name: 'rgd_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 30, name: 'lsdb', kind: 'message', repeat: 1 /*RepeatType.PACKED*/, T: () => HgncLsdb }, + { no: 31, name: 'cosmic', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 32, + name: 'omim_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 33, name: 'mirbase', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 34, name: 'homeodb', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 35, name: 'snornabase', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 36, name: 'bioparadigms_slc', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 37, name: 'orphanet', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 38, name: 'pseudogene_org', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 39, name: 'horde_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 40, name: 'merops', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 41, name: 'imgt', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 42, name: 'iuphar', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 43, name: 'cd', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 44, name: 'mamit_trnadb', kind: 'scalar', opt: true, T: 13 /*ScalarType.UINT32*/ }, + { no: 45, name: 'lncrnadb', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 46, + name: 'enzyme_id', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 47, + name: 'intermediate_filament_db', + kind: 'scalar', + opt: true, + T: 9 /*ScalarType.STRING*/ + }, + { no: 48, name: 'agr', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 49, + name: 'mane_select', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + } + ]) + } + create(value?: PartialMessage): HgncRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.symbol = '' + message.name = '' + message.status = 0 + message.aliasSymbol = [] + message.aliasName = [] + message.prevSymbol = [] + message.prevName = [] + message.geneGroup = [] + message.geneGroupId = [] + message.ena = [] + message.refseqAccession = [] + message.ccdsId = [] + message.uniprotIds = [] + message.pubmedId = [] + message.mgdId = [] + message.rgdId = [] + message.lsdb = [] + message.omimId = [] + message.enzymeId = [] + message.maneSelect = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: HgncRecord + ): HgncRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* string symbol */ 2: + message.symbol = reader.string() + break + case /* string name */ 3: + message.name = reader.string() + break + case /* optional string locus_group */ 4: + message.locusGroup = reader.string() + break + case /* optional string locus_type */ 5: + message.locusType = reader.string() + break + case /* annonars.genes.base.HgncStatus status */ 6: + message.status = reader.int32() + break + case /* optional string location */ 7: + message.location = reader.string() + break + case /* optional string location_sortable */ 8: + message.locationSortable = reader.string() + break + case /* repeated string alias_symbol */ 9: + message.aliasSymbol.push(reader.string()) + break + case /* repeated string alias_name */ 10: + message.aliasName.push(reader.string()) + break + case /* repeated string prev_symbol */ 11: + message.prevSymbol.push(reader.string()) + break + case /* repeated string prev_name */ 12: + message.prevName.push(reader.string()) + break + case /* repeated string gene_group */ 13: + message.geneGroup.push(reader.string()) + break + case /* repeated uint32 gene_group_id */ 14: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.geneGroupId.push(reader.uint32()) + else message.geneGroupId.push(reader.uint32()) + break + case /* optional string date_approved_reserved */ 15: + message.dateApprovedReserved = reader.string() + break + case /* optional string date_symbol_changed */ 16: + message.dateSymbolChanged = reader.string() + break + case /* optional string date_name_changed */ 17: + message.dateNameChanged = reader.string() + break + case /* optional string date_modified */ 18: + message.dateModified = reader.string() + break + case /* optional string entrez_id */ 19: + message.entrezId = reader.string() + break + case /* optional string ensembl_gene_id */ 20: + message.ensemblGeneId = reader.string() + break + case /* optional string vega_id */ 21: + message.vegaId = reader.string() + break + case /* optional string ucsc_id */ 22: + message.ucscId = reader.string() + break + case /* repeated string ena */ 23: + message.ena.push(reader.string()) + break + case /* repeated string refseq_accession */ 24: + message.refseqAccession.push(reader.string()) + break + case /* repeated string ccds_id */ 25: + message.ccdsId.push(reader.string()) + break + case /* repeated string uniprot_ids */ 26: + message.uniprotIds.push(reader.string()) + break + case /* repeated uint32 pubmed_id */ 27: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.pubmedId.push(reader.uint32()) + else message.pubmedId.push(reader.uint32()) + break + case /* repeated string mgd_id */ 28: + message.mgdId.push(reader.string()) + break + case /* repeated string rgd_id */ 29: + message.rgdId.push(reader.string()) + break + case /* repeated annonars.genes.base.HgncLsdb lsdb */ 30: + message.lsdb.push(HgncLsdb.internalBinaryRead(reader, reader.uint32(), options)) + break + case /* optional string cosmic */ 31: + message.cosmic = reader.string() + break + case /* repeated string omim_id */ 32: + message.omimId.push(reader.string()) + break + case /* optional string mirbase */ 33: + message.mirbase = reader.string() + break + case /* optional uint32 homeodb */ 34: + message.homeodb = reader.uint32() + break + case /* optional string snornabase */ 35: + message.snornabase = reader.string() + break + case /* optional string bioparadigms_slc */ 36: + message.bioparadigmsSlc = reader.string() + break + case /* optional uint32 orphanet */ 37: + message.orphanet = reader.uint32() + break + case /* optional string pseudogene_org */ 38: + message.pseudogeneOrg = reader.string() + break + case /* optional string horde_id */ 39: + message.hordeId = reader.string() + break + case /* optional string merops */ 40: + message.merops = reader.string() + break + case /* optional string imgt */ 41: + message.imgt = reader.string() + break + case /* optional string iuphar */ 42: + message.iuphar = reader.string() + break + case /* optional string cd */ 43: + message.cd = reader.string() + break + case /* optional uint32 mamit_trnadb */ 44: + message.mamitTrnadb = reader.uint32() + break + case /* optional string lncrnadb */ 45: + message.lncrnadb = reader.string() + break + case /* repeated string enzyme_id */ 46: + message.enzymeId.push(reader.string()) + break + case /* optional string intermediate_filament_db */ 47: + message.intermediateFilamentDb = reader.string() + break + case /* optional string agr */ 48: + message.agr = reader.string() + break + case /* repeated string mane_select */ 49: + message.maneSelect.push(reader.string()) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: HgncRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* string symbol = 2; */ + if (message.symbol !== '') writer.tag(2, WireType.LengthDelimited).string(message.symbol) + /* string name = 3; */ + if (message.name !== '') writer.tag(3, WireType.LengthDelimited).string(message.name) + /* optional string locus_group = 4; */ + if (message.locusGroup !== undefined) + writer.tag(4, WireType.LengthDelimited).string(message.locusGroup) + /* optional string locus_type = 5; */ + if (message.locusType !== undefined) + writer.tag(5, WireType.LengthDelimited).string(message.locusType) + /* annonars.genes.base.HgncStatus status = 6; */ + if (message.status !== 0) writer.tag(6, WireType.Varint).int32(message.status) + /* optional string location = 7; */ + if (message.location !== undefined) + writer.tag(7, WireType.LengthDelimited).string(message.location) + /* optional string location_sortable = 8; */ + if (message.locationSortable !== undefined) + writer.tag(8, WireType.LengthDelimited).string(message.locationSortable) + /* repeated string alias_symbol = 9; */ + for (let i = 0; i < message.aliasSymbol.length; i++) + writer.tag(9, WireType.LengthDelimited).string(message.aliasSymbol[i]) + /* repeated string alias_name = 10; */ + for (let i = 0; i < message.aliasName.length; i++) + writer.tag(10, WireType.LengthDelimited).string(message.aliasName[i]) + /* repeated string prev_symbol = 11; */ + for (let i = 0; i < message.prevSymbol.length; i++) + writer.tag(11, WireType.LengthDelimited).string(message.prevSymbol[i]) + /* repeated string prev_name = 12; */ + for (let i = 0; i < message.prevName.length; i++) + writer.tag(12, WireType.LengthDelimited).string(message.prevName[i]) + /* repeated string gene_group = 13; */ + for (let i = 0; i < message.geneGroup.length; i++) + writer.tag(13, WireType.LengthDelimited).string(message.geneGroup[i]) + /* repeated uint32 gene_group_id = 14; */ + if (message.geneGroupId.length) { + writer.tag(14, WireType.LengthDelimited).fork() + for (let i = 0; i < message.geneGroupId.length; i++) writer.uint32(message.geneGroupId[i]) + writer.join() + } + /* optional string date_approved_reserved = 15; */ + if (message.dateApprovedReserved !== undefined) + writer.tag(15, WireType.LengthDelimited).string(message.dateApprovedReserved) + /* optional string date_symbol_changed = 16; */ + if (message.dateSymbolChanged !== undefined) + writer.tag(16, WireType.LengthDelimited).string(message.dateSymbolChanged) + /* optional string date_name_changed = 17; */ + if (message.dateNameChanged !== undefined) + writer.tag(17, WireType.LengthDelimited).string(message.dateNameChanged) + /* optional string date_modified = 18; */ + if (message.dateModified !== undefined) + writer.tag(18, WireType.LengthDelimited).string(message.dateModified) + /* optional string entrez_id = 19; */ + if (message.entrezId !== undefined) + writer.tag(19, WireType.LengthDelimited).string(message.entrezId) + /* optional string ensembl_gene_id = 20; */ + if (message.ensemblGeneId !== undefined) + writer.tag(20, WireType.LengthDelimited).string(message.ensemblGeneId) + /* optional string vega_id = 21; */ + if (message.vegaId !== undefined) + writer.tag(21, WireType.LengthDelimited).string(message.vegaId) + /* optional string ucsc_id = 22; */ + if (message.ucscId !== undefined) + writer.tag(22, WireType.LengthDelimited).string(message.ucscId) + /* repeated string ena = 23; */ + for (let i = 0; i < message.ena.length; i++) + writer.tag(23, WireType.LengthDelimited).string(message.ena[i]) + /* repeated string refseq_accession = 24; */ + for (let i = 0; i < message.refseqAccession.length; i++) + writer.tag(24, WireType.LengthDelimited).string(message.refseqAccession[i]) + /* repeated string ccds_id = 25; */ + for (let i = 0; i < message.ccdsId.length; i++) + writer.tag(25, WireType.LengthDelimited).string(message.ccdsId[i]) + /* repeated string uniprot_ids = 26; */ + for (let i = 0; i < message.uniprotIds.length; i++) + writer.tag(26, WireType.LengthDelimited).string(message.uniprotIds[i]) + /* repeated uint32 pubmed_id = 27; */ + if (message.pubmedId.length) { + writer.tag(27, WireType.LengthDelimited).fork() + for (let i = 0; i < message.pubmedId.length; i++) writer.uint32(message.pubmedId[i]) + writer.join() + } + /* repeated string mgd_id = 28; */ + for (let i = 0; i < message.mgdId.length; i++) + writer.tag(28, WireType.LengthDelimited).string(message.mgdId[i]) + /* repeated string rgd_id = 29; */ + for (let i = 0; i < message.rgdId.length; i++) + writer.tag(29, WireType.LengthDelimited).string(message.rgdId[i]) + /* repeated annonars.genes.base.HgncLsdb lsdb = 30; */ + for (let i = 0; i < message.lsdb.length; i++) + HgncLsdb.internalBinaryWrite( + message.lsdb[i], + writer.tag(30, WireType.LengthDelimited).fork(), + options + ).join() + /* optional string cosmic = 31; */ + if (message.cosmic !== undefined) + writer.tag(31, WireType.LengthDelimited).string(message.cosmic) + /* repeated string omim_id = 32; */ + for (let i = 0; i < message.omimId.length; i++) + writer.tag(32, WireType.LengthDelimited).string(message.omimId[i]) + /* optional string mirbase = 33; */ + if (message.mirbase !== undefined) + writer.tag(33, WireType.LengthDelimited).string(message.mirbase) + /* optional uint32 homeodb = 34; */ + if (message.homeodb !== undefined) writer.tag(34, WireType.Varint).uint32(message.homeodb) + /* optional string snornabase = 35; */ + if (message.snornabase !== undefined) + writer.tag(35, WireType.LengthDelimited).string(message.snornabase) + /* optional string bioparadigms_slc = 36; */ + if (message.bioparadigmsSlc !== undefined) + writer.tag(36, WireType.LengthDelimited).string(message.bioparadigmsSlc) + /* optional uint32 orphanet = 37; */ + if (message.orphanet !== undefined) writer.tag(37, WireType.Varint).uint32(message.orphanet) + /* optional string pseudogene_org = 38; */ + if (message.pseudogeneOrg !== undefined) + writer.tag(38, WireType.LengthDelimited).string(message.pseudogeneOrg) + /* optional string horde_id = 39; */ + if (message.hordeId !== undefined) + writer.tag(39, WireType.LengthDelimited).string(message.hordeId) + /* optional string merops = 40; */ + if (message.merops !== undefined) + writer.tag(40, WireType.LengthDelimited).string(message.merops) + /* optional string imgt = 41; */ + if (message.imgt !== undefined) writer.tag(41, WireType.LengthDelimited).string(message.imgt) + /* optional string iuphar = 42; */ + if (message.iuphar !== undefined) + writer.tag(42, WireType.LengthDelimited).string(message.iuphar) + /* optional string cd = 43; */ + if (message.cd !== undefined) writer.tag(43, WireType.LengthDelimited).string(message.cd) + /* optional uint32 mamit_trnadb = 44; */ + if (message.mamitTrnadb !== undefined) + writer.tag(44, WireType.Varint).uint32(message.mamitTrnadb) + /* optional string lncrnadb = 45; */ + if (message.lncrnadb !== undefined) + writer.tag(45, WireType.LengthDelimited).string(message.lncrnadb) + /* repeated string enzyme_id = 46; */ + for (let i = 0; i < message.enzymeId.length; i++) + writer.tag(46, WireType.LengthDelimited).string(message.enzymeId[i]) + /* optional string intermediate_filament_db = 47; */ + if (message.intermediateFilamentDb !== undefined) + writer.tag(47, WireType.LengthDelimited).string(message.intermediateFilamentDb) + /* optional string agr = 48; */ + if (message.agr !== undefined) writer.tag(48, WireType.LengthDelimited).string(message.agr) + /* repeated string mane_select = 49; */ + for (let i = 0; i < message.maneSelect.length; i++) + writer.tag(49, WireType.LengthDelimited).string(message.maneSelect[i]) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.HgncRecord + */ +export const HgncRecord = new HgncRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class RifEntry$Type extends MessageType { + constructor() { + super('annonars.genes.base.RifEntry', [ + { no: 1, name: 'text', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'pmids', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 13 /*ScalarType.UINT32*/ + } + ]) + } + create(value?: PartialMessage): RifEntry { + const message = globalThis.Object.create(this.messagePrototype!) + message.text = '' + message.pmids = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: RifEntry + ): RifEntry { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string text */ 1: + message.text = reader.string() + break + case /* repeated uint32 pmids */ 2: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.pmids.push(reader.uint32()) + else message.pmids.push(reader.uint32()) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: RifEntry, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string text = 1; */ + if (message.text !== '') writer.tag(1, WireType.LengthDelimited).string(message.text) + /* repeated uint32 pmids = 2; */ + if (message.pmids.length) { + writer.tag(2, WireType.LengthDelimited).fork() + for (let i = 0; i < message.pmids.length; i++) writer.uint32(message.pmids[i]) + writer.join() + } + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.RifEntry + */ +export const RifEntry = new RifEntry$Type() +// @generated message type with reflection information, may provide speed optimized methods +class NcbiRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.NcbiRecord', [ + { no: 1, name: 'gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'summary', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 3, + name: 'rif_entries', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => RifEntry + } + ]) + } + create(value?: PartialMessage): NcbiRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.geneId = '' + message.rifEntries = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: NcbiRecord + ): NcbiRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string gene_id */ 1: + message.geneId = reader.string() + break + case /* optional string summary */ 2: + message.summary = reader.string() + break + case /* repeated annonars.genes.base.RifEntry rif_entries */ 3: + message.rifEntries.push(RifEntry.internalBinaryRead(reader, reader.uint32(), options)) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: NcbiRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string gene_id = 1; */ + if (message.geneId !== '') writer.tag(1, WireType.LengthDelimited).string(message.geneId) + /* optional string summary = 2; */ + if (message.summary !== undefined) + writer.tag(2, WireType.LengthDelimited).string(message.summary) + /* repeated annonars.genes.base.RifEntry rif_entries = 3; */ + for (let i = 0; i < message.rifEntries.length; i++) + RifEntry.internalBinaryWrite( + message.rifEntries[i], + writer.tag(3, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.NcbiRecord + */ +export const NcbiRecord = new NcbiRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class OmimTerm$Type extends MessageType { + constructor() { + super('annonars.genes.base.OmimTerm', [ + { no: 1, name: 'omim_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'label', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): OmimTerm { + const message = globalThis.Object.create(this.messagePrototype!) + message.omimId = '' + message.label = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: OmimTerm + ): OmimTerm { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string omim_id */ 1: + message.omimId = reader.string() + break + case /* string label */ 2: + message.label = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: OmimTerm, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string omim_id = 1; */ + if (message.omimId !== '') writer.tag(1, WireType.LengthDelimited).string(message.omimId) + /* string label = 2; */ + if (message.label !== '') writer.tag(2, WireType.LengthDelimited).string(message.label) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.OmimTerm + */ +export const OmimTerm = new OmimTerm$Type() +// @generated message type with reflection information, may provide speed optimized methods +class OmimRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.OmimRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'omim_diseases', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => OmimTerm + } + ]) + } + create(value?: PartialMessage): OmimRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.omimDiseases = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: OmimRecord + ): OmimRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* repeated annonars.genes.base.OmimTerm omim_diseases */ 2: + message.omimDiseases.push(OmimTerm.internalBinaryRead(reader, reader.uint32(), options)) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: OmimRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* repeated annonars.genes.base.OmimTerm omim_diseases = 2; */ + for (let i = 0; i < message.omimDiseases.length; i++) + OmimTerm.internalBinaryWrite( + message.omimDiseases[i], + writer.tag(2, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.OmimRecord + */ +export const OmimRecord = new OmimRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class OrphaTerm$Type extends MessageType { + constructor() { + super('annonars.genes.base.OrphaTerm', [ + { no: 1, name: 'orpha_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'label', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): OrphaTerm { + const message = globalThis.Object.create(this.messagePrototype!) + message.orphaId = '' + message.label = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: OrphaTerm + ): OrphaTerm { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string orpha_id */ 1: + message.orphaId = reader.string() + break + case /* string label */ 2: + message.label = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: OrphaTerm, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string orpha_id = 1; */ + if (message.orphaId !== '') writer.tag(1, WireType.LengthDelimited).string(message.orphaId) + /* string label = 2; */ + if (message.label !== '') writer.tag(2, WireType.LengthDelimited).string(message.label) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.OrphaTerm + */ +export const OrphaTerm = new OrphaTerm$Type() +// @generated message type with reflection information, may provide speed optimized methods +class OrphaRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.OrphaRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'orpha_diseases', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => OrphaTerm + } + ]) + } + create(value?: PartialMessage): OrphaRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.orphaDiseases = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: OrphaRecord + ): OrphaRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* repeated annonars.genes.base.OrphaTerm orpha_diseases */ 2: + message.orphaDiseases.push(OrphaTerm.internalBinaryRead(reader, reader.uint32(), options)) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: OrphaRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* repeated annonars.genes.base.OrphaTerm orpha_diseases = 2; */ + for (let i = 0; i < message.orphaDiseases.length; i++) + OrphaTerm.internalBinaryWrite( + message.orphaDiseases[i], + writer.tag(2, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.OrphaRecord + */ +export const OrphaRecord = new OrphaRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class RcnvRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.RcnvRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'p_haplo', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ }, + { no: 3, name: 'p_triplo', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ } + ]) + } + create(value?: PartialMessage): RcnvRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.pHaplo = 0 + message.pTriplo = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: RcnvRecord + ): RcnvRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* double p_haplo */ 2: + message.pHaplo = reader.double() + break + case /* double p_triplo */ 3: + message.pTriplo = reader.double() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: RcnvRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* double p_haplo = 2; */ + if (message.pHaplo !== 0) writer.tag(2, WireType.Bit64).double(message.pHaplo) + /* double p_triplo = 3; */ + if (message.pTriplo !== 0) writer.tag(3, WireType.Bit64).double(message.pTriplo) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.RcnvRecord + */ +export const RcnvRecord = new RcnvRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ShetRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.ShetRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 's_het', kind: 'scalar', T: 1 /*ScalarType.DOUBLE*/ } + ]) + } + create(value?: PartialMessage): ShetRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.sHet = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ShetRecord + ): ShetRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* double s_het */ 2: + message.sHet = reader.double() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ShetRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* double s_het = 2; */ + if (message.sHet !== 0) writer.tag(2, WireType.Bit64).double(message.sHet) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ShetRecord + */ +export const ShetRecord = new ShetRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class GtexTissueRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.GtexTissueRecord', [ + { + no: 1, + name: 'tissue', + kind: 'enum', + T: () => ['annonars.genes.base.GtexTissue', GtexTissue, 'GTEX_TISSUE_'] + }, + { + no: 2, + name: 'tissue_detailed', + kind: 'enum', + T: () => [ + 'annonars.genes.base.GtexTissueDetailed', + GtexTissueDetailed, + 'GTEX_TISSUE_DETAILED_' + ] + }, + { + no: 3, + name: 'tpms', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 2 /*ScalarType.FLOAT*/ + } + ]) + } + create(value?: PartialMessage): GtexTissueRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.tissue = 0 + message.tissueDetailed = 0 + message.tpms = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: GtexTissueRecord + ): GtexTissueRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* annonars.genes.base.GtexTissue tissue */ 1: + message.tissue = reader.int32() + break + case /* annonars.genes.base.GtexTissueDetailed tissue_detailed */ 2: + message.tissueDetailed = reader.int32() + break + case /* repeated float tpms */ 3: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.tpms.push(reader.float()) + else message.tpms.push(reader.float()) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: GtexTissueRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* annonars.genes.base.GtexTissue tissue = 1; */ + if (message.tissue !== 0) writer.tag(1, WireType.Varint).int32(message.tissue) + /* annonars.genes.base.GtexTissueDetailed tissue_detailed = 2; */ + if (message.tissueDetailed !== 0) writer.tag(2, WireType.Varint).int32(message.tissueDetailed) + /* repeated float tpms = 3; */ + if (message.tpms.length) { + writer.tag(3, WireType.LengthDelimited).fork() + for (let i = 0; i < message.tpms.length; i++) writer.float(message.tpms[i]) + writer.join() + } + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.GtexTissueRecord + */ +export const GtexTissueRecord = new GtexTissueRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class GtexRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.GtexRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'ensembl_gene_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'ensembl_gene_version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 4, + name: 'records', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => GtexTissueRecord + } + ]) + } + create(value?: PartialMessage): GtexRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.ensemblGeneId = '' + message.ensemblGeneVersion = '' + message.records = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: GtexRecord + ): GtexRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* string ensembl_gene_id */ 2: + message.ensemblGeneId = reader.string() + break + case /* string ensembl_gene_version */ 3: + message.ensemblGeneVersion = reader.string() + break + case /* repeated annonars.genes.base.GtexTissueRecord records */ 4: + message.records.push( + GtexTissueRecord.internalBinaryRead(reader, reader.uint32(), options) + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: GtexRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* string ensembl_gene_id = 2; */ + if (message.ensemblGeneId !== '') + writer.tag(2, WireType.LengthDelimited).string(message.ensemblGeneId) + /* string ensembl_gene_version = 3; */ + if (message.ensemblGeneVersion !== '') + writer.tag(3, WireType.LengthDelimited).string(message.ensemblGeneVersion) + /* repeated annonars.genes.base.GtexTissueRecord records = 4; */ + for (let i = 0; i < message.records.length; i++) + GtexTissueRecord.internalBinaryWrite( + message.records[i], + writer.tag(4, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.GtexRecord + */ +export const GtexRecord = new GtexRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class PanelAppRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.PanelAppRecord', [ + { no: 1, name: 'gene_data', kind: 'message', T: () => PanelAppRecord_GeneData }, + { + no: 2, + name: 'entity_type', + kind: 'enum', + T: () => [ + 'annonars.genes.base.PanelAppRecord.EntityType', + PanelAppRecord_EntityType, + 'ENTITY_TYPE_' + ] + }, + { no: 3, name: 'entity_name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 4, + name: 'confidence_level', + kind: 'enum', + T: () => [ + 'annonars.genes.base.PanelAppRecord.ConfidenceLevel', + PanelAppRecord_ConfidenceLevel, + 'CONFIDENCE_LEVEL_' + ] + }, + { + no: 5, + name: 'penetrance', + kind: 'enum', + T: () => [ + 'annonars.genes.base.PanelAppRecord.Penetrance', + PanelAppRecord_Penetrance, + 'PENETRANCE_' + ] + }, + { + no: 6, + name: 'publications', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 7, + name: 'evidence', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { + no: 8, + name: 'phenotypes', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 9, name: 'mode_of_inheritance', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 10, name: 'panel', kind: 'message', T: () => PanelAppRecord_Panel } + ]) + } + create(value?: PartialMessage): PanelAppRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.entityType = 0 + message.entityName = '' + message.confidenceLevel = 0 + message.penetrance = 0 + message.publications = [] + message.evidence = [] + message.phenotypes = [] + message.modeOfInheritance = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: PanelAppRecord + ): PanelAppRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* annonars.genes.base.PanelAppRecord.GeneData gene_data */ 1: + message.geneData = PanelAppRecord_GeneData.internalBinaryRead( + reader, + reader.uint32(), + options, + message.geneData + ) + break + case /* annonars.genes.base.PanelAppRecord.EntityType entity_type */ 2: + message.entityType = reader.int32() + break + case /* string entity_name */ 3: + message.entityName = reader.string() + break + case /* annonars.genes.base.PanelAppRecord.ConfidenceLevel confidence_level */ 4: + message.confidenceLevel = reader.int32() + break + case /* annonars.genes.base.PanelAppRecord.Penetrance penetrance */ 5: + message.penetrance = reader.int32() + break + case /* repeated string publications */ 6: + message.publications.push(reader.string()) + break + case /* repeated string evidence */ 7: + message.evidence.push(reader.string()) + break + case /* repeated string phenotypes */ 8: + message.phenotypes.push(reader.string()) + break + case /* string mode_of_inheritance */ 9: + message.modeOfInheritance = reader.string() + break + case /* annonars.genes.base.PanelAppRecord.Panel panel */ 10: + message.panel = PanelAppRecord_Panel.internalBinaryRead( + reader, + reader.uint32(), + options, + message.panel + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: PanelAppRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* annonars.genes.base.PanelAppRecord.GeneData gene_data = 1; */ + if (message.geneData) + PanelAppRecord_GeneData.internalBinaryWrite( + message.geneData, + writer.tag(1, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.PanelAppRecord.EntityType entity_type = 2; */ + if (message.entityType !== 0) writer.tag(2, WireType.Varint).int32(message.entityType) + /* string entity_name = 3; */ + if (message.entityName !== '') + writer.tag(3, WireType.LengthDelimited).string(message.entityName) + /* annonars.genes.base.PanelAppRecord.ConfidenceLevel confidence_level = 4; */ + if (message.confidenceLevel !== 0) writer.tag(4, WireType.Varint).int32(message.confidenceLevel) + /* annonars.genes.base.PanelAppRecord.Penetrance penetrance = 5; */ + if (message.penetrance !== 0) writer.tag(5, WireType.Varint).int32(message.penetrance) + /* repeated string publications = 6; */ + for (let i = 0; i < message.publications.length; i++) + writer.tag(6, WireType.LengthDelimited).string(message.publications[i]) + /* repeated string evidence = 7; */ + for (let i = 0; i < message.evidence.length; i++) + writer.tag(7, WireType.LengthDelimited).string(message.evidence[i]) + /* repeated string phenotypes = 8; */ + for (let i = 0; i < message.phenotypes.length; i++) + writer.tag(8, WireType.LengthDelimited).string(message.phenotypes[i]) + /* string mode_of_inheritance = 9; */ + if (message.modeOfInheritance !== '') + writer.tag(9, WireType.LengthDelimited).string(message.modeOfInheritance) + /* annonars.genes.base.PanelAppRecord.Panel panel = 10; */ + if (message.panel) + PanelAppRecord_Panel.internalBinaryWrite( + message.panel, + writer.tag(10, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.PanelAppRecord + */ +export const PanelAppRecord = new PanelAppRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class PanelAppRecord_GeneData$Type extends MessageType { + constructor() { + super('annonars.genes.base.PanelAppRecord.GeneData', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'hgnc_symbol', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'gene_symbol', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): PanelAppRecord_GeneData { + const message = globalThis.Object.create(this.messagePrototype!) + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: PanelAppRecord_GeneData + ): PanelAppRecord_GeneData { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* optional string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* optional string hgnc_symbol */ 2: + message.hgncSymbol = reader.string() + break + case /* optional string gene_symbol */ 3: + message.geneSymbol = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: PanelAppRecord_GeneData, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* optional string hgnc_id = 1; */ + if (message.hgncId !== undefined) writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* optional string hgnc_symbol = 2; */ + if (message.hgncSymbol !== undefined) + writer.tag(2, WireType.LengthDelimited).string(message.hgncSymbol) + /* optional string gene_symbol = 3; */ + if (message.geneSymbol !== undefined) + writer.tag(3, WireType.LengthDelimited).string(message.geneSymbol) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.PanelAppRecord.GeneData + */ +export const PanelAppRecord_GeneData = new PanelAppRecord_GeneData$Type() +// @generated message type with reflection information, may provide speed optimized methods +class PanelAppRecord_PanelStats$Type extends MessageType { + constructor() { + super('annonars.genes.base.PanelAppRecord.PanelStats', [ + { no: 1, name: 'number_of_genes', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ }, + { no: 2, name: 'number_of_strs', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ }, + { no: 3, name: 'number_of_regions', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ } + ]) + } + create(value?: PartialMessage): PanelAppRecord_PanelStats { + const message = globalThis.Object.create(this.messagePrototype!) + message.numberOfGenes = 0 + message.numberOfStrs = 0 + message.numberOfRegions = 0 + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: PanelAppRecord_PanelStats + ): PanelAppRecord_PanelStats { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* uint32 number_of_genes */ 1: + message.numberOfGenes = reader.uint32() + break + case /* uint32 number_of_strs */ 2: + message.numberOfStrs = reader.uint32() + break + case /* uint32 number_of_regions */ 3: + message.numberOfRegions = reader.uint32() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: PanelAppRecord_PanelStats, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* uint32 number_of_genes = 1; */ + if (message.numberOfGenes !== 0) writer.tag(1, WireType.Varint).uint32(message.numberOfGenes) + /* uint32 number_of_strs = 2; */ + if (message.numberOfStrs !== 0) writer.tag(2, WireType.Varint).uint32(message.numberOfStrs) + /* uint32 number_of_regions = 3; */ + if (message.numberOfRegions !== 0) + writer.tag(3, WireType.Varint).uint32(message.numberOfRegions) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.PanelAppRecord.PanelStats + */ +export const PanelAppRecord_PanelStats = new PanelAppRecord_PanelStats$Type() +// @generated message type with reflection information, may provide speed optimized methods +class PanelAppRecord_PanelType$Type extends MessageType { + constructor() { + super('annonars.genes.base.PanelAppRecord.PanelType', [ + { no: 1, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'slug', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'description', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): PanelAppRecord_PanelType { + const message = globalThis.Object.create(this.messagePrototype!) + message.name = '' + message.slug = '' + message.description = '' + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: PanelAppRecord_PanelType + ): PanelAppRecord_PanelType { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string name */ 1: + message.name = reader.string() + break + case /* string slug */ 2: + message.slug = reader.string() + break + case /* string description */ 3: + message.description = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: PanelAppRecord_PanelType, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string name = 1; */ + if (message.name !== '') writer.tag(1, WireType.LengthDelimited).string(message.name) + /* string slug = 2; */ + if (message.slug !== '') writer.tag(2, WireType.LengthDelimited).string(message.slug) + /* string description = 3; */ + if (message.description !== '') + writer.tag(3, WireType.LengthDelimited).string(message.description) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.PanelAppRecord.PanelType + */ +export const PanelAppRecord_PanelType = new PanelAppRecord_PanelType$Type() +// @generated message type with reflection information, may provide speed optimized methods +class PanelAppRecord_Panel$Type extends MessageType { + constructor() { + super('annonars.genes.base.PanelAppRecord.Panel', [ + { no: 1, name: 'id', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ }, + { no: 2, name: 'hash_id', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'disease_group', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 5, name: 'disease_sub_group', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 6, name: 'version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 7, name: 'version_created', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 8, + name: 'relevant_disorders', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 9, name: 'stats', kind: 'message', T: () => PanelAppRecord_PanelStats }, + { + no: 10, + name: 'types', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => PanelAppRecord_PanelType + } + ]) + } + create(value?: PartialMessage): PanelAppRecord_Panel { + const message = globalThis.Object.create(this.messagePrototype!) + message.id = 0 + message.name = '' + message.diseaseGroup = '' + message.diseaseSubGroup = '' + message.version = '' + message.versionCreated = '' + message.relevantDisorders = [] + message.types = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: PanelAppRecord_Panel + ): PanelAppRecord_Panel { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* uint32 id */ 1: + message.id = reader.uint32() + break + case /* optional string hash_id */ 2: + message.hashId = reader.string() + break + case /* string name */ 3: + message.name = reader.string() + break + case /* string disease_group */ 4: + message.diseaseGroup = reader.string() + break + case /* string disease_sub_group */ 5: + message.diseaseSubGroup = reader.string() + break + case /* string version */ 6: + message.version = reader.string() + break + case /* string version_created */ 7: + message.versionCreated = reader.string() + break + case /* repeated string relevant_disorders */ 8: + message.relevantDisorders.push(reader.string()) + break + case /* annonars.genes.base.PanelAppRecord.PanelStats stats */ 9: + message.stats = PanelAppRecord_PanelStats.internalBinaryRead( + reader, + reader.uint32(), + options, + message.stats + ) + break + case /* repeated annonars.genes.base.PanelAppRecord.PanelType types */ 10: + message.types.push( + PanelAppRecord_PanelType.internalBinaryRead(reader, reader.uint32(), options) + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: PanelAppRecord_Panel, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* uint32 id = 1; */ + if (message.id !== 0) writer.tag(1, WireType.Varint).uint32(message.id) + /* optional string hash_id = 2; */ + if (message.hashId !== undefined) writer.tag(2, WireType.LengthDelimited).string(message.hashId) + /* string name = 3; */ + if (message.name !== '') writer.tag(3, WireType.LengthDelimited).string(message.name) + /* string disease_group = 4; */ + if (message.diseaseGroup !== '') + writer.tag(4, WireType.LengthDelimited).string(message.diseaseGroup) + /* string disease_sub_group = 5; */ + if (message.diseaseSubGroup !== '') + writer.tag(5, WireType.LengthDelimited).string(message.diseaseSubGroup) + /* string version = 6; */ + if (message.version !== '') writer.tag(6, WireType.LengthDelimited).string(message.version) + /* string version_created = 7; */ + if (message.versionCreated !== '') + writer.tag(7, WireType.LengthDelimited).string(message.versionCreated) + /* repeated string relevant_disorders = 8; */ + for (let i = 0; i < message.relevantDisorders.length; i++) + writer.tag(8, WireType.LengthDelimited).string(message.relevantDisorders[i]) + /* annonars.genes.base.PanelAppRecord.PanelStats stats = 9; */ + if (message.stats) + PanelAppRecord_PanelStats.internalBinaryWrite( + message.stats, + writer.tag(9, WireType.LengthDelimited).fork(), + options + ).join() + /* repeated annonars.genes.base.PanelAppRecord.PanelType types = 10; */ + for (let i = 0; i < message.types.length; i++) + PanelAppRecord_PanelType.internalBinaryWrite( + message.types[i], + writer.tag(10, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.PanelAppRecord.Panel + */ +export const PanelAppRecord_Panel = new PanelAppRecord_Panel$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'disease_associations', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => ConditionsRecord_GeneDiseaseAssociation + }, + { + no: 3, + name: 'panelapp_associations', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => ConditionsRecord_PanelappAssociation + } + ]) + } + create(value?: PartialMessage): ConditionsRecord { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.diseaseAssociations = [] + message.panelappAssociations = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord + ): ConditionsRecord { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation disease_associations */ 2: + message.diseaseAssociations.push( + ConditionsRecord_GeneDiseaseAssociation.internalBinaryRead( + reader, + reader.uint32(), + options + ) + ) + break + case /* repeated annonars.genes.base.ConditionsRecord.PanelappAssociation panelapp_associations */ 3: + message.panelappAssociations.push( + ConditionsRecord_PanelappAssociation.internalBinaryRead( + reader, + reader.uint32(), + options + ) + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation disease_associations = 2; */ + for (let i = 0; i < message.diseaseAssociations.length; i++) + ConditionsRecord_GeneDiseaseAssociation.internalBinaryWrite( + message.diseaseAssociations[i], + writer.tag(2, WireType.LengthDelimited).fork(), + options + ).join() + /* repeated annonars.genes.base.ConditionsRecord.PanelappAssociation panelapp_associations = 3; */ + for (let i = 0; i < message.panelappAssociations.length; i++) + ConditionsRecord_PanelappAssociation.internalBinaryWrite( + message.panelappAssociations[i], + writer.tag(3, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord + */ +export const ConditionsRecord = new ConditionsRecord$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord_GeneDiseaseAssociationEntry$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry', [ + { + no: 1, + name: 'source', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource', + ConditionsRecord_GeneDiseaseAssociationEntry_GeneDiseaseAssociationSource, + 'GENE_DISEASE_ASSOCIATION_SOURCE_' + ] + }, + { + no: 2, + name: 'confidence', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel', + ConditionsRecord_GeneDiseaseAssociationEntry_ConfidenceLevel, + 'CONFIDENCE_LEVEL_' + ] + } + ]) + } + create( + value?: PartialMessage + ): ConditionsRecord_GeneDiseaseAssociationEntry { + const message = globalThis.Object.create(this.messagePrototype!) + message.source = 0 + message.confidence = 0 + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord_GeneDiseaseAssociationEntry + ): ConditionsRecord_GeneDiseaseAssociationEntry { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource source */ 1: + message.source = reader.int32() + break + case /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence */ 2: + message.confidence = reader.int32() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord_GeneDiseaseAssociationEntry, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource source = 1; */ + if (message.source !== 0) writer.tag(1, WireType.Varint).int32(message.source) + /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence = 2; */ + if (message.confidence !== 0) writer.tag(2, WireType.Varint).int32(message.confidence) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry + */ +export const ConditionsRecord_GeneDiseaseAssociationEntry = + new ConditionsRecord_GeneDiseaseAssociationEntry$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord_LabeledDisorder$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord.LabeledDisorder', [ + { no: 1, name: 'term_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 2, name: 'title', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ } + ]) + } + create( + value?: PartialMessage + ): ConditionsRecord_LabeledDisorder { + const message = globalThis.Object.create(this.messagePrototype!) + message.termId = '' + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord_LabeledDisorder + ): ConditionsRecord_LabeledDisorder { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string term_id */ 1: + message.termId = reader.string() + break + case /* optional string title */ 2: + message.title = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord_LabeledDisorder, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string term_id = 1; */ + if (message.termId !== '') writer.tag(1, WireType.LengthDelimited).string(message.termId) + /* optional string title = 2; */ + if (message.title !== undefined) writer.tag(2, WireType.LengthDelimited).string(message.title) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord.LabeledDisorder + */ +export const ConditionsRecord_LabeledDisorder = new ConditionsRecord_LabeledDisorder$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord_GeneDiseaseAssociation$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'labeled_disorders', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => ConditionsRecord_LabeledDisorder + }, + { no: 3, name: 'disease_name', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { no: 4, name: 'disease_definition', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 5, + name: 'sources', + kind: 'enum', + repeat: 1 /*RepeatType.PACKED*/, + T: () => [ + 'annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource', + ConditionsRecord_GeneDiseaseAssociationEntry_GeneDiseaseAssociationSource, + 'GENE_DISEASE_ASSOCIATION_SOURCE_' + ] + }, + { + no: 6, + name: 'confidence', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel', + ConditionsRecord_GeneDiseaseAssociationEntry_ConfidenceLevel, + 'CONFIDENCE_LEVEL_' + ] + } + ]) + } + create( + value?: PartialMessage + ): ConditionsRecord_GeneDiseaseAssociation { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.labeledDisorders = [] + message.sources = [] + message.confidence = 0 + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord_GeneDiseaseAssociation + ): ConditionsRecord_GeneDiseaseAssociation { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* repeated annonars.genes.base.ConditionsRecord.LabeledDisorder labeled_disorders */ 2: + message.labeledDisorders.push( + ConditionsRecord_LabeledDisorder.internalBinaryRead(reader, reader.uint32(), options) + ) + break + case /* optional string disease_name */ 3: + message.diseaseName = reader.string() + break + case /* optional string disease_definition */ 4: + message.diseaseDefinition = reader.string() + break + case /* repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource sources */ 5: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.sources.push(reader.int32()) + else message.sources.push(reader.int32()) + break + case /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence */ 6: + message.confidence = reader.int32() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord_GeneDiseaseAssociation, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* repeated annonars.genes.base.ConditionsRecord.LabeledDisorder labeled_disorders = 2; */ + for (let i = 0; i < message.labeledDisorders.length; i++) + ConditionsRecord_LabeledDisorder.internalBinaryWrite( + message.labeledDisorders[i], + writer.tag(2, WireType.LengthDelimited).fork(), + options + ).join() + /* optional string disease_name = 3; */ + if (message.diseaseName !== undefined) + writer.tag(3, WireType.LengthDelimited).string(message.diseaseName) + /* optional string disease_definition = 4; */ + if (message.diseaseDefinition !== undefined) + writer.tag(4, WireType.LengthDelimited).string(message.diseaseDefinition) + /* repeated annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.GeneDiseaseAssociationSource sources = 5; */ + if (message.sources.length) { + writer.tag(5, WireType.LengthDelimited).fork() + for (let i = 0; i < message.sources.length; i++) writer.int32(message.sources[i]) + writer.join() + } + /* annonars.genes.base.ConditionsRecord.GeneDiseaseAssociationEntry.ConfidenceLevel confidence = 6; */ + if (message.confidence !== 0) writer.tag(6, WireType.Varint).int32(message.confidence) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord.GeneDiseaseAssociation + */ +export const ConditionsRecord_GeneDiseaseAssociation = + new ConditionsRecord_GeneDiseaseAssociation$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord_PanelappPanel$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord.PanelappPanel', [ + { no: 1, name: 'id', kind: 'scalar', T: 5 /*ScalarType.INT32*/ }, + { no: 2, name: 'name', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ } + ]) + } + create(value?: PartialMessage): ConditionsRecord_PanelappPanel { + const message = globalThis.Object.create(this.messagePrototype!) + message.id = 0 + message.name = '' + message.version = '' + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord_PanelappPanel + ): ConditionsRecord_PanelappPanel { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* int32 id */ 1: + message.id = reader.int32() + break + case /* string name */ 2: + message.name = reader.string() + break + case /* string version */ 3: + message.version = reader.string() + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord_PanelappPanel, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* int32 id = 1; */ + if (message.id !== 0) writer.tag(1, WireType.Varint).int32(message.id) + /* string name = 2; */ + if (message.name !== '') writer.tag(2, WireType.LengthDelimited).string(message.name) + /* string version = 3; */ + if (message.version !== '') writer.tag(3, WireType.LengthDelimited).string(message.version) + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord.PanelappPanel + */ +export const ConditionsRecord_PanelappPanel = new ConditionsRecord_PanelappPanel$Type() +// @generated message type with reflection information, may provide speed optimized methods +class ConditionsRecord_PanelappAssociation$Type extends MessageType { + constructor() { + super('annonars.genes.base.ConditionsRecord.PanelappAssociation', [ + { no: 1, name: 'hgnc_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { + no: 2, + name: 'confidence_level', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappConfidence', + ConditionsRecord_PanelappAssociation_PanelappConfidence, + 'PANELAPP_CONFIDENCE_' + ] + }, + { + no: 3, + name: 'entity_type', + kind: 'enum', + T: () => [ + 'annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappEntityType', + ConditionsRecord_PanelappAssociation_PanelappEntityType, + 'PANELAPP_ENTITY_TYPE_' + ] + }, + { no: 4, name: 'mode_of_inheritance', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ }, + { + no: 5, + name: 'phenotypes', + kind: 'scalar', + repeat: 2 /*RepeatType.UNPACKED*/, + T: 9 /*ScalarType.STRING*/ + }, + { no: 6, name: 'panel', kind: 'message', T: () => ConditionsRecord_PanelappPanel } + ]) + } + create( + value?: PartialMessage + ): ConditionsRecord_PanelappAssociation { + const message = globalThis.Object.create(this.messagePrototype!) + message.hgncId = '' + message.confidenceLevel = 0 + message.entityType = 0 + message.phenotypes = [] + if (value !== undefined) + reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: ConditionsRecord_PanelappAssociation + ): ConditionsRecord_PanelappAssociation { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* string hgnc_id */ 1: + message.hgncId = reader.string() + break + case /* annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappConfidence confidence_level */ 2: + message.confidenceLevel = reader.int32() + break + case /* annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappEntityType entity_type */ 3: + message.entityType = reader.int32() + break + case /* optional string mode_of_inheritance */ 4: + message.modeOfInheritance = reader.string() + break + case /* repeated string phenotypes */ 5: + message.phenotypes.push(reader.string()) + break + case /* annonars.genes.base.ConditionsRecord.PanelappPanel panel */ 6: + message.panel = ConditionsRecord_PanelappPanel.internalBinaryRead( + reader, + reader.uint32(), + options, + message.panel + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: ConditionsRecord_PanelappAssociation, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* string hgnc_id = 1; */ + if (message.hgncId !== '') writer.tag(1, WireType.LengthDelimited).string(message.hgncId) + /* annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappConfidence confidence_level = 2; */ + if (message.confidenceLevel !== 0) writer.tag(2, WireType.Varint).int32(message.confidenceLevel) + /* annonars.genes.base.ConditionsRecord.PanelappAssociation.PanelappEntityType entity_type = 3; */ + if (message.entityType !== 0) writer.tag(3, WireType.Varint).int32(message.entityType) + /* optional string mode_of_inheritance = 4; */ + if (message.modeOfInheritance !== undefined) + writer.tag(4, WireType.LengthDelimited).string(message.modeOfInheritance) + /* repeated string phenotypes = 5; */ + for (let i = 0; i < message.phenotypes.length; i++) + writer.tag(5, WireType.LengthDelimited).string(message.phenotypes[i]) + /* annonars.genes.base.ConditionsRecord.PanelappPanel panel = 6; */ + if (message.panel) + ConditionsRecord_PanelappPanel.internalBinaryWrite( + message.panel, + writer.tag(6, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.ConditionsRecord.PanelappAssociation + */ +export const ConditionsRecord_PanelappAssociation = new ConditionsRecord_PanelappAssociation$Type() +// @generated message type with reflection information, may provide speed optimized methods +class Record$Type extends MessageType { + constructor() { + super('annonars.genes.base.Record', [ + { no: 1, name: 'acmg_sf', kind: 'message', T: () => AcmgSecondaryFindingRecord }, + { no: 2, name: 'clingen', kind: 'message', T: () => ClingenDosageRecord }, + { no: 3, name: 'dbnsfp', kind: 'message', T: () => DbnsfpRecord }, + { no: 4, name: 'gnomad_constraints', kind: 'message', T: () => GnomadConstraintsRecord }, + { no: 5, name: 'hgnc', kind: 'message', T: () => HgncRecord }, + { no: 6, name: 'ncbi', kind: 'message', T: () => NcbiRecord }, + { no: 7, name: 'omim', kind: 'message', T: () => OmimRecord }, + { no: 8, name: 'orpha', kind: 'message', T: () => OrphaRecord }, + { no: 9, name: 'rcnv', kind: 'message', T: () => RcnvRecord }, + { no: 10, name: 'shet', kind: 'message', T: () => ShetRecord }, + { no: 11, name: 'gtex', kind: 'message', T: () => GtexRecord }, + { no: 12, name: 'domino', kind: 'message', T: () => DominoRecord }, + { no: 13, name: 'decipher_hi', kind: 'message', T: () => DecipherHiRecord }, + { + no: 14, + name: 'panelapp', + kind: 'message', + repeat: 1 /*RepeatType.PACKED*/, + T: () => PanelAppRecord + }, + { no: 15, name: 'conditions', kind: 'message', T: () => ConditionsRecord } + ]) + } + create(value?: PartialMessage): Record { + const message = globalThis.Object.create(this.messagePrototype!) + message.panelapp = [] + if (value !== undefined) reflectionMergePartial(this, message, value) + return message + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: Record + ): Record { + const message = target ?? this.create(), + end = reader.pos + length + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag() + switch (fieldNo) { + case /* annonars.genes.base.AcmgSecondaryFindingRecord acmg_sf */ 1: + message.acmgSf = AcmgSecondaryFindingRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.acmgSf + ) + break + case /* annonars.genes.base.ClingenDosageRecord clingen */ 2: + message.clingen = ClingenDosageRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.clingen + ) + break + case /* annonars.genes.base.DbnsfpRecord dbnsfp */ 3: + message.dbnsfp = DbnsfpRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.dbnsfp + ) + break + case /* annonars.genes.base.GnomadConstraintsRecord gnomad_constraints */ 4: + message.gnomadConstraints = GnomadConstraintsRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.gnomadConstraints + ) + break + case /* annonars.genes.base.HgncRecord hgnc */ 5: + message.hgnc = HgncRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.hgnc + ) + break + case /* annonars.genes.base.NcbiRecord ncbi */ 6: + message.ncbi = NcbiRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.ncbi + ) + break + case /* annonars.genes.base.OmimRecord omim */ 7: + message.omim = OmimRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.omim + ) + break + case /* annonars.genes.base.OrphaRecord orpha */ 8: + message.orpha = OrphaRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.orpha + ) + break + case /* annonars.genes.base.RcnvRecord rcnv */ 9: + message.rcnv = RcnvRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.rcnv + ) + break + case /* annonars.genes.base.ShetRecord shet */ 10: + message.shet = ShetRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.shet + ) + break + case /* annonars.genes.base.GtexRecord gtex */ 11: + message.gtex = GtexRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.gtex + ) + break + case /* annonars.genes.base.DominoRecord domino */ 12: + message.domino = DominoRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.domino + ) + break + case /* annonars.genes.base.DecipherHiRecord decipher_hi */ 13: + message.decipherHi = DecipherHiRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.decipherHi + ) + break + case /* repeated annonars.genes.base.PanelAppRecord panelapp */ 14: + message.panelapp.push(PanelAppRecord.internalBinaryRead(reader, reader.uint32(), options)) + break + case /* annonars.genes.base.ConditionsRecord conditions */ 15: + message.conditions = ConditionsRecord.internalBinaryRead( + reader, + reader.uint32(), + options, + message.conditions + ) + break + default: + const u = options.readUnknownField + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ) + const d = reader.skip(wireType) + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ) + } + } + return message + } + internalBinaryWrite( + message: Record, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* annonars.genes.base.AcmgSecondaryFindingRecord acmg_sf = 1; */ + if (message.acmgSf) + AcmgSecondaryFindingRecord.internalBinaryWrite( + message.acmgSf, + writer.tag(1, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.ClingenDosageRecord clingen = 2; */ + if (message.clingen) + ClingenDosageRecord.internalBinaryWrite( + message.clingen, + writer.tag(2, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.DbnsfpRecord dbnsfp = 3; */ + if (message.dbnsfp) + DbnsfpRecord.internalBinaryWrite( + message.dbnsfp, + writer.tag(3, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.GnomadConstraintsRecord gnomad_constraints = 4; */ + if (message.gnomadConstraints) + GnomadConstraintsRecord.internalBinaryWrite( + message.gnomadConstraints, + writer.tag(4, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.HgncRecord hgnc = 5; */ + if (message.hgnc) + HgncRecord.internalBinaryWrite( + message.hgnc, + writer.tag(5, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.NcbiRecord ncbi = 6; */ + if (message.ncbi) + NcbiRecord.internalBinaryWrite( + message.ncbi, + writer.tag(6, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.OmimRecord omim = 7; */ + if (message.omim) + OmimRecord.internalBinaryWrite( + message.omim, + writer.tag(7, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.OrphaRecord orpha = 8; */ + if (message.orpha) + OrphaRecord.internalBinaryWrite( + message.orpha, + writer.tag(8, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.RcnvRecord rcnv = 9; */ + if (message.rcnv) + RcnvRecord.internalBinaryWrite( + message.rcnv, + writer.tag(9, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.ShetRecord shet = 10; */ + if (message.shet) + ShetRecord.internalBinaryWrite( + message.shet, + writer.tag(10, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.GtexRecord gtex = 11; */ + if (message.gtex) + GtexRecord.internalBinaryWrite( + message.gtex, + writer.tag(11, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.DominoRecord domino = 12; */ + if (message.domino) + DominoRecord.internalBinaryWrite( + message.domino, + writer.tag(12, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.DecipherHiRecord decipher_hi = 13; */ + if (message.decipherHi) + DecipherHiRecord.internalBinaryWrite( + message.decipherHi, + writer.tag(13, WireType.LengthDelimited).fork(), + options + ).join() + /* repeated annonars.genes.base.PanelAppRecord panelapp = 14; */ + for (let i = 0; i < message.panelapp.length; i++) + PanelAppRecord.internalBinaryWrite( + message.panelapp[i], + writer.tag(14, WireType.LengthDelimited).fork(), + options + ).join() + /* annonars.genes.base.ConditionsRecord conditions = 15; */ + if (message.conditions) + ConditionsRecord.internalBinaryWrite( + message.conditions, + writer.tag(15, WireType.LengthDelimited).fork(), + options + ).join() + const u = options.writeUnknownFields + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer) + return writer + } +} +/** + * @generated MessageType for protobuf message annonars.genes.base.Record + */ +export const Record = new Record$Type()