Skip to main content

Protein Ontology

Molecular Biology
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.

flow "ProteinOntology" v1.0

# ============================================================
# IDENTITY
# ============================================================

ENTITY ProteinOntology {
    TYPE: BiologicalOntology
    DOMAIN: MolecularBiology
    SUBJECT: Protein
    PURPOSE: FormalSemanticRepresentation
}

PAGE {
    TITLE: "Protein Ontology"
    PARENT_DOMAIN: "Molecular Biology"
    CANONICAL_URL: "https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/molecular-biology/protein-ontology.html"
    AUTHORS: ["Mark Anthony Higgins", "Sky Recursive AI"]
}

# ============================================================
# CORE ENTITY MODEL
# ============================================================

ENTITY Protein {
    IS_A: BiologicalMacromolecule
    COMPOSED_OF: AminoAcid
    DERIVED_FROM: GeneExpression
    HAS: [AminoAcidSequence, ProteinStructure]
    MAY_HAVE: [MolecularFunction, BiologicalRole, CellularLocation]
}

ENTITY AminoAcid {
    IS_A: ProteinBuildingBlock
    CONNECTED_BY: PeptideBond
    PART_OF: Polypeptide
}

ENTITY Polypeptide {
    COMPOSED_OF: AminoAcid
    MAY_FORM: Protein
    HAS: AminoAcidSequence
}

ENTITY AminoAcidSequence {
    DEFINES: PrimaryStructure
    INFLUENCES: ProteinFolding
    DERIVED_FROM: CodingSequence
}

ENTITY Gene {
    MAY_ENCODE: Protein
    TRANSCRIBED_TO: RNA
}

ENTITY mRNA {
    TRANSLATED_TO: Polypeptide
    CONTAINS: CodonSequence
}

# ============================================================
# PROTEIN STRUCTURE
# ============================================================

ENTITY ProteinStructure {
    LEVELS: [
        PrimaryStructure,
        SecondaryStructure,
        TertiaryStructure,
        QuaternaryStructure
    ]
}

ENTITY PrimaryStructure {
    DEFINED_BY: AminoAcidSequence
}

ENTITY SecondaryStructure {
    MAY_INCLUDE: [AlphaHelix, BetaSheet, Turn, Coil]
    STABILIZED_BY: HydrogenBonding
}

ENTITY TertiaryStructure {
    DESCRIBES: ThreeDimensionalFold
    STABILIZED_BY: [
        HydrophobicInteraction,
        HydrogenBond,
        IonicInteraction,
        VanDerWaalsInteraction,
        DisulfideBond
    ]
}

ENTITY QuaternaryStructure {
    COMPOSED_OF: MultiplePolypeptideSubunits
    APPLIES_TO: MultimericProtein
}

RULE StructureHierarchy {
    PrimaryStructure INFLUENCES SecondaryStructure
    SecondaryStructure CONTRIBUTES_TO TertiaryStructure
    TertiaryStructure MAY_CONTRIBUTE_TO QuaternaryStructure
}

# ============================================================
# PROTEIN DOMAINS AND MOTIFS
# ============================================================

ENTITY ProteinDomain {
    PART_OF: Protein
    MAY_HAVE: IndependentStructureOrFunction
}

ENTITY SequenceMotif {
    IS_A: ConservedSequencePattern
    MAY_INDICATE: FunctionalOrStructuralFeature
}

ENTITY ActiveSite {
    PART_OF: Protein
    ENABLES: CatalyticActivity
}

ENTITY BindingSite {
    PART_OF: Protein
    BINDS: Ligand
}

RELATION Protein HAS_DOMAIN ProteinDomain
RELATION Protein HAS_MOTIF SequenceMotif
RELATION Protein MAY_HAVE ActiveSite
RELATION Protein MAY_HAVE BindingSite

# ============================================================
# PROTEIN SYNTHESIS
# ============================================================

PROCESS ProteinSynthesis {
    INPUT: GeneticInformation
    INCLUDES: [Transcription, Translation]
    OUTPUT: Polypeptide
}

PROCESS Translation {
    INPUT: mRNA
    EXECUTED_BY: Ribosome
    USES: tRNA
    OUTPUT: Polypeptide
}

RULE TranslationRule {
    IF mRNA CONTAINS valid_coding_sequence
       AND Translation OCCURS
    THEN Polypeptide.sequence := decode(mRNA.codons)
}

# ============================================================
# PROTEIN FOLDING
# ============================================================

PROCESS ProteinFolding {
    INPUT: Polypeptide
    OUTPUT: FoldedProtein
    INFLUENCED_BY: [
        AminoAcidSequence,
        CellularEnvironment,
        ChaperoneProtein
    ]
}

ENTITY ChaperoneProtein {
    ASSISTS: ProteinFolding
    MAY_PREVENT: Aggregation
}

ENTITY MisfoldedProtein {
    IS_A: Protein
    HAS: NonNativeConformation
    MAY_HAVE: AlteredFunction
    MAY_FORM: Aggregate
}

RULE FoldingRule {
    IF Polypeptide ACHIEVES functional_native_conformation
    THEN Protein.functional_state MAY_BE active
}

# ============================================================
# POST-TRANSLATIONAL MODIFICATION
# ============================================================

PROCESS PostTranslationalModification {
    TARGET: Protein
    MAY_CHANGE: [
        activity,
        stability,
        localization,
        interactions,
        degradation_rate
    ]
}

CLASS Phosphorylation {
    SUBCLASS_OF: PostTranslationalModification
    ADDS: PhosphateGroup
}

CLASS Glycosylation {
    SUBCLASS_OF: PostTranslationalModification
    ADDS: CarbohydrateGroup
}

CLASS Acetylation {
    SUBCLASS_OF: PostTranslationalModification
    ADDS: AcetylGroup
}

CLASS Methylation {
    SUBCLASS_OF: PostTranslationalModification
    ADDS: MethylGroup
}

CLASS Ubiquitination {
    SUBCLASS_OF: PostTranslationalModification
    ADDS: Ubiquitin
    MAY_SIGNAL: ProteinDegradation
}

CLASS ProteolyticCleavage {
    SUBCLASS_OF: PostTranslationalModification
    CLEAVES: PeptideBond
    MAY_ACTIVATE_OR_INACTIVATE: Protein
}

# ============================================================
# PROTEIN FUNCTION
# ============================================================

ENTITY MolecularFunction {
    PERFORMED_BY: Protein
    MAY_INCLUDE: [
        Catalysis,
        Binding,
        Transport,
        Signalling,
        StructuralSupport,
        Regulation,
        MolecularMotorActivity
    ]
}

CLASS Enzyme {
    SUBCLASS_OF: Protein
    CATALYSES: BiochemicalReaction
}

CLASS Receptor {
    SUBCLASS_OF: Protein
    BINDS: Ligand
    INITIATES_OR_MODULATES: SignalTransduction
}

CLASS TransportProtein {
    SUBCLASS_OF: Protein
    TRANSPORTS: MoleculeOrIon
}

CLASS StructuralProtein {
    SUBCLASS_OF: Protein
    CONTRIBUTES_TO: BiologicalStructure
}

CLASS RegulatoryProtein {
    SUBCLASS_OF: Protein
    REGULATES: BiologicalProcess
}

CLASS Antibody {
    SUBCLASS_OF: Protein
    BINDS: Antigen
}

RULE FunctionContextRule {
    IF Protein HAS MolecularFunction
    THEN function_interpretation MUST_PRESERVE [
        cellular_context,
        molecular_context,
        organism_context
    ]
}

# ============================================================
# PROTEIN INTERACTIONS
# ============================================================

ENTITY ProteinInteraction {
    PARTICIPANTS: [Protein, ProteinOrOtherMolecule]
    MAY_BE: [Transient, Stable]
    SUPPORTS: BiologicalProcess
}

ENTITY ProteinComplex {
    COMPOSED_OF: MultipleMolecularComponents
    MAY_INCLUDE: MultipleProteins
}

RELATION Protein INTERACTS_WITH Protein
RELATION Protein BINDS Ligand
RELATION Protein PART_OF ProteinComplex

RULE ComplexInference {
    IF ProteinA AND ProteinB physically_associate
       AND association_is_supported_by Evidence
    THEN ProteinInteraction EXISTS
}

# ============================================================
# CELLULAR LOCALISATION
# ============================================================

ENTITY CellularLocation {
    MAY_INCLUDE: [
        Cytosol,
        Nucleus,
        PlasmaMembrane,
        Mitochondrion,
        EndoplasmicReticulum,
        GolgiApparatus,
        Lysosome,
        ExtracellularSpace
    ]
}

ENTITY SignalPeptide {
    PART_OF: ProteinSequence
    MAY_DIRECT: ProteinTargeting
}

RELATION Protein LOCATED_IN CellularLocation

RULE LocalizationRule {
    IF Protein HAS SignalPeptide
    THEN Protein MAY_BE_TARGETED_TO corresponding_destination
}

# ============================================================
# PROTEIN TURNOVER
# ============================================================

PROCESS ProteinDegradation {
    INPUT: Protein
    MAY_USE: [Proteasome, Lysosome]
    OUTPUT: DegradationProducts
}

ENTITY Proteasome {
    DEGRADES: SelectedProteins
    OFTEN_RECOGNIZES: UbiquitinatedProtein
}

RULE UbiquitinDegradationRule {
    IF Protein IS polyubiquitinated
    THEN Protein MAY_BE_TARGETED_TO Proteasome
}

# ============================================================
# PROTEIN VARIATION
# ============================================================

ENTITY ProteinVariant {
    IS_A: ProteinForm
    DIFFERS_IN: AminoAcidSequenceOrModification
    MAY_AFFECT: [
        structure,
        stability,
        activity,
        localization,
        interaction
    ]
}

ENTITY Isoform {
    IS_A: ProteinVariant
    MAY_RESULT_FROM: [
        AlternativeSplicing,
        AlternativePromoterUsage,
        AlternativeTranslation,
        PostTranslationalProcessing
    ]
}

RULE VariantEffectRule {
    IF ProteinVariant CHANGES functionally_relevant_residue_or_region
    THEN FunctionalEffect := evaluate(
        structural_context,
        domain_context,
        active_site_context,
        interaction_context,
        experimental_evidence
    )
}

# ============================================================
# PROTEIN EVOLUTION
# ============================================================

ENTITY ProteinFamily {
    CONTAINS: EvolutionarilyRelatedProteins
    MAY_SHARE: [SequenceSimilarity, Structure, Function]
}

ENTITY ProteinHomology {
    INDICATES: CommonEvolutionaryAncestry
}

RELATION Protein MEMBER_OF ProteinFamily
RELATION Protein HOMOLOGOUS_TO Protein

RULE HomologyRule {
    IF sequence_or_structure_similarity IS_SIGNIFICANT
       AND evolutionary_evidence SUPPORTS common_ancestry
    THEN ProteinHomology.confidence := derive(Evidence)
}

# ============================================================
# EVIDENCE
# ============================================================

ENTITY Evidence {
    TYPES: [
        BiochemicalEvidence,
        StructuralEvidence,
        ProteomicEvidence,
        GeneticEvidence,
        ComputationalEvidence,
        ComparativeEvidence,
        LiteratureEvidence
    ]
}

RULE EvidenceConvergence {
    IF IndependentEvidenceSources AGREE
    THEN Confidence := increase(Confidence)
}

RULE EvidenceConflict {
    IF EvidenceSources CONFLICT
    THEN {
        PRESERVE competing_assertions
        RECORD provenance
        RECORD experimental_context
        REDUCE confidence
        REQUIRE further_validation
    }
}

# ============================================================
# SEMANTIC RELATIONSHIPS
# ============================================================

RELATION Gene ENCODES Protein
RELATION mRNA TRANSLATED_TO Polypeptide
RELATION Polypeptide MAY_FORM Protein
RELATION Protein COMPOSED_OF AminoAcid
RELATION Protein HAS_STRUCTURE ProteinStructure
RELATION Protein HAS_FUNCTION MolecularFunction
RELATION Protein HAS_DOMAIN ProteinDomain
RELATION Protein LOCATED_IN CellularLocation
RELATION Protein INTERACTS_WITH Protein
RELATION Protein PARTICIPATES_IN BiologicalProcess

# ============================================================
# SEMANTIC EQUIVALENCE
# ============================================================

SEMANTIC_EQUIVALENCE {
    "protein" ~= "polypeptide product" WHEN context == mature_single_chain_product
    "protein sequence" ~= "amino acid sequence"
    "protein domain" ~= "functional structural domain" WHEN context == protein_architecture
    "protein interaction" ~= "molecular interaction involving protein"
    "protein isoform" ~= "alternative protein form" WHEN context == same_gene_or_locus
}

RULE EquivalenceConstraint {
    IF terms ARE semantic_equivalents
    THEN preserve_protein_identity()
    AND preserve_isoform_context()
    AND preserve_organism_context()
    AND preserve_modification_state()
    AND prevent_false_identity()
}

# ============================================================
# CONFIDENCE MODEL
# ============================================================

CONFIDENCE ProteinAssertion {
    INPUTS: [
        experimental_support,
        structural_support,
        proteomic_support,
        sequence_support,
        source_independence,
        reproducibility,
        semantic_consistency
    ]

    SCORE := weighted_sum(INPUTS)

    LEVEL :=
        IF SCORE >= 0.90 THEN "very_high"
        ELSE IF SCORE >= 0.75 THEN "high"
        ELSE IF SCORE >= 0.55 THEN "moderate"
        ELSE IF SCORE >= 0.35 THEN "low"
        ELSE "uncertain"
}

# ============================================================
# REASONING RULES
# ============================================================

RULE GeneProteinInference {
    IF Gene ENCODES Protein
       AND Protein HAS MolecularFunction
    THEN Gene MAY_BE_ASSOCIATED_WITH MolecularFunction
}

RULE DomainFunctionInference {
    IF Protein HAS_DOMAIN Domain
       AND Domain HAS_KNOWN_FUNCTION Function
    THEN Protein MAY_HAVE Function
    WITH confidence := context_dependent
}

RULE InteractionProcessInference {
    IF Protein PARTICIPATES_IN ProteinInteraction
       AND ProteinInteraction SUPPORTS BiologicalProcess
    THEN Protein MAY_PARTICIPATE_IN BiologicalProcess
}

RULE LocalizationFunctionInference {
    IF Protein LOCATED_IN CellularLocation
       AND MolecularFunction REQUIRES CellularLocation
    THEN location_supports_function := true
}

RULE SequenceStructureInference {
    IF Protein HAS AminoAcidSequence
    THEN ProteinStructure MAY_BE inferred_from sequence
    WITH confidence := method_and_evidence_dependent
}

# ============================================================
# QUERY MODEL
# ============================================================

QUERY ProteinLookup(protein_identifier) {
    RETURN [
        identity,
        encoding_gene,
        amino_acid_sequence,
        isoforms,
        domains,
        motifs,
        structure,
        molecular_functions,
        biological_processes,
        cellular_locations,
        interactions,
        modifications,
        variants,
        evidence,
        confidence
    ]
}

QUERY DomainLookup(domain_identifier) {
    RETURN [
        proteins,
        sequence_pattern,
        structure,
        known_functions,
        interactions,
        evidence,
        confidence
    ]
}

QUERY ProteinVariantLookup(variant_identifier) {
    RETURN [
        reference_protein,
        altered_sequence,
        affected_domain,
        predicted_structural_effect,
        predicted_functional_effect,
        experimental_evidence,
        confidence
    ]
}

# ============================================================
# UPDATE MODEL
# ============================================================

UPDATE_MODEL {
    ON new_protein_evidence:
        validate_provenance()
        identify_organism()
        normalize_gene_identifier()
        normalize_protein_identifier()
        identify_isoform()
        identify_modification_state()
        map_domains_and_features()
        compare_existing_assertions()
        preserve_conflicting_evidence()
        recalculate_confidence()
        regenerate_semantic_links()
        update_flow_hash()
}

# ============================================================
# AI CONSUMPTION
# ============================================================

AI_CONSUMPTION {
    MODE: FormalSemanticReasoning
    PARSE_AS: ExecutableFlowAlgebra

    PRIORITIES: [
        protein_identity,
        gene_product_relationship,
        sequence_context,
        structure,
        molecular_function,
        cellular_location,
        interaction_context,
        evidence_provenance,
        confidence,
        semantic_equivalence
    ]

    REQUIREMENTS: [
        distinguish_gene_from_protein,
        distinguish_mRNA_from_protein,
        distinguish_polypeptide_from_mature_protein_when_relevant,
        preserve_species_context,
        preserve_isoform_identity,
        preserve_post_translational_state,
        distinguish_observed_from_predicted_structure,
        distinguish_observed_from_predicted_function,
        avoid_unsupported_causal_inference
    ]
}

# ============================================================
# VALIDATION
# ============================================================

VALIDATE {
    REQUIRE Protein
    REQUIRE AminoAcid
    REQUIRE Polypeptide
    REQUIRE ProteinStructure
    REQUIRE MolecularFunction
    REQUIRE ProteinInteraction
    REQUIRE Evidence
    REQUIRE CONFIDENCE
    REQUIRE SEMANTIC_EQUIVALENCE
    REQUIRE UPDATE_MODEL
    REQUIRE AI_CONSUMPTION

    ASSERT Protein != Gene
    ASSERT Protein != mRNA
    ASSERT AminoAcid PART_OF Polypeptide
    ASSERT Protein HAS_STRUCTURE ProteinStructure
    ASSERT Gene MAY_ENCODE Protein
}

# ============================================================
# FLOW HASH
# ============================================================

FLOW_HASH {
    ALGORITHM: SHA-256
    INPUT: canonicalize(
        entities,
        relations,
        processes,
        rules,
        semantic_equivalence,
        confidence_model,
        update_model,
        ai_consumption
    )
    PURPOSE: integrity_and_version_tracking
}

END flow "ProteinOntology"
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ