biodiversity 0.5.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,90 @@
1
+ # encoding: UTF-8
2
+ dir = File.dirname("__FILE__")
3
+ require File.expand_path(dir + '../../spec/parser/spec_helper')
4
+
5
+ describe ScientificNameDirty do
6
+ before(:all) do
7
+ set_parser(ScientificNameDirtyParser.new)
8
+ end
9
+
10
+
11
+ it 'should parse clean names' do
12
+ parse("Betula verucosa (L.) Bar. 1899").should_not be_nil
13
+ end
14
+
15
+ it 'should parse double parenthesis' do
16
+ sn = "Eichornia crassipes ( (Martius) ) Solms-Laub."
17
+ parse(sn).should_not be_nil
18
+ value(sn).should == "Eichornia crassipes (Martius) Solms-Laub."
19
+ details(sn).should == [{:genus=>{:epitheton=>"Eichornia"}, :species=>{:epitheton=>"crassipes", :authorship=>"( (Martius) ) Solms-Laub.", :combinationAuthorTeam=>{:authorTeam=>"Solms-Laub.", :author=>["Solms-Laub."]}, :basionymAuthorTeam=>{:authorTeam=>"Martius", :author=>["Martius"]}}}]
20
+ pos(sn).should == {0=>["genus", 9], 10=>["species", 19], 23=>["author_word", 30], 34=>["author_word", 45]}
21
+ end
22
+
23
+ it "should parse year without author" do
24
+ sn = "Acarospora cratericola 1929"
25
+ parse(sn).should_not be_nil
26
+ pos(sn).should == {0=>["genus", 10], 11=>["species", 22], 23=>["year", 27]}
27
+ details(sn).should == [{:genus=>{:epitheton=>"Acarospora"}, :species=>{:epitheton=>"cratericola", :year=>"1929"}}]
28
+ end
29
+
30
+ it 'should parse double years' do
31
+ sn = "Tridentella tangeroae Bruce, 1987-92"
32
+ parse(sn).should_not be_nil
33
+ pos(sn).should == {0=>["genus", 11], 12=>["species", 21], 22=>["author_word", 27], 29=>["year", 36]}
34
+ details(sn).should == [{:genus=>{:epitheton=>"Tridentella"}, :species=>{:epitheton=>"tangeroae", :authorship=>"Bruce, 1987-92", :basionymAuthorTeam=>{:authorTeam=>"Bruce", :author=>["Bruce"], :year=>"1987-92"}}}]
35
+ end
36
+
37
+ it 'should parse dirty years' do
38
+ parse("Tridentella tangeroae Bruce, 1988B").should_not be_nil
39
+ parse("Tridentella tangeroae Bruce, 1988b").should_not be_nil
40
+ parse("Tridentella tangeroae Bruce, 1988d").should_not be_nil
41
+ sn = "Tridentella tangeroae Bruce, 198?"
42
+ parse(sn).should_not be_nil
43
+ pos(sn).should == {0=>["genus", 11], 12=>["species", 21], 22=>["author_word", 27], 29=>["year", 33]}
44
+ end
45
+
46
+ it 'should parse year with page number' do
47
+ sn = "Gymnodactylus irregularis WERMUTH 1965: 54"
48
+ parse(sn).should_not be_nil
49
+ value(sn).should == "Gymnodactylus irregularis WERMUTH 1965"
50
+ details(sn).should == [{:genus=>{:epitheton=>"Gymnodactylus"}, :species=>{:epitheton=>"irregularis", :authorship=>"WERMUTH 1965: 54", :basionymAuthorTeam=>{:authorTeam=>"WERMUTH", :author=>["WERMUTH"], :year=>"1965"}}}]
51
+ pos(sn).should == {0=>["genus", 13], 14=>["species", 25], 26=>["author_word", 33], 34=>["year", 38]}
52
+ end
53
+
54
+ it 'should parse year with []' do
55
+ parse("Anthoscopus Cabanis [1851]").should_not be_nil
56
+ value("Anthoscopus Cabanis [185?]").should == "Anthoscopus Cabanis (185?)"
57
+ parse("Anthoscopus Cabanis [1851?]").should_not be_nil
58
+ value("Anthoscopus Cabanis [1851]").should == "Anthoscopus Cabanis (1851)"
59
+ sn = "Anthoscopus Cabanis [1851?]"
60
+ value(sn).should == "Anthoscopus Cabanis (1851?)"
61
+ details(sn).should == [{:uninomial=>{:epitheton=>"Anthoscopus", :authorship=>"Cabanis [1851?]", :basionymAuthorTeam=>{:authorTeam=>"Cabanis", :author=>["Cabanis"], :approximate_year=>"(1851?)"}}}]
62
+ pos(sn).should == {0=>["uninomial", 11], 12=>["author_word", 19], 21=>["year", 26]}
63
+ sn = "Trismegistia monodii Ando, 1973 [1974]"
64
+ parse(sn).should_not be_nil
65
+ value(sn).should == 'Trismegistia monodii Ando 1973 (1974)' #should it be 'Trismegistia monodii Ando 1973 (1974)' instead?
66
+ details(sn).should == [{:genus=>{:epitheton=>"Trismegistia"}, :species=>{:epitheton=>"monodii", :authorship=>"Ando, 1973 [1974]", :basionymAuthorTeam=>{:authorTeam=>"Ando", :author=>["Ando"], :year=>"1973", :approximate_year=>"(1974)"}}}]
67
+ pos(sn).should == {0=>["genus", 12], 13=>["species", 20], 21=>["author_word", 25], 27=>["year", 31], 33=>["year", 37]}
68
+ parse("Zygaena witti Wiegel [1973]").should_not be_nil
69
+ sn = "Deyeuxia coarctata Kunth, 1815 [1816]"
70
+ parse(sn).should_not be_nil
71
+ pos(sn).should == {0=>["genus", 8], 9=>["species", 18], 19=>["author_word", 24], 26=>["year", 30], 32=>["year", 36]}
72
+ end
73
+
74
+ it "should parse new stuff" do
75
+ sn = 'Zoropsis (TaKeoa) nishimurai Yaginuma, 1971' #skipping for now
76
+ sn = 'Campylobacter pyloridis Marshall et al.1985.'
77
+ details(sn).should == [{:genus=>{:epitheton=>"Campylobacter"}, :species=>{:epitheton=>"pyloridis", :authorship=>"Marshall et al.1985.", :basionymAuthorTeam=>{:authorTeam=>"Marshall et al.", :author=>["Marshall et al."], :year=>"1985"}}}]
78
+ sn = 'Staphylococcus hyicus chromogenes Devriese et al. 1978 (Approved Lists 1980).'
79
+ details(sn).should == [{:genus=>{:epitheton=>"Staphylococcus"}, :species=>{:epitheton=>"hyicus"}, :infraspecies=>[{:epitheton=>"chromogenes", :rank=>"n/a", :authorship=>"Devriese et al. 1978", :basionymAuthorTeam=>{:authorTeam=>"Devriese et al.", :author=>["Devriese et al."], :year=>"1978"}}]}]
80
+ sn = 'Kitasatospora corrig. griseola Takahashi et al. 1985.'
81
+ details(sn).should == [{:genus=>{:epitheton=>"Kitasatospora"}, :species=>{:epitheton=>"griseola", :authorship=>"Takahashi et al. 1985.", :basionymAuthorTeam=>{:authorTeam=>"Takahashi et al.", :author=>["Takahashi et al."], :year=>"1985"}}}]
82
+ sn = 'Beijerinckia derxii venezuelae corrig. Thompson and Skerman, 1981'
83
+ details(sn).should == [{:genus=>{:epitheton=>"Beijerinckia"}, :species=>{:epitheton=>"derxii"}, :infraspecies=>[{:epitheton=>"venezuelae", :rank=>"n/a", :authorship=>"Thompson and Skerman, 1981", :basionymAuthorTeam=>{:authorTeam=>"Thompson and Skerman", :author=>["Thompson", "Skerman"], :year=>"1981"}}]}]
84
+ details('Streptomyces parvisporogenes ignotus 1960').should == [{:genus=>{:epitheton=>"Streptomyces"}, :species=>{:epitheton=>"parvisporogenes"}, :infraspecies=>[{:epitheton=>"ignotus", :rank=>"n/a", :year=>"1960"}]}]
85
+ details('Oscillaria caviae Simons 1920, according to Simons 1922').should == [{:genus=>{:epitheton=>"Oscillaria"}, :species=>{:epitheton=>"caviae", :authorship=>"Simons 1920", :basionymAuthorTeam=>{:authorTeam=>"Simons", :author=>["Simons"], :year=>"1920"}}}]
86
+ sn = 'Bacterium monocytogenes hominis"" Nyfeldt 1932'
87
+ details(sn).should == [{:genus=>{:epitheton=>"Bacterium"}, :species=>{:epitheton=>"monocytogenes"}, :infraspecies=>[{:epitheton=>"hominis", :rank=>"n/a"}]}]
88
+ end
89
+
90
+ end
@@ -0,0 +1,69 @@
1
+ dir = File.dirname("__FILE__")
2
+ require 'rubygems'
3
+ require 'spec'
4
+ require 'yaml'
5
+ require 'treetop'
6
+ require 'json'
7
+ require File.expand_path(dir + '../../lib/biodiversity/parser')
8
+
9
+ Treetop.load(File.expand_path(dir + '../../lib/biodiversity/parser/scientific_name_clean'))
10
+ Treetop.load(File.expand_path(dir + '../../lib/biodiversity/parser/scientific_name_dirty'))
11
+ Treetop.load(File.expand_path(dir + '../../lib/biodiversity/parser/scientific_name_canonical'))
12
+
13
+ def set_parser(parser)
14
+ @parser = parser
15
+ end
16
+
17
+ def parse(input)
18
+ @parser.parse(input)
19
+ end
20
+
21
+ def value(input)
22
+ parse(input).value
23
+ end
24
+
25
+ def canonical(input)
26
+ parse(input).canonical
27
+ end
28
+
29
+ def details(input)
30
+ parse(input).details
31
+ end
32
+
33
+ def pos(input)
34
+ parse(input).pos
35
+ end
36
+
37
+ def json(input)
38
+ parse(input).to_json
39
+ end
40
+
41
+ def debug(input)
42
+ res = parse(input)
43
+ puts "<pre>"
44
+ if res
45
+ puts 'success!'
46
+ puts res.inspect
47
+ else
48
+ puts input
49
+ val = @parser.failure_reason.to_s.match(/column [0-9]*/).to_s.gsub(/column /,'').to_i
50
+ print ("-" * (val - 1))
51
+ print "^ Computer says 'no'!\n"
52
+ puts @parser.failure_reason
53
+ puts @parser.to_yaml
54
+ end
55
+ puts "</pre>"
56
+ end
57
+
58
+ def read_test_file
59
+ f = open(File.expand_path(File.dirname("__FILE__") + "../../spec/parser/test_data.txt"))
60
+ f.each do |line|
61
+ name, jsn = line.split("|")
62
+ if line.match(/^\s*#/) == nil && name && jsn
63
+ yield({:name => name, :jsn => jsn})
64
+ else
65
+ yield({:comment => line})
66
+ end
67
+ end
68
+ end
69
+
@@ -0,0 +1,235 @@
1
+ ####
2
+ # Scientific Names Parser Test
3
+ #
4
+ # Test consists of a pipe delimited input (scientific name) and parsed output in json format
5
+ ####
6
+
7
+ #uninomial
8
+ Pseudocercospora|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora","normalized":"Pseudocercospora","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"epitheton":"Pseudocercospora"}}],"positions":{"0":["uninomial",16]}}}
9
+
10
+ #uninomial with author
11
+ Pseudocercospora Speg.|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora Speg.","normalized":"Pseudocercospora Speg.","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"epitheton":"Pseudocercospora","authorship":"Speg.","basionymAuthorTeam":{"authorTeam":"Speg.","author":["Speg."]}}}],"positions":{"0":["uninomial",16],"17":["author_word",22]}}}
12
+
13
+ #uninomial with author and year
14
+ Pseudocercospora Speg. 1910|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora Speg. 1910","normalized":"Pseudocercospora Speg. 1910","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"epitheton":"Pseudocercospora","authorship":"Speg. 1910","basionymAuthorTeam":{"authorTeam":"Speg.","author":["Speg."],"year":"1910"}}}],"positions":{"0":["uninomial",16],"17":["author_word",22],"23":["year",27]}}}
15
+ Pseudocercospora Spegazzini, 1910|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora Spegazzini, 1910","normalized":"Pseudocercospora Spegazzini 1910","canonical":"Pseudocercospora","hybrid":false,"details":[{"uninomial":{"epitheton":"Pseudocercospora","authorship":"Spegazzini, 1910","basionymAuthorTeam":{"authorTeam":"Spegazzini","author":["Spegazzini"],"year":"1910"}}}],"positions":{"0":["uninomial",16],"17":["author_word",27],"29":["year",33]}}}
16
+ Platypus bicaudatulus Schedl (1935h)|{"scientificName":{"parsed":true,"verbatim":"Platypus bicaudatulus Schedl (1935h)","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"epitheton":"Platypus"},"species":{"epitheton":"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]}}}
17
+ Platypus bicaudatulus Schedl (1935)|{"scientificName":{"parsed":true,"verbatim":"Platypus bicaudatulus Schedl (1935)","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"epitheton":"Platypus"},"species":{"epitheton":"bicaudatulus","authorship":"Schedl (1935)","basionymAuthorTeam":{"authorTeam":"Schedl","author":["Schedl"],"year":"1935"}}}],"positions":{"0":["genus",8],"9":["species",21],"22":["author_word",28],"30":["year",34]}}}
18
+ Tridentella tangeroae Bruce, 198?|{"scientificName":{"parsed":true,"verbatim":"Tridentella tangeroae Bruce, 198?","normalized":"Tridentella tangeroae Bruce 198?","canonical":"Tridentella tangeroae","hybrid":false,"details":[{"genus":{"epitheton":"Tridentella"},"species":{"epitheton":"tangeroae","authorship":"Bruce, 198?","basionymAuthorTeam":{"authorTeam":"Bruce","author":["Bruce"],"year":"198?"}}}],"positions":{"0":["genus",11],"12":["species",21],"22":["author_word",27],"29":["year",33]}}}
19
+
20
+ #two-letter genus names (legacy genera, not allowed anymore)
21
+ Ca Dyar 1914|{"scientificName":{"parsed":true,"verbatim":"Ca Dyar 1914","normalized":"Ca Dyar 1914","canonical":"Ca","hybrid":false,"details":[{"uninomial":{"epitheton":"Ca","authorship":"Dyar 1914","basionymAuthorTeam":{"authorTeam":"Dyar","author":["Dyar"],"year":"1914"}}}],"positions":{"0":["uninomial",2],"3":["author_word",7],"8":["year",12]}}}
22
+ Ea Distant 1911|{"scientificName":{"parsed":true,"verbatim":"Ea Distant 1911","normalized":"Ea Distant 1911","canonical":"Ea","hybrid":false,"details":[{"uninomial":{"epitheton":"Ea","authorship":"Distant 1911","basionymAuthorTeam":{"authorTeam":"Distant","author":["Distant"],"year":"1911"}}}],"positions":{"0":["uninomial",2],"3":["author_word",10],"11":["year",15]}}}
23
+ Ge Nicéville 1895|{"scientificName":{"parsed":true,"verbatim":"Ge Nic\u00e9ville 1895","normalized":"Ge Nic\u00e9ville 1895","canonical":"Ge","hybrid":false,"details":[{"uninomial":{"epitheton":"Ge","authorship":"Nic\u00e9ville 1895","basionymAuthorTeam":{"authorTeam":"Nic\u00e9ville","author":["Nic\u00e9ville"],"year":"1895"}}}],"positions":{"0":["uninomial",2],"3":["author_word",12],"13":["year",17]}}}
24
+ Ia Thomas 1902|{"scientificName":{"parsed":true,"verbatim":"Ia Thomas 1902","normalized":"Ia Thomas 1902","canonical":"Ia","hybrid":false,"details":[{"uninomial":{"epitheton":"Ia","authorship":"Thomas 1902","basionymAuthorTeam":{"authorTeam":"Thomas","author":["Thomas"],"year":"1902"}}}],"positions":{"0":["uninomial",2],"3":["author_word",9],"10":["year",14]}}}
25
+ Io Lea 1831|{"scientificName":{"parsed":true,"verbatim":"Io Lea 1831","normalized":"Io Lea 1831","canonical":"Io","hybrid":false,"details":[{"uninomial":{"epitheton":"Io","authorship":"Lea 1831","basionymAuthorTeam":{"authorTeam":"Lea","author":["Lea"],"year":"1831"}}}],"positions":{"0":["uninomial",2],"3":["author_word",6],"7":["year",11]}}}
26
+ Io Blanchard 1852|{"scientificName":{"parsed":true,"verbatim":"Io Blanchard 1852","normalized":"Io Blanchard 1852","canonical":"Io","hybrid":false,"details":[{"uninomial":{"epitheton":"Io","authorship":"Blanchard 1852","basionymAuthorTeam":{"authorTeam":"Blanchard","author":["Blanchard"],"year":"1852"}}}],"positions":{"0":["uninomial",2],"3":["author_word",12],"13":["year",17]}}}
27
+ Ix Bergroth 1916|{"scientificName":{"parsed":true,"verbatim":"Ix Bergroth 1916","normalized":"Ix Bergroth 1916","canonical":"Ix","hybrid":false,"details":[{"uninomial":{"epitheton":"Ix","authorship":"Bergroth 1916","basionymAuthorTeam":{"authorTeam":"Bergroth","author":["Bergroth"],"year":"1916"}}}],"positions":{"0":["uninomial",2],"3":["author_word",11],"12":["year",16]}}}
28
+ Lo Seale 1906|{"scientificName":{"parsed":true,"verbatim":"Lo Seale 1906","normalized":"Lo Seale 1906","canonical":"Lo","hybrid":false,"details":[{"uninomial":{"epitheton":"Lo","authorship":"Seale 1906","basionymAuthorTeam":{"authorTeam":"Seale","author":["Seale"],"year":"1906"}}}],"positions":{"0":["uninomial",2],"3":["author_word",8],"9":["year",13]}}}
29
+ Oa Girault 1929|{"scientificName":{"parsed":true,"verbatim":"Oa Girault 1929","normalized":"Oa Girault 1929","canonical":"Oa","hybrid":false,"details":[{"uninomial":{"epitheton":"Oa","authorship":"Girault 1929","basionymAuthorTeam":{"authorTeam":"Girault","author":["Girault"],"year":"1929"}}}],"positions":{"0":["uninomial",2],"3":["author_word",10],"11":["year",15]}}}
30
+ Ra Whitley 1931|{"scientificName":{"parsed":true,"verbatim":"Ra Whitley 1931","normalized":"Ra Whitley 1931","canonical":"Ra","hybrid":false,"details":[{"uninomial":{"epitheton":"Ra","authorship":"Whitley 1931","basionymAuthorTeam":{"authorTeam":"Whitley","author":["Whitley"],"year":"1931"}}}],"positions":{"0":["uninomial",2],"3":["author_word",10],"11":["year",15]}}}
31
+ Ty Bory de St. Vincent 1827|{"scientificName":{"parsed":true,"verbatim":"Ty Bory de St. Vincent 1827","normalized":"Ty Bory de St. Vincent 1827","canonical":"Ty","hybrid":false,"details":[{"uninomial":{"epitheton":"Ty","authorship":"Bory de St. Vincent 1827","basionymAuthorTeam":{"authorTeam":"Bory de St. Vincent","author":["Bory de St. Vincent"],"year":"1827"}}}],"positions":{"0":["uninomial",2],"3":["author_word",7],"8":["author_word",10],"11":["author_word",14],"15":["author_word",22],"23":["year",27]}}}
32
+ Ua Girault 1929|{"scientificName":{"parsed":true,"verbatim":"Ua Girault 1929","normalized":"Ua Girault 1929","canonical":"Ua","hybrid":false,"details":[{"uninomial":{"epitheton":"Ua","authorship":"Girault 1929","basionymAuthorTeam":{"authorTeam":"Girault","author":["Girault"],"year":"1929"}}}],"positions":{"0":["uninomial",2],"3":["author_word",10],"11":["year",15]}}}
33
+ Aa Baker 1940|{"scientificName":{"parsed":true,"verbatim":"Aa Baker 1940","normalized":"Aa Baker 1940","canonical":"Aa","hybrid":false,"details":[{"uninomial":{"epitheton":"Aa","authorship":"Baker 1940","basionymAuthorTeam":{"authorTeam":"Baker","author":["Baker"],"year":"1940"}}}],"positions":{"0":["uninomial",2],"3":["author_word",8],"9":["year",13]}}}
34
+ Ja Uéno 1955|{"scientificName":{"parsed":true,"verbatim":"Ja U\u00e9no 1955","normalized":"Ja U\u00e9no 1955","canonical":"Ja","hybrid":false,"details":[{"uninomial":{"epitheton":"Ja","authorship":"U\u00e9no 1955","basionymAuthorTeam":{"authorTeam":"U\u00e9no","author":["U\u00e9no"],"year":"1955"}}}],"positions":{"0":["uninomial",2],"3":["author_word",7],"8":["year",12]}}}
35
+ Zu Walters & Fitch 1960|{"scientificName":{"parsed":true,"verbatim":"Zu Walters & Fitch 1960","normalized":"Zu Walters et Fitch 1960","canonical":"Zu","hybrid":false,"details":[{"uninomial":{"epitheton":"Zu","authorship":"Walters & Fitch 1960","basionymAuthorTeam":{"authorTeam":"Walters & Fitch","author":["Walters","Fitch"],"year":"1960"}}}],"positions":{"0":["uninomial",2],"3":["author_word",10],"13":["author_word",18],"19":["year",23]}}}
36
+ La Bleszynski 1966|{"scientificName":{"parsed":true,"verbatim":"La Bleszynski 1966","normalized":"La Bleszynski 1966","canonical":"La","hybrid":false,"details":[{"uninomial":{"epitheton":"La","authorship":"Bleszynski 1966","basionymAuthorTeam":{"authorTeam":"Bleszynski","author":["Bleszynski"],"year":"1966"}}}],"positions":{"0":["uninomial",2],"3":["author_word",13],"14":["year",18]}}}
37
+ Qu Durkoop|{"scientificName":{"parsed":true,"verbatim":"Qu Durkoop","normalized":"Qu Durkoop","canonical":"Qu","hybrid":false,"details":[{"uninomial":{"epitheton":"Qu","authorship":"Durkoop","basionymAuthorTeam":{"authorTeam":"Durkoop","author":["Durkoop"]}}}],"positions":{"0":["uninomial",2],"3":["author_word",10]}}}
38
+ As Slipinski 1982|{"scientificName":{"parsed":true,"verbatim":"As Slipinski 1982","normalized":"As Slipinski 1982","canonical":"As","hybrid":false,"details":[{"uninomial":{"epitheton":"As","authorship":"Slipinski 1982","basionymAuthorTeam":{"authorTeam":"Slipinski","author":["Slipinski"],"year":"1982"}}}],"positions":{"0":["uninomial",2],"3":["author_word",12],"13":["year",17]}}}
39
+ Ba Solem 1983|{"scientificName":{"parsed":true,"verbatim":"Ba Solem 1983","normalized":"Ba Solem 1983","canonical":"Ba","hybrid":false,"details":[{"uninomial":{"epitheton":"Ba","authorship":"Solem 1983","basionymAuthorTeam":{"authorTeam":"Solem","author":["Solem"],"year":"1983"}}}],"positions":{"0":["uninomial",2],"3":["author_word",8],"9":["year",13]}}}
40
+
41
+ #canonical binomial
42
+ Pseudocercospora dendrobii|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii","normalized":"Pseudocercospora dendrobii","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii"}}],"positions":{"0":["genus",16],"21":["species",30]}}}
43
+
44
+ #binomial with author and a year
45
+ Platypus bicaudatulus Schedl 1935|{"scientificName":{"parsed":true,"verbatim":"Platypus bicaudatulus Schedl 1935","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"epitheton":"Platypus"},"species":{"epitheton":"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]}}}
46
+ Platypus bicaudatulus Schedl, 1935h|{"scientificName":{"parsed":true,"verbatim":"Platypus bicaudatulus Schedl, 1935h","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"epitheton":"Platypus"},"species":{"epitheton":"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]}}}
47
+
48
+ # whitespace names (rare, only ~50 cases)
49
+ #TODO Donatia novae zelandiae Hook.f.
50
+ #TODO Donatia novae-zelandiae Hook.f.
51
+
52
+ #binomial with several authours
53
+ Pseudocercospora dendrobii U. Braun & Crous|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii U. Braun & Crous","normalized":"Pseudocercospora dendrobii U. Braun et Crous","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"U. Braun & Crous","basionymAuthorTeam":{"authorTeam":"U. Braun & Crous","author":["U. Braun","Crous"]}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",29],"30":["author_word",35],"38":["author_word",43]}}}
54
+ Pseudocercospora dendrobii U. Braun et Crous|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii U. Braun et Crous","normalized":"Pseudocercospora dendrobii U. Braun et Crous","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"U. Braun et Crous","basionymAuthorTeam":{"authorTeam":"U. Braun et Crous","author":["U. Braun","Crous"]}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",29],"30":["author_word",35],"39":["author_word",44]}}}
55
+ Pseudocercospora dendrobii U. Braun and Crous|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii U. Braun and Crous","normalized":"Pseudocercospora dendrobii U. Braun et Crous","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"U. Braun and Crous","basionymAuthorTeam":{"authorTeam":"U. Braun and Crous","author":["U. Braun","Crous"]}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",29],"30":["author_word",35],"40":["author_word",45]}}}
56
+
57
+ #binomial with several authors and a year
58
+ Pseudocercospora dendrobii U. Braun & Crous 2003|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii U. Braun & Crous 2003","normalized":"Pseudocercospora dendrobii U. Braun et Crous 2003","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"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]}}}
59
+
60
+ #iczn: species name with subgenus
61
+ Hegeter (Hegeter) intercedens Lindberg H 1950|{"scientificName":{"parsed":true,"verbatim":"Hegeter (Hegeter) intercedens Lindberg H 1950","normalized":"Hegeter (Hegeter) intercedens Lindberg H 1950","canonical":"Hegeter intercedens","hybrid":false,"details":[{"genus":{"epitheton":"Hegeter"},"subgenus":{"epitheton":"Hegeter"},"species":{"epitheton":"intercedens","authorship":"Lindberg H 1950","basionymAuthorTeam":{"authorTeam":"Lindberg H","author":["Lindberg H"],"year":"1950"}}}],"positions":{"0":["genus",7],"9":["subgenus",16],"18":["species",29],"30":["author_word",38],"39":["author_word",40],"41":["year",45]}}}
62
+
63
+ #genus with question mark
64
+ Ferganoconcha? oblonga|{"scientificName":{"parsed":true,"verbatim":"Ferganoconcha? oblonga","normalized":"Ferganoconcha oblonga","canonical":"Ferganoconcha oblonga","hybrid":false,"details":[{"genus":{"epitheton":"Ferganoconcha"},"species":{"epitheton":"oblonga"}}],"positions":{"0":["genus",14],"15":["species",22]}}}
65
+
66
+ #unicode utf8 characters in name
67
+ Rühlella|{"scientificName":{"parsed":true,"verbatim":"R\u00fchlella","normalized":"R\u00fchlella","canonical":"R\u00fchlella","hybrid":false,"details":[{"uninomial":{"epitheton":"R\u00fchlella"}}],"positions":{"0":["uninomial",8]}}}
68
+ Sténométope laevissimus Bibron 1855|{"scientificName":{"parsed":true,"verbatim":"St\u00e9nom\u00e9tope laevissimus Bibron 1855","normalized":"St\u00e9nom\u00e9tope laevissimus Bibron 1855","canonical":"St\u00e9nom\u00e9tope laevissimus","hybrid":false,"details":[{"genus":{"epitheton":"St\u00e9nom\u00e9tope"},"species":{"epitheton":"laevissimus","authorship":"Bibron 1855","basionymAuthorTeam":{"authorTeam":"Bibron","author":["Bibron"],"year":"1855"}}}],"positions":{"0":["genus",11],"12":["species",23],"24":["author_word",30],"31":["year",35]}}}
69
+ Choriozopella trägårdhi Lawrence, 1947|{"scientificName":{"parsed":true,"verbatim":"Choriozopella tr\u00e4g\u00e5rdhi Lawrence, 1947","normalized":"Choriozopella tr\u00e4g\u00e5rdhi Lawrence 1947","canonical":"Choriozopella tr\u00e4g\u00e5rdhi","hybrid":false,"details":[{"genus":{"epitheton":"Choriozopella"},"species":{"epitheton":"tr\u00e4g\u00e5rdhi","authorship":"Lawrence, 1947","basionymAuthorTeam":{"authorTeam":"Lawrence","author":["Lawrence"],"year":"1947"}}}],"positions":{"0":["genus",13],"14":["species",23],"24":["author_word",32],"34":["year",38]}}}
70
+
71
+ #digraph unicode characters
72
+ Læptura laetifica Dow, 1913|{"scientificName":{"parsed":true,"verbatim":"L\u00e6ptura laetifica Dow, 1913","normalized":"Laeptura laetifica Dow 1913","canonical":"Laeptura laetifica","hybrid":false,"details":[{"genus":{"epitheton":"Laeptura"},"species":{"epitheton":"laetifica","authorship":"Dow, 1913","basionymAuthorTeam":{"authorTeam":"Dow","author":["Dow"],"year":"1913"}}}],"positions":{"0":["genus",7],"8":["species",17],"18":["author_word",21],"23":["year",27]}}}
73
+ Leptura lætifica Dow, 1913|{"scientificName":{"parsed":true,"verbatim":"Leptura l\u00e6tifica Dow, 1913","normalized":"Leptura laetifica Dow 1913","canonical":"Leptura laetifica","hybrid":false,"details":[{"genus":{"epitheton":"Leptura"},"species":{"epitheton":"laetifica","authorship":"Dow, 1913","basionymAuthorTeam":{"authorTeam":"Dow","author":["Dow"],"year":"1913"}}}],"positions":{"0":["genus",7],"8":["species",16],"17":["author_word",20],"22":["year",26]}}}
74
+ Leptura leætifica Dow, 1913|{"scientificName":{"parsed":true,"verbatim":"Leptura le\u00e6tifica Dow, 1913","normalized":"Leptura leaetifica Dow 1913","canonical":"Leptura leaetifica","hybrid":false,"details":[{"genus":{"epitheton":"Leptura"},"species":{"epitheton":"leaetifica","authorship":"Dow, 1913","basionymAuthorTeam":{"authorTeam":"Dow","author":["Dow"],"year":"1913"}}}],"positions":{"0":["genus",7],"8":["species",17],"18":["author_word",21],"23":["year",27]}}}
75
+ Leæptura laetifica Dow, 1913|{"scientificName":{"parsed":true,"verbatim":"Le\u00e6ptura laetifica Dow, 1913","normalized":"Leaeptura laetifica Dow 1913","canonical":"Leaeptura laetifica","hybrid":false,"details":[{"genus":{"epitheton":"Leaeptura"},"species":{"epitheton":"laetifica","authorship":"Dow, 1913","basionymAuthorTeam":{"authorTeam":"Dow","author":["Dow"],"year":"1913"}}}],"positions":{"0":["genus",8],"9":["species",18],"19":["author_word",22],"24":["year",28]}}}
76
+ Leœptura laetifica Dow, 1913|{"scientificName":{"parsed":true,"verbatim":"Le\u0153ptura laetifica Dow, 1913","normalized":"Leoeptura laetifica Dow 1913","canonical":"Leoeptura laetifica","hybrid":false,"details":[{"genus":{"epitheton":"Leoeptura"},"species":{"epitheton":"laetifica","authorship":"Dow, 1913","basionymAuthorTeam":{"authorTeam":"Dow","author":["Dow"],"year":"1913"}}}],"positions":{"0":["genus",8],"9":["species",18],"19":["author_word",22],"24":["year",28]}}}
77
+ Ærenea cognata Lacordaire, 1872|{"scientificName":{"parsed":true,"verbatim":"\u00c6renea cognata Lacordaire, 1872","normalized":"Aerenea cognata Lacordaire 1872","canonical":"Aerenea cognata","hybrid":false,"details":[{"genus":{"epitheton":"Aerenea"},"species":{"epitheton":"cognata","authorship":"Lacordaire, 1872","basionymAuthorTeam":{"authorTeam":"Lacordaire","author":["Lacordaire"],"year":"1872"}}}],"positions":{"0":["genus",6],"7":["species",14],"15":["author_word",25],"27":["year",31]}}}
78
+ Œdicnemus capensis|{"scientificName":{"parsed":true,"verbatim":"\u0152dicnemus capensis","normalized":"Oedicnemus capensis","canonical":"Oedicnemus capensis","hybrid":false,"details":[{"genus":{"epitheton":"Oedicnemus"},"species":{"epitheton":"capensis"}}],"positions":{"0":["genus",9],"10":["species",18]}}}
79
+ Œnanthe œnanthe|{"scientificName":{"parsed":true,"verbatim":"\u0152nanthe \u0153nanthe","normalized":"Oenanthe oenanthe","canonical":"Oenanthe oenanthe","hybrid":false,"details":[{"genus":{"epitheton":"Oenanthe"},"species":{"epitheton":"oenanthe"}}],"positions":{"0":["genus",7],"8":["species",15]}}}
80
+
81
+ #basionym in parenthesis
82
+ Zophosis persis (Chatanay, 1914)|{"scientificName":{"parsed":true,"verbatim":"Zophosis persis (Chatanay, 1914)","normalized":"Zophosis persis (Chatanay 1914)","canonical":"Zophosis persis","hybrid":false,"details":[{"genus":{"epitheton":"Zophosis"},"species":{"epitheton":"persis","authorship":"(Chatanay, 1914)","basionymAuthorTeam":{"authorTeam":"Chatanay","author":["Chatanay"],"year":"1914"}}}],"positions":{"0":["genus",8],"9":["species",15],"17":["author_word",25],"27":["year",31]}}}
83
+ Zophosis persis (Chatanay 1914)|{"scientificName":{"parsed":true,"verbatim":"Zophosis persis (Chatanay 1914)","normalized":"Zophosis persis (Chatanay 1914)","canonical":"Zophosis persis","hybrid":false,"details":[{"genus":{"epitheton":"Zophosis"},"species":{"epitheton":"persis","authorship":"(Chatanay 1914)","basionymAuthorTeam":{"authorTeam":"Chatanay","author":["Chatanay"],"year":"1914"}}}],"positions":{"0":["genus",8],"9":["species",15],"17":["author_word",25],"26":["year",30]}}}
84
+ Zophosis persis (Chatanay), 1914|{"scientificName":{"parsed":true,"verbatim":"Zophosis persis (Chatanay), 1914","normalized":"Zophosis persis (Chatanay 1914)","canonical":"Zophosis persis","hybrid":false,"details":[{"genus":{"epitheton":"Zophosis"},"species":{"epitheton":"persis","authorship":"(Chatanay), 1914","basionymAuthorTeam":{"author_team":"(Chatanay), 1914","author":["Chatanay"],"year":"1914"}}}],"positions":{"0":["genus",8],"9":["species",15],"17":["author_word",25],"28":["year",32]}}}
85
+
86
+ #binomial with basionym and combination authors
87
+ Pseudocercospora dendrobii(H.C. Burnett)U. Braun & Crous 2003|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii(H.C. Burnett)U. Braun & Crous 2003","normalized":"Pseudocercospora dendrobii (H.C. Burnett) U. Braun et Crous 2003","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"(H.C. Burnett)U. Braun & Crous 2003","combinationAuthorTeam":{"authorTeam":"U. Braun & Crous","author":["U. Braun","Crous"],"year":"2003"},"basionymAuthorTeam":{"authorTeam":"H.C. Burnett","author":["H.C. Burnett"]}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",31],"36":["author_word",43],"44":["author_word",46],"47":["author_word",52],"55":["author_word",60],"65":["year",69]}}}
88
+ Pseudocercospora dendrobii(H.C. Burnett, 1873)U. Braun & Crous 2003|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii(H.C. Burnett, 1873)U. Braun & Crous 2003","normalized":"Pseudocercospora dendrobii (H.C. Burnett 1873) U. Braun et Crous 2003","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"(H.C. Burnett, 1873)U. Braun & Crous 2003","combinationAuthorTeam":{"authorTeam":"U. Braun & Crous","author":["U. Braun","Crous"],"year":"2003"},"basionymAuthorTeam":{"authorTeam":"H.C. Burnett","author":["H.C. Burnett"],"year":"1873"}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",31],"36":["author_word",43],"45":["year",49],"50":["author_word",52],"53":["author_word",58],"61":["author_word",66],"71":["year",75]}}}
89
+ Pseudocercospora dendrobii(H.C. Burnett 1873)U. Braun & Crous , 2003|{"scientificName":{"parsed":true,"verbatim":"Pseudocercospora dendrobii(H.C. Burnett 1873)U. Braun & Crous , 2003","normalized":"Pseudocercospora dendrobii (H.C. Burnett 1873) U. Braun et Crous 2003","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"epitheton":"Pseudocercospora"},"species":{"epitheton":"dendrobii","authorship":"(H.C. Burnett 1873)U. Braun & Crous , 2003","combinationAuthorTeam":{"authorTeam":"U. Braun & Crous","author":["U. Braun","Crous"],"year":"2003"},"basionymAuthorTeam":{"authorTeam":"H.C. Burnett","author":["H.C. Burnett"],"year":"1873"}}}],"positions":{"0":["genus",16],"17":["species",26],"27":["author_word",31],"36":["author_word",43],"44":["year",48],"49":["author_word",51],"52":["author_word",57],"60":["author_word",65],"71":["year",75]}}}
90
+
91
+ #infraspecies without rank
92
+ Hydnellum scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"verbatim":"Hydnellum scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972","normalized":"Hydnellum scrobiculatum zonatum (Banker) D. Hall et D.E. Stuntz 1972","canonical":"Hydnellum scrobiculatum zonatum","hybrid":false,"details":[{"genus":{"epitheton":"Hydnellum"},"species":{"epitheton":"scrobiculatum"},"infraspecies":[{"epitheton":"zonatum","rank":"n\/a","authorship":"(Banker) D. Hall & D.E. Stuntz 1972","combinationAuthorTeam":{"authorTeam":"D. Hall & D.E. Stuntz","author":["D. Hall","D.E. Stuntz"],"year":"1972"},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}]}],"positions":{"0":["genus",9],"10":["species",23],"24":["infraspecies",31],"33":["author_word",39],"41":["author_word",43],"44":["author_word",48],"51":["author_word",55],"56":["author_word",62],"63":["year",67]}}}
93
+ Hydnellum (Hydnellum) scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"verbatim":"Hydnellum (Hydnellum) scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972","normalized":"Hydnellum (Hydnellum) scrobiculatum zonatum (Banker) D. Hall et D.E. Stuntz 1972","canonical":"Hydnellum Hydnellum scrobiculatum zonatum","hybrid":false,"details":[{"genus":{"epitheton":"Hydnellum"},"subgenus":{"epitheton":"Hydnellum"},"species":{"epitheton":"scrobiculatum"},"infraspecies":[{"epitheton":"zonatum","rank":"n\/a","authorship":"(Banker) D. Hall & D.E. Stuntz 1972","combinationAuthorTeam":{"authorTeam":"D. Hall & D.E. Stuntz","author":["D. Hall","D.E. Stuntz"],"year":"1972"},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}]}],"positions":{"0":["genus",9],"11":["subgenus",20],"22":["species",35],"36":["infraspecies",43],"45":["author_word",51],"53":["author_word",55],"56":["author_word",60],"63":["author_word",67],"68":["author_word",74],"75":["year",79]}}}
94
+ Hydnellum scrobiculatum zonatum|{"scientificName":{"parsed":true,"verbatim":"Hydnellum scrobiculatum zonatum","normalized":"Hydnellum scrobiculatum zonatum","canonical":"Hydnellum scrobiculatum zonatum","hybrid":false,"details":[{"genus":{"epitheton":"Hydnellum"},"species":{"epitheton":"scrobiculatum"},"infraspecies":[{"epitheton":"zonatum","rank":"n\/a"}]}],"positions":{"0":["genus",9],"10":["species",23],"24":["infraspecies",31]}}}
95
+
96
+ #infraspecies with rank
97
+ Aus bus Linn. var. bus|{"scientificName":{"parsed":true,"verbatim":"Aus bus Linn. var. bus","normalized":"Aus bus Linn. var. bus","canonical":"Aus bus bus","hybrid":false,"details":[{"genus":{"epitheton":"Aus"},"species":{"epitheton":"bus","authorship":"Linn.","basionymAuthorTeam":{"authorTeam":"Linn.","author":["Linn."]}},"infraspecies":[{"epitheton":"bus","rank":"var."}]}],"positions":{"0":["genus",3],"4":["species",7],"8":["author_word",13],"19":["infraspecies",22]}}}
98
+ Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987|{"scientificName":{"parsed":true,"verbatim":"Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987","normalized":"Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987","canonical":"Agalinis purpurea borealis","hybrid":false,"details":[{"genus":{"epitheton":"Agalinis"},"species":{"epitheton":"purpurea","authorship":"(L.) Briton","combinationAuthorTeam":{"authorTeam":"Briton","author":["Briton"]},"basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}},"infraspecies":[{"epitheton":"borealis","rank":"var.","authorship":"(Berg.) Peterson 1987","combinationAuthorTeam":{"authorTeam":"Peterson","author":["Peterson"],"year":"1987"},"basionymAuthorTeam":{"authorTeam":"Berg.","author":["Berg."]}}]}],"positions":{"0":["genus",8],"9":["species",17],"19":["author_word",21],"23":["author_word",29],"35":["infraspecies",43],"45":["author_word",50],"52":["author_word",60],"61":["year",65]}}}
99
+ Callideriphus flavicollis morph. reductus Fuchs 1961|{"scientificName":{"parsed":true,"verbatim":"Callideriphus flavicollis morph. reductus Fuchs 1961","normalized":"Callideriphus flavicollis morph. reductus Fuchs 1961","canonical":"Callideriphus flavicollis reductus","hybrid":false,"details":[{"genus":{"epitheton":"Callideriphus"},"species":{"epitheton":"flavicollis"},"infraspecies":[{"epitheton":"reductus","rank":"morph.","authorship":"Fuchs 1961","basionymAuthorTeam":{"authorTeam":"Fuchs","author":["Fuchs"],"year":"1961"}}]}],"positions":{"0":["genus",13],"14":["species",25],"33":["infraspecies",41],"42":["author_word",47],"48":["year",52]}}}
100
+ Caulerpa cupressoides forma nuda|{"scientificName":{"parsed":true,"verbatim":"Caulerpa cupressoides forma nuda","normalized":"Caulerpa cupressoides f. nuda","canonical":"Caulerpa cupressoides nuda","hybrid":false,"details":[{"genus":{"epitheton":"Caulerpa"},"species":{"epitheton":"cupressoides"},"infraspecies":[{"epitheton":"nuda","rank":"f."}]}],"positions":{"0":["genus",8],"9":["species",21],"28":["infraspecies",32]}}}
101
+ Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó|{"scientificName":{"parsed":true,"verbatim":"Chlorocyperus glaber form. fasciculariforme (Lojac.) So\u00f3","normalized":"Chlorocyperus glaber f. fasciculariforme (Lojac.) So\u00f3","canonical":"Chlorocyperus glaber fasciculariforme","hybrid":false,"details":[{"genus":{"epitheton":"Chlorocyperus"},"species":{"epitheton":"glaber"},"infraspecies":[{"epitheton":"fasciculariforme","rank":"f.","authorship":"(Lojac.) So\u00f3","combinationAuthorTeam":{"authorTeam":"So\u00f3","author":["So\u00f3"]},"basionymAuthorTeam":{"authorTeam":"Lojac.","author":["Lojac."]}}]}],"positions":{"0":["genus",13],"14":["species",20],"27":["infraspecies",43],"45":["author_word",51],"53":["author_word",56]}}}
102
+ Sphaerotheca fuliginea f. dahliae Movss. 1967|{"scientificName":{"parsed":true,"verbatim":"Sphaerotheca fuliginea f. dahliae Movss. 1967","normalized":"Sphaerotheca fuliginea f. dahliae Movss. 1967","canonical":"Sphaerotheca fuliginea dahliae","hybrid":false,"details":[{"genus":{"epitheton":"Sphaerotheca"},"species":{"epitheton":"fuliginea"},"infraspecies":[{"epitheton":"dahliae","rank":"f.","authorship":"Movss. 1967","basionymAuthorTeam":{"authorTeam":"Movss.","author":["Movss."],"year":"1967"}}]}],"positions":{"0":["genus",12],"16":["species",25],"36":["infraspecies",43],"47":["author_word",53],"58":["year",62]}}}
103
+ Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay|{"scientificName":{"parsed":true,"verbatim":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay","normalized":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay","canonical":"Polypodium vulgare mantoniae","hybrid":false,"details":[{"genus":{"epitheton":"Polypodium"},"species":{"epitheton":"vulgare"},"infraspecies":[{"epitheton":"mantoniae","rank":"nothosubsp.","authorship":"(Rothm.) Schidlay","combinationAuthorTeam":{"authorTeam":"Schidlay","author":["Schidlay"]},"basionymAuthorTeam":{"authorTeam":"Rothm.","author":["Rothm."]}}]}],"positions":{"0":["genus",10],"11":["species",18],"31":["infraspecies",40],"42":["author_word",48],"50":["author_word",58]}}}
104
+
105
+ #infraspecies_multiple
106
+ Hydnellum scrobiculatum var. zonatum f. parvum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"verbatim":"Hydnellum scrobiculatum var. zonatum f. parvum (Banker) D. Hall & D.E. Stuntz 1972","normalized":"Hydnellum scrobiculatum var. zonatum f. parvum (Banker) D. Hall et D.E. Stuntz 1972","canonical":"Hydnellum scrobiculatum zonatum parvum","hybrid":false,"details":[{"genus":{"epitheton":"Hydnellum"},"species":{"epitheton":"scrobiculatum"},"infraspecies":[{"epitheton":"zonatum","rank":"var."},{"epitheton":"parvum","rank":"f.","authorship":"(Banker) D. Hall & D.E. Stuntz 1972","combinationAuthorTeam":{"authorTeam":"D. Hall & D.E. Stuntz","author":["D. Hall","D.E. Stuntz"],"year":"1972"},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}]}],"positions":{"0":["genus",9],"10":["species",23],"29":["infraspecies",36],"40":["infraspecies",46],"48":["author_word",54],"56":["author_word",58],"59":["author_word",63],"66":["author_word",70],"71":["author_word",77],"78":["year",82]}}}
107
+ Senecio fuchsii C.C.Gmel. subsp. fuchsii var. expansus (Boiss. & Heldr.) Hayek|{"scientificName":{"parsed":true,"verbatim":"Senecio fuchsii C.C.Gmel. subsp. fuchsii var. expansus (Boiss. & Heldr.) Hayek","normalized":"Senecio fuchsii C.C.Gmel. subsp. fuchsii var. expansus (Boiss. et Heldr.) Hayek","canonical":"Senecio fuchsii fuchsii expansus","hybrid":false,"details":[{"genus":{"epitheton":"Senecio"},"species":{"epitheton":"fuchsii","authorship":"C.C.Gmel.","basionymAuthorTeam":{"authorTeam":"C.C.Gmel.","author":["C.C.Gmel."]}},"infraspecies":[{"epitheton":"fuchsii","rank":"subsp."},{"epitheton":"expansus","rank":"var.","authorship":"(Boiss. & Heldr.) Hayek","combinationAuthorTeam":{"authorTeam":"Hayek","author":["Hayek"]},"basionymAuthorTeam":{"authorTeam":"Boiss. & Heldr.","author":["Boiss.","Heldr."]}}]}],"positions":{"0":["genus",7],"8":["species",15],"16":["author_word",25],"33":["infraspecies",40],"46":["infraspecies",54],"56":["author_word",62],"65":["author_word",71],"73":["author_word",78]}}}
108
+ Senecio fuchsii C.C.Gmel. subsp. fuchsii var. fuchsii|{"scientificName":{"parsed":true,"verbatim":"Senecio fuchsii C.C.Gmel. subsp. fuchsii var. fuchsii","normalized":"Senecio fuchsii C.C.Gmel. subsp. fuchsii var. fuchsii","canonical":"Senecio fuchsii fuchsii fuchsii","hybrid":false,"details":[{"genus":{"epitheton":"Senecio"},"species":{"epitheton":"fuchsii","authorship":"C.C.Gmel.","basionymAuthorTeam":{"authorTeam":"C.C.Gmel.","author":["C.C.Gmel."]}},"infraspecies":[{"epitheton":"fuchsii","rank":"subsp."},{"epitheton":"fuchsii","rank":"var."}]}],"positions":{"0":["genus",7],"8":["species",15],"16":["author_word",25],"33":["infraspecies",40],"46":["infraspecies",53]}}}
109
+
110
+ #unknown authorship
111
+ Tragacantha leporina (?) Kuntze|{"scientificName":{"parsed":true,"verbatim":"Tragacantha leporina (?) Kuntze","normalized":"Tragacantha leporina (?) Kuntze","canonical":"Tragacantha leporina","hybrid":false,"details":[{"genus":{"epitheton":"Tragacantha"},"species":{"epitheton":"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]}}}
112
+ Lachenalia tricolor var. nelsonii (auct.) Baker|{"scientificName":{"parsed":true,"verbatim":"Lachenalia tricolor var. nelsonii (auct.) Baker","normalized":"Lachenalia tricolor var. nelsonii (auct.) Baker","canonical":"Lachenalia tricolor nelsonii","hybrid":false,"details":[{"genus":{"epitheton":"Lachenalia"},"species":{"epitheton":"tricolor"},"infraspecies":[{"epitheton":"nelsonii","rank":"var.","authorship":"(auct.) Baker","combinationAuthorTeam":{"authorTeam":"Baker","author":["Baker"]},"basionymAuthorTeam":{"authorTeam":"auct.","author":["unknown"]}}]}],"positions":{"0":["genus",10],"11":["species",19],"25":["infraspecies",33],"35":["unknown_author",40],"42":["author_word",47]}}}
113
+ Lachenalia tricolor var. nelsonii (anon.) Baker|{"scientificName":{"parsed":true,"verbatim":"Lachenalia tricolor var. nelsonii (anon.) Baker","normalized":"Lachenalia tricolor var. nelsonii (anon.) Baker","canonical":"Lachenalia tricolor nelsonii","hybrid":false,"details":[{"genus":{"epitheton":"Lachenalia"},"species":{"epitheton":"tricolor"},"infraspecies":[{"epitheton":"nelsonii","rank":"var.","authorship":"(anon.) Baker","combinationAuthorTeam":{"authorTeam":"Baker","author":["Baker"]},"basionymAuthorTeam":{"authorTeam":"anon.","author":["unknown"]}}]}],"positions":{"0":["genus",10],"11":["species",19],"25":["infraspecies",33],"35":["unknown_author",40],"42":["author_word",47]}}}
114
+ Lachenalia tricolor var. nelsonii (ht.) Baker|{"scientificName":{"parsed":true,"verbatim":"Lachenalia tricolor var. nelsonii (ht.) Baker","normalized":"Lachenalia tricolor var. nelsonii (ht.) Baker","canonical":"Lachenalia tricolor nelsonii","hybrid":false,"details":[{"genus":{"epitheton":"Lachenalia"},"species":{"epitheton":"tricolor"},"infraspecies":[{"epitheton":"nelsonii","rank":"var.","authorship":"(ht.) Baker","combinationAuthorTeam":{"authorTeam":"Baker","author":["Baker"]},"basionymAuthorTeam":{"authorTeam":"ht.","author":["unknown"]}}]}],"positions":{"0":["genus",10],"11":["species",19],"25":["infraspecies",33],"35":["unknown_author",38],"40":["author_word",45]}}}
115
+ Lachenalia tricolor var. nelsonii (hort.) Baker|{"scientificName":{"parsed":true,"verbatim":"Lachenalia tricolor var. nelsonii (hort.) Baker","normalized":"Lachenalia tricolor var. nelsonii (hort.) Baker","canonical":"Lachenalia tricolor nelsonii","hybrid":false,"details":[{"genus":{"epitheton":"Lachenalia"},"species":{"epitheton":"tricolor"},"infraspecies":[{"epitheton":"nelsonii","rank":"var.","authorship":"(hort.) Baker","combinationAuthorTeam":{"authorTeam":"Baker","author":["Baker"]},"basionymAuthorTeam":{"authorTeam":"hort.","author":["unknown"]}}]}],"positions":{"0":["genus",10],"11":["species",19],"25":["infraspecies",33],"35":["unknown_author",40],"42":["author_word",47]}}}
116
+ Puya acris ht.|{"scientificName":{"parsed":true,"verbatim":"Puya acris ht.","normalized":"Puya acris ht.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"epitheton":"Puya"},"species":{"epitheton":"acris","authorship":"ht.","basionymAuthorTeam":{"authorTeam":"ht.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",14]}}}
117
+ Puya acris anon.|{"scientificName":{"parsed":true,"verbatim":"Puya acris anon.","normalized":"Puya acris anon.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"epitheton":"Puya"},"species":{"epitheton":"acris","authorship":"anon.","basionymAuthorTeam":{"authorTeam":"anon.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",16]}}}
118
+ Puya acris hort.|{"scientificName":{"parsed":true,"verbatim":"Puya acris hort.","normalized":"Puya acris hort.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"epitheton":"Puya"},"species":{"epitheton":"acris","authorship":"hort.","basionymAuthorTeam":{"authorTeam":"hort.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",16]}}}
119
+ Puya acris auct.|{"scientificName":{"parsed":true,"verbatim":"Puya acris auct.","normalized":"Puya acris auct.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"epitheton":"Puya"},"species":{"epitheton":"acris","authorship":"auct.","basionymAuthorTeam":{"authorTeam":"auct.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",16]}}}
120
+
121
+ #miscellaneous names
122
+ Fagus sylvatica subsp. orientalis (Lipsky) Greuter & Burdet|{"scientificName":{"parsed":true,"verbatim":"Fagus sylvatica subsp. orientalis (Lipsky) Greuter & Burdet","normalized":"Fagus sylvatica subsp. orientalis (Lipsky) Greuter et Burdet","canonical":"Fagus sylvatica orientalis","hybrid":false,"details":[{"genus":{"epitheton":"Fagus"},"species":{"epitheton":"sylvatica"},"infraspecies":[{"epitheton":"orientalis","rank":"subsp.","authorship":"(Lipsky) Greuter & Burdet","combinationAuthorTeam":{"authorTeam":"Greuter & Burdet","author":["Greuter","Burdet"]},"basionymAuthorTeam":{"authorTeam":"Lipsky","author":["Lipsky"]}}]}],"positions":{"0":["genus",5],"6":["species",15],"23":["infraspecies",33],"35":["author_word",41],"43":["author_word",50],"53":["author_word",59]}}}
123
+ Stagonospora polyspora M.T. Lucas & Sousa da Câmara 1934|{"scientificName":{"parsed":true,"verbatim":"Stagonospora polyspora M.T. Lucas & Sousa da C\u00e2mara 1934","normalized":"Stagonospora polyspora M.T. Lucas et Sousa da C\u00e2mara 1934","canonical":"Stagonospora polyspora","hybrid":false,"details":[{"genus":{"epitheton":"Stagonospora"},"species":{"epitheton":"polyspora","authorship":"M.T. Lucas & Sousa da C\u00e2mara 1934","basionymAuthorTeam":{"authorTeam":"M.T. Lucas & Sousa da C\u00e2mara","author":["M.T. Lucas","Sousa da C\u00e2mara"],"year":"1934"}}}],"positions":{"0":["genus",12],"13":["species",22],"23":["author_word",27],"28":["author_word",33],"36":["author_word",41],"42":["author_word",44],"45":["author_word",51],"52":["year",56]}}}
124
+ Stagonospora polyspora M.T. Lucas et Sousa da Câmara 1934|{"scientificName":{"parsed":true,"verbatim":"Stagonospora polyspora M.T. Lucas et Sousa da C\u00e2mara 1934","normalized":"Stagonospora polyspora M.T. Lucas et Sousa da C\u00e2mara 1934","canonical":"Stagonospora polyspora","hybrid":false,"details":[{"genus":{"epitheton":"Stagonospora"},"species":{"epitheton":"polyspora","authorship":"M.T. Lucas et Sousa da C\u00e2mara 1934","basionymAuthorTeam":{"authorTeam":"M.T. Lucas et Sousa da C\u00e2mara","author":["M.T. Lucas","Sousa da C\u00e2mara"],"year":"1934"}}}],"positions":{"0":["genus",12],"13":["species",22],"23":["author_word",27],"28":["author_word",33],"37":["author_word",42],"43":["author_word",45],"46":["author_word",52],"53":["year",57]}}}
125
+ Cladoniicola staurospora Diederich, van den Boom & Aptroot 2001|{"scientificName":{"parsed":true,"verbatim":"Cladoniicola staurospora Diederich, van den Boom & Aptroot 2001","normalized":"Cladoniicola staurospora Diederich, van den Boom et Aptroot 2001","canonical":"Cladoniicola staurospora","hybrid":false,"details":[{"genus":{"epitheton":"Cladoniicola"},"species":{"epitheton":"staurospora","authorship":"Diederich, van den Boom & Aptroot 2001","basionymAuthorTeam":{"authorTeam":"Diederich, van den Boom & Aptroot","author":["Diederich","van den Boom","Aptroot"],"year":"2001"}}}],"positions":{"0":["genus",12],"13":["species",24],"25":["author_word",34],"36":["author_word",39],"40":["author_word",43],"44":["author_word",48],"51":["author_word",58],"59":["year",63]}}}
126
+ Yarrowia lipolytica var. lipolytica (Wick., Kurtzman & E.A. Herrm.) Van der Walt & Arx 1981|{"scientificName":{"parsed":true,"verbatim":"Yarrowia lipolytica var. lipolytica (Wick., Kurtzman & E.A. Herrm.) Van der Walt & Arx 1981","normalized":"Yarrowia lipolytica var. lipolytica (Wick., Kurtzman et E.A. Herrm.) Van der Walt et Arx 1981","canonical":"Yarrowia lipolytica lipolytica","hybrid":false,"details":[{"genus":{"epitheton":"Yarrowia"},"species":{"epitheton":"lipolytica"},"infraspecies":[{"epitheton":"lipolytica","rank":"var.","authorship":"(Wick., Kurtzman & E.A. Herrm.) Van der Walt & Arx 1981","combinationAuthorTeam":{"authorTeam":"Van der Walt & Arx","author":["Van der Walt","Arx"],"year":"1981"},"basionymAuthorTeam":{"authorTeam":"Wick., Kurtzman & E.A. Herrm.","author":["Wick.","Kurtzman","E.A. Herrm."]}}]}],"positions":{"0":["genus",8],"9":["species",19],"25":["infraspecies",35],"37":["author_word",42],"44":["author_word",52],"55":["author_word",59],"60":["author_word",66],"68":["author_word",71],"72":["author_word",75],"76":["author_word",80],"83":["author_word",86],"87":["year",91]}}}
127
+ Physalospora rubiginosa (Fr.) anon.|{"scientificName":{"parsed":true,"verbatim":"Physalospora rubiginosa (Fr.) anon.","normalized":"Physalospora rubiginosa (Fr.) anon.","canonical":"Physalospora rubiginosa","hybrid":false,"details":[{"genus":{"epitheton":"Physalospora"},"species":{"epitheton":"rubiginosa","authorship":"(Fr.) anon.","combinationAuthorTeam":{"authorTeam":"anon.","author":["unknown"]},"basionymAuthorTeam":{"authorTeam":"Fr.","author":["Fr."]}}}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",28],"30":["unknown_author",35]}}}
128
+ Pleurotus ëous (Berk.) Sacc. 1887|{"scientificName":{"parsed":true,"verbatim":"Pleurotus \u00ebous (Berk.) Sacc. 1887","normalized":"Pleurotus \u00ebous (Berk.) Sacc. 1887","canonical":"Pleurotus \u00ebous","hybrid":false,"details":[{"genus":{"epitheton":"Pleurotus"},"species":{"epitheton":"\u00ebous","authorship":"(Berk.) Sacc. 1887","combinationAuthorTeam":{"authorTeam":"Sacc.","author":["Sacc."],"year":"1887"},"basionymAuthorTeam":{"authorTeam":"Berk.","author":["Berk."]}}}],"positions":{"0":["genus",9],"10":["species",14],"16":["author_word",21],"23":["author_word",28],"29":["year",33]}}}
129
+ Lecanora wetmorei Śliwa 2004|{"scientificName":{"parsed":true,"verbatim":"Lecanora wetmorei \u015aliwa 2004","normalized":"Lecanora wetmorei \u015aliwa 2004","canonical":"Lecanora wetmorei","hybrid":false,"details":[{"genus":{"epitheton":"Lecanora"},"species":{"epitheton":"wetmorei","authorship":"\u015aliwa 2004","basionymAuthorTeam":{"authorTeam":"\u015aliwa","author":["\u015aliwa"],"year":"2004"}}}],"positions":{"0":["genus",8],"9":["species",17],"18":["author_word",23],"24":["year",28]}}}
130
+ Calicium furfuraceum * furfuraceum (L.) Pers. 1797|{"scientificName":{"parsed":true,"verbatim":"Calicium furfuraceum * furfuraceum (L.) Pers. 1797","normalized":"Calicium furfuraceum * furfuraceum (L.) Pers. 1797","canonical":"Calicium furfuraceum furfuraceum","hybrid":false,"details":[{"genus":{"epitheton":"Calicium"},"species":{"epitheton":"furfuraceum"},"infraspecies":[{"epitheton":"furfuraceum","rank":"*","authorship":"(L.) Pers. 1797","combinationAuthorTeam":{"authorTeam":"Pers.","author":["Pers."],"year":"1797"},"basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}]}],"positions":{"0":["genus",8],"9":["species",20],"23":["infraspecies",34],"36":["author_word",38],"40":["author_word",45],"46":["year",50]}}}
131
+ Exobasidium vaccinii ** andromedae (P. Karst.) P. Karst. 1882|{"scientificName":{"parsed":true,"verbatim":"Exobasidium vaccinii ** andromedae (P. Karst.) P. Karst. 1882","normalized":"Exobasidium vaccinii ** andromedae (P. Karst.) P. Karst. 1882","canonical":"Exobasidium vaccinii andromedae","hybrid":false,"details":[{"genus":{"epitheton":"Exobasidium"},"species":{"epitheton":"vaccinii"},"infraspecies":[{"epitheton":"andromedae","rank":"**","authorship":"(P. Karst.) P. Karst. 1882","combinationAuthorTeam":{"authorTeam":"P. Karst.","author":["P. Karst."],"year":"1882"},"basionymAuthorTeam":{"authorTeam":"P. Karst.","author":["P. Karst."]}}]}],"positions":{"0":["genus",11],"12":["species",20],"24":["infraspecies",34],"36":["author_word",38],"39":["author_word",45],"47":["author_word",49],"50":["author_word",56],"57":["year",61]}}}
132
+ Urceolaria scruposa **** clausa Flot. 1849|{"scientificName":{"parsed":true,"verbatim":"Urceolaria scruposa **** clausa Flot. 1849","normalized":"Urceolaria scruposa **** clausa Flot. 1849","canonical":"Urceolaria scruposa clausa","hybrid":false,"details":[{"genus":{"epitheton":"Urceolaria"},"species":{"epitheton":"scruposa"},"infraspecies":[{"epitheton":"clausa","rank":"****","authorship":"Flot. 1849","basionymAuthorTeam":{"authorTeam":"Flot.","author":["Flot."],"year":"1849"}}]}],"positions":{"0":["genus",10],"11":["species",19],"25":["infraspecies",31],"32":["author_word",37],"38":["year",42]}}}
133
+ Cortinarius angulatus B gracilescens Fr. 1838|{"scientificName":{"parsed":true,"verbatim":"Cortinarius angulatus B gracilescens Fr. 1838","normalized":"Cortinarius angulatus B gracilescens Fr. 1838","canonical":"Cortinarius angulatus gracilescens","hybrid":false,"details":[{"genus":{"epitheton":"Cortinarius"},"species":{"epitheton":"angulatus","authorship":"B","basionymAuthorTeam":{"authorTeam":"B","author":["B"]}},"infraspecies":[{"epitheton":"gracilescens","rank":"n\/a","authorship":"Fr. 1838","basionymAuthorTeam":{"authorTeam":"Fr.","author":["Fr."],"year":"1838"}}]}],"positions":{"0":["genus",11],"12":["species",21],"22":["author_word",23],"24":["infraspecies",36],"37":["author_word",40],"41":["year",45]}}}
134
+ Cyathicula scelobelonium|{"scientificName":{"parsed":true,"verbatim":"Cyathicula scelobelonium","normalized":"Cyathicula scelobelonium","canonical":"Cyathicula scelobelonium","hybrid":false,"details":[{"genus":{"epitheton":"Cyathicula"},"species":{"epitheton":"scelobelonium"}}],"positions":{"0":["genus",10],"11":["species",24]}}}
135
+ Tuber liui A S. Xu 1999|{"scientificName":{"parsed":true,"verbatim":"Tuber liui A S. Xu 1999","normalized":"Tuber liui A S. Xu 1999","canonical":"Tuber liui","hybrid":false,"details":[{"genus":{"epitheton":"Tuber"},"species":{"epitheton":"liui","authorship":"A S. Xu 1999","basionymAuthorTeam":{"authorTeam":"A S. Xu","author":["A S. Xu"],"year":"1999"}}}],"positions":{"0":["genus",5],"6":["species",10],"11":["author_word",1],"13":["author_word",2],"16":["author_word",2],"19":["year",23]}}}
136
+ Xylaria potentillae A S. Xu|{"scientificName":{"parsed":true,"verbatim":"Xylaria potentillae A S. Xu","normalized":"Xylaria potentillae A S. Xu","canonical":"Xylaria potentillae","hybrid":false,"details":[{"genus":{"epitheton":"Xylaria"},"species":{"epitheton":"potentillae","authorship":"A S. Xu","basionymAuthorTeam":{"authorTeam":"A S. Xu","author":["A S. Xu"]}}}],"positions":{"0":["genus",7],"8":["species",19],"20":["author_word",1],"22":["author_word",2],"25":["author_word",2]}}}
137
+ Agaricus squamula Berk. & M.A. Curtis 1860|{"scientificName":{"parsed":true,"verbatim":"Agaricus squamula Berk. & M.A. Curtis 1860","normalized":"Agaricus squamula Berk. et M.A. Curtis 1860","canonical":"Agaricus squamula","hybrid":false,"details":[{"genus":{"epitheton":"Agaricus"},"species":{"epitheton":"squamula","authorship":"Berk. & M.A. Curtis 1860","basionymAuthorTeam":{"authorTeam":"Berk. & M.A. Curtis","author":["Berk.","M.A. Curtis"],"year":"1860"}}}],"positions":{"0":["genus",8],"9":["species",17],"18":["author_word",23],"26":["author_word",30],"31":["author_word",37],"38":["year",42]}}}
138
+ Peltula coriacea Büdel, Henssen & Wessels 1986|{"scientificName":{"parsed":true,"verbatim":"Peltula coriacea B\u00fcdel, Henssen & Wessels 1986","normalized":"Peltula coriacea B\u00fcdel, Henssen et Wessels 1986","canonical":"Peltula coriacea","hybrid":false,"details":[{"genus":{"epitheton":"Peltula"},"species":{"epitheton":"coriacea","authorship":"B\u00fcdel, Henssen & Wessels 1986","basionymAuthorTeam":{"authorTeam":"B\u00fcdel, Henssen & Wessels","author":["B\u00fcdel","Henssen","Wessels"],"year":"1986"}}}],"positions":{"0":["genus",7],"8":["species",16],"17":["author_word",22],"24":["author_word",31],"34":["author_word",41],"42":["year",46]}}}
139
+ Saccharomyces drosophilae anon.|{"scientificName":{"parsed":true,"verbatim":"Saccharomyces drosophilae anon.","normalized":"Saccharomyces drosophilae anon.","canonical":"Saccharomyces drosophilae","hybrid":false,"details":[{"genus":{"epitheton":"Saccharomyces"},"species":{"epitheton":"drosophilae","authorship":"anon.","basionymAuthorTeam":{"authorTeam":"anon.","author":["unknown"]}}}],"positions":{"0":["genus",13],"14":["species",25],"26":["unknown_author",31]}}}
140
+ Abacetus laevicollis de Chaudoir, 1869|{"scientificName":{"parsed":true,"verbatim":"Abacetus laevicollis de Chaudoir, 1869","normalized":"Abacetus laevicollis de Chaudoir 1869","canonical":"Abacetus laevicollis","hybrid":false,"details":[{"genus":{"epitheton":"Abacetus"},"species":{"epitheton":"laevicollis","authorship":"de Chaudoir, 1869","basionymAuthorTeam":{"authorTeam":"de Chaudoir","author":["de Chaudoir"],"year":"1869"}}}],"positions":{"0":["genus",8],"9":["species",20],"21":["author_word",23],"24":["author_word",32],"34":["year",38]}}}
141
+ Gastrosericus eremorum von Beaumont 1955|{"scientificName":{"parsed":true,"verbatim":"Gastrosericus eremorum von Beaumont 1955","normalized":"Gastrosericus eremorum von Beaumont 1955","canonical":"Gastrosericus eremorum","hybrid":false,"details":[{"genus":{"epitheton":"Gastrosericus"},"species":{"epitheton":"eremorum","authorship":"von Beaumont 1955","basionymAuthorTeam":{"authorTeam":"von Beaumont","author":["von Beaumont"],"year":"1955"}}}],"positions":{"0":["genus",13],"14":["species",22],"23":["author_word",26],"27":["author_word",35],"36":["year",40]}}}
142
+ Cypraeovula (Luponia) amphithales perdentata|{"scientificName":{"parsed":true,"verbatim":"Cypraeovula (Luponia) amphithales perdentata","normalized":"Cypraeovula (Luponia) amphithales perdentata","canonical":"Cypraeovula Luponia amphithales perdentata","hybrid":false,"details":[{"genus":{"epitheton":"Cypraeovula"},"subgenus":{"epitheton":"Luponia"},"species":{"epitheton":"amphithales"},"infraspecies":[{"epitheton":"perdentata","rank":"n\/a"}]}],"positions":{"0":["genus",11],"13":["subgenus",20],"22":["species",33],"34":["infraspecies",44]}}}
143
+ Polyrhachis orsyllus nat musculus Forel 1901|{"scientificName":{"parsed":true,"verbatim":"Polyrhachis orsyllus nat musculus Forel 1901","normalized":"Polyrhachis orsyllus nat musculus Forel 1901","canonical":"Polyrhachis orsyllus musculus","hybrid":false,"details":[{"genus":{"epitheton":"Polyrhachis"},"species":{"epitheton":"orsyllus"},"infraspecies":[{"epitheton":"musculus","rank":"nat","authorship":"Forel 1901","basionymAuthorTeam":{"authorTeam":"Forel","author":["Forel"],"year":"1901"}}]}],"positions":{"0":["genus",11],"12":["species",20],"25":["infraspecies",33],"34":["author_word",39],"40":["year",44]}}}
144
+ Latrodectus 13-guttatus Thorell, 1875|{"scientificName":{"parsed":true,"verbatim":"Latrodectus 13-guttatus Thorell, 1875","normalized":"Latrodectus 13-guttatus Thorell 1875","canonical":"Latrodectus 13-guttatus","hybrid":false,"details":[{"genus":{"epitheton":"Latrodectus"},"species":{"epitheton":"13-guttatus","authorship":"Thorell, 1875","basionymAuthorTeam":{"authorTeam":"Thorell","author":["Thorell"],"year":"1875"}}}],"positions":{"0":["genus",11],"12":["species",23],"24":["author_word",31],"33":["year",37]}}}
145
+ Latrodectus 3-guttatus Thorell 1875|{"scientificName":{"parsed":true,"verbatim":"Latrodectus 3-guttatus Thorell 1875","normalized":"Latrodectus 3-guttatus Thorell 1875","canonical":"Latrodectus 3-guttatus","hybrid":false,"details":[{"genus":{"epitheton":"Latrodectus"},"species":{"epitheton":"3-guttatus","authorship":"Thorell 1875","basionymAuthorTeam":{"authorTeam":"Thorell","author":["Thorell"],"year":"1875"}}}],"positions":{"0":["genus",11],"12":["species",22],"23":["author_word",30],"31":["year",35]}}}
146
+
147
+ #names with status at the end
148
+ Arthopyrenia hyalospora (Nyl.) R.C. Harris comb. nov.|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora (Nyl.) R.C. Harris comb. nov.","normalized":"Arthopyrenia hyalospora (Nyl.) R.C. Harris comb. nov.","canonical":"Arthopyrenia hyalospora","hybrid":false,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora","authorship":"(Nyl.) R.C. Harris","combinationAuthorTeam":{"authorTeam":"R.C. Harris ","author":["R.C. Harris"]},"basionymAuthorTeam":{"authorTeam":"Nyl.","author":["Nyl."]}},"status":"comb. nov."}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",29],"31":["author_word",35],"36":["author_word",42]}}}
149
+
150
+ #names with ex authors
151
+ Arthopyrenia hyalospora (Nyl. ex Banker) R.C. Harris|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora (Nyl. ex Banker) R.C. Harris","normalized":"Arthopyrenia hyalospora (Nyl. ex Banker) R.C. Harris","canonical":"Arthopyrenia hyalospora","hybrid":false,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora","authorship":"(Nyl. ex Banker) R.C. Harris","combinationAuthorTeam":{"authorTeam":"R.C. Harris","author":["R.C. Harris"]},"basionymAuthorTeam":{"authorTeam":"Nyl.","author":["Nyl."],"exAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}}}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",29],"33":["author_word",39],"41":["author_word",45],"46":["author_word",52]}}}
152
+ Arthopyrenia hyalospora Nyl. ex Banker|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora Nyl. ex Banker","normalized":"Arthopyrenia hyalospora Nyl. ex Banker","canonical":"Arthopyrenia hyalospora","hybrid":false,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora","authorship":"Nyl. ex Banker","basionymAuthorTeam":{"authorTeam":"Nyl.","author":["Nyl."],"exAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}}}],"positions":{"0":["genus",12],"13":["species",23],"24":["author_word",28],"32":["author_word",38]}}}
153
+ Glomopsis lonicerae Peck ex C.J. Gould 1945|{"scientificName":{"parsed":true,"verbatim":"Glomopsis lonicerae Peck ex C.J. Gould 1945","normalized":"Glomopsis lonicerae Peck ex C.J. Gould 1945","canonical":"Glomopsis lonicerae","hybrid":false,"details":[{"genus":{"epitheton":"Glomopsis"},"species":{"epitheton":"lonicerae","authorship":"Peck ex C.J. Gould 1945","basionymAuthorTeam":{"authorTeam":"Peck","author":["Peck"],"exAuthorTeam":{"authorTeam":"C.J. Gould","author":["C.J. Gould"],"year":"1945"}}}}],"positions":{"0":["genus",9],"10":["species",19],"20":["author_word",24],"28":["author_word",32],"33":["author_word",38],"39":["year",43]}}}
154
+ Acanthobasidium delicatum (Wakef.) Oberw. ex Jülich 1979|{"scientificName":{"parsed":true,"verbatim":"Acanthobasidium delicatum (Wakef.) Oberw. ex J\u00fclich 1979","normalized":"Acanthobasidium delicatum (Wakef.) Oberw. ex J\u00fclich 1979","canonical":"Acanthobasidium delicatum","hybrid":false,"details":[{"genus":{"epitheton":"Acanthobasidium"},"species":{"epitheton":"delicatum","authorship":"(Wakef.) Oberw. ex J\u00fclich 1979","combinationAuthorTeam":{"authorTeam":"Oberw.","author":["Oberw."],"exAuthorTeam":{"authorTeam":"J\u00fclich","author":["J\u00fclich"],"year":"1979"}},"basionymAuthorTeam":{"authorTeam":"Wakef.","author":["Wakef."]}}}],"positions":{"0":["genus",15],"16":["species",25],"27":["author_word",33],"35":["author_word",41],"45":["author_word",51],"52":["year",56]}}}
155
+ Mycosphaerella eryngii (Fr. ex Duby) Johanson ex Oudem. 1897|{"scientificName":{"parsed":true,"verbatim":"Mycosphaerella eryngii (Fr. ex Duby) Johanson ex Oudem. 1897","normalized":"Mycosphaerella eryngii (Fr. ex Duby) Johanson ex Oudem. 1897","canonical":"Mycosphaerella eryngii","hybrid":false,"details":[{"genus":{"epitheton":"Mycosphaerella"},"species":{"epitheton":"eryngii","authorship":"(Fr. ex Duby) Johanson ex Oudem. 1897","combinationAuthorTeam":{"authorTeam":"Johanson","author":["Johanson"],"exAuthorTeam":{"authorTeam":"Oudem.","author":["Oudem."],"year":"1897"}},"basionymAuthorTeam":{"authorTeam":"Fr.","author":["Fr."],"exAuthorTeam":{"authorTeam":"Duby","author":["Duby"]}}}}],"positions":{"0":["genus",14],"15":["species",22],"24":["author_word",27],"31":["author_word",35],"37":["author_word",45],"49":["author_word",55],"56":["year",60]}}}
156
+ Mycosphaerella eryngii (Fr. Duby) ex Oudem. 1897|{"scientificName":{"parsed":true,"verbatim":"Mycosphaerella eryngii (Fr. Duby) ex Oudem. 1897","normalized":"Mycosphaerella eryngii (Fr. Duby) ex Oudem. 1897","canonical":"Mycosphaerella eryngii ex","hybrid":false,"details":[{"genus":{"epitheton":"Mycosphaerella"},"species":{"epitheton":"eryngii","authorship":"(Fr. Duby)","basionymAuthorTeam":{"authorTeam":"Fr. Duby","author":["Fr. Duby"]}},"infraspecies":[{"epitheton":"ex","rank":"n\/a","authorship":"Oudem. 1897","basionymAuthorTeam":{"authorTeam":"Oudem.","author":["Oudem."],"year":"1897"}}]}],"positions":{"0":["genus",14],"15":["species",22],"24":["author_word",27],"28":["author_word",32],"34":["infraspecies",36],"37":["author_word",43],"44":["year",48]}}}
157
+ Mycosphaerella eryngii (Fr.ex Duby) ex Oudem. 1897|{"scientificName":{"parsed":true,"verbatim":"Mycosphaerella eryngii (Fr.ex Duby) ex Oudem. 1897","normalized":"Mycosphaerella eryngii (Fr.ex Duby) ex Oudem. 1897","canonical":"Mycosphaerella eryngii ex","hybrid":false,"details":[{"genus":{"epitheton":"Mycosphaerella"},"species":{"epitheton":"eryngii","authorship":"(Fr.ex Duby)","basionymAuthorTeam":{"authorTeam":"Fr.ex Duby","author":["Fr.ex Duby"]}},"infraspecies":[{"epitheton":"ex","rank":"n\/a","authorship":"Oudem. 1897","basionymAuthorTeam":{"authorTeam":"Oudem.","author":["Oudem."],"year":"1897"}}]}],"positions":{"0":["genus",14],"15":["species",22],"24":["author_word",29],"30":["author_word",34],"36":["infraspecies",38],"39":["author_word",45],"46":["year",50]}}}
158
+ Salmonella werahensis (Castellani) Hauduroy and Ehringer in Hauduroy 1937|{"scientificName":{"parsed":true,"verbatim":"Salmonella werahensis (Castellani) Hauduroy and Ehringer in Hauduroy 1937","normalized":"Salmonella werahensis (Castellani) Hauduroy et Ehringer ex Hauduroy 1937","canonical":"Salmonella werahensis","hybrid":false,"details":[{"genus":{"epitheton":"Salmonella"},"species":{"epitheton":"werahensis","authorship":"(Castellani) Hauduroy and Ehringer in Hauduroy 1937","combinationAuthorTeam":{"authorTeam":"Hauduroy and Ehringer","author":["Hauduroy","Ehringer"],"exAuthorTeam":{"authorTeam":"Hauduroy","author":["Hauduroy"],"year":"1937"}},"basionymAuthorTeam":{"authorTeam":"Castellani","author":["Castellani"]}}}],"positions":{"0":["genus",10],"11":["species",21],"23":["author_word",33],"35":["author_word",43],"48":["author_word",56],"60":["author_word",68],"69":["year",73]}}}
159
+
160
+ #named hybrids
161
+ ×Agropogon P. Fourn. 1934|{"scientificName":{"parsed":true,"verbatim":"\u00d7Agropogon P. Fourn. 1934","normalized":"\u00d7 Agropogon P. Fourn. 1934","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon","authorship":"P. Fourn. 1934","basionymAuthorTeam":{"authorTeam":"P. Fourn.","author":["P. Fourn."],"year":"1934"}}}],"positions":{"1":["uninomial",10],"11":["author_word",13],"14":["author_word",20],"21":["year",25]}}}
162
+ xAgropogon P. Fourn.|{"scientificName":{"parsed":true,"verbatim":"xAgropogon P. Fourn.","normalized":"\u00d7 Agropogon P. Fourn.","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon","authorship":"P. Fourn.","basionymAuthorTeam":{"authorTeam":"P. Fourn.","author":["P. Fourn."]}}}],"positions":{"1":["uninomial",10],"11":["author_word",13],"14":["author_word",20]}}}
163
+ XAgropogon P.Fourn.|{"scientificName":{"parsed":true,"verbatim":"XAgropogon P.Fourn.","normalized":"\u00d7 Agropogon P.Fourn.","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon","authorship":"P.Fourn.","basionymAuthorTeam":{"authorTeam":"P.Fourn.","author":["P.Fourn."]}}}],"positions":{"1":["uninomial",10],"11":["author_word",19]}}}
164
+ × Agropogon|{"scientificName":{"parsed":true,"verbatim":"\u00d7 Agropogon","normalized":"\u00d7 Agropogon","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon"}}],"positions":{"2":["uninomial",11]}}}
165
+ x Agropogon|{"scientificName":{"parsed":true,"verbatim":"x Agropogon","normalized":"\u00d7 Agropogon","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon"}}],"positions":{"2":["uninomial",11]}}}
166
+ X Agropogon|{"scientificName":{"parsed":true,"verbatim":"X Agropogon","normalized":"\u00d7 Agropogon","canonical":"Agropogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agropogon"}}],"positions":{"2":["uninomial",11]}}}
167
+ X Cupressocyparis leylandii|{"scientificName":{"parsed":true,"verbatim":"X Cupressocyparis leylandii","normalized":"\u00d7 Cupressocyparis leylandii","canonical":"Cupressocyparis leylandii","hybrid":true,"details":[{"genus":{"epitheton":"Cupressocyparis"},"species":{"epitheton":"leylandii"}}],"positions":{"2":["genus",17],"18":["species",27]}}}
168
+ ×Heucherella tiarelloides|{"scientificName":{"parsed":true,"verbatim":"\u00d7Heucherella tiarelloides","normalized":"\u00d7 Heucherella tiarelloides","canonical":"Heucherella tiarelloides","hybrid":true,"details":[{"genus":{"epitheton":"Heucherella"},"species":{"epitheton":"tiarelloides"}}],"positions":{"1":["genus",12],"13":["species",25]}}}
169
+ xHeucherella tiarelloides|{"scientificName":{"parsed":true,"verbatim":"xHeucherella tiarelloides","normalized":"\u00d7 Heucherella tiarelloides","canonical":"Heucherella tiarelloides","hybrid":true,"details":[{"genus":{"epitheton":"Heucherella"},"species":{"epitheton":"tiarelloides"}}],"positions":{"1":["genus",12],"13":["species",25]}}}
170
+ x Heucherella tiarelloides|{"scientificName":{"parsed":true,"verbatim":"x Heucherella tiarelloides","normalized":"\u00d7 Heucherella tiarelloides","canonical":"Heucherella tiarelloides","hybrid":true,"details":[{"genus":{"epitheton":"Heucherella"},"species":{"epitheton":"tiarelloides"}}],"positions":{"2":["genus",13],"14":["species",26]}}}
171
+ ×Agropogon littoralis (Sm.) C. E. Hubb. 1946|{"scientificName":{"parsed":true,"verbatim":"\u00d7Agropogon littoralis (Sm.) C. E. Hubb. 1946","normalized":"\u00d7 Agropogon littoralis (Sm.) C. E. Hubb. 1946","canonical":"Agropogon littoralis","hybrid":true,"details":[{"genus":{"epitheton":"Agropogon"},"species":{"epitheton":"littoralis","authorship":"(Sm.) C. E. Hubb. 1946","combinationAuthorTeam":{"authorTeam":"C. E. Hubb.","author":["C. E. Hubb."],"year":"1946"},"basionymAuthorTeam":{"authorTeam":"Sm.","author":["Sm."]}}}],"positions":{"1":["genus",10],"11":["species",21],"23":["author_word",26],"28":["author_word",30],"31":["author_word",33],"34":["author_word",39],"40":["year",44]}}}
172
+ Asplenium X inexpectatum (E.L. Braun 1940) Morton (1956)|{"scientificName":{"parsed":true,"verbatim":"Asplenium X inexpectatum (E.L. Braun 1940) Morton (1956)","normalized":"Asplenium \u00d7 inexpectatum (E.L. Braun 1940) Morton 1956","canonical":"Asplenium inexpectatum","hybrid":true,"details":[{"genus":{"epitheton":"Asplenium"},"species":{"epitheton":"inexpectatum","authorship":"(E.L. Braun 1940) Morton (1956)","combinationAuthorTeam":{"authorTeam":"Morton","author":["Morton"],"year":"1956"},"basionymAuthorTeam":{"authorTeam":"E.L. Braun","author":["E.L. Braun"],"year":"1940"}}}],"positions":{"0":["genus",9],"12":["species",24],"26":["author_word",30],"31":["author_word",36],"37":["year",41],"43":["author_word",49],"51":["year",55]}}}
173
+ Mentha ×smithiana R. A. Graham 1949|{"scientificName":{"parsed":true,"verbatim":"Mentha \u00d7smithiana R. A. Graham 1949","normalized":"Mentha \u00d7 smithiana R. A. Graham 1949","canonical":"Mentha smithiana","hybrid":true,"details":[{"genus":{"epitheton":"Mentha"},"species":{"epitheton":"smithiana","authorship":"R. A. Graham 1949","basionymAuthorTeam":{"authorTeam":"R. A. Graham","author":["R. A. Graham"],"year":"1949"}}}],"positions":{"0":["genus",6],"8":["species",17],"18":["author_word",20],"21":["author_word",23],"24":["author_word",30],"31":["year",35]}}}
174
+ Salix ×capreola Andersson (1867)|{"scientificName":{"parsed":true,"verbatim":"Salix \u00d7capreola Andersson (1867)","normalized":"Salix \u00d7 capreola Andersson 1867","canonical":"Salix capreola","hybrid":true,"details":[{"genus":{"epitheton":"Salix"},"species":{"epitheton":"capreola","authorship":"Andersson (1867)","basionymAuthorTeam":{"authorTeam":"Andersson","author":["Andersson"],"year":"1867"}}}],"positions":{"0":["genus",5],"7":["species",15],"16":["author_word",25],"27":["year",31]}}}
175
+ Salix x capreola Andersson|{"scientificName":{"parsed":true,"verbatim":"Salix x capreola Andersson","normalized":"Salix \u00d7 capreola Andersson","canonical":"Salix capreola","hybrid":true,"details":[{"genus":{"epitheton":"Salix"},"species":{"epitheton":"capreola","authorship":"Andersson","basionymAuthorTeam":{"authorTeam":"Andersson","author":["Andersson"]}}}],"positions":{"0":["genus",5],"8":["species",16],"17":["author_word",26]}}}
176
+
177
+ #hybrid formula
178
+ Arthopyrenia hyalospora X Hydnellum scrobiculatum|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora X Hydnellum scrobiculatum","normalized":"Arthopyrenia hyalospora \u00d7 Hydnellum scrobiculatum","canonical":"Arthopyrenia hyalospora Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora"}},{"genus":{"epitheton":"Hydnellum"},"species":{"epitheton":"scrobiculatum"}}],"positions":{"0":["genus",12],"13":["species",23],"26":["genus",35],"36":["species",49]}}}
179
+ Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz|{"scientificName":{"parsed":true,"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":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora","authorship":"(Banker) D. Hall","combinationAuthorTeam":{"authorTeam":"D. Hall ","author":["D. Hall"]},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}},{"genus":{"epitheton":"Hydnellum"},"species":{"epitheton":"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]}}}
180
+ Arthopyrenia hyalospora x|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora x","normalized":"Arthopyrenia hyalospora \u00d7 ?","canonical":"Arthopyrenia hyalospora","hybrid":true,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora"}},"?"],"positions":{"0":["genus",12],"13":["species",23]}}}
181
+ Arthopyrenia hyalospora × ?|{"scientificName":{"parsed":true,"verbatim":"Arthopyrenia hyalospora \u00d7 ?","normalized":"Arthopyrenia hyalospora \u00d7 ?","canonical":"Arthopyrenia hyalospora","hybrid":true,"details":[{"genus":{"epitheton":"Arthopyrenia"},"species":{"epitheton":"hyalospora"}},"?"],"positions":{"0":["genus",12],"13":["species",23]}}}
182
+ Agrostis L. × Polypogon Desf.|{"scientificName":{"parsed":true,"verbatim":"Agrostis L. \u00d7 Polypogon Desf.","normalized":"Agrostis L. \u00d7 Polypogon Desf.","canonical":"Agrostis Polypogon","hybrid":true,"details":[{"uninomial":{"epitheton":"Agrostis","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"uninomial":{"epitheton":"Polypogon","authorship":"Desf.","basionymAuthorTeam":{"authorTeam":"Desf.","author":["Desf."]}}}],"positions":{"0":["uninomial",8],"9":["author_word",11],"14":["uninomial",23],"24":["author_word",29]}}}
183
+ Agrostis stolonifera L. × Polypogon monspeliensis (L.) Desf.|{"scientificName":{"parsed":true,"verbatim":"Agrostis stolonifera L. \u00d7 Polypogon monspeliensis (L.) Desf.","normalized":"Agrostis stolonifera L. \u00d7 Polypogon monspeliensis (L.) Desf.","canonical":"Agrostis stolonifera Polypogon monspeliensis","hybrid":true,"details":[{"genus":{"epitheton":"Agrostis"},"species":{"epitheton":"stolonifera","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"genus":{"epitheton":"Polypogon"},"species":{"epitheton":"monspeliensis","authorship":"(L.) Desf.","combinationAuthorTeam":{"authorTeam":"Desf.","author":["Desf."]},"basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}}],"positions":{"0":["genus",8],"9":["species",20],"21":["author_word",23],"26":["genus",35],"36":["species",49],"51":["author_word",53],"55":["author_word",60]}}}
184
+ #TODO Asplenium rhizophyllum X A. ruta-muraria E.L. Braun 1939|''
185
+ #TODO Asplenium rhizophyllum DC. x ruta-muraria E.L. Braun 1939|''
186
+ #TODO Asplenium rhizophyllum x ruta-muraria|''
187
+ #TODO Salix aurita L. × S. caprea L.|''
188
+ #TODO Mentha aquatica L. × M. arvensis L. × M. spicata L.|''
189
+ #TODO Polypodium vulgare subsp. prionodes (Asch.) Rothm. × subsp. vulgare|''
190
+ #TODO Tilletia caries (Bjerk.) Tul. × T. foetida (Wallr.) Liro.|''
191
+ Polypodium x vulgare nothosubsp. mantoniae (Rothm.) Schidlay|{"scientificName":{"parsed":true,"verbatim":"Polypodium x vulgare nothosubsp. mantoniae (Rothm.) Schidlay","normalized":"Polypodium \u00d7 vulgare nothosubsp. mantoniae (Rothm.) Schidlay","canonical":"Polypodium vulgare mantoniae","hybrid":true,"details":[{"genus":{"epitheton":"Polypodium"},"species":{"epitheton":"vulgare"},"infraspecies":[{"epitheton":"mantoniae","rank":"nothosubsp.","authorship":"(Rothm.) Schidlay","combinationAuthorTeam":{"authorTeam":"Schidlay","author":["Schidlay"]},"basionymAuthorTeam":{"authorTeam":"Rothm.","author":["Rothm."]}}]}],"positions":{"0":["genus",10],"14":["species",21],"34":["infraspecies",43],"45":["author_word",51],"53":["author_word",61]}}}
192
+ #concepts
193
+ Senecio jacquinianus sec. Rchb.|{"scientificName":{"parsed":true,"verbatim":"Senecio jacquinianus sec. Rchb.","normalized":"Senecio jacquinianus sec. Rchb.","canonical":"Senecio jacquinianus","hybrid":false,"details":[{"genus":{"epitheton":"Senecio"},"species":{"epitheton":"jacquinianus"},"taxon_concept":{"authorship":"Rchb.","basionymAuthorTeam":{"authorTeam":"Rchb.","author":["Rchb."]}}}],"positions":{"0":["genus",7],"8":["species",20],"26":["author_word",31]}}}
194
+ #TODO Senecio legionensis sensu Samp., non Lange|{}
195
+ #TODO Pseudomonas methanica (Söhngen 1906) sensu. Dworkin and Foster 1956|{}
196
+
197
+ #empty spaces
198
+ Asplenium Xinexpectatum ( E.L. Braun 1940 ) Morton(1956) |{"scientificName":{"parsed":true,"verbatim":" Asplenium Xinexpectatum ( E.L. Braun 1940 ) Morton(1956) ","normalized":"Asplenium \u00d7 inexpectatum (E.L. Braun 1940) Morton 1956","canonical":"Asplenium inexpectatum","hybrid":true,"details":[{"genus":{"epitheton":"Asplenium"},"species":{"epitheton":"inexpectatum","authorship":"( E.L. Braun 1940 ) Morton(1956)","combinationAuthorTeam":{"authorTeam":"Morton","author":["Morton"],"year":"1956"},"basionymAuthorTeam":{"authorTeam":"E.L. Braun","author":["E.L. Braun"],"year":"1940"}}}],"positions":{"3":["genus",12],"22":["species",34],"37":["author_word",41],"47":["author_word",52],"55":["year",59],"66":["author_word",72],"73":["year",77]}}}
199
+
200
+
201
+ ####
202
+ #
203
+ # Names with problems
204
+ #
205
+ ####
206
+
207
+ #double parenthesis
208
+ Eichornia crassipes ( (Martius) ) Solms-Laub.|{"scientificName":{"parsed":true,"verbatim":"Eichornia crassipes ( (Martius) ) Solms-Laub.","normalized":"Eichornia crassipes (Martius) Solms-Laub.","canonical":"Eichornia crassipes","hybrid":false,"details":[{"genus":{"epitheton":"Eichornia"},"species":{"epitheton":"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]}}}
209
+
210
+ #year without authorship
211
+ Acarospora cratericola 1929|{"scientificName":{"parsed":true,"verbatim":"Acarospora cratericola 1929","normalized":"Acarospora cratericola 1929","canonical":"Acarospora cratericola","hybrid":false,"details":[{"genus":{"epitheton":"Acarospora"},"species":{"epitheton":"cratericola","year":"1929"}}],"positions":{"0":["genus",10],"11":["species",22],"23":["year",27]}}}
212
+
213
+
214
+ #year range
215
+ Tridentella tangeroae Bruce, 1987-92|{"scientificName":{"parsed":true,"verbatim":"Tridentella tangeroae Bruce, 1987-92","normalized":"Tridentella tangeroae Bruce 1987-92","canonical":"Tridentella tangeroae","hybrid":false,"details":[{"genus":{"epitheton":"Tridentella"},"species":{"epitheton":"tangeroae","authorship":"Bruce, 1987-92","basionymAuthorTeam":{"authorTeam":"Bruce","author":["Bruce"],"year":"1987-92"}}}],"positions":{"0":["genus",11],"12":["species",21],"22":["author_word",27],"29":["year",36]}}}
216
+
217
+ #year in square brackets
218
+ Anthoscopus Cabanis [1851]|{"scientificName":{"parsed":true,"verbatim":"Anthoscopus Cabanis [1851]","normalized":"Anthoscopus Cabanis (1851)","canonical":"Anthoscopus","hybrid":false,"details":[{"uninomial":{"epitheton":"Anthoscopus","authorship":"Cabanis [1851]","basionymAuthorTeam":{"authorTeam":"Cabanis","author":["Cabanis"],"approximate_year":"(1851)"}}}],"positions":{"0":["uninomial",11],"12":["author_word",19],"21":["year",25]}}}
219
+ Anthoscopus Cabanis [185?]|{"scientificName":{"parsed":true,"verbatim":"Anthoscopus Cabanis [185?]","normalized":"Anthoscopus Cabanis (185?)","canonical":"Anthoscopus","hybrid":false,"details":[{"uninomial":{"epitheton":"Anthoscopus","authorship":"Cabanis [185?]","basionymAuthorTeam":{"authorTeam":"Cabanis","author":["Cabanis"],"approximate_year":"(185?)"}}}],"positions":{"0":["uninomial",11],"12":["author_word",19],"21":["year",25]}}}
220
+ Anthoscopus Cabanis [1851?]|{"scientificName":{"parsed":true,"verbatim":"Anthoscopus Cabanis [1851?]","normalized":"Anthoscopus Cabanis (1851?)","canonical":"Anthoscopus","hybrid":false,"details":[{"uninomial":{"epitheton":"Anthoscopus","authorship":"Cabanis [1851?]","basionymAuthorTeam":{"authorTeam":"Cabanis","author":["Cabanis"],"approximate_year":"(1851?)"}}}],"positions":{"0":["uninomial",11],"12":["author_word",19],"21":["year",26]}}}
221
+ Anthoscopus Cabanis [1851]|{"scientificName":{"parsed":true,"verbatim":"Anthoscopus Cabanis [1851]","normalized":"Anthoscopus Cabanis (1851)","canonical":"Anthoscopus","hybrid":false,"details":[{"uninomial":{"epitheton":"Anthoscopus","authorship":"Cabanis [1851]","basionymAuthorTeam":{"authorTeam":"Cabanis","author":["Cabanis"],"approximate_year":"(1851)"}}}],"positions":{"0":["uninomial",11],"12":["author_word",19],"21":["year",25]}}}
222
+ Anthoscopus Cabanis [1851?]|{"scientificName":{"parsed":true,"verbatim":"Anthoscopus Cabanis [1851?]","normalized":"Anthoscopus Cabanis (1851?)","canonical":"Anthoscopus","hybrid":false,"details":[{"uninomial":{"epitheton":"Anthoscopus","authorship":"Cabanis [1851?]","basionymAuthorTeam":{"authorTeam":"Cabanis","author":["Cabanis"],"approximate_year":"(1851?)"}}}],"positions":{"0":["uninomial",11],"12":["author_word",19],"21":["year",26]}}}
223
+ Trismegistia monodii Ando, 1973 [1974]|{"scientificName":{"parsed":true,"verbatim":"Trismegistia monodii Ando, 1973 [1974]","normalized":"Trismegistia monodii Ando 1973 (1974)","canonical":"Trismegistia monodii","hybrid":false,"details":[{"genus":{"epitheton":"Trismegistia"},"species":{"epitheton":"monodii","authorship":"Ando, 1973 [1974]","basionymAuthorTeam":{"authorTeam":"Ando","author":["Ando"],"year":"1973","approximate_year":"(1974)"}}}],"positions":{"0":["genus",12],"13":["species",20],"21":["author_word",25],"27":["year",31],"33":["year",37]}}}
224
+ Zygaena witti Wiegel [1973]|{"scientificName":{"parsed":true,"verbatim":"Zygaena witti Wiegel [1973]","normalized":"Zygaena witti Wiegel (1973)","canonical":"Zygaena witti","hybrid":false,"details":[{"genus":{"epitheton":"Zygaena"},"species":{"epitheton":"witti","authorship":"Wiegel [1973]","basionymAuthorTeam":{"authorTeam":"Wiegel","author":["Wiegel"],"approximate_year":"(1973)"}}}],"positions":{"0":["genus",7],"8":["species",13],"14":["author_word",20],"22":["year",26]}}}
225
+ Deyeuxia coarctata Kunth, 1815 [1816]|{"scientificName":{"parsed":true,"verbatim":"Deyeuxia coarctata Kunth, 1815 [1816]","normalized":"Deyeuxia coarctata Kunth 1815 (1816)","canonical":"Deyeuxia coarctata","hybrid":false,"details":[{"genus":{"epitheton":"Deyeuxia"},"species":{"epitheton":"coarctata","authorship":"Kunth, 1815 [1816]","basionymAuthorTeam":{"authorTeam":"Kunth","author":["Kunth"],"year":"1815","approximate_year":"(1816)"}}}],"positions":{"0":["genus",8],"9":["species",18],"19":["author_word",24],"26":["year",30],"32":["year",36]}}}
226
+
227
+ #names with garbage at the end
228
+ Morea (Morea) Burt 2342343242 23424322342 23424234|{"scientificName":{"parsed":true,"verbatim":"Morea (Morea) Burt 2342343242 23424322342 23424234","normalized":"Morea (Morea) Burt","canonical":"Morea","hybrid":false,"details":[{"uninomial":{"epitheton":"Morea","authorship":"(Morea) Burt","combinationAuthorTeam":{"authorTeam":"Burt","author":["Burt"]},"basionymAuthorTeam":{"authorTeam":"Morea","author":["Morea"]}}}],"positions":{"0":["uninomial",5],"7":["author_word",12],"14":["author_word",18]}}}
229
+
230
+
231
+ #salvage canonical
232
+ Morea ssjjlajajaj324$33 234243242|{"scientificName":{"parsed":true,"verbatim":"Morea ssjjlajajaj324$33 234243242","normalized":"Morea","canonical":"Morea","hybrid":false,"details":[{"uninomial":{"epitheton":"Morea"}}],"positions":{"0":["uninomial",5]}}}
233
+ Morea (Morea) burtius 2342343242 23424322342 23424234|{"scientificName":{"parsed":true,"verbatim":"Morea (Morea) burtius 2342343242 23424322342 23424234","normalized":"Morea (Morea) burtius","canonical":"Morea burtius","hybrid":false,"details":[{"genus":{"epitheton":"Morea"},"subgenus":{"epitheton":"Morea"},"species":{"epitheton":"burtius"}}],"positions":{"0":["genus",5],"7":["subgenus",12],"14":["species",21]}}}
234
+ Verpericola megasoma ""Dall" Pils.|{"scientificName":{"parsed":true,"verbatim":"Verpericola megasoma \"\"Dall\" Pils.","normalized":"Verpericola megasoma","canonical":"Verpericola megasoma","hybrid":false,"details":[{"genus":{"epitheton":"Verpericola"},"species":{"epitheton":"megasoma"}}],"positions":{"0":["genus",11],"12":["species",20]}}}
235
+ Moraea spathulata ( (L. f. Klatt|{"scientificName":{"parsed":true,"verbatim":"Moraea spathulata ( (L. f. Klatt","normalized":"Moraea spathulata","canonical":"Moraea spathulata","hybrid":false,"details":[{"genus":{"epitheton":"Moraea"},"species":{"epitheton":"spathulata"}}],"positions":{"0":["genus",6],"7":["species",17]}}}
File without changes
metadata ADDED
@@ -0,0 +1,134 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: biodiversity
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 5
8
+ - 14
9
+ version: 0.5.14
10
+ platform: ruby
11
+ authors:
12
+ - Dmitry Mozzherin
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-03-19 00:00:00 -04:00
18
+ default_executable: nnparse
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: treetop
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: json
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :runtime
43
+ version_requirements: *id002
44
+ - !ruby/object:Gem::Dependency
45
+ name: rspec
46
+ prerelease: false
47
+ requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
53
+ version: "0"
54
+ type: :development
55
+ version_requirements: *id003
56
+ description: Tools for biodiversity informatics
57
+ email: dmozzherin@gmail.com
58
+ executables:
59
+ - nnparse
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - LICENSE
64
+ - README.rdoc
65
+ files:
66
+ - .document
67
+ - .gitignore
68
+ - LICENSE
69
+ - README.rdoc
70
+ - Rakefile
71
+ - VERSION
72
+ - bin/nnparse
73
+ - bin/parserver
74
+ - biodiversity.gemspec
75
+ - conf/environment.rb
76
+ - lib/biodiversity.rb
77
+ - lib/biodiversity/guid.rb
78
+ - lib/biodiversity/guid/lsid.rb
79
+ - lib/biodiversity/parser.rb
80
+ - lib/biodiversity/parser/scientific_name_canonical.rb
81
+ - lib/biodiversity/parser/scientific_name_canonical.treetop
82
+ - lib/biodiversity/parser/scientific_name_clean.rb
83
+ - lib/biodiversity/parser/scientific_name_clean.treetop
84
+ - lib/biodiversity/parser/scientific_name_dirty.rb
85
+ - lib/biodiversity/parser/scientific_name_dirty.treetop
86
+ - pkg/.gitignore
87
+ - spec/biodiversity_spec.rb
88
+ - spec/guid/lsid.spec.rb
89
+ - spec/parser/scientific_name.spec.rb
90
+ - spec/parser/scientific_name_canonical.spec.rb
91
+ - spec/parser/scientific_name_clean.spec.rb
92
+ - spec/parser/scientific_name_dirty.spec.rb
93
+ - spec/parser/spec_helper.rb
94
+ - spec/parser/test_data.txt
95
+ - spec/spec_helper.rb
96
+ has_rdoc: true
97
+ homepage: http://github.com/dimus/biodiversity
98
+ licenses: []
99
+
100
+ post_install_message:
101
+ rdoc_options:
102
+ - --charset=UTF-8
103
+ require_paths:
104
+ - lib
105
+ required_ruby_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ segments:
110
+ - 0
111
+ version: "0"
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ requirements: []
120
+
121
+ rubyforge_project:
122
+ rubygems_version: 1.3.6
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: Parser of scientific names
126
+ test_files:
127
+ - spec/biodiversity_spec.rb
128
+ - spec/guid/lsid.spec.rb
129
+ - spec/parser/scientific_name.spec.rb
130
+ - spec/parser/scientific_name_canonical.spec.rb
131
+ - spec/parser/scientific_name_clean.spec.rb
132
+ - spec/parser/scientific_name_dirty.spec.rb
133
+ - spec/parser/spec_helper.rb
134
+ - spec/spec_helper.rb