biodiversity 0.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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