biodiversity19 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/biodiversity/parser/scientific_name_clean.treetop +32 -6
- data/lib/biodiversity/parser/scientific_name_dirty.treetop +4 -40
- data/lib/biodiversity/parser.rb +5 -5
- data/spec/parser/scientific_name_clean.spec.rb +23 -0
- data/spec/parser/scientific_name_dirty.spec.rb +0 -2
- data/spec/parser/test_data.txt +26 -2
- data/spec/parser/todo.txt +25 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.1
|
@@ -562,7 +562,7 @@ grammar ScientificNameClean
|
|
562
562
|
end
|
563
563
|
|
564
564
|
rule rank_uninomial
|
565
|
-
("sect."/"sect "/"subsect."/"subsect "/"trib."/"trib "/"subtrib."/"subtrib "/"fam."/"fam "/"subfam."/"subfam "/"supertrib."/"supertrib ") {
|
565
|
+
("sect."/"sect "/"subsect."/"subsect "/"trib."/"trib "/"subtrib."/"subtrib "/"ser."/"ser "/"subgen."/"subgen "/"fam."/"fam "/"subfam."/"subfam "/"supertrib."/"supertrib ") {
|
566
566
|
def value
|
567
567
|
text_value.strip
|
568
568
|
end
|
@@ -646,7 +646,7 @@ grammar ScientificNameClean
|
|
646
646
|
end
|
647
647
|
|
648
648
|
rule genus
|
649
|
-
a:uninomial_string !(space_hard author_prefix_word space_hard author_word) {
|
649
|
+
a:(abbreviated_genus/uninomial_string) !(space_hard author_prefix_word space_hard author_word) {
|
650
650
|
def value
|
651
651
|
a.value
|
652
652
|
end
|
@@ -664,6 +664,26 @@ grammar ScientificNameClean
|
|
664
664
|
end
|
665
665
|
}
|
666
666
|
end
|
667
|
+
|
668
|
+
rule abbreviated_genus
|
669
|
+
[A-Z] [a-z]? [a-z]? [\\.] space {
|
670
|
+
def value
|
671
|
+
text_value.strip
|
672
|
+
end
|
673
|
+
|
674
|
+
def canonical
|
675
|
+
value
|
676
|
+
end
|
677
|
+
|
678
|
+
def pos
|
679
|
+
{interval.begin => ["abbreviated_genus", interval.end]}
|
680
|
+
end
|
681
|
+
|
682
|
+
def details
|
683
|
+
{:abbreviated_genus => {:string => value}}
|
684
|
+
end
|
685
|
+
}
|
686
|
+
end
|
667
687
|
|
668
688
|
rule uninomial_name
|
669
689
|
a:uninomial_string space b:infragenus space c:simple_authorship {
|
@@ -995,10 +1015,10 @@ grammar ScientificNameClean
|
|
995
1015
|
end
|
996
1016
|
|
997
1017
|
rule author_separator
|
998
|
-
("&"/","/"and"/"et") {
|
1018
|
+
("&"/"&"/","/"and"/"et") {
|
999
1019
|
def apply(a,b)
|
1000
1020
|
sep = text_value.strip
|
1001
|
-
sep = " et" if ["&","and","et"].include? sep
|
1021
|
+
sep = " et" if ["&", "&","and","et"].include? sep
|
1002
1022
|
a.value + sep + " " + b.value
|
1003
1023
|
end
|
1004
1024
|
|
@@ -1124,7 +1144,7 @@ grammar ScientificNameClean
|
|
1124
1144
|
end
|
1125
1145
|
|
1126
1146
|
rule author_prefix_word
|
1127
|
-
space ("ab"/"bis"/"da"/"der"/"des"/"den"/"della"/"dela"/"de"/"di"/"du"/"la"/"ter"/"van"/"von") &space_hard {
|
1147
|
+
space ("ab"/"af"/"bis"/"da"/"der"/"des"/"den"/"della"/"dela"/"de"/"di"/"du"/"la"/"ter"/"van"/"von") &space_hard {
|
1128
1148
|
def value
|
1129
1149
|
text_value
|
1130
1150
|
end
|
@@ -1259,7 +1279,7 @@ grammar ScientificNameClean
|
|
1259
1279
|
end
|
1260
1280
|
|
1261
1281
|
rule annotation_identification
|
1262
|
-
("sp.aff."/"sp. aff."/"sp."/"sp "/"spp."/"spp "/"aff."/"aff "/"?") {
|
1282
|
+
("sp.nr."/"sp. nr."/"nr."/"nr "/"sp.aff."/"sp. aff."/"sp."/"sp "/"spp."/"spp "/"aff."/"aff "/"monst."/"?") {
|
1263
1283
|
|
1264
1284
|
def value
|
1265
1285
|
text_value.strip
|
@@ -1326,6 +1346,12 @@ grammar ScientificNameClean
|
|
1326
1346
|
end
|
1327
1347
|
}
|
1328
1348
|
/
|
1349
|
+
"o\'donelli" {
|
1350
|
+
def value
|
1351
|
+
"odonelli"
|
1352
|
+
end
|
1353
|
+
}
|
1354
|
+
/
|
1329
1355
|
a:valid_name_letter b:valid_name_letters {
|
1330
1356
|
def value
|
1331
1357
|
a.value + b.value
|
@@ -51,7 +51,7 @@ grammar ScientificNameDirty
|
|
51
51
|
/
|
52
52
|
super
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
rule infraspecies
|
56
56
|
a:infraspecies_string space b:year {
|
57
57
|
def value
|
@@ -92,43 +92,6 @@ grammar ScientificNameDirty
|
|
92
92
|
super
|
93
93
|
end
|
94
94
|
|
95
|
-
# rule infraspecies_string
|
96
|
-
# sel:rank space_hard a:species_word {
|
97
|
-
# def value
|
98
|
-
# sel.apply(a)
|
99
|
-
# end
|
100
|
-
# def canonical
|
101
|
-
# sel.canonical(a)
|
102
|
-
# end
|
103
|
-
#
|
104
|
-
# def pos
|
105
|
-
# sel.pos(a)
|
106
|
-
# end
|
107
|
-
#
|
108
|
-
# def details
|
109
|
-
# sel.details(a)
|
110
|
-
# end
|
111
|
-
# }
|
112
|
-
# /
|
113
|
-
# a:species_word ![\\.] {
|
114
|
-
# def value
|
115
|
-
# a.value
|
116
|
-
# end
|
117
|
-
#
|
118
|
-
# def canonical
|
119
|
-
# value
|
120
|
-
# end
|
121
|
-
#
|
122
|
-
# def pos
|
123
|
-
# {interval.begin => ['infraspecies', interval.end]}
|
124
|
-
# end
|
125
|
-
#
|
126
|
-
# def details
|
127
|
-
# {:infraspecies => {:string => value, :rank => 'n/a'}}
|
128
|
-
# end
|
129
|
-
# }
|
130
|
-
# end
|
131
|
-
|
132
95
|
rule species
|
133
96
|
a:species_string space b:year {
|
134
97
|
def value
|
@@ -293,9 +256,10 @@ grammar ScientificNameDirty
|
|
293
256
|
rule string_authorship_inconsistencies
|
294
257
|
("corrig.")
|
295
258
|
end
|
296
|
-
|
259
|
+
|
260
|
+
|
297
261
|
rule garbage
|
298
|
-
space (["'
|
262
|
+
space (["',]) space [^щ]*
|
299
263
|
/
|
300
264
|
space_hard [^ш]+
|
301
265
|
end
|
data/lib/biodiversity/parser.rb
CHANGED
@@ -12,7 +12,7 @@ module PreProcessor
|
|
12
12
|
TAXON_CONCEPTS2 = /\s+(\(?s\.\s?s\.|\(?s\.\s?l\.|\(?s\.\s?str\.|\(?s\.\s?lat\.|sec\.|sec|near)\b.*$/
|
13
13
|
TAXON_CONCEPTS3 = /(,\s*|\s+)(pro parte|p\.\s?p\.)\s*$/i
|
14
14
|
NOMEN_CONCEPTS = /(,\s*|\s+)(\(?nomen|\(?nom\.|\(?comb\.).*$/i
|
15
|
-
LAST_WORD_JUNK = /(,\s*|\s+)(spp\.|spp|var\.|var|von|van|sensu|new|non|nec|cf\.|cf|sp\.|sp|ssp\.|ssp|subsp|subgen|hybrid|hort\.|hort)
|
15
|
+
LAST_WORD_JUNK = /(,\s*|\s+)(spp\.|spp|var\.|var|von|van|ined\.|ined|sensu|new|non|nec|cf\.|cf|sp\.|sp|ssp\.|ssp|subsp|subgen|hybrid|hort\.|hort)\??\s*$/i
|
16
16
|
|
17
17
|
def self.clean(a_string)
|
18
18
|
[NOTES, TAXON_CONCEPTS1, TAXON_CONCEPTS2, TAXON_CONCEPTS3, NOMEN_CONCEPTS, LAST_WORD_JUNK].each do |i|
|
@@ -75,8 +75,8 @@ class ScientificNameParser
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def virus?(a_string)
|
78
|
-
!!(a_string.match(/\sICTV\s*$/) || a_string.match(/\b(virus|viruses|phage|phages|viroid|viroids|satellite|satellites|prion|prions)\b/i))
|
79
|
-
end
|
78
|
+
!!(a_string.match(/\sICTV\s*$/) || a_string.match(/\b(virus|viruses|phage|phages|viroid|viroids|satellite|satellites|prion|prions)\b/i) || a_string.match(/[A-Z]?[a-z]+virus\b/))
|
79
|
+
end
|
80
80
|
|
81
81
|
def unknown_placement?(a_string)
|
82
82
|
!!(a_string.match(/incertae\s+sedis/i) || a_string.match(/inc\.\s*sed\./i))
|
@@ -99,8 +99,8 @@ class ScientificNameParser
|
|
99
99
|
@parsed = @clean.parse(a_string) || @dirty.parse(a_string)
|
100
100
|
unless @parsed
|
101
101
|
index = @dirty.index || @clean.index
|
102
|
-
salvage_match = a_string[0..index].
|
103
|
-
salvage_string = salvage_match ? salvage_match
|
102
|
+
salvage_match = a_string[0..index].split(/\s+/)[0..-2]
|
103
|
+
salvage_string = salvage_match ? salvage_match.join(' ') : a_string
|
104
104
|
@parsed = @dirty.parse(salvage_string) || @canonical.parse(a_string) || { :verbatim => a_string }
|
105
105
|
end
|
106
106
|
rescue
|
@@ -68,6 +68,16 @@ describe ScientificNameClean do
|
|
68
68
|
details(sn).should == [{:genus=>{:string=>"Pseudocercospora"}, :species=>{:string=>"dendrobii"}}]
|
69
69
|
pos(sn).should == {0=>["genus", 16], 21=>["species", 30]}
|
70
70
|
end
|
71
|
+
|
72
|
+
it 'should parse abbreviated canonical' do
|
73
|
+
sn = 'P. dendrobii'
|
74
|
+
parse(sn).should_not be_nil
|
75
|
+
value(sn).should == 'P. dendrobii'
|
76
|
+
sn = 'Ps. dendrobii'
|
77
|
+
parse(sn).should_not be_nil
|
78
|
+
value(sn).should == 'Ps. dendrobii'
|
79
|
+
details(sn).should == [{:genus=>{:string=>"Ps."}, :species=>{:string=>"dendrobii"}}]
|
80
|
+
end
|
71
81
|
|
72
82
|
|
73
83
|
it 'should parse species name with author and year' do
|
@@ -86,6 +96,19 @@ describe ScientificNameClean do
|
|
86
96
|
parse("Platypus bicaudatulus Schedl 1935").should_not be_nil
|
87
97
|
end
|
88
98
|
|
99
|
+
it 'should parse species name with abbreviated genus, author and year' do
|
100
|
+
sn = "P. bicaudatulus Schedl 1935"
|
101
|
+
parse(sn).should_not be_nil
|
102
|
+
value(sn).should == "P. bicaudatulus Schedl 1935"
|
103
|
+
sn = "Pl. bicaudatulus Schedl, 1935h"
|
104
|
+
parse(sn).should_not be_nil
|
105
|
+
value(sn).should == "Pl. bicaudatulus Schedl 1935"
|
106
|
+
details(sn).should == [{:genus=>{:string=>"Pl."}, :species=>{:string=>"bicaudatulus", :authorship=>"Schedl, 1935h", :basionymAuthorTeam=>{:authorTeam=>"Schedl", :author=>["Schedl"], :year=>"1935"}}}]
|
107
|
+
sn = "Pla. bicaudatulus Schedl, 1935h"
|
108
|
+
parse(sn).should_not be_nil
|
109
|
+
value(sn).should == "Pla. bicaudatulus Schedl 1935"
|
110
|
+
end
|
111
|
+
|
89
112
|
it "should parse species name with author's postfix f., filius (son of)" do
|
90
113
|
names = [
|
91
114
|
[ "Platypus bicaudatulus Schedl f. 1935", [{:genus=>{:string=>"Platypus"}, :species=>{:string=>"bicaudatulus", :authorship=>"Schedl f. 1935", :basionymAuthorTeam=>{:authorTeam=>"Schedl f.", :author=>["Schedl f."], :year=>"1935"}}}], 'Platypus bicaudatulus Schedl f. 1935'],
|
@@ -74,8 +74,6 @@ describe ScientificNameDirty do
|
|
74
74
|
sn = 'Zoropsis (TaKeoa) nishimurai Yaginuma, 1971' #skipping for now
|
75
75
|
sn = 'Campylobacter pyloridis Marshall et al.1985.'
|
76
76
|
details(sn).should == [{:genus=>{:string=>"Campylobacter"}, :species=>{:string=>"pyloridis", :authorship=>"Marshall et al.1985.", :basionymAuthorTeam=>{:authorTeam=>"Marshall et al.", :author=>["Marshall et al."], :year=>"1985"}}}]
|
77
|
-
sn = 'Staphylococcus hyicus chromogenes Devriese et al. 1978 (Approved Lists 1980).'
|
78
|
-
details(sn).should == [{:genus=>{:string=>"Staphylococcus"}, :species=>{:string=>"hyicus"}, :infraspecies=>[{:string=>"chromogenes", :rank=>"n/a", :authorship=>"Devriese et al. 1978", :basionymAuthorTeam=>{:authorTeam=>"Devriese et al.", :author=>["Devriese et al."], :year=>"1978"}}]}]
|
79
77
|
sn = 'Beijerinckia derxii venezuelae corrig. Thompson and Skerman, 1981'
|
80
78
|
details(sn).should == [{:genus=>{:string=>"Beijerinckia"}, :species=>{:string=>"derxii"}, :infraspecies=>[{:string=>"venezuelae", :rank=>"n/a", :authorship=>"Thompson and Skerman, 1981", :basionymAuthorTeam=>{:authorTeam=>"Thompson and Skerman", :author=>["Thompson", "Skerman"], :year=>"1981"}}]}]
|
81
79
|
details('Streptomyces parvisporogenes ignotus 1960').should == [{:genus=>{:string=>"Streptomyces"}, :species=>{:string=>"parvisporogenes"}, :infraspecies=>[{:string=>"ignotus", :rank=>"n/a", :year=>"1960"}]}]
|
data/spec/parser/test_data.txt
CHANGED
@@ -9,7 +9,7 @@ Pseudocercospora|{"scientificName":{"parsed":true, "parser_version":"test_versio
|
|
9
9
|
|
10
10
|
#uninomial with author
|
11
11
|
Pseudocercospora Speg.|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Pseudocercospora Speg.","normalized":"Pseudocercospora Speg.","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"string":"Pseudocercospora","authorship":"Speg.","basionymAuthorTeam":{"authorTeam":"Speg.","author":["Speg."]}}}],"positions":{"0":["uninomial",16],"17":["author_word",22]}}}
|
12
|
-
Döringina Ihering 1929|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Döringina Ihering 1929", "normalized":"Doringina Ihering 1929", "canonical":"Doringina", "hybrid":false, "details":[{"uninomial":{"string":"Doringina", "authorship":"Ihering 1929", "basionymAuthorTeam":{"authorTeam":"Ihering", "author":["Ihering"], "year":"1929"}}}], "parser_run":2, "positions":{"0":["uninomial", 9], "10":["author_word", 17], "18":["year", 22]}}}
|
12
|
+
Döringina Ihering 1929 (synonym)|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Döringina Ihering 1929 (synonym)", "normalized":"Doringina Ihering 1929", "canonical":"Doringina", "hybrid":false, "details":[{"uninomial":{"string":"Doringina", "authorship":"Ihering 1929", "basionymAuthorTeam":{"authorTeam":"Ihering", "author":["Ihering"], "year":"1929"}}}], "parser_run":2, "positions":{"0":["uninomial", 9], "10":["author_word", 17], "18":["year", 22]}}}
|
13
13
|
|
14
14
|
#uninomial with author and year
|
15
15
|
Pseudocercospora Speg. 1910|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Pseudocercospora Speg. 1910","normalized":"Pseudocercospora Speg. 1910","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"string":"Pseudocercospora","authorship":"Speg. 1910","basionymAuthorTeam":{"authorTeam":"Speg.","author":["Speg."],"year":"1910"}}}],"positions":{"0":["uninomial",16],"17":["author_word",22],"23":["year",27]}}}
|
@@ -45,6 +45,9 @@ Zygophyllaceae subfam. Tribuloideae D.M.Porter|{"scientificName":{"parsed":true,
|
|
45
45
|
Cordia (Adans.) Kuntze sect. Salimori|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Cordia (Adans.) Kuntze sect. Salimori", "normalized":"Cordia (Adans.) Kuntze sect. Salimori", "canonical":"Cordia", "hybrid":false, "details":[{"uninomial":{"string":"Cordia", "authorship":"(Adans.) Kuntze", "combinationAuthorTeam":{"authorTeam":"Kuntze", "author":["Kuntze"]}, "basionymAuthorTeam":{"authorTeam":"Adans.", "author":["Adans."]}}, "rank_uninomials":"sect.", "uninomial2":{"string":"Salimori"}}], "parser_run":1, "positions":{"0":["uninomial", 6], "8":["author_word", 14], "16":["author_word", 22], "23":["rank_uninomial", 28], "29":["uninomial", 37]}}}
|
46
46
|
Poaceae supertrib. Arundinarodae L.Liu|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Poaceae supertrib. Arundinarodae L.Liu", "normalized":"Poaceae supertrib. Arundinarodae L.Liu", "canonical":"Poaceae", "hybrid":false, "details":[{"uninomial":{"string":"Poaceae"}, "rank_uninomials":"supertrib.", "uninomial2":{"string":"Arundinarodae", "authorship":"L.Liu", "basionymAuthorTeam":{"authorTeam":"L.Liu", "author":["L.Liu"]}}}], "parser_run":1, "positions":{"0":["uninomial", 7], "8":["rank_uninomial", 18], "19":["uninomial", 38]}}}
|
47
47
|
Alchemilla subsect. Sericeae A.Plocek|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Alchemilla subsect. Sericeae A.Plocek", "normalized":"Alchemilla subsect. Sericeae A.Plocek", "canonical":"Alchemilla", "hybrid":false, "details":[{"uninomial":{"string":"Alchemilla"}, "rank_uninomials":"subsect.", "uninomial2":{"string":"Sericeae", "authorship":"A.Plocek", "basionymAuthorTeam":{"authorTeam":"A.Plocek", "author":["A.Plocek"]}}}], "parser_run":1, "positions":{"0":["uninomial", 10], "11":["rank_uninomial", 19], "20":["uninomial", 37]}}}
|
48
|
+
#NOTE incorrectly determined infragenus. Ambiguous placement which fits either author or infragenus.
|
49
|
+
Hymenophyllum subgen. Hymenoglossum (Presl) R.M.Tryon & A.Tryon|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Hymenophyllum subgen. Hymenoglossum (Presl) R.M.Tryon & A.Tryon", "normalized":"Hymenophyllum subgen. Hymenoglossum (Presl) R.M.Tryon et A.Tryon", "canonical":"Hymenophyllum", "hybrid":false, "details":[{"uninomial":{"string":"Hymenophyllum"}, "rank_uninomials":"subgen.", "uninomial2":{"string":"Hymenoglossum", "infragenus":{"string":"Presl"}, "authorship":"R.M.Tryon & A.Tryon", "basionymAuthorTeam":{"authorTeam":"R.M.Tryon & A.Tryon", "author":["R.M.Tryon", "A.Tryon"]}}}], "parser_run":1, "positions":{"0":["uninomial", 13], "14":["rank_uninomial", 21], "22":["uninomial", 63]}}}
|
50
|
+
Aconitum ser. Tangutica W.T. Wang|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Aconitum ser. Tangutica W.T. Wang", "normalized":"Aconitum ser. Tangutica W.T. Wang", "canonical":"Aconitum", "hybrid":false, "details":[{"uninomial":{"string":"Aconitum"}, "rank_uninomials":"ser.", "uninomial2":{"string":"Tangutica", "authorship":"W.T. Wang", "basionymAuthorTeam":{"authorTeam":"W.T. Wang", "author":["W.T. Wang"]}}}], "parser_run":1, "positions":{"0":["uninomial", 8], "9":["rank_uninomial", 13], "14":["uninomial", 33]}}}
|
48
51
|
|
49
52
|
#canonical binomial
|
50
53
|
Pseudocercospora dendrobii|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Pseudocercospora dendrobii","normalized":"Pseudocercospora dendrobii","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"string":"Pseudocercospora"},"species":{"string":"dendrobii"}}],"positions":{"0":["genus",16],"21":["species",30]}}}
|
@@ -54,11 +57,20 @@ Cucurbita pepo|{"scientificName":{"parsed":true, "parser_version":"test_version"
|
|
54
57
|
Platypus bicaudatulus Schedl 1935|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Platypus bicaudatulus Schedl 1935","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"string":"Platypus"},"species":{"string":"bicaudatulus","authorship":"Schedl 1935","basionymAuthorTeam":{"authorTeam":"Schedl","author":["Schedl"],"year":"1935"}}}],"positions":{"0":["genus",8],"9":["species",21],"22":["author_word",28],"29":["year",33]}}}
|
55
58
|
Platypus bicaudatulus Schedl, 1935h|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Platypus bicaudatulus Schedl, 1935h","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"string":"Platypus"},"species":{"string":"bicaudatulus","authorship":"Schedl, 1935h","basionymAuthorTeam":{"authorTeam":"Schedl","author":["Schedl"],"year":"1935"}}}],"positions":{"0":["genus",8],"9":["species",21],"22":["author_word",28],"30":["year",35]}}}
|
56
59
|
|
60
|
+
#binomial with abbreviated genus
|
61
|
+
M. alpium|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"M. alpium", "normalized":"M. alpium", "canonical":"M. alpium", "hybrid":false, "details":[{"genus":{"string":"M."}, "species":{"string":"alpium"}}], "parser_run":1, "positions":{"0":["genus", 3], "3":["species", 9]}}}
|
62
|
+
Mo. alpium (Osbeck, 1778)|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Mo. alpium (Osbeck, 1778)", "normalized":"Mo. alpium (Osbeck 1778)", "canonical":"Mo. alpium", "hybrid":false, "details":[{"genus":{"string":"Mo."}, "species":{"string":"alpium", "authorship":"(Osbeck, 1778)", "basionymAuthorTeam":{"authorTeam":"Osbeck", "author":["Osbeck"], "year":"1778"}}}], "parser_run":1, "positions":{"0":["genus", 4], "4":["species", 10], "12":["author_word", 18], "20":["year", 24]}}}
|
63
|
+
Mom.alpium (Osbeck, 1778)|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Mom.alpium (Osbeck, 1778)", "normalized":"Mom. alpium (Osbeck 1778)", "canonical":"Mom. alpium", "hybrid":false, "details":[{"genus":{"string":"Mom."}, "species":{"string":"alpium", "authorship":"(Osbeck, 1778)", "basionymAuthorTeam":{"authorTeam":"Osbeck", "author":["Osbeck"], "year":"1778"}}}], "parser_run":1, "positions":{"0":["genus", 4], "4":["species", 10], "12":["author_word", 18], "20":["year", 24]}}}
|
64
|
+
|
65
|
+
#binomial with apostrophe in species epithet
|
66
|
+
Junellia o'donelli Moldenke, 1946|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Junellia o'donelli Moldenke, 1946", "normalized":"Junellia odonelli Moldenke 1946", "canonical":"Junellia odonelli", "hybrid":false, "details":[{"genus":{"string":"Junellia"}, "species":{"string":"odonelli", "authorship":"Moldenke, 1946", "basionymAuthorTeam":{"authorTeam":"Moldenke", "author":["Moldenke"], "year":"1946"}}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 18], "19":["author_word", 27], "29":["year", 33]}}}
|
67
|
+
|
57
68
|
# whitespace names (rare, only ~50 cases)
|
58
69
|
#TODO Donatia novae zelandiae Hook.f.
|
59
70
|
#TODO Donatia novae-zelandiae Hook.f.
|
60
71
|
|
61
72
|
#binomial with several authours
|
73
|
+
Potamogeton iilinoensis var. ventanicola (Hicken) Horn af Rantzien|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Potamogeton iilinoensis var. ventanicola (Hicken) Horn af Rantzien", "normalized":"Potamogeton iilinoensis var. ventanicola (Hicken) Horn af Rantzien", "canonical":"Potamogeton iilinoensis ventanicola", "hybrid":false, "details":[{"genus":{"string":"Potamogeton"}, "species":{"string":"iilinoensis"}, "infraspecies":[{"string":"ventanicola", "rank":"var.", "authorship":"(Hicken) Horn af Rantzien", "combinationAuthorTeam":{"authorTeam":"Horn af Rantzien", "author":["Horn af Rantzien"]}, "basionymAuthorTeam":{"authorTeam":"Hicken", "author":["Hicken"]}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 23], "24":["infraspecific_type", 28], "29":["infraspecies", 40], "42":["author_word", 48], "50":["author_word", 54], "55":["author_word", 57], "58":["author_word", 66]}}}
|
62
74
|
Pseudocercospora dendrobii Goh & W.H. Hsieh 1990|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Pseudocercospora dendrobii Goh & W.H. Hsieh 1990", "normalized":"Pseudocercospora dendrobii Goh et W.H. Hsieh 1990", "canonical":"Pseudocercospora dendrobii", "hybrid":false, "details":[{"genus":{"string":"Pseudocercospora"}, "species":{"string":"dendrobii", "authorship":"Goh & W.H. Hsieh 1990", "basionymAuthorTeam":{"authorTeam":"Goh & W.H. Hsieh", "author":["Goh", "W.H. Hsieh"], "year":"1990"}}}], "parser_run":1, "positions":{"0":["genus", 16], "17":["species", 26], "27":["author_word", 30], "33":["author_word", 37], "38":["author_word", 43], "44":["year", 48]}}}
|
63
75
|
Pseudocercospora dendrobii Goh and W.H. Hsieh 1990|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Pseudocercospora dendrobii Goh and W.H. Hsieh 1990", "normalized":"Pseudocercospora dendrobii Goh et W.H. Hsieh 1990", "canonical":"Pseudocercospora dendrobii", "hybrid":false, "details":[{"genus":{"string":"Pseudocercospora"}, "species":{"string":"dendrobii", "authorship":"Goh and W.H. Hsieh 1990", "basionymAuthorTeam":{"authorTeam":"Goh and W.H. Hsieh", "author":["Goh", "W.H. Hsieh"], "year":"1990"}}}], "parser_run":1, "positions":{"0":["genus", 16], "17":["species", 26], "27":["author_word", 30], "35":["author_word", 39], "40":["author_word", 45], "46":["year", 50]}}}
|
64
76
|
Pseudocercospora dendrobii Goh et W.H. Hsieh 1990|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Pseudocercospora dendrobii Goh et W.H. Hsieh 1990", "normalized":"Pseudocercospora dendrobii Goh et W.H. Hsieh 1990", "canonical":"Pseudocercospora dendrobii", "hybrid":false, "details":[{"genus":{"string":"Pseudocercospora"}, "species":{"string":"dendrobii", "authorship":"Goh et W.H. Hsieh 1990", "basionymAuthorTeam":{"authorTeam":"Goh et W.H. Hsieh", "author":["Goh", "W.H. Hsieh"], "year":"1990"}}}], "parser_run":1, "positions":{"0":["genus", 16], "17":["species", 26], "27":["author_word", 30], "34":["author_word", 38], "39":["author_word", 44], "45":["year", 49]}}}
|
@@ -70,6 +82,7 @@ Aëtosaurus ferratus|{"scientificName":{"parsed":true, "parser_version":"test_ve
|
|
70
82
|
|
71
83
|
#binomial with several authors and a year
|
72
84
|
Pseudocercospora dendrobii U. Braun & Crous 2003|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Pseudocercospora dendrobii U. Braun & Crous 2003","normalized":"Pseudocercospora dendrobii U. Braun et Crous 2003","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"string":"Pseudocercospora"},"species":{"string":"dendrobii","authorship":"U. Braun & Crous 2003","basionymAuthorTeam":{"authorTeam":"U. Braun & Crous","author":["U. Braun","Crous"],"year":"2003"}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",29],"30":["author_word",35],"38":["author_word",43],"44":["year",48]}}}
|
85
|
+
Torymus bangalorensis (Mani & Kurian, 1953)|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Torymus bangalorensis (Mani & Kurian, 1953)", "normalized":"Torymus bangalorensis (Mani et Kurian 1953)", "canonical":"Torymus bangalorensis", "hybrid":false, "details":[{"genus":{"string":"Torymus"}, "species":{"string":"bangalorensis", "authorship":"(Mani & Kurian, 1953)", "basionymAuthorTeam":{"authorTeam":"Mani & Kurian", "author":["Mani", "Kurian"], "year":"1953"}}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 21], "23":["author_word", 27], "34":["author_word", 40], "42":["year", 46]}}}
|
73
86
|
|
74
87
|
#iczn: species name with infragenus
|
75
88
|
Hegeter (Hegeter) tenuipunctatus Brullé, 1838|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Hegeter (Hegeter) tenuipunctatus Brullé, 1838", "normalized":"Hegeter (Hegeter) tenuipunctatus Brullé 1838", "canonical":"Hegeter tenuipunctatus", "hybrid":false, "details":[{"genus":{"string":"Hegeter"}, "infragenus":{"string":"Hegeter"}, "species":{"string":"tenuipunctatus", "authorship":"Brullé, 1838", "basionymAuthorTeam":{"authorTeam":"Brullé", "author":["Brullé"], "year":"1838"}}}], "parser_run":1, "positions":{"0":["genus", 7], "9":["infragenus", 16], "18":["species", 32], "33":["author_word", 39], "41":["year", 45]}}}
|
@@ -141,7 +154,7 @@ Polypodium pectinatum (L.) f. typica Rosenst.|{"scientificName":{"parsed":true,
|
|
141
154
|
Polypodium pectinatum L. f. typica Rosenst.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L. f. typica Rosenst.", "normalized":"Polypodium pectinatum L. f. typica Rosenst.", "canonical":"Polypodium pectinatum typica", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L.", "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}, "infraspecies":[{"string":"typica", "rank":"f.", "authorship":"Rosenst.", "basionymAuthorTeam":{"authorTeam":"Rosenst.", "author":["Rosenst."]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 24], "25":["infraspecific_type", 27], "28":["infraspecies", 34], "35":["author_word", 43]}}}
|
142
155
|
# TODO: the following phrasing can be ambiguous. Does f mean forma or filius? Currently capturing it as filius
|
143
156
|
Polypodium pectinatum L.f. typica Rosenst.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L.f. typica Rosenst.", "normalized":"Polypodium pectinatum L.f. typica Rosenst.", "canonical":"Polypodium pectinatum typica", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L.f.", "basionymAuthorTeam":{"authorTeam":"L.f.", "author":["L.f."]}}, "infraspecies":[{"string":"typica", "rank":"n/a", "authorship":"Rosenst.", "basionymAuthorTeam":{"authorTeam":"Rosenst.", "author":["Rosenst."]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 26], "27":["infraspecies", 33], "34":["author_word", 42]}}}
|
144
|
-
Polypodium pectinatum L. f.
|
157
|
+
Polypodium pectinatum L. f. typica Rosenst.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L. f. typica Rosenst.", "normalized":"Polypodium pectinatum L. f. typica Rosenst.", "canonical":"Polypodium pectinatum typica", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L.", "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}, "infraspecies":[{"string":"typica", "rank":"f.", "authorship":"Rosenst.", "basionymAuthorTeam":{"authorTeam":"Rosenst.", "author":["Rosenst."]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 24], "25":["infraspecific_type", 27], "28":["infraspecies", 34], "35":["author_word", 43]}}}
|
145
158
|
Polypodium lineare C.Chr. f. caudatoattenuatum Takeda|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium lineare C.Chr. f. caudatoattenuatum Takeda", "normalized":"Polypodium lineare C.Chr. f. caudatoattenuatum Takeda", "canonical":"Polypodium lineare caudatoattenuatum", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"lineare", "authorship":"C.Chr.", "basionymAuthorTeam":{"authorTeam":"C.Chr.", "author":["C.Chr."]}}, "infraspecies":[{"string":"caudatoattenuatum", "rank":"f.", "authorship":"Takeda", "basionymAuthorTeam":{"authorTeam":"Takeda", "author":["Takeda"]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 18], "19":["author_word", 25], "26":["infraspecific_type", 28], "29":["infraspecies", 46], "47":["author_word", 53]}}}
|
146
159
|
Rhododendron weyrichii Maxim. f. albiflorum T.Yamaz.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Rhododendron weyrichii Maxim. f. albiflorum T.Yamaz.", "normalized":"Rhododendron weyrichii Maxim. f. albiflorum T.Yamaz.", "canonical":"Rhododendron weyrichii albiflorum", "hybrid":false, "details":[{"genus":{"string":"Rhododendron"}, "species":{"string":"weyrichii", "authorship":"Maxim.", "basionymAuthorTeam":{"authorTeam":"Maxim.", "author":["Maxim."]}}, "infraspecies":[{"string":"albiflorum", "rank":"f.", "authorship":"T.Yamaz.", "basionymAuthorTeam":{"authorTeam":"T.Yamaz.", "author":["T.Yamaz."]}}]}], "parser_run":1, "positions":{"0":["genus", 12], "13":["species", 22], "23":["author_word", 29], "30":["infraspecific_type", 32], "33":["infraspecies", 43], "44":["author_word", 52]}}}
|
147
160
|
Armeria maaritima (Mill.) Willd. fma. originaria Bern.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Armeria maaritima (Mill.) Willd. fma. originaria Bern.", "normalized":"Armeria maaritima (Mill.) Willd. fma. originaria Bern.", "canonical":"Armeria maaritima originaria", "hybrid":false, "details":[{"genus":{"string":"Armeria"}, "species":{"string":"maaritima", "authorship":"(Mill.) Willd.", "combinationAuthorTeam":{"authorTeam":"Willd.", "author":["Willd."]}, "basionymAuthorTeam":{"authorTeam":"Mill.", "author":["Mill."]}}, "infraspecies":[{"string":"originaria", "rank":"fma.", "authorship":"Bern.", "basionymAuthorTeam":{"authorTeam":"Bern.", "author":["Bern."]}}]}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17], "19":["author_word", 24], "26":["author_word", 32], "33":["infraspecific_type", 37], "38":["infraspecies", 48], "49":["author_word", 54]}}}
|
@@ -174,6 +187,9 @@ Sphingomonas sp. 37|{"scientificName":{"parsed":true, "parser_version":"test_ver
|
|
174
187
|
Thryothorus leucotis spp. bogotensis|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Thryothorus leucotis spp. bogotensis", "normalized":"Thryothorus leucotis", "canonical":"Thryothorus leucotis", "hybrid":false, "details":[{"genus":{"string":"Thryothorus"}, "species":{"string":"leucotis"}, "infraspecies":[{"annotation_identification":"spp.", "ignored":{"infraspecies":{"string":"bogotensis", "rank":"n/a"}}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 20], "21":["annotation_identification", 25]}}}
|
175
188
|
Endoxyla sp. GM-, 2003|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Endoxyla sp. GM-, 2003", "normalized":"Endoxyla", "canonical":"Endoxyla", "hybrid":false, "details":[{"genus":{"string":"Endoxyla"}, "annotation_identification":"sp.", "ignored":{"unparsed":"GM-, 2003"}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["annotation_identification", 12]}}}
|
176
189
|
Liopropoma sp.2 Not applicable|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Liopropoma sp.2 Not applicable", "normalized":"Liopropoma", "canonical":"Liopropoma", "hybrid":false, "details":[{"genus":{"string":"Liopropoma"}, "annotation_identification":"sp.", "ignored":{"unparsed":"2 Not applicable"}}], "parser_run":1, "positions":{"0":["genus", 10], "11":["annotation_identification", 14]}}}
|
190
|
+
Lacanobia nr. subjuncta Bold:Aab, 0925|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Lacanobia nr. subjuncta Bold:Aab, 0925", "normalized":"Lacanobia", "canonical":"Lacanobia", "hybrid":false, "details":[{"genus":{"string":"Lacanobia"}, "annotation_identification":"nr.", "ignored":{"species":{"string":"subjuncta", "authorship":"Bold:Aab", "basionymAuthorTeam":{"authorTeam":"Bold:Aab", "author":["Bold:Aab"]}}}}], "parser_run":2, "positions":{"0":["genus", 9], "10":["annotation_identification", 13]}}}
|
191
|
+
Lacanobia sp. nr. subjuncta Bold:Aab, 0925|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Lacanobia sp. nr. subjuncta Bold:Aab, 0925", "normalized":"Lacanobia", "canonical":"Lacanobia", "hybrid":false, "details":[{"genus":{"string":"Lacanobia"}, "annotation_identification":"sp. nr.", "ignored":{"species":{"string":"subjuncta", "authorship":"Bold:Aab", "basionymAuthorTeam":{"authorTeam":"Bold:Aab", "author":["Bold:Aab"]}}}}], "parser_run":2, "positions":{"0":["genus", 9], "10":["annotation_identification", 17]}}}
|
192
|
+
#TODO:Gemmula cf. cosmoi NP-2008 -- generates wrong authorship
|
177
193
|
|
178
194
|
#unknown authorship
|
179
195
|
Tragacantha leporina (?) Kuntze|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Tragacantha leporina (?) Kuntze","normalized":"Tragacantha leporina (?) Kuntze","canonical":"Tragacantha leporina","hybrid":false,"details":[{"genus":{"string":"Tragacantha"},"species":{"string":"leporina","authorship":"(?) Kuntze","combinationAuthorTeam":{"authorTeam":"Kuntze","author":["Kuntze"]},"basionymAuthorTeam":{"authorTeam":"(?)","author":["?"]}}}],"positions":{"0":["genus",11],"12":["species",20],"22":["unknown_author",23],"25":["author_word",31]}}}
|
@@ -239,6 +255,7 @@ Salix ×capreola Andersson (1867)|{"scientificName":{"parsed":true, "parser_vers
|
|
239
255
|
Salix x capreola Andersson|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Salix x capreola Andersson","normalized":"Salix \u00d7 capreola Andersson","canonical":"Salix capreola","hybrid":true,"details":[{"genus":{"string":"Salix"},"species":{"string":"capreola","authorship":"Andersson","basionymAuthorTeam":{"authorTeam":"Andersson","author":["Andersson"]}}}],"positions":{"0":["genus",5],"8":["species",16],"17":["author_word",26]}}}
|
240
256
|
|
241
257
|
#hybrid formula
|
258
|
+
Stanhopea tigrina Bateman ex Lindl. x S. ecornuta Lem.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Stanhopea tigrina Bateman ex Lindl. x S. ecornuta Lem.", "normalized":"Stanhopea tigrina Bateman ex Lindl. × S. ecornuta Lem.", "canonical":"Stanhopea tigrina × S. ecornuta", "hybrid":true, "details":[{"genus":{"string":"Stanhopea"}, "species":{"string":"tigrina", "authorship":"Bateman ex Lindl.", "basionymAuthorTeam":{"authorTeam":"Bateman", "author":["Bateman"], "exAuthorTeam":{"authorTeam":"Lindl.", "author":["Lindl."]}}}}, {"genus":{"string":"S."}, "species":{"string":"ecornuta", "authorship":"Lem.", "basionymAuthorTeam":{"authorTeam":"Lem.", "author":["Lem."]}}}], "parser_run":1, "positions":{"0":["genus", 9], "10":["species", 17], "18":["author_word", 25], "29":["author_word", 35], "38":["genus", 41], "41":["species", 49], "50":["author_word", 54]}}}
|
242
259
|
Arthopyrenia hyalospora X Hydnellum scrobiculatum|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Arthopyrenia hyalospora X Hydnellum scrobiculatum","normalized":"Arthopyrenia hyalospora \u00d7 Hydnellum scrobiculatum","canonical":"Arthopyrenia hyalospora × Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"}}],"positions":{"0":["genus",12],"13":["species",23],"26":["genus",35],"36":["species",49]}}}
|
243
260
|
Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz","normalized":"Arthopyrenia hyalospora (Banker) D. Hall \u00d7 Hydnellum scrobiculatum D.E. Stuntz","canonical":"Arthopyrenia hyalospora × Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora","authorship":"(Banker) D. Hall","combinationAuthorTeam":{"authorTeam":"D. Hall","author":["D. Hall"]},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum","authorship":"D.E. Stuntz","basionymAuthorTeam":{"authorTeam":"D.E. Stuntz","author":["D.E. Stuntz"]}}}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",31],"33":["author_word",35],"36":["author_word",40],"43":["genus",52],"53":["species",66],"67":["author_word",71],"72":["author_word",78]}}}
|
244
261
|
Arthopyrenia hyalospora x|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Arthopyrenia hyalospora x","normalized":"Arthopyrenia hyalospora \u00d7 ?","canonical":"Arthopyrenia hyalospora","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},"?"],"positions":{"0":["genus",12],"13":["species",23]}}}
|
@@ -329,6 +346,9 @@ Fakus prioni|{"scientificName":{"parsed":true, "verbatim":"Fakus prioni", "norma
|
|
329
346
|
Phi h-like viruses|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Phi h-like viruses", "virus":true}}
|
330
347
|
Viroids|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Viroids", "virus":true}}
|
331
348
|
Fungal prions|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Fungal prions", "virus":true}}
|
349
|
+
Human rhinovirus A11|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Human rhinovirus A11", "virus":true}}
|
350
|
+
Kobuvirus korean black goat/South Korea/2010|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Kobuvirus korean black goat/South Korea/2010", "virus":true}}
|
351
|
+
Australian bat lyssavirus human/AUS/1998|{"scientificName":{"parsed":false, "parser_version":"test_version", "verbatim":"Australian bat lyssavirus human/AUS/1998", "virus":true}}
|
332
352
|
|
333
353
|
#double parenthesis
|
334
354
|
Eichornia crassipes ( (Martius) ) Solms-Laub.|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":2,"verbatim":"Eichornia crassipes ( (Martius) ) Solms-Laub.","normalized":"Eichornia crassipes (Martius) Solms-Laub.","canonical":"Eichornia crassipes","hybrid":false,"details":[{"genus":{"string":"Eichornia"},"species":{"string":"crassipes","authorship":"( (Martius) ) Solms-Laub.","combinationAuthorTeam":{"authorTeam":"Solms-Laub.","author":["Solms-Laub."]},"basionymAuthorTeam":{"authorTeam":"Martius","author":["Martius"]}}}],"positions":{"0":["genus",9],"10":["species",19],"23":["author_word",30],"34":["author_word",45]}}}
|
@@ -381,3 +401,7 @@ Verpericola megasoma "Dall" Pils.|{"scientificName":{"parsed":true, "parser_vers
|
|
381
401
|
Moraea spathulata ( (L. f. Klatt|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":2,"verbatim":"Moraea spathulata ( (L. f. Klatt","normalized":"Moraea spathulata","canonical":"Moraea spathulata","hybrid":false,"details":[{"genus":{"string":"Moraea"},"species":{"string":"spathulata"}}],"positions":{"0":["genus",6],"7":["species",17]}}}
|
382
402
|
Stewartia micrantha (Chun) Sealy, Bot. Mag. 176: t. 510. 1967.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Stewartia micrantha (Chun) Sealy, Bot. Mag. 176: t. 510. 1967.", "normalized":"Stewartia micrantha (Chun) Sealy, Bot. Mag.", "canonical":"Stewartia micrantha", "hybrid":false, "details":[{"genus":{"string":"Stewartia"}, "species":{"string":"micrantha", "authorship":"(Chun) Sealy, Bot. Mag.", "combinationAuthorTeam":{"authorTeam":"Sealy, Bot. Mag.", "author":["Sealy", "Bot. Mag."]}, "basionymAuthorTeam":{"authorTeam":"Chun", "author":["Chun"]}}}], "parser_run":2, "positions":{"0":["genus", 9], "10":["species", 19], "21":["author_word", 25], "27":["author_word", 32], "34":["author_word", 38], "39":["author_word", 43]}}}
|
383
403
|
Pyrobaculum neutrophilum V24Sta|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Pyrobaculum neutrophilum V24Sta", "normalized":"Pyrobaculum neutrophilum", "canonical":"Pyrobaculum neutrophilum", "hybrid":false, "details":[{"genus":{"string":"Pyrobaculum"}, "species":{"string":"neutrophilum"}}], "parser_run":2, "positions":{"0":["genus", 11], "12":["species", 24]}}}
|
404
|
+
Rana aurora Baird and Girard, 1852; H.B. Shaffer et al., 2004|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Rana aurora Baird and Girard, 1852; H.B. Shaffer et al., 2004", "normalized":"Rana aurora Baird et Girard", "canonical":"Rana aurora", "hybrid":false, "details":[{"genus":{"string":"Rana"}, "species":{"string":"aurora", "authorship":"Baird and Girard", "basionymAuthorTeam":{"authorTeam":"Baird and Girard", "author":["Baird", "Girard"]}}}], "parser_run":2, "positions":{"0":["genus", 4], "5":["species", 11], "12":["author_word", 17], "22":["author_word", 28]}}}
|
405
|
+
Agropyron pectiniforme var. karabaljikji ined.?|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Agropyron pectiniforme var. karabaljikji ined.?", "normalized":"Agropyron pectiniforme var. karabaljikji", "canonical":"Agropyron pectiniforme karabaljikji", "hybrid":false, "details":[{"genus":{"string":"Agropyron"}, "species":{"string":"pectiniforme"}, "infraspecies":[{"string":"karabaljikji", "rank":"var."}]}], "parser_run":1, "positions":{"0":["genus", 9], "10":["species", 22], "23":["infraspecific_type", 27], "28":["infraspecies", 40]}}}
|
406
|
+
Staphylococcus hyicus chromogenes Devriese et al. 1978 (Approved Lists 1980).|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Staphylococcus hyicus chromogenes Devriese et al. 1978 (Approved Lists 1980).", "normalized":"Staphylococcus hyicus chromogenes Devriese et al. 1978", "canonical":"Staphylococcus hyicus chromogenes", "hybrid":false, "details":[{"genus":{"string":"Staphylococcus"}, "species":{"string":"hyicus"}, "infraspecies":[{"string":"chromogenes", "rank":"n/a", "authorship":"Devriese et al. 1978", "basionymAuthorTeam":{"authorTeam":"Devriese et al.", "author":["Devriese et al."], "year":"1978"}}]}], "parser_run":2, "positions":{"0":["genus", 14], "15":["species", 21], "22":["infraspecies", 33], "34":["author_word", 42], "43":["author_word", 49], "50":["year", 54]}}}
|
407
|
+
Kerana var. cameroni|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Kerana var. cameroni", "normalized":"Kerana", "canonical":"Kerana", "hybrid":false, "details":[{"uninomial":{"string":"Kerana"}}], "parser_run":2, "positions":{"0":["uninomial", 6]}}}
|
data/spec/parser/todo.txt
CHANGED
@@ -28,3 +28,28 @@ Rosa gallica × tomentosa var. eglandulosa R.Keller Rosa gallica
|
|
28
28
|
Rosa gallica × afzeliana subsp. vosagiaca forma subcomplicata R.Keller Rosa gallica
|
29
29
|
|
30
30
|
Salmonella sp. (ser.) brancaster Macdonald, Sivell, Emms and Taylor 1948
|
31
|
+
|
32
|
+
Stanhopea tigrina Bateman ex Lindl. x S. ecornuta Lem.
|
33
|
+
|
34
|
+
|
35
|
+
Junellia o'donelli Moldenke, 1946
|
36
|
+
|
37
|
+
119052670 | Human rhinovirus A11 |
|
38
|
+
|
39
|
+
Rubus idaeus monst. obtusifolius (Willd.) Focke | Rubus idaeus
|
40
|
+
|
41
|
+
Kerana var. cameroni |Kerana var
|
42
|
+
|
43
|
+
A. alba
|
44
|
+
A.alba
|
45
|
+
|
46
|
+
Bangalaia viridis sbsp. distinctemaculata Lepesme & Breuning, 1956
|
47
|
+
|
48
|
+
Clostridium sp. enrichment culture clone M4C16
|
49
|
+
|
50
|
+
|
51
|
+
000913765 Rubus x gracilidens Sudre
|
52
|
+
Rubus gracilidens | 1
|
53
|
+
|
54
|
+
|
55
|
+
Salix myrtilloides x starkeana ssp. starkeana
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: biodiversity19
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: treetop
|
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
162
|
version: '0'
|
163
163
|
segments:
|
164
164
|
- 0
|
165
|
-
hash:
|
165
|
+
hash: -4547569658768114623
|
166
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
167
|
none: false
|
168
168
|
requirements:
|