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 CHANGED
@@ -1 +1 @@
1
- 1.1.0
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 (["',.]) space [^щ]*
262
+ space (["',]) space [^щ]*
299
263
  /
300
264
  space_hard [^ш]+
301
265
  end
@@ -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)\s*$/i
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].match(/(.*[^,|\s]+)[,|\s]?\b.+$/)
103
- salvage_string = salvage_match ? salvage_match[1] : a_string
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"}]}]
@@ -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. thisisjunk Rosent.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L. f. thisisjunk Rosent.", "normalized":"Polypodium pectinatum L. f. thisisjunk Rosent.", "canonical":"Polypodium pectinatum thisisjunk", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L.", "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}, "infraspecies":[{"string":"thisisjunk", "rank":"f.", "authorship":"Rosent.", "basionymAuthorTeam":{"authorTeam":"Rosent.", "author":["Rosent."]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 24], "25":["infraspecific_type", 27], "28":["infraspecies", 38], "39":["author_word", 46]}}}
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.0
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-18 00:00:00.000000000 Z
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: 1697761162885604721
165
+ hash: -4547569658768114623
166
166
  required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  none: false
168
168
  requirements: