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