fusor.models¶
Model for FUSOR classes
- class fusor.models.AbstractFusion(**data)[source]¶
Define AbstractFusion 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.
-
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.AnchoredReads(**data)[source]¶
Define AnchoredReads class
This class can be used to report the number of reads that span the fusion junction. This is used at the TranscriptSegment level, as it indicates the transcript where the longer segment of the read is found
- 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]¶
-
contig:
Optional[ContigSequence][source]¶
-
structure:
list[Annotated[TranscriptSegmentElement|GeneElement|TemplatedSequenceElement|LinkerElement|UnknownGeneElement|ContigSequence|ReadData]][source]¶
-
causativeEvent:
- class fusor.models.BaseModelForbidExtra(**data)[source]¶
Base Pydantic model class with extra values forbidden.
- class fusor.models.BreakpointCoverage(**data)[source]¶
Define BreakpointCoverage class.
This class models breakpoint coverage, or the number of fragments that are retained near the breakpoint for a fusion partner
- 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]¶
-
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.ContigSequence(**data)[source]¶
Define ContigSequence class.
This class models the assembled contig sequence that supports the reported fusion 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
-
status:
DomainStatus[source]¶
-
status:
- 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.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.ReadData(**data)[source]¶
Define ReadData class.
This class is used at the AssayedFusion level when a fusion caller reports metadata describing sequencing reads for the fusion event
-
spanning:
Optional[SpanningReads][source]¶
-
split:
Optional[SplitReads][source]¶
-
spanning:
- 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.
-
regulatoryClass:
RegulatoryClass[source]¶
- class fusor.models.SpanningReads(**data)[source]¶
Define SpanningReads class.
This class models the number of pairs of reads that support the reported fusion event
- class fusor.models.SplitReads(**data)[source]¶
Define SplitReads class.
This class models the number of reads that cover the junction bewteen the detected partners in the fusion
- 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 TemplatedSequenceElement class.
A templated sequence is a contiguous genomic sequence found in the gene product.
- class fusor.models.TranscriptSegmentElement(**data)[source]¶
Define TranscriptSegmentElement class
-
anchoredReads:
Optional[AnchoredReads][source]¶
- 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
-
coverage:
Optional[BreakpointCoverage][source]¶
-
anchoredReads:
- 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.
- fusor.models.save_fusions_cache(fusions_list, cache_name, cache_dir=None)[source]¶
Save a list of translated fusions as a cache
- Parameters:
fusions_list (
list[AssayedFusion|CategoricalFusion]) – A list of FUSOR-translated fusionscache_name (
str) – The name for the resultant cached filecache_dir (
Optional[Path]) – The location to store the cached file. If this parameter is not supplied, it will default to storing data in the FUSOR_DATA_DIR directory
- Return type:
None