taxamatch_rb

Gem Version Continuous Integration Status Coverage Status CodePolice Dependency Status

taxamatch_rb is a ruby implementation of Taxamatch algorithms developed by Tony Rees:

The purpose of Taxamatch gem is to facilitate fuzzy comparison of two scientific name renderings to find out if they actually point to the same scientific name.

ruby require 'taxamatch_rb' tm = Taxamatch::Base.new tm.taxamatch('Homo sapien', 'Homo sapiens') #returns true tm.taxamatch('Homo sapiens Linnaeus', 'Hommo sapens (Linn. 1758)') #returns true tm.taxamatch('Homo sapiens Mozzherin', 'Homo sapiens Linnaeus') #returns false

taxamatch_rb is compatible with ruby versions 1.9.1 and higher

Installation

bash $ sudo gem install taxamatch_rb

Usage

```ruby require “taxamatch_rb”

To find version

Taxamatch.version

To start new instance of taxamatch

tm = Taxamatch::Base.new ```

  • compare full scientific names

ruby tm.taxamatch("Hommo sapiens L.", "Homo sapiens Linnaeus")

  • preparse names for the matching (necessary for large databases of scientific names)

ruby p = Taxamatch::Atomizer.new parsed_name1 = p.parse("Monacanthus fronticinctus Günther 1867 sec. Eschmeyer 2004") parsed_name2 = p.parse("Monacanthus fronticinctus (Gunther, 1867)")

  • compare preparsed names

ruby tm.taxamatch_preparsed(parsed_name1, parsed_name2)

  • compare genera

ruby tm.match_genera("Monacanthus", "MONOCANTUS")

  • compare species

ruby tm.match_species("fronticinctus", "frontecinctus")

  • compare authors and years

ruby Taxamatch::Authmatch.authmatch(["Linnaeus"], ["L","Muller"], [1786], [1787])

You can find more examples in spec section of the code

Copyright (c) 2009-2015 Marine Biological Laboratory. See LICENSE for details.