Habitat: map synonymous terms from different sources to one

Open
#300 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
77/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
r
Domain
data

Research direction

Start with inst/extdata/attribute_synonyms.tsv and attributes.tsv, then inspect how the synonym table is applied to TRUE rows and how the vocabulary test checks for unused terms. Confirm the four proposed source terms have no FALSE rows, add their mappings, and remove terms from attributes.tsv only when no rows still use them. Done when the mappings pass the vocabulary check and the marine water body term remains unchanged.

Written by the indexing model from the issue text.

Description

Habitat is a multistate-union attribute, so the states of different sources add up and never compete. Sources use different words for the same place, though, and a search on one word misses the rows under the other.

Rows per term and source in physiologies("habitat"), with the Wikipedia_2026 source (#296) included:

Term Source Rows Same place as Rows
digestive system ProTraits 215 gastrointestinal tract (Wikipedia_2026 268, ProTraits 1) 269
hydrothermal vents ProTraits 45 hydrothermal vent (Wikipedia_2026 75, BacMap 5) 80
creosote contaminated soil ProTraits 3 creosote-contaminated soil (BacMap) 1
human microflora BacMap 2 human microbiome (ProTraits) 115
marine water body ProTraits 71, BacMap 20 91 sea water (Wikipedia_2026 625, BacMap 7) 632

Proposed change

Add rows to inst/extdata/attribute_synonyms.tsv for the first four, mapping the left term to the right one. Then remove the left terms from attributes.tsv if nothing else uses them.

marine water body to sea water is less clear, since a marine water body also has sediment. I would leave it unless someone wants it.

Leave alone

These are a source's own categories and have no equivalent elsewhere: colonization of host (507), multiple (318) and specialized (144) in BacMap; free-living (1,280), environmental system (92) and secondary (57) in ProTraits; waste and sludge water (797) in MiDAS. Broader terms such as aquatic biome and terrestrial biome are parents of the specific ones, not synonyms, so they stay too.

Wikipedia habitats are written only with terms bugphyzz already had, so that source needs nothing.

Check

The synonym table applies to rows with Attribute_value TRUE only. Confirm that the four left terms have no FALSE rows, which would keep the old term and fail the vocabulary test.

Raised while adding the Wikipedia source (waldronlab/bugphyzzExports#105).

Written with Claude Code.

Dominant language
R
Stars
6
Forks
6
Avg merge
3h 17m
Merged PRs (30d)
20

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from waldronlab/bugphyzz

All issues in waldronlab/bugphyzz

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.