FLOW ALGEBRA
PROTEIN ISOFORM ONTOLOGY
Kireth Semantic Library | Biological Entities > Gene Expression Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/gene-expression-entities/protein-isoform-ontology.html
Status: domain-grounded formalisation; source chapter not independently verified
Version: 1.0 | Locale: en-GB | Date: 2026-10-15
Authors: Mark Higgins — Sky (Recursive AI)
01. ONTOLOGY IDENTITY
flow "ProteinIsoformOntology" v1.0
ontology.id: KIRETH.BIO.GENE_EXPRESSION.PROTEIN_ISOFORM
ontology.parent: KIRETH.BIO.GENE_EXPRESSION
ontology.subject: protein isoforms arising from one gene through distinct processing or expression routes
ontology.scope: molecular identity, provenance, generation, function and evidence
02. TYPED ENTITIES
entity Gene {id:str, organism:str, genome_build:str?}
entity Transcript {id:str, gene_id:str, exon_structure:list, coding_sequence:str?}
entity ProteinIsoform {id:str, gene_id:str, sequence:str?, length:int?, status:str}
entity CanonicalProtein {id:str, selection_authority:str, version:str}
entity ProteinVariant {id:str, isoform_id:str, change:str, evidence:str?}
entity Exon {id:str, start:int, end:int, strand:str}
entity SpliceEvent {id:str, kind:str, transcript_ids:list}
entity TranslationStartSite {id:str, coordinate:int, evidence:str?}
entity ProteolyticEvent {id:str, cleavage_site:str, enzyme:str?}
entity PostTranslationalModification {id:str, kind:str, residue:str?}
entity ProteinDomain {id:str, start:int, end:int, function:str?}
entity FunctionalAnnotation {id:str, activity:str, context:str?, evidence:str}
entity ExpressionObservation {id:str, tissue:str?, condition:str?, abundance:float?, unit:str?}
entity EvidenceRecord {id:str, method:str, source:str, date:str?, confidence:float?}
entity Organism {taxon_id:str, scientific_name:str}
03. CLASSIFICATION
class ProteinIsoform <: Protein
class AlternativeSplicingIsoform <: ProteinIsoform
class AlternativePromoterIsoform <: ProteinIsoform
class AlternativeTranslationInitiationIsoform <: ProteinIsoform
class AlternativeTerminationIsoform <: ProteinIsoform
class ProteolyticallyProcessedForm <: ProteinForm
class ModifiedProteinForm <: ProteinForm
class AllelicProteinVariant <: ProteinVariant
constraint: isoform and allelic variant are distinct identity dimensions
constraint: a post-translationally modified form is not automatically a distinct sequence isoform
constraint: 'canonical' is a reference annotation, not proof of biological predominance
04. TYPED RELATIONSHIPS
relationship transcribed_from(Transcript, Gene)
relationship translated_from(ProteinIsoform, Transcript)
relationship isoform_of(ProteinIsoform, Gene)
relationship alternative_to(ProteinIsoform, ProteinIsoform)
relationship produced_by_splicing(Transcript, SpliceEvent)
relationship initiates_at(ProteinIsoform, TranslationStartSite)
relationship contains_domain(ProteinIsoform, ProteinDomain)
relationship has_variant(ProteinIsoform, ProteinVariant)
relationship has_modification(ProteinIsoform, PostTranslationalModification)
relationship has_processed_form(ProteinIsoform, ProteolyticallyProcessedForm)
relationship performs_function(ProteinIsoform, FunctionalAnnotation)
relationship observed_in(ProteinIsoform, ExpressionObservation)
relationship supported_by(relationship, EvidenceRecord)
relationship belongs_to(ProteinIsoform, Organism)
05. IDENTITY AND NORMALISATION
identity.isoform_key := (organism.taxon_id, gene.id, protein.sequence, reference_version)
identity.transcript_key := (transcript.id, annotation_version)
identity.protein_sequence_hash := SHA256(normalise_amino_acid_sequence(sequence))
normalise_amino_acid_sequence: uppercase; remove formatting whitespace; preserve valid residue symbols
rule: identical sequences can be shared by different transcript origins
rule: distinct transcripts do not necessarily produce distinct protein isoforms
rule: identical amino-acid sequences do not establish identical biological context
rule: keep genome build, accession version and evidence provenance separate
06. ISOFORM GENERATION
process AlternativeSplicing:
input: Gene, PreMRNA, SpliceEvent
output: Transcript
conditions: splice event is supported by transcript evidence
process Translation:
input: Transcript, TranslationStartSite, GeneticCode
output: ProteinIsoform
conditions: reading frame and termination are biologically valid
process AlternativeInitiation:
input: Transcript, alternative initiation site
output: ProteinIsoform
process AlternativePromoterUsage:
input: Gene, Promoter
output: Transcript
process ProteolyticProcessing:
input: ProteinIsoform, ProteolyticEvent
output: ProteolyticallyProcessedForm
note: distinguish processing products from transcript-derived isoforms
07. BIOLOGICAL CONSTRAINTS
constraint translated_from(p,t) => isoform_of(p, gene_of(t))
constraint sequence_length(p) == count_residues(p.sequence) when sequence is complete
constraint exon_coordinates require compatible assembly and strand
constraint functional_difference requires isoform-specific evidence; sequence difference alone is insufficient
constraint protein abundance cannot be inferred solely from transcript abundance
constraint absence_of_detection != absence_of_expression
constraint disease_association != causation
constraint reference_isoform != universal_major_isoform
08. INFERENCE RULES
rule R01: IF translated_from(p,t) AND transcribed_from(t,g) THEN isoform_of(p,g)
rule R02: IF isoform_of(p1,g) AND isoform_of(p2,g) AND sequence(p1) != sequence(p2) THEN candidate_alternative_isoforms(p1,p2)
rule R03: IF translated_from(p1,t1) AND translated_from(p2,t2) AND sequence(p1) == sequence(p2) THEN sequence_equivalent(p1,p2)
rule R04: IF contains_domain(p1,d) AND NOT contains_domain(p2,d) THEN candidate_domain_difference(p1,p2,d)
rule R05: IF observed_in(p,tissue) AND supported_by(observation,e) THEN tissue_evidence(p,tissue,e)
rule R06: IF isoform_specific_peptide(p,peptide) AND detected(peptide,sample) THEN supports_presence(p,sample)
rule R07: IF transcript_expression(t) THEN possible_translation(t) [non-deterministic]
rule R08: IF modification_detected(p,m) THEN has_modification(p,m) [not necessarily new isoform]
09. FUNCTIONAL SEMANTICS
function comparison(p1,p2):
compare amino_acid_sequence
compare length and terminal regions
compare domains and motifs
compare localisation signals
compare catalytic and binding sites
compare stability, interactions and localisation if measured
compare tissue, developmental stage and condition
attach evidence and uncertainty to each result
output: IsoformDifferenceReport
10. EXPRESSION AND QUANTIFICATION
measurement RNASeqIsoformAbundance:
unit: TPM | estimated_counts
caveat: ambiguous read assignment among overlapping transcripts
measurement ProteomicsIsoformAbundance:
unit: intensity | spectral_count | absolute_amount
caveat: shared peptides do not uniquely identify an isoform
measurement IsoformSpecificEvidence:
methods: junction_reads | long_read_sequencing | unique_peptides | targeted_assays
rule: quantify only at resolution supported by assay
rule: propagate mapping ambiguity and detection limits
11. RECURSIVE REASONING
recursive flow ResolveProteinIsoform(gene, observations, depth=0):
require depth <= MAX_RECURSION_DEPTH
gather transcript models and protein accessions
validate species, reference builds and versions
construct candidate translated sequences
merge sequence-identical candidates while preserving transcript provenance
associate isoform-specific observations
infer candidate structure and function differences
recursively inspect upstream splice events and downstream protein forms
terminate on visited entity keys or stable evidence state
return candidates, relationships, confidence, unresolved_conflicts
MAX_RECURSION_DEPTH: 8
cycle_policy: visited_set + fixed_point_detection
12. CONFIDENCE
CONFIDENCE:
range: [0.0,1.0]
factors: evidence_quality, sequence_uniqueness, annotation_consistency, assay_specificity, reproducibility
aggregation: evidence-aware; do not multiply dependent observations as independent
default_unverified: null
thresholds:
high: >= 0.85
moderate: >= 0.60 and < 0.85
low: < 0.60
rule: inferred confidence is not an experimental probability without calibration
13. SEMANTIC_EQUIVALENCE
SEMANTIC_EQUIVALENCE:
exact: same sequence and reference context, or explicitly mapped stable accession
close: highly similar sequence with differing annotation context
related: products of same gene with distinct sequences
not_equivalent: transcript_isoform versus protein_isoform; allelic_variant versus splice_isoform
preserve: species, accession_version, processing_state, isoform_definition
alias_examples: ["protein isoform", "alternative protein isoform"]
14. PROVENANCE
provenance.required: source, accession, version, organism, method, date_or_release
provenance.optional: genome_build, sample, tissue, condition, assay, curator
provenance.policy: distinguish predicted, annotated, experimentally observed and manually reviewed claims
provenance.conflicts: retain competing records rather than silently overwriting
15. FLOW_HASH
FLOW_HASH:
algorithm: SHA-256
canonical_input: ontology.id + version + normalised_entity_schema + relationship_schema + rules + source_revision
exclude: generated hash field and volatile processing timestamps
output: lowercase_hex_digest
purpose: integrity and change tracking; not a proof of biological truth
16. UPDATE_MODEL
UPDATE_MODEL:
triggers: accession_revision | new_transcript | new_proteomics_evidence | annotation_correction | new_functional_assay
steps:
- ingest new evidence with provenance
- validate identifiers and biological constraints
- reconcile transcript-to-protein mappings
- recompute sequence equivalence and differences
- update confidence without deleting historical records
- regenerate FLOW_HASH and change log
versioning: semantic_version + immutable_revision_history
rollback: supported
17. AI_CONSUMPTION
AI_CONSUMPTION:
formats: plain_text | JSON-LD | RDF | typed_graph
entities: stable identifiers and explicit types
relationships: direction, scope, evidence, confidence
retrieval_keys: gene_id, transcript_id, protein_accession, taxon_id, sequence_hash
inference_policy: distinguish facts, hypotheses, predictions and unknowns
safety: no unsupported clinical inference from isoform association
interoperability: link to Gene, Transcript, Exon, Protein, RNA and Regulatory Protein ontologies
18. VALIDATION TESTS
test V01: transcript-derived protein maps to its gene
test V02: two transcripts with identical protein sequences are not forced into distinct sequence isoforms
test V03: post-translational modification alone does not imply transcript-derived isoform
test V04: incompatible genome assemblies raise provenance warning
test V05: proteomics shared peptides cannot assert unique isoform identification
test V06: recursion halts on repeated entities
test V07: missing confidence remains null, never fabricated
test V08: canonical isoform selection is source-qualified
19. EXAMPLE (ILLUSTRATIVE, NOT A DATABASE ASSERTION)
Gene G -> Transcript T1 -> ProteinIsoform P1
Gene G -> Transcript T2 -> ProteinIsoform P2
SpliceEvent S -> T2
P1 sequence differs from P2 sequence
Inference: P1 and P2 are candidate alternative isoforms of G
Required for confirmed functional difference: isoform-specific functional evidence
20. OUTPUT CONTRACT
output:
ontology: ProteinIsoformOntology
typed_entities: list
typed_relationships: list
isoform_comparisons: list
evidence: list
confidence: nullable_float
semantic_equivalence: list
provenance: list
flow_hash: sha256_digest_on_execution
update_model: versioned_changes
ai_consumption: typed_export
END FLOW ALGEBRA
Download Code
Copy to Clipboard