From 76b220b85213200c85bc502479337481129ea37b Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 16 Jun 2026 21:10:54 -0700 Subject: [PATCH] Drop label-duplicating synonyms (seeder fix + clean 39 existing records) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The METPO seeder copied each class label into a same-text RELATED/EXACT synonym (source: metpo.owl) — redundant per OBO convention (the label already represents that string; no information beyond it). 39 trait records carried such a synonym. - seed_from_metpo.py: at emit time, skip any synonym whose text equals the label (case-insensitive) and de-dupe repeated synonym_texts, so the seeder no longer introduces them. - Migrated the 39 existing records: removed the redundant synonym (37 RELATED + 2 EXACT), REMOVE_REDUNDANT_SYNONYM curation event per file. syn==label now 0. validate-strict 0 errors; 90 tests pass; seeder dry-run clean. Pages regenerated. Co-Authored-By: Claude Fable 5 --- data/traits/ecology/animal_pathogen.yaml | 10 ++-- data/traits/ecology/human_pathogen.yaml | 10 ++-- data/traits/ecology/plant_pathogen.yaml | 10 ++-- data/traits/environment/aerobic.yaml | 9 ++-- data/traits/environment/aerotolerant.yaml | 9 ++-- data/traits/environment/anaerobic.yaml | 9 ++-- data/traits/environment/euryhaline.yaml | 10 ++-- .../environment/extremely_halophilic.yaml | 9 ++-- .../facultative_psychrophilic.yaml | 9 ++-- .../facultatively_acidophilic.yaml | 9 ++-- data/traits/environment/haloalkaliphilic.yaml | 10 ++-- data/traits/environment/halophilic.yaml | 10 ++-- data/traits/environment/halotolerant.yaml | 10 ++-- .../traits/environment/hyperthermophilic.yaml | 9 ++-- data/traits/environment/mesophilic.yaml | 10 ++-- data/traits/environment/microaerophilic.yaml | 9 ++-- .../traits/environment/microaerotolerant.yaml | 10 ++-- .../environment/moderately_halophilic.yaml | 9 ++-- .../environment/obligately_acidophilic.yaml | 9 ++-- data/traits/environment/psychrophilic.yaml | 10 ++-- data/traits/environment/psychrotolerant.yaml | 10 ++-- .../environment/slightly_halophilic.yaml | 10 ++-- data/traits/environment/stenohaline.yaml | 10 ++-- .../environment/strictly_anaerobic.yaml | 9 ++-- data/traits/environment/thermophilic.yaml | 10 ++-- data/traits/environment/thermotolerant.yaml | 10 ++-- data/traits/metabolism/acetogenesis.yaml | 9 ++-- data/traits/metabolism/builds_acid_from.yaml | 10 ++-- data/traits/metabolism/builds_base_from.yaml | 10 ++-- data/traits/metabolism/builds_gas_from.yaml | 10 ++-- data/traits/metabolism/fermentation.yaml | 10 ++-- data/traits/metabolism/methanogenesis.yaml | 9 ++-- data/traits/metabolism/produces.yaml | 10 ++-- data/traits/morphology/ellipsoidal.yaml | 10 ++-- data/traits/morphology/gliding.yaml | 10 ++-- data/traits/morphology/motile.yaml | 9 ++-- data/traits/morphology/motility.yaml | 9 ++-- data/traits/morphology/sporulation.yaml | 9 ++-- data/traits/physiology/heterotrophic.yaml | 9 ++-- pages/category/ecology.html | 8 ++-- pages/category/environment.html | 48 +++++++++---------- pages/category/genomics.html | 2 +- pages/category/metabolism.html | 16 +++---- pages/category/morphology.html | 12 ++--- pages/category/observation.html | 2 +- pages/category/physiology.html | 4 +- pages/category/quantitative_property.html | 2 +- pages/category/upper.html | 2 +- pages/index.html | 2 +- pages/traits/ecology/animal_pathogen.html | 17 +++---- pages/traits/ecology/biofilm_formation.html | 2 +- pages/traits/ecology/biosafety_level.html | 2 +- pages/traits/ecology/biosafety_level_1.html | 2 +- pages/traits/ecology/biosafety_level_2.html | 2 +- pages/traits/ecology/biosafety_level_3.html | 2 +- pages/traits/ecology/biosafety_level_4.html | 2 +- pages/traits/ecology/biosafety_level_5.html | 2 +- pages/traits/ecology/commensalism.html | 2 +- pages/traits/ecology/endosymbiosis.html | 2 +- pages/traits/ecology/free_living.html | 2 +- pages/traits/ecology/gut_associated.html | 2 +- pages/traits/ecology/habitat_association.html | 2 +- pages/traits/ecology/host_associated.html | 2 +- pages/traits/ecology/human_pathogen.html | 17 +++---- pages/traits/ecology/mutualism.html | 2 +- .../ecology/nitrogen_fixing_symbiosis.html | 2 +- .../ecology/opportunistic_pathogen.html | 2 +- pages/traits/ecology/parasitism.html | 2 +- pages/traits/ecology/pathogenic_to_host.html | 2 +- pages/traits/ecology/plant_pathogen.html | 17 +++---- pages/traits/ecology/predatory_bacterium.html | 2 +- .../ecology/rhizosphere_association.html | 2 +- pages/traits/ecology/saprotrophy.html | 2 +- pages/traits/ecology/soil_dwelling.html | 2 +- pages/traits/ecology/symbiosis.html | 2 +- pages/traits/environment/acidophilic.html | 2 +- pages/traits/environment/acidotolerant.html | 2 +- pages/traits/environment/aerobic.html | 12 +++-- pages/traits/environment/aerotolerant.html | 12 +++-- pages/traits/environment/alkalotolerant.html | 2 +- pages/traits/environment/alkaphilic.html | 2 +- pages/traits/environment/anaerobic.html | 12 +++-- .../traits/environment/arsenic_tolerant.html | 2 +- .../traits/environment/cadmium_tolerant.html | 2 +- pages/traits/environment/cobalt_tolerant.html | 2 +- pages/traits/environment/copper_tolerant.html | 2 +- ...delta_phenotype_with_numerical_limits.html | 2 +- .../environment/desiccation_tolerant.html | 2 +- pages/traits/environment/euryhaline.html | 17 +++---- .../extreme_hyperthermophilic.html | 2 +- .../environment/extremely_halophilic.html | 12 +++-- .../facultative_oxygen_preference.html | 2 +- .../facultative_psychrophilic.html | 12 +++-- .../facultatively_acidophilic.html | 12 +++-- .../environment/facultatively_aerobic.html | 2 +- .../environment/facultatively_alkaphilic.html | 2 +- .../environment/facultatively_anaerobic.html | 2 +- ...range_phenotype_with_numerical_limits.html | 2 +- .../traits/environment/haloalkaliphilic.html | 17 +++---- pages/traits/environment/halophilic.html | 17 +++---- .../environment/halophily_preference.html | 2 +- pages/traits/environment/halotolerant.html | 17 +++---- .../traits/environment/hyperthermophilic.html | 12 +++-- .../ionizing_radiation_tolerant.html | 2 +- .../traits/environment/mercury_tolerant.html | 2 +- pages/traits/environment/mesophilic.html | 17 +++---- pages/traits/environment/metal_tolerant.html | 2 +- pages/traits/environment/microaerophilic.html | 12 +++-- .../traits/environment/microaerotolerant.html | 17 +++---- .../environment/moderately_halophilic.html | 12 +++-- pages/traits/environment/nacl_delta.html | 2 +- pages/traits/environment/nacl_delta_high.html | 2 +- pages/traits/environment/nacl_delta_low.html | 2 +- pages/traits/environment/nacl_delta_mid1.html | 2 +- pages/traits/environment/nacl_delta_mid2.html | 2 +- pages/traits/environment/nacl_optimum.html | 2 +- .../traits/environment/nacl_optimum_high.html | 2 +- .../traits/environment/nacl_optimum_low.html | 2 +- .../traits/environment/nacl_optimum_mid1.html | 2 +- .../traits/environment/nacl_optimum_mid2.html | 2 +- pages/traits/environment/nacl_range.html | 2 +- pages/traits/environment/nacl_range_high.html | 2 +- pages/traits/environment/nacl_range_low.html | 2 +- pages/traits/environment/nacl_range_mid1.html | 2 +- pages/traits/environment/nacl_range_mid2.html | 2 +- pages/traits/environment/neutrophilic.html | 2 +- pages/traits/environment/non_halophilic.html | 2 +- .../environment/obligately_acidophilic.html | 12 +++-- .../environment/obligately_aerobic.html | 2 +- .../environment/obligately_alkaphilic.html | 2 +- .../environment/obligately_anaerobic.html | 2 +- .../environment/obligately_piezophilic.html | 2 +- ...timum_phenotype_with_numerical_limits.html | 2 +- .../traits/environment/oxygen_preference.html | 2 +- pages/traits/environment/ph_delta.html | 2 +- pages/traits/environment/ph_delta_high.html | 2 +- pages/traits/environment/ph_delta_low.html | 2 +- pages/traits/environment/ph_delta_mid1.html | 2 +- pages/traits/environment/ph_delta_mid2.html | 2 +- pages/traits/environment/ph_delta_mid3.html | 2 +- .../traits/environment/ph_delta_very_low.html | 2 +- .../environment/ph_growth_preference.html | 2 +- pages/traits/environment/ph_optimum.html | 2 +- pages/traits/environment/ph_optimum_high.html | 2 +- pages/traits/environment/ph_optimum_low.html | 2 +- pages/traits/environment/ph_optimum_mid1.html | 2 +- pages/traits/environment/ph_optimum_mid2.html | 2 +- .../ph_phenotype_with_numerical_limits.html | 2 +- pages/traits/environment/ph_range.html | 2 +- pages/traits/environment/ph_range_high.html | 2 +- pages/traits/environment/ph_range_low.html | 2 +- pages/traits/environment/ph_range_mid1.html | 2 +- pages/traits/environment/ph_range_mid2.html | 2 +- pages/traits/environment/ph_range_mid3.html | 2 +- .../traits/environment/ph_range_very_low.html | 2 +- pages/traits/environment/piezophilic.html | 2 +- pages/traits/environment/piezotolerant.html | 2 +- pages/traits/environment/pressure_delta.html | 2 +- .../traits/environment/pressure_optimum.html | 2 +- pages/traits/environment/pressure_range.html | 2 +- pages/traits/environment/psychrophilic.html | 17 +++---- pages/traits/environment/psychrotolerant.html | 17 +++---- pages/traits/environment/radiotolerant.html | 2 +- ...inity_phenotype_with_numerical_limits.html | 2 +- .../environment/slightly_halophilic.html | 17 +++---- pages/traits/environment/stenohaline.html | 17 +++---- .../environment/strictly_anaerobic.html | 12 +++-- .../traits/environment/temperature_delta.html | 2 +- .../environment/temperature_delta_high.html | 2 +- .../environment/temperature_delta_low.html | 2 +- .../environment/temperature_delta_mid1.html | 2 +- .../environment/temperature_delta_mid2.html | 2 +- .../temperature_delta_very_low.html | 2 +- .../environment/temperature_optimum.html | 2 +- .../environment/temperature_optimum_high.html | 2 +- .../environment/temperature_optimum_low.html | 2 +- .../environment/temperature_optimum_mid1.html | 2 +- .../environment/temperature_optimum_mid2.html | 2 +- .../environment/temperature_optimum_mid3.html | 2 +- .../environment/temperature_optimum_mid4.html | 2 +- .../temperature_optimum_very_low.html | 2 +- ...ature_phenotype_with_numerical_limits.html | 2 +- .../environment/temperature_preference.html | 2 +- .../traits/environment/temperature_range.html | 2 +- .../environment/temperature_range_high.html | 2 +- .../environment/temperature_range_low.html | 2 +- .../environment/temperature_range_mid1.html | 2 +- .../environment/temperature_range_mid2.html | 2 +- .../environment/temperature_range_mid3.html | 2 +- .../environment/temperature_range_mid4.html | 2 +- .../temperature_range_very_low.html | 2 +- pages/traits/environment/thermophilic.html | 17 +++---- pages/traits/environment/thermotolerant.html | 17 +++---- .../environment/uv_radiation_tolerant.html | 2 +- pages/traits/environment/xerophilic.html | 2 +- pages/traits/environment/zinc_tolerant.html | 2 +- pages/traits/genomics/codon_usage_bias.html | 2 +- pages/traits/genomics/crispr_cas_system.html | 2 +- pages/traits/genomics/gc_content.html | 2 +- pages/traits/genomics/gc_high.html | 2 +- pages/traits/genomics/gc_low.html | 2 +- pages/traits/genomics/gc_mid1.html | 2 +- pages/traits/genomics/gc_mid2.html | 2 +- pages/traits/genomics/gc_skew.html | 2 +- pages/traits/genomics/genome_size.html | 2 +- .../traits/genomics/genome_streamlining.html | 2 +- pages/traits/genomics/genomic_island.html | 2 +- .../genomics/mobile_genetic_element.html | 2 +- pages/traits/genomics/pangenome_openness.html | 2 +- pages/traits/genomics/plasmid_carriage.html | 2 +- pages/traits/genomics/ploidy.html | 2 +- pages/traits/genomics/prophage.html | 2 +- .../restriction_modification_system.html | 2 +- .../genomics/rrna_operon_copy_number.html | 2 +- .../traits/genomics/transposable_element.html | 2 +- pages/traits/metabolism/accumulates.html | 2 +- pages/traits/metabolism/acetogenesis.html | 12 +++-- .../metabolism/aerobic_respiration.html | 2 +- .../anaerobic_oxidation_of_methane.html | 2 +- .../metabolism/anaerobic_respiration.html | 2 +- .../metabolism/anoxygenic_photosynthesis.html | 2 +- pages/traits/metabolism/assimilates.html | 2 +- .../metabolism/biopolymer_degradation.html | 2 +- pages/traits/metabolism/builds_acid_from.html | 17 +++---- pages/traits/metabolism/builds_base_from.html | 17 +++---- pages/traits/metabolism/builds_gas_from.html | 17 +++---- .../metabolism/cable_bacteria_metabolism.html | 2 +- .../calvin_benson_bassham_cycle.html | 2 +- pages/traits/metabolism/capable_of.html | 2 +- pages/traits/metabolism/carbon_fixation.html | 2 +- pages/traits/metabolism/cellulolysis.html | 2 +- pages/traits/metabolism/chitinolysis.html | 2 +- .../traits/metabolism/compartmentalizes.html | 2 +- pages/traits/metabolism/degrades.html | 2 +- pages/traits/metabolism/denitrification.html | 2 +- ...arboxylate_four_hydroxybutyrate_cycle.html | 2 +- .../traits/metabolism/disproportionates.html | 2 +- .../traits/metabolism/disproportionation.html | 2 +- .../dissimilatory_iron_reduction.html | 2 +- .../dissimilatory_manganese_reduction.html | 2 +- .../dissimilatory_metal_reduction.html | 2 +- ...ilatory_nitrate_reduction_to_ammonium.html | 2 +- .../dissimilatory_sulfate_reduction.html | 2 +- .../metabolism/does_not_accumulate.html | 2 +- .../metabolism/does_not_assimilate.html | 2 +- .../metabolism/does_not_build_acid_from.html | 2 +- .../metabolism/does_not_build_base_from.html | 2 +- .../metabolism/does_not_build_gas_from.html | 2 +- .../metabolism/does_not_compartmentalize.html | 2 +- pages/traits/metabolism/does_not_degrade.html | 2 +- .../metabolism/does_not_disproportionate.html | 2 +- pages/traits/metabolism/does_not_export.html | 2 +- pages/traits/metabolism/does_not_ferment.html | 2 +- .../traits/metabolism/does_not_hydrolyze.html | 2 +- pages/traits/metabolism/does_not_import.html | 2 +- pages/traits/metabolism/does_not_oxidize.html | 2 +- pages/traits/metabolism/does_not_produce.html | 2 +- pages/traits/metabolism/does_not_reduce.html | 2 +- .../traits/metabolism/does_not_sequester.html | 2 +- .../metabolism/does_not_show_activity_of.html | 2 +- .../traits/metabolism/does_not_transport.html | 2 +- .../does_not_use_as_carbon_source.html | 2 +- .../does_not_use_as_electron_acceptor.html | 2 +- .../does_not_use_as_electron_donor.html | 2 +- .../does_not_use_as_energy_source.html | 2 +- .../does_not_use_as_nitrogen_source.html | 2 +- .../does_not_use_as_sulfur_source.html | 2 +- ...es_not_use_for_aerobic_catabolization.html | 2 +- .../does_not_use_for_aerobic_growth.html | 2 +- ..._not_use_for_anaerobic_catabolization.html | 2 +- .../does_not_use_for_anaerobic_growth.html | 2 +- ..._use_for_anaerobic_growth_in_the_dark.html | 2 +- ...t_use_for_anaerobic_growth_with_light.html | 2 +- .../metabolism/does_not_use_for_growth.html | 2 +- .../does_not_use_for_respiration.html | 2 +- .../metabolism/does_not_use_in_other_way.html | 2 +- .../traits/metabolism/electron_transfer.html | 2 +- .../metabolism/enzyme_activity_analyzed.html | 2 +- .../metabolism/ethanol_fermentation.html | 2 +- pages/traits/metabolism/exports.html | 2 +- pages/traits/metabolism/fermentation.html | 17 +++---- .../fermentative_hydrogen_production.html | 2 +- pages/traits/metabolism/ferments.html | 2 +- .../has_growth_nacl_observation.html | 2 +- .../has_growth_oxygen_observation.html | 2 +- .../metabolism/has_growth_ph_observation.html | 2 +- .../has_growth_temperature_observation.html | 2 +- .../has_nacl_delta_observation.html | 2 +- .../metabolism/has_nacl_observation.html | 2 +- pages/traits/metabolism/has_observation.html | 2 +- .../has_optimum_nacl_observation.html | 2 +- .../has_optimum_oxygen_observation.html | 2 +- .../has_optimum_ph_observation.html | 2 +- .../has_optimum_temperature_observation.html | 2 +- .../has_oxygen_delta_observation.html | 2 +- .../metabolism/has_oxygen_observation.html | 2 +- .../metabolism/has_ph_delta_observation.html | 2 +- .../traits/metabolism/has_ph_observation.html | 2 +- pages/traits/metabolism/has_phenotype.html | 2 +- pages/traits/metabolism/has_quality.html | 2 +- .../has_range_nacl_observation.html | 2 +- .../has_range_oxygen_observation.html | 2 +- .../metabolism/has_range_ph_observation.html | 2 +- .../has_range_temperature_observation.html | 2 +- .../has_temperature_delta_observation.html | 2 +- .../has_temperature_observation.html | 2 +- pages/traits/metabolism/homoacetogenesis.html | 2 +- pages/traits/metabolism/hydrolyzes.html | 2 +- pages/traits/metabolism/imports.html | 2 +- pages/traits/metabolism/iron_oxidation.html | 2 +- .../is_not_required_for_growth.html | 2 +- .../metabolism/lactic_acid_fermentation.html | 2 +- .../traits/metabolism/lignin_degradation.html | 2 +- .../metabolism/manganese_oxidation.html | 2 +- pages/traits/metabolism/metabolism.html | 2 +- pages/traits/metabolism/methanogenesis.html | 12 +++-- .../metabolism/mixed_acid_fermentation.html | 2 +- .../traits/metabolism/nitrogen_fixation.html | 2 +- .../organism_interacts_with_chemical.html | 2 +- .../metabolism/oxidative_phosphorylation.html | 2 +- pages/traits/metabolism/oxidizes.html | 2 +- .../metabolism/oxygenic_photosynthesis.html | 2 +- pages/traits/metabolism/photosynthesis.html | 2 +- pages/traits/metabolism/phototrophy.html | 2 +- pages/traits/metabolism/produces.html | 17 +++---- .../propionic_acid_fermentation.html | 2 +- pages/traits/metabolism/proteolysis.html | 2 +- .../proteorhodopsin_phototrophy.html | 2 +- pages/traits/metabolism/reduces.html | 2 +- .../metabolism/reductive_tca_cycle.html | 2 +- .../metabolism/requires_for_growth.html | 2 +- pages/traits/metabolism/respiration.html | 2 +- pages/traits/metabolism/sequesters.html | 2 +- .../traits/metabolism/shows_activity_of.html | 2 +- .../traits/metabolism/starch_degradation.html | 2 +- .../substrate_level_phosphorylation.html | 2 +- pages/traits/metabolism/sulfur_oxidation.html | 2 +- pages/traits/metabolism/syntrophy.html | 2 +- .../three_hydroxypropionate_bicycle.html | 2 +- ...propionate_four_hydroxybutyrate_cycle.html | 2 +- pages/traits/metabolism/transports.html | 2 +- .../metabolism/uses_as_carbon_source.html | 2 +- .../metabolism/uses_as_electron_acceptor.html | 2 +- .../metabolism/uses_as_electron_donor.html | 2 +- .../metabolism/uses_as_energy_source.html | 2 +- .../metabolism/uses_as_nitrogen_source.html | 2 +- .../metabolism/uses_as_sulfur_source.html | 2 +- .../uses_for_aerobic_catabolization.html | 2 +- .../metabolism/uses_for_aerobic_growth.html | 2 +- .../uses_for_anaerobic_catabolization.html | 2 +- .../metabolism/uses_for_anaerobic_growth.html | 2 +- ...uses_for_anaerobic_growth_in_the_dark.html | 2 +- .../uses_for_anaerobic_growth_with_light.html | 2 +- pages/traits/metabolism/uses_for_growth.html | 2 +- .../metabolism/uses_for_respiration.html | 2 +- .../traits/metabolism/uses_in_other_way.html | 2 +- .../metabolism/wood_ljungdahl_pathway.html | 2 +- .../traits/metabolism/xylan_degradation.html | 2 +- pages/traits/morphology/amphitrichous.html | 2 +- .../traits/morphology/axially_filamented.html | 2 +- pages/traits/morphology/bacillus_shaped.html | 2 +- pages/traits/morphology/black_pigmented.html | 2 +- pages/traits/morphology/branched_shaped.html | 2 +- pages/traits/morphology/brown_pigmented.html | 2 +- pages/traits/morphology/capsule.html | 2 +- pages/traits/morphology/carboxysome.html | 2 +- .../morphology/carotenoid_pigmentation.html | 2 +- pages/traits/morphology/cell_length.html | 2 +- .../traits/morphology/cell_length_large.html | 2 +- .../traits/morphology/cell_length_medium.html | 2 +- .../traits/morphology/cell_length_small.html | 2 +- .../morphology/cell_length_very_small.html | 2 +- pages/traits/morphology/cell_shape.html | 2 +- pages/traits/morphology/cell_width.html | 2 +- pages/traits/morphology/cell_width_large.html | 2 +- .../traits/morphology/cell_width_medium.html | 2 +- pages/traits/morphology/cell_width_small.html | 2 +- .../morphology/cell_width_very_small.html | 2 +- .../morphology/coccobacillus_shaped.html | 2 +- pages/traits/morphology/coccus_shaped.html | 2 +- pages/traits/morphology/cream_pigmented.html | 2 +- pages/traits/morphology/crescent_shaped.html | 2 +- pages/traits/morphology/curved_shaped.html | 2 +- .../traits/morphology/diplococcus_shaped.html | 2 +- pages/traits/morphology/disc_shaped.html | 2 +- pages/traits/morphology/dumbbell_shaped.html | 2 +- pages/traits/morphology/ellipsoidal.html | 17 +++---- pages/traits/morphology/filament_shaped.html | 2 +- .../morphology/flagellar_arrangement.html | 2 +- pages/traits/morphology/flagellated.html | 2 +- pages/traits/morphology/flask_shaped.html | 2 +- pages/traits/morphology/fusiform_shaped.html | 2 +- pages/traits/morphology/gas_vesicle.html | 2 +- pages/traits/morphology/gliding.html | 17 +++---- pages/traits/morphology/gram_negative.html | 2 +- pages/traits/morphology/gram_positive.html | 2 +- pages/traits/morphology/gram_stain.html | 2 +- pages/traits/morphology/gram_variable.html | 2 +- pages/traits/morphology/green_pigmented.html | 2 +- pages/traits/morphology/helical_shaped.html | 2 +- pages/traits/morphology/heterocyst.html | 2 +- .../morphology/intracellular_inclusion.html | 2 +- pages/traits/morphology/irregular_shaped.html | 2 +- pages/traits/morphology/lophotrichous.html | 2 +- pages/traits/morphology/magnetosome.html | 2 +- pages/traits/morphology/monotrichous.html | 2 +- pages/traits/morphology/motile.html | 12 +++-- pages/traits/morphology/motility.html | 12 +++-- pages/traits/morphology/mycelial_growth.html | 2 +- pages/traits/morphology/non_motile.html | 2 +- .../traits/morphology/non_spore_forming.html | 2 +- pages/traits/morphology/orange_pigmented.html | 2 +- pages/traits/morphology/oval_shaped.html | 2 +- pages/traits/morphology/ovoid_shaped.html | 2 +- pages/traits/morphology/peritrichous.html | 2 +- pages/traits/morphology/pigmentation.html | 2 +- pages/traits/morphology/pink_pigmented.html | 2 +- .../traits/morphology/pleomorphic_shaped.html | 2 +- .../polyhydroxyalkanoate_granule.html | 2 +- .../morphology/polyphosphate_granule.html | 2 +- pages/traits/morphology/prosthecate.html | 2 +- pages/traits/morphology/red_pigmented.html | 2 +- pages/traits/morphology/ring_shaped.html | 2 +- pages/traits/morphology/rod_shaped.html | 2 +- pages/traits/morphology/s_layer.html | 2 +- .../morphology/sarcina_arrangement.html | 2 +- pages/traits/morphology/sphere_shaped.html | 2 +- pages/traits/morphology/spindle_shaped.html | 2 +- pages/traits/morphology/spiral_shaped.html | 2 +- .../traits/morphology/spirochete_shaped.html | 2 +- pages/traits/morphology/spore_forming.html | 2 +- pages/traits/morphology/spore_shaped.html | 2 +- pages/traits/morphology/sporulation.html | 12 +++-- pages/traits/morphology/square_shaped.html | 2 +- .../staphylococcus_arrangement.html | 2 +- pages/traits/morphology/star_shaped.html | 2 +- .../morphology/streptococcus_arrangement.html | 2 +- pages/traits/morphology/sulfur_globule.html | 2 +- .../traits/morphology/swarming_motility.html | 2 +- pages/traits/morphology/tailed_shaped.html | 2 +- .../traits/morphology/tetrad_arrangement.html | 2 +- .../traits/morphology/triangular_shaped.html | 2 +- .../traits/morphology/twitching_motility.html | 2 +- pages/traits/morphology/vibrio_shaped.html | 2 +- pages/traits/morphology/white_pigmented.html | 2 +- pages/traits/morphology/yellow_pigmented.html | 2 +- .../observation/growth_nacl_observation.html | 2 +- .../growth_oxygen_observation.html | 2 +- .../observation/growth_ph_observation.html | 2 +- .../growth_temperature_observation.html | 2 +- .../observation/nacl_delta_observation.html | 2 +- .../traits/observation/nacl_observation.html | 2 +- .../observation/nacl_range_observation.html | 2 +- .../observation/optimum_nacl_observation.html | 2 +- .../optimum_oxygen_observation.html | 2 +- .../observation/optimum_ph_observation.html | 2 +- .../optimum_temperature_observation.html | 2 +- .../observation/oxygen_delta_observation.html | 2 +- .../observation/oxygen_observation.html | 2 +- .../observation/oxygen_range_observation.html | 2 +- .../observation/ph_delta_observation.html | 2 +- pages/traits/observation/ph_observation.html | 2 +- .../observation/ph_range_observation.html | 2 +- .../temperature_delta_observation.html | 2 +- .../observation/temperature_observation.html | 2 +- .../temperature_range_observation.html | 2 +- .../physiology/antibiotic_resistance.html | 2 +- pages/traits/physiology/autotrophic.html | 2 +- pages/traits/physiology/bioluminescence.html | 2 +- pages/traits/physiology/carboxydotrophic.html | 2 +- .../traits/physiology/catalase_activity.html | 2 +- .../physiology/chemoautolithotrophic.html | 2 +- pages/traits/physiology/chemoautotrophic.html | 2 +- .../traits/physiology/chemoheterotrophic.html | 2 +- .../physiology/chemolithoautotrophic.html | 2 +- .../physiology/chemolithoheterotrophic.html | 2 +- .../traits/physiology/chemolithotrophic.html | 2 +- .../physiology/chemoorganoheterotrophic.html | 2 +- .../traits/physiology/chemoorganotrophic.html | 2 +- pages/traits/physiology/chemotaxis.html | 2 +- pages/traits/physiology/chemotrophic.html | 2 +- pages/traits/physiology/copiotrophic.html | 2 +- pages/traits/physiology/dormancy.html | 2 +- pages/traits/physiology/heterotrophic.html | 12 +++-- pages/traits/physiology/hydrogenotrophic.html | 2 +- pages/traits/physiology/lithoautotrophic.html | 2 +- .../traits/physiology/lithoheterotrophic.html | 2 +- pages/traits/physiology/lithotrophic.html | 2 +- pages/traits/physiology/methanotrophic.html | 2 +- pages/traits/physiology/methylotrophic.html | 2 +- pages/traits/physiology/mixotrophic.html | 2 +- .../traits/physiology/natural_competence.html | 2 +- .../physiology/nutrient_adaptation.html | 2 +- pages/traits/physiology/oligotrophic.html | 2 +- .../physiology/organoheterotrophic.html | 2 +- pages/traits/physiology/organotrophic.html | 2 +- pages/traits/physiology/oxidase_activity.html | 2 +- .../physiology/oxidative_stress_response.html | 2 +- .../physiology/persister_cell_formation.html | 2 +- pages/traits/physiology/photoautotrophic.html | 2 +- .../traits/physiology/photoheterotrophic.html | 2 +- .../physiology/photolithoautotrophic.html | 2 +- .../traits/physiology/photolithotrophic.html | 2 +- .../physiology/photoorganoheterotrophic.html | 2 +- pages/traits/physiology/phototrophic.html | 2 +- pages/traits/physiology/quorum_sensing.html | 2 +- .../traits/physiology/spore_germination.html | 2 +- pages/traits/physiology/stress_response.html | 2 +- pages/traits/physiology/trophic_type.html | 2 +- pages/traits/physiology/urease_activity.html | 2 +- .../viable_but_nonculturable_state.html | 2 +- .../has_maximum_observed_value.html | 2 +- .../has_minimum_observed_value.html | 2 +- .../has_observed_spot_value.html | 2 +- .../quantitative_property/has_value.html | 2 +- .../has_value_comments.html | 2 +- .../is_negative_data.html | 2 +- .../observation_data_property.html | 2 +- pages/traits/upper/biological_process.html | 2 +- pages/traits/upper/chemical_entity.html | 2 +- pages/traits/upper/enzyme.html | 2 +- pages/traits/upper/material_entity.html | 2 +- pages/traits/upper/microbe.html | 2 +- pages/traits/upper/observation.html | 2 +- pages/traits/upper/phenotype.html | 2 +- pages/traits/upper/quality.html | 2 +- pages/umap.html | 2 +- scripts/seed_from_metpo.py | 19 ++++++-- 528 files changed, 1027 insertions(+), 919 deletions(-) diff --git a/data/traits/ecology/animal_pathogen.yaml b/data/traits/ecology/animal_pathogen.yaml index 5aa230d9..5c37a67d 100644 --- a/data/traits/ecology/animal_pathogen.yaml +++ b/data/traits/ecology/animal_pathogen.yaml @@ -7,10 +7,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1004000 -synonyms: -- synonym_text: animal pathogen - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1146/annurev.micro.62.081307.162938 snippet: virulence factors @@ -128,3 +124,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002327×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/ecology/human_pathogen.yaml b/data/traits/ecology/human_pathogen.yaml index 9d96e6ba..29c78786 100644 --- a/data/traits/ecology/human_pathogen.yaml +++ b/data/traits/ecology/human_pathogen.yaml @@ -7,10 +7,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1004000 -synonyms: -- synonym_text: human pathogen - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1146/annurev.micro.62.081307.162938 snippet: virulence factors @@ -123,3 +119,9 @@ curation_history: changes: Grounded 2 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002327×2). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/ecology/plant_pathogen.yaml b/data/traits/ecology/plant_pathogen.yaml index 25ca100f..5b53d8a4 100644 --- a/data/traits/ecology/plant_pathogen.yaml +++ b/data/traits/ecology/plant_pathogen.yaml @@ -7,10 +7,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1004000 -synonyms: -- synonym_text: plant pathogen - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1146/annurev.phyto.43.040204.135923 snippet: type III secretion @@ -166,3 +162,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002212×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/aerobic.yaml b/data/traits/environment/aerobic.yaml index 23157334..4132fee4 100644 --- a/data/traits/environment/aerobic.yaml +++ b/data/traits/environment/aerobic.yaml @@ -15,9 +15,6 @@ synonyms: - synonym_text: aerobe synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: aerobic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: PMID:21413255 snippet: aerobes require molecular oxygen as a terminal electron acceptor @@ -140,3 +137,9 @@ curation_history: changes: Grounded 2 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002502×2). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/aerotolerant.yaml b/data/traits/environment/aerotolerant.yaml index 2a92e35f..778beb8f 100644 --- a/data/traits/environment/aerotolerant.yaml +++ b/data/traits/environment/aerotolerant.yaml @@ -9,9 +9,6 @@ mapping_status: REVIEWED parent_traits: - METPO:1000601 synonyms: -- synonym_text: aerotolerant - synonym_type: RELATED_SYNONYM - source: metpo.owl - synonym_text: aerotolerant anaerobe synonym_type: RELATED_SYNONYM source: https://bio.libretexts.org/Courses/Ohio_State_University/Microbiology_Lab_SP25/05%3A_Lab_5/5.05%3A_Bacterial_Oxygen_Requirements @@ -138,3 +135,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (biolink:has_part×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/anaerobic.yaml b/data/traits/environment/anaerobic.yaml index d065c66e..8e071db0 100644 --- a/data/traits/environment/anaerobic.yaml +++ b/data/traits/environment/anaerobic.yaml @@ -15,9 +15,6 @@ synonyms: - synonym_text: anaerobe synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: anaerobic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: PMID:21413255 snippet: Anaerobes, on the other hand, cannot grow in the presence of oxygen @@ -125,3 +122,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002212×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/euryhaline.yaml b/data/traits/environment/euryhaline.yaml index a6651bb6..a1075905 100644 --- a/data/traits/environment/euryhaline.yaml +++ b/data/traits/environment/euryhaline.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: euryhaline - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.5928/kaiyou.14.337 snippet: growing over a salinity range of 15% @@ -179,3 +175,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (METPO:2000208×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/extremely_halophilic.yaml b/data/traits/environment/extremely_halophilic.yaml index 7ac882b2..3649f725 100644 --- a/data/traits/environment/extremely_halophilic.yaml +++ b/data/traits/environment/extremely_halophilic.yaml @@ -13,9 +13,6 @@ synonyms: - synonym_text: extreme-halophilic synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: extremely halophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Jed Dongjin Kim-Ozaeta evidence: - reference: PMID:11790755 @@ -135,3 +132,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007720×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/facultative_psychrophilic.yaml b/data/traits/environment/facultative_psychrophilic.yaml index 79de19ae..537d5921 100644 --- a/data/traits/environment/facultative_psychrophilic.yaml +++ b/data/traits/environment/facultative_psychrophilic.yaml @@ -12,9 +12,6 @@ synonyms: - synonym_text: facultative psychrophile synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: facultative psychrophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Anthea Guo evidence: - reference: DOI:10.1111/j.1574-6941.2009.00727.x @@ -162,3 +159,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/facultatively_acidophilic.yaml b/data/traits/environment/facultatively_acidophilic.yaml index ac8a65f0..566ed308 100644 --- a/data/traits/environment/facultatively_acidophilic.yaml +++ b/data/traits/environment/facultatively_acidophilic.yaml @@ -12,9 +12,6 @@ synonyms: - synonym_text: facultative acidophile synonym_type: EXACT_SYNONYM source: metpo.owl -- synonym_text: facultatively acidophilic - synonym_type: EXACT_SYNONYM - source: metpo.owl created_by: Jed Dongjin Kim-Ozaeta evidence: - reference: DOI:10.1099/ijs.0.066175-0 @@ -175,3 +172,9 @@ curation_history: changes: Overwrote 2 pH causal-node grounding(s) to corrected PATO CURIEs (phase-2; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/haloalkaliphilic.yaml b/data/traits/environment/haloalkaliphilic.yaml index 9645d54f..40b7400c 100644 --- a/data/traits/environment/haloalkaliphilic.yaml +++ b/data/traits/environment/haloalkaliphilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: haloalkaliphilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: PMID:17203963 snippet: aerobic, haloalkaliphilic archaeon Natronomonas pharaonis @@ -145,3 +141,9 @@ curation_history: changes: Overwrote 2 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/halophilic.yaml b/data/traits/environment/halophilic.yaml index 17d6cb7e..0f5ce424 100644 --- a/data/traits/environment/halophilic.yaml +++ b/data/traits/environment/halophilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: halophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: PMID:19329623 snippet: Salinicoccus albus sp. nov., a halophilic bacterium from a salt mine @@ -160,3 +156,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007720×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/halotolerant.yaml b/data/traits/environment/halotolerant.yaml index face7d69..2018e7cb 100644 --- a/data/traits/environment/halotolerant.yaml +++ b/data/traits/environment/halotolerant.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: halotolerant - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1093/femsre/fuy009 snippet: highly halotolerant representatives @@ -168,3 +164,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (METPO:2000208×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/hyperthermophilic.yaml b/data/traits/environment/hyperthermophilic.yaml index 819882e0..67ce9044 100644 --- a/data/traits/environment/hyperthermophilic.yaml +++ b/data/traits/environment/hyperthermophilic.yaml @@ -12,9 +12,6 @@ synonyms: - synonym_text: extreme thermophilic synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: hyperthermophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1111/j.1574-6976.1996.tb00233.x snippet: optimal growth temperatures between 80°C and 110°C @@ -166,3 +163,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/mesophilic.yaml b/data/traits/environment/mesophilic.yaml index 81f2d056..ba541262 100644 --- a/data/traits/environment/mesophilic.yaml +++ b/data/traits/environment/mesophilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000613 -synonyms: -- synonym_text: mesophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1016/j.bpj.2013.06.029 snippet: Escherichia coli, a mesophilic bacterium @@ -156,3 +152,9 @@ curation_history: changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/microaerophilic.yaml b/data/traits/environment/microaerophilic.yaml index fe38bc06..4107b5e2 100644 --- a/data/traits/environment/microaerophilic.yaml +++ b/data/traits/environment/microaerophilic.yaml @@ -15,9 +15,6 @@ synonyms: - synonym_text: microaerophile synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: microaerophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: https://www.ncbi.nlm.nih.gov/books/NBK154539/ snippet: require oxygen to survive but require its presence in lower concentrations @@ -138,3 +135,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0000085×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/microaerotolerant.yaml b/data/traits/environment/microaerotolerant.yaml index e1062693..5d4a54e8 100644 --- a/data/traits/environment/microaerotolerant.yaml +++ b/data/traits/environment/microaerotolerant.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000601 -synonyms: -- synonym_text: microaerotolerant - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1016/j.biortech.2011.02.011 snippet: microaerotolerant or aerotolerant anaerobes can survive @@ -123,3 +119,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (METPO:2007407×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/moderately_halophilic.yaml b/data/traits/environment/moderately_halophilic.yaml index 46f8fe35..d604c1f0 100644 --- a/data/traits/environment/moderately_halophilic.yaml +++ b/data/traits/environment/moderately_halophilic.yaml @@ -12,9 +12,6 @@ synonyms: - synonym_text: moderate-halophilic synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: moderately halophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Anthea Guo evidence: - reference: PMID:9758852 @@ -141,3 +138,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0006970×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/obligately_acidophilic.yaml b/data/traits/environment/obligately_acidophilic.yaml index fcc1bd5e..095497d9 100644 --- a/data/traits/environment/obligately_acidophilic.yaml +++ b/data/traits/environment/obligately_acidophilic.yaml @@ -12,9 +12,6 @@ synonyms: - synonym_text: obligate acidophile synonym_type: EXACT_SYNONYM source: metpo.owl -- synonym_text: obligately acidophilic - synonym_type: EXACT_SYNONYM - source: metpo.owl created_by: Jed Dongjin Kim-Ozaeta evidence: - reference: DOI:10.3389/fmicb.2021.822229 @@ -172,3 +169,9 @@ curation_history: changes: Overwrote 1 pH causal-node grounding(s) to corrected PATO CURIEs (phase-2; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/psychrophilic.yaml b/data/traits/environment/psychrophilic.yaml index 86255d6b..72810898 100644 --- a/data/traits/environment/psychrophilic.yaml +++ b/data/traits/environment/psychrophilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000613 -synonyms: -- synonym_text: psychrophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1038/sj.embor.7400662 snippet: growing well at temperatures around the freezing point of water @@ -187,3 +183,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/psychrotolerant.yaml b/data/traits/environment/psychrotolerant.yaml index 6e1f2be7..37b2ba51 100644 --- a/data/traits/environment/psychrotolerant.yaml +++ b/data/traits/environment/psychrotolerant.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000613 -synonyms: -- synonym_text: psychrotolerant - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1099/ijs.0.65141-0 snippet: Pseudomonas guineae sp. nov., a novel psychrotolerant bacterium @@ -171,3 +167,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/slightly_halophilic.yaml b/data/traits/environment/slightly_halophilic.yaml index a1c81043..c3760abc 100644 --- a/data/traits/environment/slightly_halophilic.yaml +++ b/data/traits/environment/slightly_halophilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: slightly halophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: PMID:12501437 snippet: A slightly halophilic, extremely halotolerant, alkaliphilic @@ -146,3 +142,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (METPO:2000210×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/stenohaline.yaml b/data/traits/environment/stenohaline.yaml index a10441a7..317e7027 100644 --- a/data/traits/environment/stenohaline.yaml +++ b/data/traits/environment/stenohaline.yaml @@ -9,10 +9,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000629 -synonyms: -- synonym_text: stenohaline - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Luke Wang evidence: - reference: DOI:10.1186/s40168-024-01817-w @@ -150,3 +146,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002211×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/strictly_anaerobic.yaml b/data/traits/environment/strictly_anaerobic.yaml index 3d96234d..dcb6b94e 100644 --- a/data/traits/environment/strictly_anaerobic.yaml +++ b/data/traits/environment/strictly_anaerobic.yaml @@ -9,9 +9,6 @@ mapping_status: REVIEWED parent_traits: - METPO:1000607 synonyms: -- synonym_text: strictly anaerobic - synonym_type: RELATED_SYNONYM - source: metpo.owl - synonym_text: strict obligate anaerobe synonym_type: RELATED_SYNONYM source: https://www.ncbi.nlm.nih.gov/books/NBK482349/ @@ -134,3 +131,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) to corrected CURIEs (phase-2 id-label fix; verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/thermophilic.yaml b/data/traits/environment/thermophilic.yaml index 0e70e060..6ff56cfb 100644 --- a/data/traits/environment/thermophilic.yaml +++ b/data/traits/environment/thermophilic.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000613 -synonyms: -- synonym_text: thermophilic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1016/s0300-9629(97)00003-0 snippet: adapted to environments of high temperature @@ -154,3 +150,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (PATO:0001305×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/environment/thermotolerant.yaml b/data/traits/environment/thermotolerant.yaml index cfea784a..804f2aff 100644 --- a/data/traits/environment/thermotolerant.yaml +++ b/data/traits/environment/thermotolerant.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000613 -synonyms: -- synonym_text: thermotolerant - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1099/00207713-52-6-2203 snippet: Pseudomonas thermotolerans sp. nov., a thermotolerant species @@ -132,3 +128,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (biolink:causes×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:43Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/acetogenesis.yaml b/data/traits/metabolism/acetogenesis.yaml index c3a58f03..126dff27 100644 --- a/data/traits/metabolism/acetogenesis.yaml +++ b/data/traits/metabolism/acetogenesis.yaml @@ -13,9 +13,6 @@ synonyms: - synonym_text: Acetate fermentation synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: acetogenesis - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Jed Dongjin Kim-Ozaeta evidence: - reference: DOI:10.1016/j.bbapap.2008.08.012 @@ -168,3 +165,9 @@ curation_history: changes: Overwrote 1 causal-node grounding(s) (obsolete/wrong GO -> corrected, verified vs OAK). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/builds_acid_from.yaml b/data/traits/metabolism/builds_acid_from.yaml index 82c27501..ac268f78 100644 --- a/data/traits/metabolism/builds_acid_from.yaml +++ b/data/traits/metabolism/builds_acid_from.yaml @@ -8,10 +8,6 @@ term_kind: OBJECT_PROPERTY mapping_status: REVIEWED parent_traits: - METPO:2000001 -synonyms: -- synonym_text: builds acid from - synonym_type: RELATED_SYNONYM - source: metpo.owl domain: https://w3id.org/metpo/1000525 range_: http://purl.obolibrary.org/obo/CHEBI_24431 evidence: @@ -40,3 +36,9 @@ curation_history: pattern (intended use: + this predicate + CHEBI chemical class). Added DOI/PMID-backed definition, evidence, and explicit domain/range slots.' llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/builds_base_from.yaml b/data/traits/metabolism/builds_base_from.yaml index f00ab5a4..c71c63cf 100644 --- a/data/traits/metabolism/builds_base_from.yaml +++ b/data/traits/metabolism/builds_base_from.yaml @@ -8,10 +8,6 @@ term_kind: OBJECT_PROPERTY mapping_status: REVIEWED parent_traits: - METPO:2000001 -synonyms: -- synonym_text: builds base from - synonym_type: RELATED_SYNONYM - source: metpo.owl domain: https://w3id.org/metpo/1000525 range_: http://purl.obolibrary.org/obo/CHEBI_24431 evidence: @@ -40,3 +36,9 @@ curation_history: pattern (intended use: + this predicate + CHEBI chemical class). Added DOI/PMID-backed definition, evidence, and explicit domain/range slots.' llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/builds_gas_from.yaml b/data/traits/metabolism/builds_gas_from.yaml index 7b6cb9a3..b37c7d49 100644 --- a/data/traits/metabolism/builds_gas_from.yaml +++ b/data/traits/metabolism/builds_gas_from.yaml @@ -8,10 +8,6 @@ term_kind: OBJECT_PROPERTY mapping_status: REVIEWED parent_traits: - METPO:2000001 -synonyms: -- synonym_text: builds gas from - synonym_type: RELATED_SYNONYM - source: metpo.owl domain: https://w3id.org/metpo/1000525 range_: http://purl.obolibrary.org/obo/CHEBI_24431 evidence: @@ -40,3 +36,9 @@ curation_history: pattern (intended use: + this predicate + CHEBI chemical class). Added DOI/PMID-backed definition, evidence, and explicit domain/range slots.' llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/fermentation.yaml b/data/traits/metabolism/fermentation.yaml index fe1edf6c..581b5222 100644 --- a/data/traits/metabolism/fermentation.yaml +++ b/data/traits/metabolism/fermentation.yaml @@ -9,10 +9,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000800 -synonyms: -- synonym_text: fermentation - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Luke Wang evidence: - reference: DOI:10.3389/fmicb.2021.703525 @@ -118,3 +114,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (METPO:2000202×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/methanogenesis.yaml b/data/traits/metabolism/methanogenesis.yaml index 67cf59d6..44e6bc16 100644 --- a/data/traits/metabolism/methanogenesis.yaml +++ b/data/traits/metabolism/methanogenesis.yaml @@ -19,9 +19,6 @@ synonyms: - synonym_text: Carbonate respiration synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: methanogenesis - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Luke Wang evidence: - reference: DOI:10.1146/annurev-micro-011720-122807 @@ -165,3 +162,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:28265×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/metabolism/produces.yaml b/data/traits/metabolism/produces.yaml index eeb302c8..d433dd3e 100644 --- a/data/traits/metabolism/produces.yaml +++ b/data/traits/metabolism/produces.yaml @@ -8,10 +8,6 @@ term_kind: OBJECT_PROPERTY mapping_status: REVIEWED parent_traits: - METPO:2000001 -synonyms: -- synonym_text: produces - synonym_type: RELATED_SYNONYM - source: metpo.owl domain: https://w3id.org/metpo/1000525 range_: http://purl.obolibrary.org/obo/CHEBI_24431 xrefs: @@ -49,3 +45,9 @@ curation_history: (RO:0003000 ''produces''). RO:0003000 ''produces'' is the equivalent material-entity-to-material-entity production predicate. Source: OLS4 property search.' llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/morphology/ellipsoidal.yaml b/data/traits/morphology/ellipsoidal.yaml index e7c40fce..41970e24 100644 --- a/data/traits/morphology/ellipsoidal.yaml +++ b/data/traits/morphology/ellipsoidal.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000666 -synonyms: -- synonym_text: ellipsoidal - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Luke Wang evidence: - reference: DOI:10.1089/mdr.2014.0032 @@ -148,3 +144,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002213×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/morphology/gliding.yaml b/data/traits/morphology/gliding.yaml index 0946982e..1440bc04 100644 --- a/data/traits/morphology/gliding.yaml +++ b/data/traits/morphology/gliding.yaml @@ -8,10 +8,6 @@ term_kind: CLASS mapping_status: REVIEWED parent_traits: - METPO:1000702 -synonyms: -- synonym_text: gliding - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1146/annurev.micro.55.1.49 snippet: move actively over surfaces @@ -135,3 +131,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002327×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/morphology/motile.yaml b/data/traits/morphology/motile.yaml index 07f93d1c..02851fd9 100644 --- a/data/traits/morphology/motile.yaml +++ b/data/traits/morphology/motile.yaml @@ -9,9 +9,6 @@ mapping_status: REVIEWED parent_traits: - METPO:1000701 synonyms: -- synonym_text: motile - synonym_type: RELATED_SYNONYM - source: metpo.owl - synonym_text: 'yes' synonym_type: RELATED_SYNONYM source: metpo.owl @@ -164,3 +161,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0006935×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/morphology/motility.yaml b/data/traits/morphology/motility.yaml index 08abdc52..31efea0a 100644 --- a/data/traits/morphology/motility.yaml +++ b/data/traits/morphology/motility.yaml @@ -13,9 +13,6 @@ synonyms: - synonym_text: Morphology.cell morphology.motility synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: motility - synonym_type: RELATED_SYNONYM - source: metpo.owl created_by: Jed Dongjin Kim-Ozaeta evidence: - reference: DOI:10.1038/s41579-021-00626-4 @@ -148,3 +145,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0006935×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/morphology/sporulation.yaml b/data/traits/morphology/sporulation.yaml index 0fec4daa..012e867c 100644 --- a/data/traits/morphology/sporulation.yaml +++ b/data/traits/morphology/sporulation.yaml @@ -15,9 +15,6 @@ synonyms: - synonym_text: Physiology and metabolism.spore formation.spore formation synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: sporulation - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1146/annurev.genet.30.1.297 snippet: conversion of a growing cell into a two-cell-chamber sporangium @@ -158,3 +155,9 @@ curation_history: changes: Grounded 1 causal-edge predicate_id field(s) via mappings/predicate_grounding.tsv (RO:0002213×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:44Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/data/traits/physiology/heterotrophic.yaml b/data/traits/physiology/heterotrophic.yaml index 5fcb6c07..0cf73f8d 100644 --- a/data/traits/physiology/heterotrophic.yaml +++ b/data/traits/physiology/heterotrophic.yaml @@ -18,9 +18,6 @@ synonyms: - synonym_text: heterotroph synonym_type: RELATED_SYNONYM source: metpo.owl -- synonym_text: heterotrophic - synonym_type: RELATED_SYNONYM - source: metpo.owl evidence: - reference: DOI:10.1016/B978-012373944-5.00083-3 snippet: organic compounds as the primary sources of carbon @@ -167,3 +164,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:72695×1). llm_assisted: true +- timestamp: '2026-06-17T04:09:45Z' + curator: claude + action: REMOVE_REDUNDANT_SYNONYM + changes: Removed 1 synonym(s) whose text duplicated the label (seeder redundancy; + no information lost). + llm_assisted: true diff --git a/pages/category/ecology.html b/pages/category/ecology.html index 7da34897..fa382cb5 100644 --- a/pages/category/ecology.html +++ b/pages/category/ecology.html @@ -35,7 +35,7 @@

ECOLOGY (26)

METPO:1004002 CLASS 1 - 1 + 0 @@ -147,7 +147,7 @@

ECOLOGY (26)

METPO:1004004 CLASS 1 - 1 + 0 @@ -195,7 +195,7 @@

ECOLOGY (26)

METPO:1004003 CLASS 1 - 1 + 0 @@ -244,7 +244,7 @@

ECOLOGY (26)