openapi: 3.0.3 info: title: mehari description: Variant effect prediction all in Rust contact: name: Manuel Holtgrewe email: manuel.holtgrewe@bih-charite.de license: name: MIT version: 0.30.0 paths: /api/v1/genes/transcripts: get: tags: - gene_txs summary: Query for transcripts of a gene. operationId: genesTranscriptsList parameters: - name: hgnc_id in: query description: HGNC gene ID. required: true schema: type: string - name: genome_build in: query description: Genome build. required: true schema: $ref: '#/components/schemas/Assembly' - name: page_size in: query description: Page size. required: false schema: type: integer format: int32 nullable: true - name: next_page_token in: query description: Next page token. required: false schema: type: string nullable: true responses: '200': description: Transcripts for the selected gene. content: application/json: schema: $ref: '#/components/schemas/GenesTranscriptsListResponse' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/CustomError' /api/v1/seqvars/csq: get: tags: - seqvars_csq summary: Query for consequence of a variant. operationId: seqvarsCsq parameters: - name: genome_release in: query description: The assembly. required: true schema: $ref: '#/components/schemas/GenomeRelease' - name: chromosome in: query description: SPDI sequence. required: true schema: type: string - name: position in: query description: SPDI position. required: true schema: type: integer format: int32 minimum: 0 - name: reference in: query description: SPDI deletion. required: true schema: type: string - name: alternative in: query description: SPDI insertion. required: true schema: type: string - name: hgnc_id in: query description: Optionally, the HGNC ID of the gene to limit to. required: false schema: type: string nullable: true responses: '200': description: Seqvars consequence information. content: application/json: schema: $ref: '#/components/schemas/SeqvarsCsqResponse' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/CustomError' /api/v1/strucvars/csq: get: tags: - strucvars_csq summary: Query for consequence of a variant. operationId: strucvarsCsq parameters: - name: genome_release in: query description: The assembly. required: true schema: $ref: '#/components/schemas/GenomeRelease' - name: chromosome in: query description: Chromosome. required: true schema: type: string - name: start in: query description: 1-based start position. required: true schema: type: integer format: int32 - name: stop in: query description: 1-based stop position, ignored for INS. required: false schema: type: integer format: int32 nullable: true - name: sv_type in: query description: The variant type to use for annotation. required: true schema: $ref: '#/components/schemas/StrucvarsSvType' responses: '200': description: Strucvars consequence information. content: application/json: schema: $ref: '#/components/schemas/StrucvarsCsqResponse' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/CustomError' /api/v1/versionsInfo: get: tags: - versions summary: Query for consequence of a variant. operationId: versionsInfo responses: '200': description: Version information. content: application/json: schema: $ref: '#/components/schemas/VersionsInfoResponse' '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/CustomError' components: schemas: Assembly: type: string description: |- Assembly to be passed on the command line. Copy from annonars with extension to derive `utoipa::ToSchema`. enum: - grch37 - grch38 Consequence: type: string description: Putative impact. enum: - transcript_ablation - exon_loss_variant - splice_acceptor_variant - splice_donor_variant - stop_gained - frameshift_variant - stop_lost - start_lost - transcript_amplification - feature_elongation - feature_truncation - disruptive_inframe_insertion - disruptive_inframe_deletion - conservative_inframe_insertion - conservative_inframe_deletion - missense_variant - splice_donor_5th_base_variant - splice_region_variant - splice_donor_region_variant - splice_polypyrimidine_tract_variant - start_retained_variant - stop_retained_variant - synonymous_variant - coding_sequence_variant - mature_miRNA_variant - 5_prime_UTR_exon_variant - 5_prime_UTR_intron_variant - 3_prime_UTR_exon_variant - 3_prime_UTR_intron_variant - non_coding_transcript_exon_variant - non_coding_transcript_intron_variant - upstream_gene_variant - downstream_gene_variant - TFBS_ablation - TFBS_amplification - TF_binding_site_variant - regulatory_region_ablation - regulatory_region_amplification - regulatory_region_variant - intergenic_variant - intron_variant - gene_variant CustomError: type: object required: - err properties: err: type: string DataVersionEntry: type: object description: Specification of data version for a given genome build. required: - genome_build - version_cdot properties: genome_build: $ref: '#/components/schemas/Assembly' version_refseq: type: string description: Version of the RefSeq database, if any. nullable: true version_ensembl: type: string description: Version of the Ensembl database, if any. nullable: true version_cdot: type: string description: Version of cdot used. ExonAlignment: type: object description: Store the alignment of one exon to the reference. required: - alt_start_i - alt_end_i - ord - cigar properties: alt_start_i: type: integer format: int32 description: Start position on reference. alt_end_i: type: integer format: int32 description: End position on reference. ord: type: integer format: int32 description: Exon number. alt_cds_start_i: type: integer format: int32 description: CDS start coordinate. nullable: true alt_cds_end_i: type: integer format: int32 description: CDS end coordinate. nullable: true cigar: type: string description: CIGAR string of alignment, empty indicates full matches. FeatureBiotype: type: string description: Encode feature biotype. enum: - coding - noncoding - mane_select - mane_plus_clinical FeatureType: oneOf: - type: object required: - so_term properties: so_term: type: object required: - term properties: term: $ref: '#/components/schemas/SoFeature' - type: object required: - custom properties: custom: type: object required: - value properties: value: type: string description: Enum for `AnnField::feature_type`. GenesTranscriptsListQuery: type: object description: Query arguments for the `/api/v1/genes/transcripts` endpoint. required: - hgnc_id - genome_build properties: hgnc_id: type: string description: HGNC gene ID. genome_build: $ref: '#/components/schemas/Assembly' page_size: type: integer format: int32 description: Page size. nullable: true next_page_token: type: string description: Next page token. nullable: true GenesTranscriptsListResponse: type: object description: Response of the `/api/v1/genes/transcripts` endpoint. required: - transcripts properties: transcripts: type: array items: $ref: '#/components/schemas/Transcript' description: The transcripts for the gene. next_page_token: type: string description: The token to continue from a previous query. nullable: true GenomeAlignment: type: object description: Store information about a transcript aligning to a genome. required: - genome_build - contig - strand - exons properties: genome_build: $ref: '#/components/schemas/Assembly' contig: type: string description: Accession of the contig sequence. cds_start: type: integer format: int32 description: CDS end position, `-1` to indicate `None`. nullable: true cds_end: type: integer format: int32 description: CDS end position, `-1` to indicate `None`. nullable: true strand: $ref: '#/components/schemas/Strand' exons: type: array items: $ref: '#/components/schemas/ExonAlignment' description: Exons of the alignment. GenomeRelease: type: string description: Select the genome release to use. enum: - grch37 - grch38 Message: type: string description: A message to be used in `AnnField::messages`. enum: - error_chromosome_not_found - error_out_of_chromosome_range - warning_ref_does_not_match_genome - warning_sequence_not_available - warning_transcript_incomplete - warning_transcript_multiple_stop_codons - warning_transcripts_no_start_codon - info_realign_three_prime - info_compound_annotation - info_non_reference_annotation Pos: type: object description: Position, optionally with total length. required: - ord properties: ord: type: integer format: int32 total: type: integer format: int32 nullable: true PutativeImpact: type: string description: Putative impact level. enum: - high - moderate - low - modifier Rank: type: object description: Encode exon/intron rank. required: - ord - total properties: ord: type: integer format: int32 total: type: integer format: int32 SeqvarsCsqQuery: type: object description: Query parameters of the `/api/v1/seqvars/csq` endpoint. required: - genome_release - chromosome - position - reference - alternative properties: genome_release: $ref: '#/components/schemas/GenomeRelease' chromosome: type: string description: SPDI sequence. position: type: integer format: int32 description: SPDI position. minimum: 0 reference: type: string description: SPDI deletion. alternative: type: string description: SPDI insertion. hgnc_id: type: string description: Optionally, the HGNC ID of the gene to limit to. nullable: true SeqvarsCsqResponse: type: object description: Response of the `/api/v1/seqvars/csq` endpoint. required: - version - query - result properties: version: $ref: '#/components/schemas/VersionsInfoResponse' query: $ref: '#/components/schemas/SeqvarsCsqQuery' result: type: array items: $ref: '#/components/schemas/SeqvarsCsqResultEntry' description: The resulting records for the scored genes. SeqvarsCsqResultEntry: type: object description: One entry in `SeqvarsCsqResponse`. required: - consequences - putative_impact - gene_symbol - gene_id - feature_type - feature_id - feature_biotype - feature_tag properties: consequences: type: array items: $ref: '#/components/schemas/Consequence' description: The consequences of the allele. putative_impact: $ref: '#/components/schemas/PutativeImpact' gene_symbol: type: string description: The gene symbol. gene_id: type: string description: The gene identifier. feature_type: $ref: '#/components/schemas/FeatureType' feature_id: type: string description: The feature identifier. feature_biotype: $ref: '#/components/schemas/FeatureBiotype' feature_tag: type: array items: $ref: '#/components/schemas/FeatureBiotype' description: The feature tags. rank: allOf: - $ref: '#/components/schemas/Rank' nullable: true hgvs_t: type: string description: HGVS c. notation. nullable: true hgvs_p: type: string description: HGVS p. notation. nullable: true tx_pos: allOf: - $ref: '#/components/schemas/Pos' nullable: true cds_pos: allOf: - $ref: '#/components/schemas/Pos' nullable: true protein_pos: allOf: - $ref: '#/components/schemas/Pos' nullable: true distance: type: integer format: int32 description: Distance to feature. nullable: true messages: type: array items: $ref: '#/components/schemas/Message' description: Optional list of warnings and error messages. nullable: true SoFeature: type: string description: Sequence ontology feature. enum: - Transcript SoftwareVersions: type: object description: Software version specification. required: - mehari - hgvs_rs properties: mehari: type: string description: Version of `mehari`. hgvs_rs: type: string description: Version of the `hgvs` crate. Strand: type: string description: Enumeration for the two strands of the genome. enum: - unknown - plus - minus StrucvarsCsqQuery: type: object description: Query parameters of the `/api/v1/strucvars/csq` endpoint. required: - genome_release - chromosome - start - sv_type properties: genome_release: $ref: '#/components/schemas/GenomeRelease' chromosome: type: string description: Chromosome. start: type: integer format: int32 description: 1-based start position. stop: type: integer format: int32 description: 1-based stop position, ignored for INS. nullable: true sv_type: $ref: '#/components/schemas/StrucvarsSvType' StrucvarsCsqResponse: type: object description: Response of the `/api/v1/strucvars/csq` endpoint. required: - version - query - result properties: version: $ref: '#/components/schemas/VersionsInfoResponse' query: $ref: '#/components/schemas/StrucvarsCsqQuery' result: type: array items: $ref: '#/components/schemas/StrucvarsGeneTranscriptEffects' description: The resulting records for the affected genes. StrucvarsGeneTranscriptEffects: type: object description: Explanation of transcript effect per individual gene. required: - hgnc_id - transcript_effects properties: hgnc_id: type: string description: HGNC identifier transcript_effects: type: array items: $ref: '#/components/schemas/StrucvarsTranscriptEffect' description: Transcript effects for the gene. StrucvarsSvType: type: string description: Structural Variant type. enum: - DEL - DUP - INS - INV - BND StrucvarsTranscriptEffect: type: string description: Enumeration for effect on transcript. enum: - transcript_variant - exon_variant - splice_region_variant - intron_variant - upstream_variant - downstream_variant - intergenic_variant Transcript: type: object description: Transcript information. required: - id - gene_symbol - gene_id - biotype - tags - genome_alignments properties: id: type: string description: Transcript accession with version, e.g., `"NM_007294.3"` or `"ENST00000461574.1"` for BRCA1. gene_symbol: type: string description: HGNC symbol, e.g., `"BRCA1"` gene_id: type: string description: HGNC gene identifier, e.g., `"1100"` for BRCA1. biotype: $ref: '#/components/schemas/TranscriptBiotype' tags: type: array items: $ref: '#/components/schemas/TranscriptTag' description: Transcript flags. protein: type: string description: Identifier of the corresponding protein. nullable: true start_codon: type: integer format: int32 description: CDS start codon. nullable: true stop_codon: type: integer format: int32 description: CDS stop codon. nullable: true genome_alignments: type: array items: $ref: '#/components/schemas/GenomeAlignment' description: Alignments on the different genome builds. filtered: type: boolean description: Whether this transcript has an issue (e.g. MissingStopCodon), cf. `mehari::db::create::mod::Reason`. nullable: true filter_reason: type: integer format: int32 description: Reason for filtering. nullable: true minimum: 0 TranscriptBiotype: type: string description: Enumeration for `Transcript::biotype`. enum: - coding - non_coding TranscriptTag: type: string enum: - basic - ensembl_canonical - mane_select - mane_plus_clinical - ref_seq_select - selenoprotein - gencode_primary - other VersionsInfoResponse: type: object description: Response of the `/api/v1/version` endpoint. required: - software - data properties: software: $ref: '#/components/schemas/SoftwareVersions' data: type: array items: $ref: '#/components/schemas/DataVersionEntry' description: Data versions specification.