fusor.models#
Model for fusion class
- class fusor.models.AbstractFusion(**data)[source]#
Define Fusion class
- classmethod enforce_element_quantities(values)[source]#
Ensure minimum # of elements, and require > 1 unique genes.
To validate the unique genes rule, we extract gene IDs from the elements that designate genes, and take the number of total elements. If there is only one unique gene ID, and there are no non-gene-defining elements (such as an unknown partner), then we raise an error.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
-
regulatoryElement:
Optional[RegulatoryElement][source]#
-
structure:
list[BaseStructuralElement][source]#
- classmethod structure_ends(values)[source]#
Ensure start/end elements are of legal types and have fields required by their position.
-
type:
FusionType[source]#
- class fusor.models.AdditionalFields(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Define possible fields that can be added to Fusion object.
- class fusor.models.Assay(**data)[source]#
Information pertaining to the assay used in identifying the fusion.
- class fusor.models.AssayedFusion(**data)[source]#
Assayed gene fusions from biological specimens are directly detected using RNA-based gene fusion assays, or alternatively may be inferred from genomic rearrangements detected by whole genome sequencing or by coarser-scale cytogenomic assays. Example: an EWSR1 fusion inferred from a breakapart FISH assay.
-
causativeEvent:
Optional[CausativeEvent][source]#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
-
structure:
list[Annotated[TranscriptSegmentElement|GeneElement|TemplatedSequenceElement|LinkerElement|UnknownGeneElement]][source]#
-
causativeEvent:
- class fusor.models.BaseModelForbidExtra(**data)[source]#
Base Pydantic model class with extra values forbidden.
- class fusor.models.BaseStructuralElement(**data)[source]#
Define base structural element class.
- class fusor.models.CategoricalFusion(**data)[source]#
Categorical gene fusions are generalized concepts representing a class of fusions by their shared attributes, such as retained or lost regulatory elements and/or functional domains, and are typically curated from the biomedical literature for use in genomic knowledgebases.
-
criticalFunctionalDomains:
Optional[list[FunctionalDomain]][source]#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
-
structure:
list[Annotated[TranscriptSegmentElement|GeneElement|TemplatedSequenceElement|LinkerElement|MultiplePossibleGenesElement]][source]#
-
criticalFunctionalDomains:
- class fusor.models.CausativeEvent(**data)[source]#
Define causative event information for a fusion.
The evaluation of a fusion may be influenced by the underlying mechanism that generated the fusion. Often this will be a DNA rearrangement, but it could also be a read-through or trans-splicing event.
- class fusor.models.DomainStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Define possible statuses of functional domains.
- class fusor.models.EventType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Permissible values for describing the underlying causative event driving an assayed fusion.
- class fusor.models.Evidence(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Form of evidence supporting identification of the fusion.
- class fusor.models.FUSORTypes(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Define FUSOR object type values.
- class fusor.models.FunctionalDomain(**data)[source]#
Define FunctionalDomain class
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
-
status:
DomainStatus[source]#
- class fusor.models.FusionType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Specify possible Fusion types.
- class fusor.models.GeneElement(**data)[source]#
Define Gene Element class.
- class fusor.models.LinkerElement(**data)[source]#
Define Linker class (linker sequence)
- class fusor.models.MultiplePossibleGenesElement(**data)[source]#
Define MultiplePossibleGenesElement class.
This is primarily intended to represent a partner in a categorical fusion, typifying generalizable characteristics of a class of fusions such as retained or lost regulatory elements and/or functional domains, often curated from biomedical literature for use in genomic knowledgebases. For example, EWSR1 rearrangements are often found in Ewing and Ewing-like small round cell sarcomas, regardless of the partner gene. We would associate this assertion with the fusion of EWSR1 with a MultiplePossibleGenesElement.
- class fusor.models.RegulatoryClass(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Define possible classes of Regulatory Elements.
Options are the possible values for
/regulatory_classvalue property in the INSDC controlled vocabulary.
- class fusor.models.RegulatoryElement(**data)[source]#
Define RegulatoryElement class.
featureIdwould ideally be constrained as a CURIE, but Encode, our preferred feature ID source, doesn’t currently have a registered CURIE structure forEH_identifiers. Consequently, we permit any kind of free text.- classmethod ensure_min_values(values)[source]#
Ensure that one of {featureId, featureLocation}, and/or associatedGene is set.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
-
regulatoryClass:
RegulatoryClass[source]#
- class fusor.models.StructuralElementType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Define possible structural element type values.
- class fusor.models.TemplatedSequenceElement(**data)[source]#
Define Templated Sequence Element class.
A templated sequence is a contiguous genomic sequence found in the gene product.
- class fusor.models.TranscriptSegmentElement(**data)[source]#
Define TranscriptSegment class
- classmethod check_exons(values)[source]#
Check that at least one of {
exonStart,exonEnd} is set. If set, check that the correspondingelementGenomicfield is set. If not set, set corresponding offset toNone
- class fusor.models.UnknownGeneElement(**data)[source]#
Define UnknownGene class.
This is primarily intended to represent a partner in the result of a fusion partner-agnostic assay, which identifies the absence of an expected gene. For example, a FISH break-apart probe may indicate rearrangement of an MLL gene, but by design, the test cannot provide the identity of the new partner. In this case, we would associate any clinical observations from this patient with the fusion of MLL with an UnknownGene element.