Imageomics / Imageomics/TaxonoPy

Choosing a single 7-rank classification path

Open
#1 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
19
Forks
0
PR merge metrics
No merged PRs in 30d

Description

As an example, we can consider the classification paths returned for 'Phleum alpinum'. When the results are filtered to include only the 7 required ranks, we get the following with matching GNR confidence scores of 0.988:

```bash
...
"classification_path": [
"Viridiplantae|Streptophyta|Magnoliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Archaeplastida|Chloroplastida|Streptophyta|Tracheophyta|Magnoliopsida|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Magnoliophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Liliopsida|Poales|Poaceae|Phleum|Phleum alpinum",
"Plantae|Tracheophyta|Magnoliopsida|Poales|Poaceae|Phleum|Phleum alpinum"
],
"name_string": [
"Phleum alpinum",
"Phleum alpinum",
"Phleum alpinum",
"Phleum alpinum L.",
"Phleum alpinum prol. commutatum (Gaudin) Rouy",
"Phleum alpinum prol. parviceps (Briq.) Rouy",
"Phleum alpinum Linnaeus",
"Phleum alpinum L.",
"Phleum alpinum L."
],
"classification_path_ranks": [
"kingdom|phylum|class|order|family|genus|species",
"kingdom|kingdom|phylum|phylum|class|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species",
"kingdom|phylum|class|order|family|genus|species"
],
"sources": [
"National Center for Biotechnology Information",
"Open Tree of Life Reference Taxonomy",
"iNaturalist Taxonomy",
"Catalogue of Life Checklist",
"Catalogue of Life Checklist",
"Catalogue of Life Checklist",
"The Interim Register of Marine and Nonmarine Genera",
"GBIF Backbone Taxonomy",
"EUNIS"
],
...
```
The problems illustrated in this case include:
1. A source returns multiple terms for a given rank, e.g. OTOL's Kingdom, Phylum, and Class ranks. It's not clear how the 'correct' term should be chosen.
2. A simple vote for the most frequently occurring `classification_path` result is problematic because:
- A single source can appear more than once, e.g. here the Catalogue of Life Checklist appears 3 times, reporting several synonyms as shown in the `name_string` field. Whether a term here is a synonym or not isn't available in the output of a GNR query.
- The sources are interdependent.
3. Results at a given rank (even when not considering OTOL) are discrepant, e.g. `"kingdom": ["Plantae", "Viridiplantae"]`, `"phylum": ["Tracheophyta", "Magnoliophyta", "Streptophyta"]`, `"class": ["Magnoliopsida", "Liliopsida", "Magnoliopsida"]`.

The full response for this example can be explored by visiting: http://resolver.globalnames.org/name_resolvers.json?names=Phleum+alpinum&with_vernaculars=true&wigh_context=false&with_canonical_ranks=true

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with the linked Global Names Verifier response for “Phleum alpinum”, focusing on classification_path, classification_path_ranks, name_string, and sources. Review how repeated sources, synonyms, dependent sources, and conflicting ranks should be handled. Done means the project has a decided, documented way to choose one seven-rank classification path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.