Implementation of Tony Rees' Taxamatch algorithms
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
features
lib
spec
.gitignore
.rspec
.rubocop.yml
.travis.yml
CHANGELOG
CODE_OF_CONDUCT.md
Gemfile
LICENSE.txt
README.md
Rakefile
taxamatch_rb.gemspec

README.md

taxamatch_rb

DOI 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.

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

$ sudo gem install taxamatch_rb

Usage

require "taxamatch_rb"

# To find version
Taxamatch.version

# To start new instance of taxamatch
tm = Taxamatch::Base.new
  • compare full scientific names
tm.taxamatch("Hommo sapiens L.", "Homo sapiens Linnaeus")
  • preparse names for the matching (necessary for large databases of scientific names)
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
tm.taxamatch_preparsed(parsed_name1, parsed_name2)
  • compare genera
tm.match_genera("Monacanthus", "MONOCANTUS")
  • compare species
tm.match_species("fronticinctus", "frontecinctus")
  • compare authors and years
Taxamatch::Authmatch.authmatch(["Linnaeus"], ["L","Muller"], [1786], [1787])

You can find more examples in spec section of the code

Copyright

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