Skip to content

feat(organisms): taxonomy enrichment, compound table, and tree of life (#452)#814

Open
vcnainala wants to merge 7 commits into
developmentfrom
feat/compound-page-organism-table-452
Open

feat(organisms): taxonomy enrichment, compound table, and tree of life (#452)#814
vcnainala wants to merge 7 commits into
developmentfrom
feat/compound-page-organism-table-452

Conversation

@vcnainala

@vcnainala vcnainala commented Jun 8, 2026

Copy link
Copy Markdown
Member

Summary

Closes #452

  • Compound page — Replaces organism pills with a searchable table (organism, rank, source type, reference). Rows expand inline to show a verified Global Names taxonomy card.
  • GNF taxonomy pipelinecoconut:organisms-map-ogg stores exact-match classification JSON on organisms (migrations for taxonomy, taxonomy_fetched_at, iri, rank). Parallel GNF verifier batching for backfill runs.
  • Automatic curation — When the primary name has no exact GNF match, the command retries curated lookups: vernacular dictionary, sp./spp. → genus, hybrid/infraspecific stripping, author citation removal, and NCBI scientific name from stored IRI. --audit-patterns reports remaining gaps.
  • Filament 4OrganismResource edit form embeds OrganismTaxonomyPanel via Filament\Schemas\Components\Livewire with taxonomy group/rank table columns.
  • Tree of life/tree-of-life explorer, homepage teaser, and Docs nav link for browsing NP distribution by taxonomy.

Test plan

  • Run migrations: php artisan migrate
  • Backfill taxonomy: php artisan coconut:organisms-map-ogg --backfill --taxonomy-only --with-molecules-only
  • Audit remaining gaps: php artisan coconut:organisms-map-ogg --audit-patterns --with-molecules-only
  • Open a compound with multiple organisms — search, expand row, confirm taxonomy card and external links
  • Filament → Organisms → edit record — confirm taxonomy panel renders
  • Visit /tree-of-life and homepage teaser kingdom bars
  • php artisan test tests/Unit/OrganismTaxonomyMapperTest.php tests/Unit/OrganismCurationResolverTest.php tests/Unit/NcbiTaxonomyNameResolverTest.php

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 6.13%. Comparing base (4223a58) to head (5858d99).

Files with missing lines Patch % Lines
app/Livewire/MoleculeDetails.php 0.00% 10 Missing ⚠️
Additional details and impacted files
@@               Coverage Diff                @@
##             development    #814      +/-   ##
================================================
- Coverage           6.13%   6.13%   -0.01%     
- Complexity          1737    1738       +1     
================================================
  Files                227     227              
  Lines               8961    8971      +10     
================================================
  Hits                 550     550              
- Misses              8411    8421      +10     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

vcnainala added 5 commits June 8, 2026 21:41
Relax unique-name validation in the request-changes organism repeater so
users can link organisms that already exist in the database. Reject names
already attached to the target molecule instead.

Fixes #772
Align Filament v4 Select option keys with stored state for existing
synonyms, CAS, geo locations, organisms, and citations. Resolve the
target molecule from form state and report records so options remain
valid on Livewire submit requests.

Fixes #775
Use explicit null checks for molecule synonyms/CAS options and remove
unreachable is_string handling for mol_ids array cast.
…UI (#452)

Store exact-match Global Names taxonomy on organisms, enrich via coconut:organisms-map-ogg with automatic curation fallbacks (vernacular names, sp./spp., NCBI IRI lookup), and surface verified classification on the compound page and in Filament.

Closes #452
@vcnainala vcnainala changed the title feat(ui): replace organism pills with searchable table on compound page feat(organisms): taxonomy enrichment, compound table, and tree of life (#452) Jun 10, 2026
Build a rank-only taxonomy tree without per-organism nodes, cache via the
file store, and load tree data in render() so Livewire does not dehydrate
the full payload on every request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants