Skip to main content

Protein Isoform Ontology

Gene Expression Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 October 2026
Audio Overview
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
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ