Gene Fusion
Definition and Information Model
Warning
This data class is at a draft maturity level and may change significantly in future releases. Maturity levels are described in the GKS Maturity Model.
Computational Definition
A representation of the joining of two genes resulting in a chimeric transcript and/or novel interaction between a rearranged regulatory elements with the expression of a partner gene product (a regulatory fusion).
Information Model
A GeneFusion is a Categorical Variant with at least one constraint:
An Adjacency Constraint with the adjoinedElements array containing either an iriReference, MappableConcept, Location, or an UnspecifiedElement as elements.
Examples
The following example Categorical Variants satisfy this Recipe:
Implementation Guidance
Constraints
We recommend following the Variant Interpretation for Cancer Consortium (VICC)’s Gene Fusion Specification when modeling a Gene Fusion with the Adjacency Constraint. Specifically by:
Representing Named Gene Components as a MappableConcept with the conceptType field set to “Gene”; the Gene Normalizer can help.
Representing Multiple Possible Gene Components as an UnspecifiedElement within the Adjacency Constraint. An exhaustive or non-exhaustive list of possible elements can be included as an Extension. We recommend setting the value to be a ConceptSet with the membershipOperator field set to “OR”.
Representing an Unknown Gene Component as an UnspecifiedElement.
While they do not currently utilize Cat-VRS, the VICC FUSOR <https://github.com/cancervariants/fusor> and Fusion-Builder <https://github.com/cancervariants/fusion-builder> tools can assist with representing Gene Fusions according to the VICC Gene Fusion Specification.
Members
When modeling a Gene Fusion, members may be populated with VRS Adjacency objects, where the adjoinedSequences property can be populated with two VRS objects that are either:
VRS’ Implementation Guidance for Adjacency objects contains guidance on sequence locations and directionality, normalization, and linker sequences.
We recommend the following resources for constructing Sequence Location objects:
vrs-python is a Python package and reference implementation for VRS that can be used to generate VRS digests.
SeqRepo provides access to reference sequences and can be used to obtain Sequence Reference information, such as names and aliases, when constructing Sequence Reference objects directly.
Note
While neither the moleculeType nor residueAlphabet are required attributes for a Sequence Reference, we strongly recommend populating them within your implementation to clearly communicate to users what type of sequence your SequenceReference exists upon. Consider the following values, depending on the type of SequenceReference expressed:
Sequence reference type |
moleculeType |
residueAlphabet |
|---|---|---|
Genomic |
genomic |
na |
RNA |
RNA |
na |
mRNA |
mRNA |
na |
Protein |
protein |
aa |
For additional Implementation Guidance, please visit VRS’ page for the Sequence Location concept.