Project

General

Profile

Actions

Bug #945

open

incorrect synonym being selected in TNRS

Added by Aaron Marcuse-Kubitza over 10 years ago. Updated about 10 years ago.

Status:
New
Priority:
High
Assignee:
-
Start date:
08/18/2014
Due date:
% Done:

80%

Estimated time:

Description

this is TNRS-195 on the TNRS JIRA bug tracker

TNRS's synonym-selection algorithm incorrectly considers taxonomic_status when sorting names, which causes a worse Tropicos synonym to be selected instead of a better TPL synonym (when TPL is ranked before Tropicos in the source sort order)

test case

_from Brad_:

Here’s a pair of names that are still a problem: [test these with the sources set to TPL, Tropicos (in that order)]

Glandularia quadrangulata
Verbena quadrangulata

The second name (Verbena quadrangular) is a synonym of the first, according to Tropicos’s website. But computedAcceptance returns both as accepted. This is the result you get if you submit the names to the TNRS (either the production version or toad):

Glandularia quadrangulata —> Accepted, =Glandularia quadrangulata (A. Heller) Umber, Tropicos
Verbena quadrangulata —> Accepted, =Verbena quadrangulata A. Heller, Tropicos

The suggested fix should result in:

Glandularia quadrangulata —> Accepted, =Glandularia quadrangulata (A. Heller) Umber, Tropicos
Verbena quadrangulata —> Synonym, =Glandularia quadrangulata (A.Heller) Umber, TPL

…which is what we want.

fix

  1. in class.tnrs_aggregator.php (on the dev server), change the sort order of accepted vs. synonym so that a (TPL) synonym is chosen in preference to a (Tropicos) accepted name:
    --- taxamatch-webservice-read-only/api/classes/class.tnrs_aggregator.php    (master)
    +++ taxamatch-webservice-read-only/api/classes/class.tnrs_aggregator.php    (working copy)
    @@ -21,1 +21,1 @@
    -    static $acceptance_array=array("Accepted" => 3, "Synonym" => 2, "Illegitimate" => 1, "Invalid" => 1, "Rejected name" => 1, "Orth. var." => 1, "Misapplied name" => 1, "Synonym? (unresolved)" => 1, "No opinion" => 0, "" => 0);
    +    static $acceptance_array=array("Synonym" => 3, "Accepted" => 2, "Illegitimate" => 1, "Invalid" => 1, "Rejected name" => 1, "Orth. var." => 1, "Misapplied name" => 1, "Synonym? (unresolved)" => 1, "No opinion" => 0, "" => 0);
    
    this has now been fixed on the TNRS dev server (tested with Brad's test case above)
  2. write query to determine which names are affected by this
  3. rescrub names where this is an issue
Actions

Also available in: Atom PDF