biodiversity 0.5.16 → 0.6.0

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.
@@ -98,7 +98,8 @@ describe ScientificNameClean do
98
98
  ['Ærenea cognata Lacordaire, 1872', 'Aerenea cognata Lacordaire 1872'],
99
99
  ['Œdicnemus capensis', 'Oedicnemus capensis'],
100
100
  ['Œnanthæ œnanthe','Oenanthae oenanthe'],
101
- ['Œnanthe œnanthe','Oenanthe oenanthe']
101
+ ['Œnanthe œnanthe','Oenanthe oenanthe'],
102
+ ['Cerambyx thomæ Gmelin J. F., 1790', 'Cerambyx thomae Gmelin J. F. 1790']
102
103
  ]
103
104
  names.each do |name_pair|
104
105
  parse(name_pair[0]).should_not be_nil
@@ -120,6 +121,18 @@ describe ScientificNameClean do
120
121
  canonical(sn).should == "Hegeter intercedens"
121
122
  details(sn).should == [{:genus=>{:string=>"Hegeter"}, :infragenus=>{:string=>"Hegeter"}, :species=>{:string=>"intercedens", :authorship=>"Lindberg H 1950", :basionymAuthorTeam=>{:authorTeam=>"Lindberg H", :author=>["Lindberg H"], :year=>"1950"}}}]
122
123
  pos(sn).should == {0=>["genus", 7], 9=>["infragenus", 16], 18=>["species", 29], 30=>["author_word", 38], 39=>["author_word", 40], 41=>["year", 45]}
124
+ sn = "Ixodes (Ixodes) hexagonus hexagonus Neumann, 1911"
125
+ canonical(sn).should == "Ixodes hexagonus hexagonus"
126
+ sn = "Brachytrypus (B.) grandidieri"
127
+ canonical(sn).should == "Brachytrypus grandidieri"
128
+ details(sn).should == [{:genus=>{:string=>"Brachytrypus"}, :infragenus=>{:string=>"B."}, :species=>{:string=>"grandidieri"}}]
129
+ sn = "Empis (Argyrandrus) Bezzi 1909"
130
+ details(sn).should == [{:uninomial=>{:string=>"Empis", :infragenus=>{:string=>"Argyrandrus"}, :authorship=>"Bezzi 1909", :basionymAuthorTeam=>{:authorTeam=>"Bezzi", :author=>["Bezzi"], :year=>"1909"}}}]
131
+ sn = "Platydoris (Bergh )"
132
+ details(sn).should == [{:uninomial=>{:string=>"Platydoris", :infragenus=>{:string=>"Bergh"}}}]
133
+ value(sn).should == "Platydoris (Bergh)"
134
+ sn = "Platydoris (B.)"
135
+ details(sn).should == [{:uninomial=>{:string=>"Platydoris", :infragenus=>{:string=>"B."}}}]
123
136
  end
124
137
 
125
138
  it 'should parse several authors without a year' do
@@ -219,6 +232,8 @@ describe ScientificNameClean do
219
232
  value(sn).should == "Phaeographis inusta var. macularis (Leight.) A.L. Sm. 1861"
220
233
  canonical(sn).should == "Phaeographis inusta macularis"
221
234
  pos(sn).should == {0=>["genus", 12], 13=>["species", 19], 25=>["infraspecies", 34], 35=>["author_word", 42], 44=>["author_word", 48], 49=>["author_word", 52], 53=>["year", 57]}
235
+ sn = "Cassytha peninsularis J. Z. Weber var. flindersii"
236
+ canonical(sn).should == "Cassytha peninsularis flindersii"
222
237
  end
223
238
 
224
239
  it 'should parse unknown original authors (auct.)/(hort.)/(?)' do
@@ -239,7 +254,7 @@ describe ScientificNameClean do
239
254
  pos(sn).should == {0=>["genus", 4], 5=>["species", 10], 11=>["unknown_author", 14]}
240
255
  end
241
256
 
242
- it 'shuould parse real world examples' do
257
+ it 'should parse real world examples' do
243
258
  sn = "Stagonospora polyspora M.T. Lucas & Sousa da Câmara 1934"
244
259
  parse(sn).should_not be_nil
245
260
  value(sn).should == "Stagonospora polyspora M.T. Lucas et Sousa da Câmara 1934"
@@ -283,16 +298,16 @@ describe ScientificNameClean do
283
298
  sn = "Gastrosericus eremorum von Beaumont 1955"
284
299
  canonical(sn).should == 'Gastrosericus eremorum'
285
300
  sn = "Cypraeovula (Luponia) amphithales perdentata"
286
- canonical(sn).should == 'Cypraeovula Luponia amphithales perdentata'
301
+ canonical(sn).should == 'Cypraeovula amphithales perdentata'
287
302
  details(sn).should == [{:genus=>{:string=>"Cypraeovula"}, :infragenus=>{:string=>"Luponia"}, :species=>{:string=>"amphithales"}, :infraspecies=>[{:string=>"perdentata", :rank=>"n/a"}]}]
288
303
  sn = "Polyrhachis orsyllus nat musculus Forel 1901"
289
304
  canonical(sn).should == "Polyrhachis orsyllus musculus"
290
305
  sn = 'Latrodectus 13-guttatus Thorell, 1875'
291
- canonical(sn).should == 'Latrodectus 13-guttatus'
292
- value(sn).should == 'Latrodectus 13-guttatus Thorell 1875'
293
- sn = 'Latrodectus 3guttatus Thorell, 1875'
294
- canonical(sn).should == 'Latrodectus 3-guttatus'
295
- value(sn).should == 'Latrodectus 3-guttatus Thorell 1875'
306
+ canonical(sn).should == 'Latrodectus tredecguttatus'
307
+ value(sn).should == 'Latrodectus tredecguttatus Thorell 1875'
308
+ sn = 'Latrodectus 3-guttatus Thorell, 1875'
309
+ canonical(sn).should == 'Latrodectus triguttatus'
310
+ value(sn).should == 'Latrodectus triguttatus Thorell 1875'
296
311
  sn = 'Balaninus c-album Schönherr, CJ., 1836'
297
312
  canonical(sn).should == 'Balaninus c-album'
298
313
  end
@@ -353,7 +368,7 @@ describe ScientificNameClean do
353
368
  parse(sn).should_not be_nil
354
369
  value(sn).should == "Arthopyrenia hyalospora (Nyl.) R.C. Harris comb. nov."
355
370
  canonical(sn).should == "Arthopyrenia hyalospora"
356
- details(sn).should == [{:genus=>{:string=>"Arthopyrenia"}, :species=>{:string=>"hyalospora", :authorship=>"(Nyl.) R.C. Harris", :combinationAuthorTeam=>{:authorTeam=>"R.C. Harris ", :author=>["R.C. Harris"]}, :basionymAuthorTeam=>{:authorTeam=>"Nyl.", :author=>["Nyl."]}}, :status=>"comb. nov."}]
371
+ details(sn).should == [{:genus=>{:string=>"Arthopyrenia"}, :species=>{:string=>"hyalospora", :authorship=>"(Nyl.) R.C. Harris", :combinationAuthorTeam=>{:authorTeam=>"R.C. Harris", :author=>["R.C. Harris"]}, :basionymAuthorTeam=>{:authorTeam=>"Nyl.", :author=>["Nyl."]}}, :status=>"comb. nov."}]
357
372
  pos(sn).should == {0=>["genus", 12], 13=>["species", 23], 25=>["author_word", 29], 31=>["author_word", 35], 36=>["author_word", 42]}
358
373
  end
359
374
 
@@ -414,6 +429,9 @@ describe ScientificNameClean do
414
429
  parse(res[0]).hybrid.should be_true
415
430
  details(res[0]).should == res[1]
416
431
  end
432
+ sn = "Rosa alpina x pomifera"
433
+ canonical(sn).should == "Rosa alpina × pomifera"
434
+ parse(sn).details.should == [{:genus=>{:string=>"Rosa"}, :species=>{:string=>"alpina"}}, {:species=>{:string=>"pomifera"}, :genus=>{:string=>"Rosa"}}]
417
435
  end
418
436
 
419
437
  it "should parse hybrid combination" do
@@ -421,14 +439,14 @@ describe ScientificNameClean do
421
439
  parse(sn).should_not be_nil
422
440
  parse(sn).hybrid.should be_true
423
441
  value(sn).should == "Arthopyrenia hyalospora \303\227 Hydnellum scrobiculatum"
424
- canonical(sn).should == "Arthopyrenia hyalospora Hydnellum scrobiculatum"
442
+ canonical(sn).should == "Arthopyrenia hyalospora × Hydnellum scrobiculatum"
425
443
  details(sn).should == [{:genus=>{:string=>"Arthopyrenia"}, :species=>{:string=>"hyalospora"}}, {:genus=>{:string=>"Hydnellum"}, :species=>{:string=>"scrobiculatum"}}]
426
444
  pos(sn).should == {0=>["genus", 12], 13=>["species", 23], 26=>["genus", 35], 36=>["species", 49]}
427
445
  sn = "Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz"
428
446
  parse(sn).should_not be_nil
429
447
  parse(sn).hybrid.should be_true
430
448
  value(sn).should == "Arthopyrenia hyalospora (Banker) D. Hall \303\227 Hydnellum scrobiculatum D.E. Stuntz"
431
- canonical(sn).should == "Arthopyrenia hyalospora Hydnellum scrobiculatum"
449
+ canonical(sn).should == "Arthopyrenia hyalospora × Hydnellum scrobiculatum"
432
450
  pos(sn).should == {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]}
433
451
  value("Arthopyrenia hyalospora X").should == "Arthopyrenia hyalospora \303\227 ?"
434
452
  sn = "Arthopyrenia hyalospora x"
@@ -446,7 +464,6 @@ describe ScientificNameClean do
446
464
 
447
465
  it 'should parse names with taxon concept' do
448
466
  sn = "Stenometope laevissimus sec. Eschmeyer 2004"
449
- val = @parser.failure_reason.to_s.match(/column [0-9]*/).to_s().gsub(/column /,'')
450
467
  details(sn).should == [{:genus=>{:string=>"Stenometope"}, :species=>{:string=>"laevissimus"}, :taxon_concept=>{:authorship=>"Eschmeyer 2004", :basionymAuthorTeam=>{:authorTeam=>"Eschmeyer", :author=>["Eschmeyer"], :year=>"2004"}}}]
451
468
  pos(sn).should == {0=>["genus", 11], 12=>["species", 23], 29=>["author_word", 38], 39=>["year", 43]}
452
469
  sn = "Stenometope laevissimus Bibron 1855 sec. Eschmeyer 2004"
@@ -501,26 +518,35 @@ describe ScientificNameClean do
501
518
  details(sn).should == [{:genus=>{:string=>"Flexibacter"}, :species=>{:string=>"elegans", :authorship=>"Soriano 1945, non Lewin 1969", :basionymAuthorTeam=>{:authorTeam=>"Soriano", :author=>["Soriano"], :year=>"1945"}}}]
502
519
  end
503
520
 
504
- # it 'should parse hybrid names with capitalized second name in genus (botanical code error)' do
505
- # sn = 'Anacampti-Platanthera P. Fourn.'
506
- # @parser.parse(sn)
507
- # puts @parser.failure_reason
508
- # parse(sn).should_not be_nil
509
- # canonical(sn).should == 'Anacamptiplatanthera'
510
- # sn = 'Anacampti-Platanthera vulgaris P. Fourn.'
511
- # parse(sn).should_not be_nil
512
- # canonical(sn).should == 'Anacamptiplatanthera'
513
- # end
521
+ # Combination genus names should be merged without dash or capital letter
522
+ it 'should parse hybrid names with capitalized second name in genus (botanical code error)' do
523
+ sn = 'Anacampti-Platanthera P. Fourn.'
524
+ parse(sn).should_not be_nil
525
+ canonical(sn).should == 'Anacamptiplatanthera'
526
+ sn = 'Anacampti-Platanthera vulgaris P. Fourn.'
527
+ parse(sn).should_not be_nil
528
+ canonical(sn).should == 'Anacamptiplatanthera vulgaris'
529
+ end
514
530
 
515
- # it 'shoud parse hybrid names with * character' do
516
- # sn = "Carduus acanthoides * crispus"
517
- # details(sn).should == ''
518
- # end
519
-
520
531
  it 'should parse genus names starting with uppercase letters AE OE' do
521
532
  sn = 'AEmona separata Broun 1921'
522
533
  canonical(sn).should == 'Aemona separata'
523
534
  sn = 'OEmona simplex White, 1855'
524
535
  canonical(sn).should == 'Oemona simplex'
525
536
  end
537
+ #"Arthrosamanea eriorhachis (Harms & sine ref. ) Aubrév." -- ignore & sine ref. (means without reference)
538
+
539
+ =begin
540
+ new stuff
541
+
542
+ sn = "Orchidaceae × Asconopsis hort."
543
+ canonical(sn).should == "Orchidaceae x Asconopsis"
544
+ sn
545
+ Tamiops swinhoei near hainanus|Tamiops swinhoei near hainanus
546
+ Conus textile form archiepiscopus|Conus textile form archiepiscopus|
547
+ Crypticus pseudosericeus ssp. olivieri Desbrochers des Loges,1881|Crypticus pseudosericeus olivieri des
548
+ Solanum nigrum subsp nigrum|Solanum nigrum subsp nigrum
549
+ Protoglossus taeniatum author unknown|Protoglossus taeniatum author unknown
550
+ Dupontiella (S. ?) bicolor|Dupontiella|
551
+ =end
526
552
  end
@@ -59,6 +59,8 @@ Pseudocercospora dendrobii U. Braun & Crous 2003|{"scientificName":{"parsed":tru
59
59
 
60
60
  #iczn: species name with infragenus
61
61
  Hegeter (Hegeter) intercedens Lindberg H 1950|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Hegeter (Hegeter) intercedens Lindberg H 1950","normalized":"Hegeter (Hegeter) intercedens Lindberg H 1950","canonical":"Hegeter intercedens","hybrid":false,"details":[{"genus":{"string":"Hegeter"},"infragenus":{"string":"Hegeter"},"species":{"string":"intercedens","authorship":"Lindberg H 1950","basionymAuthorTeam":{"authorTeam":"Lindberg H","author":["Lindberg H"],"year":"1950"}}}],"positions":{"0":["genus",7],"9":["infragenus",16],"18":["species",29],"30":["author_word",38],"39":["author_word",40],"41":["year",45]}}}
62
+ Brachytrypus (B.) grandidieri|{"scientificName":{"parsed":true, "verbatim":"Brachytrypus (B.) grandidieri", "normalized":"Brachytrypus (B.) grandidieri", "canonical":"Brachytrypus grandidieri", "hybrid":false, "details":[{"genus":{"string":"Brachytrypus"}, "infragenus":{"string":"B."}, "species":{"string":"grandidieri"}}], "parser_run":1, "positions":{"0":["genus", 12], "14":["infragenus", 16], "18":["species", 29]}}}
63
+ Cyprideis (Cyprideis) thessalonike amasyaensis|{"scientificName":{"parsed":true, "verbatim":"Cyprideis (Cyprideis) thessalonike amasyaensis", "normalized":"Cyprideis (Cyprideis) thessalonike amasyaensis", "canonical":"Cyprideis thessalonike amasyaensis", "hybrid":false, "details":[{"genus":{"string":"Cyprideis"}, "infragenus":{"string":"Cyprideis"}, "species":{"string":"thessalonike"}, "infraspecies":[{"string":"amasyaensis", "rank":"n/a"}]}], "parser_run":1, "positions":{"0":["genus", 9], "11":["infragenus", 20], "22":["species", 34], "35":["infraspecies", 46]}}}
62
64
 
63
65
  #genus with question mark
64
66
  Ferganoconcha? oblonga|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Ferganoconcha? oblonga","normalized":"Ferganoconcha oblonga","canonical":"Ferganoconcha oblonga","hybrid":false,"details":[{"genus":{"string":"Ferganoconcha"},"species":{"string":"oblonga"}}],"positions":{"0":["genus",14],"15":["species",22]}}}
@@ -68,6 +70,7 @@ Rühlella|{"scientificName":{"parsed":true,"parser_run":2,"verbatim":"R\u00fchle
68
70
  Sténométope laevissimus Bibron 1855|{"scientificName":{"parsed":true,"parser_run":2,"verbatim":"St\u00e9nom\u00e9tope laevissimus Bibron 1855","normalized":"Stenometope laevissimus Bibron 1855","canonical":"Stenometope laevissimus","hybrid":false,"details":[{"genus":{"string":"Stenometope"},"species":{"string":"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
71
  Choriozopella trägårdhi Lawrence, 1947|{"scientificName":{"parsed":true, "verbatim":"Choriozopella trägårdhi Lawrence, 1947", "normalized":"Choriozopella tragardhi Lawrence 1947", "canonical":"Choriozopella tragardhi", "hybrid":false, "details":[{"genus":{"string":"Choriozopella"}, "species":{"string":"tragardhi", "authorship":"Lawrence, 1947", "basionymAuthorTeam":{"authorTeam":"Lawrence", "author":["Lawrence"], "year":"1947"}}}], "parser_run":2, "positions":{"0":["genus", 13], "14":["species", 23], "24":["author_word", 32], "34":["year", 38]}}}
70
72
  Isoëtes asplundii H. P. Fuchs|{"scientificName":{"parsed":true, "verbatim":"Isoëtes asplundii H. P. Fuchs", "normalized":"Isoëtes asplundii H. P. Fuchs", "canonical":"Isoëtes asplundii", "hybrid":false, "details":[{"genus":{"string":"Isoëtes"}, "species":{"string":"asplundii", "authorship":"H. P. Fuchs", "basionymAuthorTeam":{"authorTeam":"H. P. Fuchs", "author":["H. P. Fuchs"]}}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17], "18":["author_word", 20], "21":["author_word", 23], "24":["author_word", 29]}}}
73
+ Cerambyx thomæ GMELIN J. F., 1790|{"scientificName":{"parsed":true, "verbatim":"Cerambyx thomæ GMELIN J. F., 1790", "normalized":"Cerambyx thomae GMELIN J. F. 1790", "canonical":"Cerambyx thomae", "hybrid":false, "details":[{"genus":{"string":"Cerambyx"}, "species":{"string":"thomae", "authorship":"GMELIN J. F., 1790", "basionymAuthorTeam":{"authorTeam":"GMELIN J. F.", "author":["GMELIN J. F."], "year":"1790"}}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 14], "15":["author_word", 21], "22":["author_word", 24], "25":["author_word", 27], "29":["year", 33]}}}
71
74
  #digraph unicode characters
72
75
  Læptura laetifica Dow, 1913|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"L\u00e6ptura laetifica Dow, 1913","normalized":"Laeptura laetifica Dow 1913","canonical":"Laeptura laetifica","hybrid":false,"details":[{"genus":{"string":"Laeptura"},"species":{"string":"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
76
  Leptura lætifica Dow, 1913|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Leptura l\u00e6tifica Dow, 1913","normalized":"Leptura laetifica Dow 1913","canonical":"Leptura laetifica","hybrid":false,"details":[{"genus":{"string":"Leptura"},"species":{"string":"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]}}}
@@ -78,6 +81,9 @@ Leœptura laetifica Dow, 1913|{"scientificName":{"parsed":true,"parser_run":1,"v
78
81
  Œdicnemus capensis|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"\u0152dicnemus capensis","normalized":"Oedicnemus capensis","canonical":"Oedicnemus capensis","hybrid":false,"details":[{"genus":{"string":"Oedicnemus"},"species":{"string":"capensis"}}],"positions":{"0":["genus",9],"10":["species",18]}}}
79
82
  Œnanthe œnanthe|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"\u0152nanthe \u0153nanthe","normalized":"Oenanthe oenanthe","canonical":"Oenanthe oenanthe","hybrid":false,"details":[{"genus":{"string":"Oenanthe"},"species":{"string":"oenanthe"}}],"positions":{"0":["genus",7],"8":["species",15]}}}
80
83
 
84
+ # old style s (ſ)
85
+ Musca domeſtica Linnaeus 1758 sec. Pemberton 1947|{"scientificName":{"parsed":true, "verbatim":"Musca domeſtica Linnaeus 1758 sec. Pemberton 1947", "normalized":"Musca domestica Linnaeus 1758", "canonical":"Musca domestica", "hybrid":false, "details":[{"genus":{"string":"Musca"}, "species":{"string":"domestica", "authorship":"Linnaeus 1758", "basionymAuthorTeam":{"authorTeam":"Linnaeus", "author":["Linnaeus"], "year":"1758"}}}], "parser_run":1, "positions":{"0":["genus", 5], "6":["species", 15], "16":["author_word", 24], "25":["year", 29]}}}
86
+
81
87
  #basionym in parenthesis
82
88
  Zophosis persis (Chatanay, 1914)|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Zophosis persis (Chatanay, 1914)","normalized":"Zophosis persis (Chatanay 1914)","canonical":"Zophosis persis","hybrid":false,"details":[{"genus":{"string":"Zophosis"},"species":{"string":"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
89
  Zophosis persis (Chatanay 1914)|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Zophosis persis (Chatanay 1914)","normalized":"Zophosis persis (Chatanay 1914)","canonical":"Zophosis persis","hybrid":false,"details":[{"genus":{"string":"Zophosis"},"species":{"string":"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]}}}
@@ -90,7 +96,7 @@ Pseudocercospora dendrobii(H.C. Burnett 1873)U. Braun & Crous , 2003|{"sc
90
96
 
91
97
  #infraspecies without rank
92
98
  Hydnellum scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"},"infraspecies":[{"string":"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,"parser_run":1,"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":{"string":"Hydnellum"},"infragenus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"},"infraspecies":[{"string":"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":["infragenus",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]}}}
99
+ Hydnellum (Hydnellum) scrobiculatum zonatum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"parser_run":1,"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 scrobiculatum zonatum","hybrid":false,"details":[{"genus":{"string":"Hydnellum"},"infragenus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"},"infraspecies":[{"string":"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":["infragenus",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
100
  Hydnellum scrobiculatum zonatum|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Hydnellum scrobiculatum zonatum","normalized":"Hydnellum scrobiculatum zonatum","canonical":"Hydnellum scrobiculatum zonatum","hybrid":false,"details":[{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"},"infraspecies":[{"string":"zonatum","rank":"n\/a"}]}],"positions":{"0":["genus",9],"10":["species",23],"24":["infraspecies",31]}}}
95
101
 
96
102
  #infraspecies with rank
@@ -101,6 +107,7 @@ Caulerpa cupressoides forma nuda|{"scientificName":{"parsed":true,"parser_run":1
101
107
  Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Chlorocyperus glaber form. fasciculariforme (Lojac.) So\u00f3","normalized":"Chlorocyperus glaber f. fasciculariforme (Lojac.) So\u00f3","canonical":"Chlorocyperus glaber fasciculariforme","hybrid":false,"details":[{"genus":{"string":"Chlorocyperus"},"species":{"string":"glaber"},"infraspecies":[{"string":"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
108
  Sphaerotheca fuliginea f. dahliae Movss. 1967|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Sphaerotheca fuliginea f. dahliae Movss. 1967","normalized":"Sphaerotheca fuliginea f. dahliae Movss. 1967","canonical":"Sphaerotheca fuliginea dahliae","hybrid":false,"details":[{"genus":{"string":"Sphaerotheca"},"species":{"string":"fuliginea"},"infraspecies":[{"string":"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
109
  Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay","normalized":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay","canonical":"Polypodium vulgare mantoniae","hybrid":false,"details":[{"genus":{"string":"Polypodium"},"species":{"string":"vulgare"},"infraspecies":[{"string":"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]}}}
110
+ Allophylus amazonicus var amazonicus|{"scientificName":{"parsed":true, "verbatim":"Allophylus amazonicus var amazonicus", "normalized":"Allophylus amazonicus var amazonicus", "canonical":"Allophylus amazonicus amazonicus", "hybrid":false, "details":[{"genus":{"string":"Allophylus"}, "species":{"string":"amazonicus"}, "infraspecies":[{"string":"amazonicus", "rank":"var"}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "26":["infraspecies", 36]}}}
104
111
 
105
112
  #infraspecies_multiple
106
113
  Hydnellum scrobiculatum var. zonatum f. parvum (Banker) D. Hall & D.E. Stuntz 1972|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"},"infraspecies":[{"string":"zonatum","rank":"var."},{"string":"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]}}}
@@ -115,9 +122,8 @@ Lachenalia tricolor var. nelsonii (ht.) Baker|{"scientificName":{"parsed":true,"
115
122
  Lachenalia tricolor var. nelsonii (hort.) Baker|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Lachenalia tricolor var. nelsonii (hort.) Baker","normalized":"Lachenalia tricolor var. nelsonii (hort.) Baker","canonical":"Lachenalia tricolor nelsonii","hybrid":false,"details":[{"genus":{"string":"Lachenalia"},"species":{"string":"tricolor"},"infraspecies":[{"string":"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
123
  Puya acris ht.|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Puya acris ht.","normalized":"Puya acris ht.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"string":"Puya"},"species":{"string":"acris","authorship":"ht.","basionymAuthorTeam":{"authorTeam":"ht.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",14]}}}
117
124
  Puya acris anon.|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Puya acris anon.","normalized":"Puya acris anon.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"string":"Puya"},"species":{"string":"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,"parser_run":1,"verbatim":"Puya acris hort.","normalized":"Puya acris hort.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"string":"Puya"},"species":{"string":"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,"parser_run":1,"verbatim":"Puya acris auct.","normalized":"Puya acris auct.","canonical":"Puya acris","hybrid":false,"details":[{"genus":{"string":"Puya"},"species":{"string":"acris","authorship":"auct.","basionymAuthorTeam":{"authorTeam":"auct.","author":["unknown"]}}}],"positions":{"0":["genus",4],"5":["species",10],"11":["unknown_author",16]}}}
120
-
125
+ Puya acris hort.|{"scientificName":{"parsed":true, "verbatim":"Puya acris hort.", "normalized":"Puya acris", "canonical":"Puya acris", "hybrid":false, "details":[{"genus":{"string":"Puya"}, "species":{"string":"acris"}}], "parser_run":1, "positions":{"0":["genus", 4], "5":["species", 10]}}}
126
+ Prunus mexicana S. Watson var. reticulata (Sarg.) Sarg.|{"scientificName":{"parsed":true, "verbatim":"Prunus mexicana S. Watson var. reticulata (Sarg.) Sarg.", "normalized":"Prunus mexicana S. Watson var. reticulata (Sarg.) Sarg.", "canonical":"Prunus mexicana reticulata", "hybrid":false, "details":[{"genus":{"string":"Prunus"}, "species":{"string":"mexicana", "authorship":"S. Watson", "basionymAuthorTeam":{"authorTeam":"S. Watson", "author":["S. Watson"]}}, "infraspecies":[{"string":"reticulata", "rank":"var.", "authorship":"(Sarg.) Sarg.", "combinationAuthorTeam":{"authorTeam":"Sarg.", "author":["Sarg."]}, "basionymAuthorTeam":{"authorTeam":"Sarg.", "author":["Sarg."]}}]}], "parser_run":1, "positions":{"0":["genus", 6], "7":["species", 15], "16":["author_word", 18], "19":["author_word", 25], "31":["infraspecies", 41], "43":["author_word", 48], "50":["author_word", 55]}}}
121
127
  #miscellaneous names
122
128
  Fagus sylvatica subsp. orientalis (Lipsky) Greuter & Burdet|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Fagus"},"species":{"string":"sylvatica"},"infraspecies":[{"string":"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
129
  Stagonospora polyspora M.T. Lucas & Sousa da Câmara 1934|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Stagonospora"},"species":{"string":"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]}}}
@@ -139,16 +145,13 @@ Peltula coriacea Büdel, Henssen & Wessels 1986|{"scientificName":{"parsed":true
139
145
  Saccharomyces drosophilae anon.|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Saccharomyces drosophilae anon.","normalized":"Saccharomyces drosophilae anon.","canonical":"Saccharomyces drosophilae","hybrid":false,"details":[{"genus":{"string":"Saccharomyces"},"species":{"string":"drosophilae","authorship":"anon.","basionymAuthorTeam":{"authorTeam":"anon.","author":["unknown"]}}}],"positions":{"0":["genus",13],"14":["species",25],"26":["unknown_author",31]}}}
140
146
  Abacetus laevicollis de Chaudoir, 1869|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Abacetus laevicollis de Chaudoir, 1869","normalized":"Abacetus laevicollis de Chaudoir 1869","canonical":"Abacetus laevicollis","hybrid":false,"details":[{"genus":{"string":"Abacetus"},"species":{"string":"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
147
  Gastrosericus eremorum von Beaumont 1955|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Gastrosericus eremorum von Beaumont 1955","normalized":"Gastrosericus eremorum von Beaumont 1955","canonical":"Gastrosericus eremorum","hybrid":false,"details":[{"genus":{"string":"Gastrosericus"},"species":{"string":"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,"parser_run":1,"verbatim":"Cypraeovula (Luponia) amphithales perdentata","normalized":"Cypraeovula (Luponia) amphithales perdentata","canonical":"Cypraeovula Luponia amphithales perdentata","hybrid":false,"details":[{"genus":{"string":"Cypraeovula"},"infragenus":{"string":"Luponia"},"species":{"string":"amphithales"},"infraspecies":[{"string":"perdentata","rank":"n\/a"}]}],"positions":{"0":["genus",11],"13":["infragenus",20],"22":["species",33],"34":["infraspecies",44]}}}
148
+ Cypraeovula (Luponia) amphithales perdentata|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Cypraeovula (Luponia) amphithales perdentata","normalized":"Cypraeovula (Luponia) amphithales perdentata","canonical":"Cypraeovula amphithales perdentata","hybrid":false,"details":[{"genus":{"string":"Cypraeovula"},"infragenus":{"string":"Luponia"},"species":{"string":"amphithales"},"infraspecies":[{"string":"perdentata","rank":"n\/a"}]}],"positions":{"0":["genus",11],"13":["infragenus",20],"22":["species",33],"34":["infraspecies",44]}}}
143
149
  Polyrhachis orsyllus nat musculus Forel 1901|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Polyrhachis orsyllus nat musculus Forel 1901","normalized":"Polyrhachis orsyllus nat musculus Forel 1901","canonical":"Polyrhachis orsyllus musculus","hybrid":false,"details":[{"genus":{"string":"Polyrhachis"},"species":{"string":"orsyllus"},"infraspecies":[{"string":"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,"parser_run":1,"verbatim":"Latrodectus 13-guttatus Thorell, 1875","normalized":"Latrodectus 13-guttatus Thorell 1875","canonical":"Latrodectus 13-guttatus","hybrid":false,"details":[{"genus":{"string":"Latrodectus"},"species":{"string":"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,"parser_run":1,"verbatim":"Latrodectus 3-guttatus Thorell 1875","normalized":"Latrodectus 3-guttatus Thorell 1875","canonical":"Latrodectus 3-guttatus","hybrid":false,"details":[{"genus":{"string":"Latrodectus"},"species":{"string":"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,"parser_run":1,"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":{"string":"Arthopyrenia"},"species":{"string":"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]}}}
150
+ Latrodectus 13-guttatus Thorell, 1875|{"scientificName":{"parsed":true, "verbatim":"Latrodectus 13-guttatus Thorell, 1875", "normalized":"Latrodectus tredecguttatus Thorell 1875", "canonical":"Latrodectus tredecguttatus", "hybrid":false, "details":[{"genus":{"string":"Latrodectus"}, "species":{"string":"tredecguttatus", "authorship":"Thorell, 1875", "basionymAuthorTeam":{"authorTeam":"Thorell", "author":["Thorell"], "year":"1875"}}}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 23], "24":["author_word", 31], "33":["year", 37]}}}
151
+ Latrodectus 3-guttatus Thorell 1875|{"scientificName":{"parsed":true, "verbatim":"Latrodectus 3-guttatus Thorell 1875", "normalized":"Latrodectus triguttatus Thorell 1875", "canonical":"Latrodectus triguttatus", "hybrid":false, "details":[{"genus":{"string":"Latrodectus"}, "species":{"string":"triguttatus", "authorship":"Thorell 1875", "basionymAuthorTeam":{"authorTeam":"Thorell", "author":["Thorell"], "year":"1875"}}}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 22], "23":["author_word", 30], "31":["year", 35]}}}
149
152
 
150
153
  #names with ex authors
151
- Arthopyrenia hyalospora (Nyl. ex Banker) R.C. Harris|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Arthopyrenia"},"species":{"string":"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]}}}
154
+ 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":{"string":"Arthopyrenia"}, "species":{"string":"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"]}}}}], "parser_run":1, "positions":{"0":["genus", 12], "13":["species", 23], "25":["author_word", 29], "33":["author_word", 39], "41":["author_word", 45], "46":["author_word", 52]}}}
152
155
  Arthopyrenia hyalospora Nyl. ex Banker|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora Nyl. ex Banker","normalized":"Arthopyrenia hyalospora Nyl. ex Banker","canonical":"Arthopyrenia hyalospora","hybrid":false,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"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
156
  Glomopsis lonicerae Peck ex C.J. Gould 1945|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Glomopsis"},"species":{"string":"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
157
  Acanthobasidium delicatum (Wakef.) Oberw. ex Jülich 1979|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Acanthobasidium"},"species":{"string":"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]}}}
@@ -175,12 +178,12 @@ Salix ×capreola Andersson (1867)|{"scientificName":{"parsed":true,"parser_run":
175
178
  Salix x capreola Andersson|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Salix x capreola Andersson","normalized":"Salix \u00d7 capreola Andersson","canonical":"Salix capreola","hybrid":true,"details":[{"genus":{"string":"Salix"},"species":{"string":"capreola","authorship":"Andersson","basionymAuthorTeam":{"authorTeam":"Andersson","author":["Andersson"]}}}],"positions":{"0":["genus",5],"8":["species",16],"17":["author_word",26]}}}
176
179
 
177
180
  #hybrid formula
178
- Arthopyrenia hyalospora X Hydnellum scrobiculatum|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora X Hydnellum scrobiculatum","normalized":"Arthopyrenia hyalospora \u00d7 Hydnellum scrobiculatum","canonical":"Arthopyrenia hyalospora Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"}}],"positions":{"0":["genus",12],"13":["species",23],"26":["genus",35],"36":["species",49]}}}
179
- Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz","normalized":"Arthopyrenia hyalospora (Banker) D. Hall \u00d7 Hydnellum scrobiculatum D.E. Stuntz","canonical":"Arthopyrenia hyalospora Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora","authorship":"(Banker) D. Hall","combinationAuthorTeam":{"authorTeam":"D. Hall ","author":["D. Hall"]},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum","authorship":"D.E. Stuntz","basionymAuthorTeam":{"authorTeam":"D.E. Stuntz","author":["D.E. Stuntz"]}}}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",31],"33":["author_word",35],"36":["author_word",40],"43":["genus",52],"53":["species",66],"67":["author_word",71],"72":["author_word",78]}}}
181
+ Arthopyrenia hyalospora X Hydnellum scrobiculatum|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora X Hydnellum scrobiculatum","normalized":"Arthopyrenia hyalospora \u00d7 Hydnellum scrobiculatum","canonical":"Arthopyrenia hyalospora × Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum"}}],"positions":{"0":["genus",12],"13":["species",23],"26":["genus",35],"36":["species",49]}}}
182
+ Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora (Banker) D. Hall X Hydnellum scrobiculatum D.E. Stuntz","normalized":"Arthopyrenia hyalospora (Banker) D. Hall \u00d7 Hydnellum scrobiculatum D.E. Stuntz","canonical":"Arthopyrenia hyalospora × Hydnellum scrobiculatum","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora","authorship":"(Banker) D. Hall","combinationAuthorTeam":{"authorTeam":"D. Hall","author":["D. Hall"]},"basionymAuthorTeam":{"authorTeam":"Banker","author":["Banker"]}}},{"genus":{"string":"Hydnellum"},"species":{"string":"scrobiculatum","authorship":"D.E. Stuntz","basionymAuthorTeam":{"authorTeam":"D.E. Stuntz","author":["D.E. Stuntz"]}}}],"positions":{"0":["genus",12],"13":["species",23],"25":["author_word",31],"33":["author_word",35],"36":["author_word",40],"43":["genus",52],"53":["species",66],"67":["author_word",71],"72":["author_word",78]}}}
180
183
  Arthopyrenia hyalospora x|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora x","normalized":"Arthopyrenia hyalospora \u00d7 ?","canonical":"Arthopyrenia hyalospora","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},"?"],"positions":{"0":["genus",12],"13":["species",23]}}}
181
184
  Arthopyrenia hyalospora × ?|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Arthopyrenia hyalospora \u00d7 ?","normalized":"Arthopyrenia hyalospora \u00d7 ?","canonical":"Arthopyrenia hyalospora","hybrid":true,"details":[{"genus":{"string":"Arthopyrenia"},"species":{"string":"hyalospora"}},"?"],"positions":{"0":["genus",12],"13":["species",23]}}}
182
- Agrostis L. × Polypogon Desf.|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Agrostis L. \u00d7 Polypogon Desf.","normalized":"Agrostis L. \u00d7 Polypogon Desf.","canonical":"Agrostis Polypogon","hybrid":true,"details":[{"uninomial":{"string":"Agrostis","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"uninomial":{"string":"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,"parser_run":1,"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":{"string":"Agrostis"},"species":{"string":"stolonifera","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"genus":{"string":"Polypogon"},"species":{"string":"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]}}}
185
+ Agrostis L. × Polypogon Desf.|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Agrostis L. \u00d7 Polypogon Desf.","normalized":"Agrostis L. \u00d7 Polypogon Desf.","canonical":"Agrostis × Polypogon","hybrid":true,"details":[{"uninomial":{"string":"Agrostis","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"uninomial":{"string":"Polypogon","authorship":"Desf.","basionymAuthorTeam":{"authorTeam":"Desf.","author":["Desf."]}}}],"positions":{"0":["uninomial",8],"9":["author_word",11],"14":["uninomial",23],"24":["author_word",29]}}}
186
+ Agrostis stolonifera L. × Polypogon monspeliensis (L.) Desf.|{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Agrostis"},"species":{"string":"stolonifera","authorship":"L.","basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"genus":{"string":"Polypogon"},"species":{"string":"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
187
  #TODO Asplenium rhizophyllum X A. ruta-muraria E.L. Braun 1939|''
185
188
  #TODO Asplenium rhizophyllum DC. x ruta-muraria E.L. Braun 1939|''
186
189
  #TODO Asplenium rhizophyllum x ruta-muraria|''
@@ -189,10 +192,6 @@ Agrostis stolonifera L. × Polypogon monspeliensis (L.) Desf.|{"scientificName":
189
192
  #TODO Polypodium vulgare subsp. prionodes (Asch.) Rothm. × subsp. vulgare|''
190
193
  #TODO Tilletia caries (Bjerk.) Tul. × T. foetida (Wallr.) Liro.|''
191
194
  Polypodium x vulgare nothosubsp. mantoniae (Rothm.) Schidlay|{"scientificName":{"parsed":true,"parser_run":1,"verbatim":"Polypodium x vulgare nothosubsp. mantoniae (Rothm.) Schidlay","normalized":"Polypodium \u00d7 vulgare nothosubsp. mantoniae (Rothm.) Schidlay","canonical":"Polypodium vulgare mantoniae","hybrid":true,"details":[{"genus":{"string":"Polypodium"},"species":{"string":"vulgare"},"infraspecies":[{"string":"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,"parser_run":1,"verbatim":"Senecio jacquinianus sec. Rchb.","normalized":"Senecio jacquinianus sec. Rchb.","canonical":"Senecio jacquinianus","hybrid":false,"details":[{"genus":{"string":"Senecio"},"species":{"string":"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
195
 
197
196
  #empty spaces
198
197
  Asplenium Xinexpectatum ( E.L. Braun 1940 ) Morton(1956) |{"scientificName":{"parsed":true,"parser_run":1,"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":{"string":"Asplenium"},"species":{"string":"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]}}}
@@ -204,6 +203,59 @@ Senecio jacquinianus sec. Rchb.|{"scientificName":{"parsed":true,"parser_run":1,
204
203
  #
205
204
  ####
206
205
 
206
+ #removing english notes
207
+ Acarospora cratericola cratericola Shenk 1974 group|{"scientificName":{"parsed":true, "verbatim":"Acarospora cratericola cratericola Shenk 1974 group", "normalized":"Acarospora cratericola cratericola Shenk 1974", "canonical":"Acarospora cratericola cratericola", "hybrid":false, "details":[{"genus":{"string":"Acarospora"}, "species":{"string":"cratericola"}, "infraspecies":[{"string":"cratericola", "rank":"n/a", "authorship":"Shenk 1974", "basionymAuthorTeam":{"authorTeam":"Shenk", "author":["Shenk"], "year":"1974"}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 22], "23":["infraspecies", 34], "35":["author_word", 40], "41":["year", 45]}}}
208
+ Acarospora cratericola cratericola Shenk 1974 species group|{"scientificName":{"parsed":true, "verbatim":"Acarospora cratericola cratericola Shenk 1974 species group", "normalized":"Acarospora cratericola cratericola Shenk 1974", "canonical":"Acarospora cratericola cratericola", "hybrid":false, "details":[{"genus":{"string":"Acarospora"}, "species":{"string":"cratericola"}, "infraspecies":[{"string":"cratericola", "rank":"n/a", "authorship":"Shenk 1974", "basionymAuthorTeam":{"authorTeam":"Shenk", "author":["Shenk"], "year":"1974"}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 22], "23":["infraspecies", 34], "35":["author_word", 40], "41":["year", 45]}}}
209
+ Acarospora cratericola cratericola Shenk 1974 species complex|{"scientificName":{"parsed":true, "verbatim":"Acarospora cratericola cratericola Shenk 1974 species complex", "normalized":"Acarospora cratericola cratericola Shenk 1974", "canonical":"Acarospora cratericola cratericola", "hybrid":false, "details":[{"genus":{"string":"Acarospora"}, "species":{"string":"cratericola"}, "infraspecies":[{"string":"cratericola", "rank":"n/a", "authorship":"Shenk 1974", "basionymAuthorTeam":{"authorTeam":"Shenk", "author":["Shenk"], "year":"1974"}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 22], "23":["infraspecies", 34], "35":["author_word", 40], "41":["year", 45]}}}
210
+
211
+ #removing taxon concepts
212
+ Senecio legionensis sensu Samp., non Lange|{"scientificName":{"parsed":true, "verbatim":"Senecio legionensis sensu Samp., non Lange", "normalized":"Senecio legionensis", "canonical":"Senecio legionensis", "hybrid":false, "details":[{"genus":{"string":"Senecio"}, "species":{"string":"legionensis"}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 19]}}}
213
+ Pseudomonas methanica (Söhngen 1906) sensu. Dworkin and Foster 1956|{"scientificName":{"parsed":true, "verbatim":"Pseudomonas methanica (Söhngen 1906) sensu. Dworkin and Foster 1956", "normalized":"Pseudomonas methanica (Söhngen 1906)", "canonical":"Pseudomonas methanica", "hybrid":false, "details":[{"genus":{"string":"Pseudomonas"}, "species":{"string":"methanica", "authorship":"(Söhngen 1906)", "basionymAuthorTeam":{"authorTeam":"Söhngen", "author":["Söhngen"], "year":"1906"}}}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 21], "23":["author_word", 30], "31":["year", 35]}}}
214
+ Abarema scutifera sensu auct., non (Blanco)Kosterm.|{"scientificName":{"parsed":true, "verbatim":"Abarema scutifera sensu auct., non (Blanco)Kosterm.", "normalized":"Abarema scutifera", "canonical":"Abarema scutifera", "hybrid":false, "details":[{"genus":{"string":"Abarema"}, "species":{"string":"scutifera"}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17]}}}
215
+ Puya acris Auct.|{"scientificName":{"parsed":true, "verbatim":"Puya acris Auct.", "normalized":"Puya acris", "canonical":"Puya acris", "hybrid":false, "details":[{"genus":{"string":"Puya"}, "species":{"string":"acris"}}], "parser_run":1, "positions":{"0":["genus", 4], "5":["species", 10]}}}
216
+ Puya acris Auct non L.|{"scientificName":{"parsed":true, "verbatim":"Puya acris Auct non L.", "normalized":"Puya acris", "canonical":"Puya acris", "hybrid":false, "details":[{"genus":{"string":"Puya"}, "species":{"string":"acris"}}], "parser_run":1, "positions":{"0":["genus", 4], "5":["species", 10]}}}
217
+ Galium tricorne Stokes, pro parte|{"scientificName":{"parsed":true, "verbatim":"Galium tricorne Stokes, pro parte", "normalized":"Galium tricorne Stokes", "canonical":"Galium tricorne", "hybrid":false, "details":[{"genus":{"string":"Galium"}, "species":{"string":"tricorne", "authorship":"Stokes", "basionymAuthorTeam":{"authorTeam":"Stokes", "author":["Stokes"]}}}], "parser_run":1, "positions":{"0":["genus", 6], "7":["species", 15], "16":["author_word", 22]}}}
218
+ Galium tricorne Stokes,pro parte|{"scientificName":{"parsed":true, "verbatim":"Galium tricorne Stokes,pro parte", "normalized":"Galium tricorne Stokes", "canonical":"Galium tricorne", "hybrid":false, "details":[{"genus":{"string":"Galium"}, "species":{"string":"tricorne", "authorship":"Stokes", "basionymAuthorTeam":{"authorTeam":"Stokes", "author":["Stokes"]}}}], "parser_run":1, "positions":{"0":["genus", 6], "7":["species", 15], "16":["author_word", 22]}}}
219
+ Senecio jacquinianus sec. Rchb.|{"scientificName":{"parsed":true, "verbatim":"Senecio jacquinianus sec. Rchb.", "normalized":"Senecio jacquinianus", "canonical":"Senecio jacquinianus", "hybrid":false, "details":[{"genus":{"string":"Senecio"}, "species":{"string":"jacquinianus"}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 20]}}}
220
+ Acantholimon ulicinum s.l. (Schultes) Boiss.|{"scientificName":{"parsed":true, "verbatim":"Acantholimon ulicinum s.l. (Schultes) Boiss.", "normalized":"Acantholimon ulicinum", "canonical":"Acantholimon ulicinum", "hybrid":false, "details":[{"genus":{"string":"Acantholimon"}, "species":{"string":"ulicinum"}}], "parser_run":2, "positions":{"0":["genus", 12], "13":["species", 21]}}}
221
+ Acantholimon ulicinum s. l. (Schultes) Boiss.|{"scientificName":{"parsed":true, "verbatim":"Acantholimon ulicinum s. l. (Schultes) Boiss.", "normalized":"Acantholimon ulicinum", "canonical":"Acantholimon ulicinum", "hybrid":false, "details":[{"genus":{"string":"Acantholimon"}, "species":{"string":"ulicinum"}}], "parser_run":2, "positions":{"0":["genus", 12], "13":["species", 21]}}}
222
+ Acantholimon ulicinum S. L. Schultes|{"scientificName":{"parsed":true, "verbatim":"Acantholimon ulicinum S. L. Schultes", "normalized":"Acantholimon ulicinum S. L. Schultes", "canonical":"Acantholimon ulicinum", "hybrid":false, "details":[{"genus":{"string":"Acantholimon"}, "species":{"string":"ulicinum", "authorship":"S. L. Schultes", "basionymAuthorTeam":{"authorTeam":"S. L. Schultes", "author":["S. L. Schultes"]}}}], "parser_run":1, "positions":{"0":["genus", 12], "13":["species", 21], "22":["author_word", 24], "25":["author_word", 27], "28":["author_word", 36]}}}
223
+ Amitostigma formosana (S.S.Ying) S.S.Ying|{"scientificName":{"parsed":true, "verbatim":"Amitostigma formosana (S.S.Ying) S.S.Ying", "normalized":"Amitostigma formosana (S.S.Ying) S.S.Ying", "canonical":"Amitostigma formosana", "hybrid":false, "details":[{"genus":{"string":"Amitostigma"}, "species":{"string":"formosana", "authorship":"(S.S.Ying) S.S.Ying", "combinationAuthorTeam":{"authorTeam":"S.S.Ying", "author":["S.S.Ying"]}, "basionymAuthorTeam":{"authorTeam":"S.S.Ying", "author":["S.S.Ying"]}}}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 21], "23":["author_word", 31], "33":["author_word", 41]}}}
224
+ Amaurorhinus bewichianus (Wollaston,1860) (s.str.)|{"scientificName":{"parsed":true, "verbatim":"Amaurorhinus bewichianus (Wollaston,1860) (s.str.)", "normalized":"Amaurorhinus bewichianus (Wollaston 1860)", "canonical":"Amaurorhinus bewichianus", "hybrid":false, "details":[{"genus":{"string":"Amaurorhinus"}, "species":{"string":"bewichianus", "authorship":"(Wollaston,1860)", "basionymAuthorTeam":{"authorTeam":"Wollaston", "author":["Wollaston"], "year":"1860"}}}], "parser_run":2, "positions":{"0":["genus", 12], "13":["species", 24], "26":["author_word", 35], "36":["year", 40]}}}
225
+ Ammodramus caudacutus (s.s.) diversus|{"scientificName":{"parsed":true, "verbatim":"Ammodramus caudacutus (s.s.) diversus", "normalized":"Ammodramus caudacutus", "canonical":"Ammodramus caudacutus", "hybrid":false, "details":[{"genus":{"string":"Ammodramus"}, "species":{"string":"caudacutus"}}], "parser_run":2, "positions":{"0":["genus", 10], "11":["species", 21]}}}
226
+ Arenaria serpyllifolia L. s.str.|{"scientificName":{"parsed":true, "verbatim":"Arenaria serpyllifolia L. s.str.", "normalized":"Arenaria serpyllifolia L.", "canonical":"Arenaria serpyllifolia", "hybrid":false, "details":[{"genus":{"string":"Arenaria"}, "species":{"string":"serpyllifolia", "authorship":"L.", "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}}], "parser_run":2, "positions":{"0":["genus", 8], "9":["species", 22], "23":["author_word", 25]}}}
227
+ Asplenium trichomanes L. s.lat. - Asplen trich|{"scientificName":{"parsed":true, "verbatim":"Asplenium trichomanes L. s.lat. - Asplen trich", "normalized":"Asplenium trichomanes L.", "canonical":"Asplenium trichomanes", "hybrid":false, "details":[{"genus":{"string":"Asplenium"}, "species":{"string":"trichomanes", "authorship":"L.", "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}}], "parser_run":2, "positions":{"0":["genus", 9], "10":["species", 21], "22":["author_word", 24]}}}
228
+ Asplenium anisophyllum Kunze, s.l.|{"scientificName":{"parsed":true, "verbatim":"Asplenium anisophyllum Kunze, s.l.", "normalized":"Asplenium anisophyllum Kunze", "canonical":"Asplenium anisophyllum", "hybrid":false, "details":[{"genus":{"string":"Asplenium"}, "species":{"string":"anisophyllum", "authorship":"Kunze", "basionymAuthorTeam":{"authorTeam":"Kunze", "author":["Kunze"]}}}], "parser_run":2, "positions":{"0":["genus", 9], "10":["species", 22], "23":["author_word", 28]}}}
229
+ Abramis Cuvier 1816 sec. Dybowski 1862|{"scientificName":{"parsed":true, "verbatim":"Abramis Cuvier 1816 sec. Dybowski 1862", "normalized":"Abramis Cuvier 1816", "canonical":"Abramis", "hybrid":false, "details":[{"uninomial":{"string":"Abramis", "authorship":"Cuvier 1816", "basionymAuthorTeam":{"authorTeam":"Cuvier", "author":["Cuvier"], "year":"1816"}}}], "parser_run":1, "positions":{"0":["uninomial", 7], "8":["author_word", 14], "15":["year", 19]}}}
230
+ Abramis brama subsp. bergi Grib & Vernidub 1935 sec Eschmeyer 2004|{"scientificName":{"parsed":true, "verbatim":"Abramis brama subsp. bergi Grib & Vernidub 1935 sec Eschmeyer 2004", "normalized":"Abramis brama subsp. bergi Grib et Vernidub 1935", "canonical":"Abramis brama bergi", "hybrid":false, "details":[{"genus":{"string":"Abramis"}, "species":{"string":"brama"}, "infraspecies":[{"string":"bergi", "rank":"subsp.", "authorship":"Grib & Vernidub 1935", "basionymAuthorTeam":{"authorTeam":"Grib & Vernidub", "author":["Grib", "Vernidub"], "year":"1935"}}]}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 13], "21":["infraspecies", 26], "27":["author_word", 31], "34":["author_word", 42], "43":["year", 47]}}}
231
+ Abarema clypearia (Jack) Kosterm., P. P.|{"scientificName":{"parsed":true, "verbatim":"Abarema clypearia (Jack) Kosterm., P. P.", "normalized":"Abarema clypearia (Jack) Kosterm.", "canonical":"Abarema clypearia", "hybrid":false, "details":[{"genus":{"string":"Abarema"}, "species":{"string":"clypearia", "authorship":"(Jack) Kosterm.", "combinationAuthorTeam":{"authorTeam":"Kosterm.", "author":["Kosterm."]}, "basionymAuthorTeam":{"authorTeam":"Jack", "author":["Jack"]}}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17], "19":["author_word", 23], "25":["author_word", 33]}}}
232
+ Abarema clypearia (Jack) Kosterm., p.p.|{"scientificName":{"parsed":true, "verbatim":"Abarema clypearia (Jack) Kosterm., p.p.", "normalized":"Abarema clypearia (Jack) Kosterm.", "canonical":"Abarema clypearia", "hybrid":false, "details":[{"genus":{"string":"Abarema"}, "species":{"string":"clypearia", "authorship":"(Jack) Kosterm.", "combinationAuthorTeam":{"authorTeam":"Kosterm.", "author":["Kosterm."]}, "basionymAuthorTeam":{"authorTeam":"Jack", "author":["Jack"]}}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17], "19":["author_word", 23], "25":["author_word", 33]}}}
233
+ Abarema clypearia (Jack) Kosterm., p. p.|{"scientificName":{"parsed":true, "verbatim":"Abarema clypearia (Jack) Kosterm., p. p.", "normalized":"Abarema clypearia (Jack) Kosterm.", "canonical":"Abarema clypearia", "hybrid":false, "details":[{"genus":{"string":"Abarema"}, "species":{"string":"clypearia", "authorship":"(Jack) Kosterm.", "combinationAuthorTeam":{"authorTeam":"Kosterm.", "author":["Kosterm."]}, "basionymAuthorTeam":{"authorTeam":"Jack", "author":["Jack"]}}}], "parser_run":1, "positions":{"0":["genus", 7], "8":["species", 17], "19":["author_word", 23], "25":["author_word", 33]}}}
234
+ Indigofera phyllogramme var. aphylla R.Vig., p.p.B|{"scientificName":{"parsed":true, "verbatim":"Indigofera phyllogramme var. aphylla R.Vig., p.p.B", "normalized":"Indigofera phyllogramme var. aphylla R.Vig.", "canonical":"Indigofera phyllogramme aphylla", "hybrid":false, "details":[{"genus":{"string":"Indigofera"}, "species":{"string":"phyllogramme"}, "infraspecies":[{"string":"aphylla", "rank":"var.", "authorship":"R.Vig.", "basionymAuthorTeam":{"authorTeam":"R.Vig.", "author":["R.Vig."]}}]}], "parser_run":2, "positions":{"0":["genus", 10], "11":["species", 23], "29":["infraspecies", 36], "37":["author_word", 43]}}}
235
+
236
+ #removing nomenclatural concepts
237
+ 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", "canonical":"Arthopyrenia hyalospora", "hybrid":false, "details":[{"genus":{"string":"Arthopyrenia"}, "species":{"string":"hyalospora", "authorship":"(Nyl.) R.C. Harris", "combinationAuthorTeam":{"authorTeam":"R.C. Harris", "author":["R.C. Harris"]}, "basionymAuthorTeam":{"authorTeam":"Nyl.", "author":["Nyl."]}}}], "parser_run":1, "positions":{"0":["genus", 12], "13":["species", 23], "25":["author_word", 29], "31":["author_word", 35], "36":["author_word", 42]}}}
238
+ Acanthophis lancasteri WELLS & WELLINGTON (nomen nudum)|{"scientificName":{"parsed":true, "verbatim":"Acanthophis lancasteri WELLS & WELLINGTON (nomen nudum)", "normalized":"Acanthophis lancasteri WELLS et WELLINGTON", "canonical":"Acanthophis lancasteri", "hybrid":false, "details":[{"genus":{"string":"Acanthophis"}, "species":{"string":"lancasteri", "authorship":"WELLS & WELLINGTON", "basionymAuthorTeam":{"authorTeam":"WELLS & WELLINGTON", "author":["WELLS", "WELLINGTON"]}}}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 22], "23":["author_word", 28], "31":["author_word", 41]}}}
239
+ Acontias lineatus WAGLER 1830: 196 (nomen nudum)|{"scientificName":{"parsed":true, "verbatim":"Acontias lineatus WAGLER 1830: 196 (nomen nudum)", "normalized":"Acontias lineatus WAGLER 1830", "canonical":"Acontias lineatus", "hybrid":false, "details":[{"genus":{"string":"Acontias"}, "species":{"string":"lineatus", "authorship":"WAGLER 1830: 196", "basionymAuthorTeam":{"authorTeam":"WAGLER", "author":["WAGLER"], "year":"1830"}}}], "parser_run":2, "positions":{"0":["genus", 8], "9":["species", 17], "18":["author_word", 24], "25":["year", 29]}}}
240
+ Akeratidae Nomen Nudum|{"scientificName":{"parsed":true, "verbatim":"Akeratidae Nomen Nudum", "normalized":"Akeratidae", "canonical":"Akeratidae", "hybrid":false, "details":[{"uninomial":{"string":"Akeratidae"}}], "parser_run":1, "positions":{"0":["uninomial", 10]}}}
241
+ Aster exilis Ell., nomen dubium|{"scientificName":{"parsed":true, "verbatim":"Aster exilis Ell., nomen dubium", "normalized":"Aster exilis Ell.", "canonical":"Aster exilis", "hybrid":false, "details":[{"genus":{"string":"Aster"}, "species":{"string":"exilis", "authorship":"Ell.", "basionymAuthorTeam":{"authorTeam":"Ell.", "author":["Ell."]}}}], "parser_run":1, "positions":{"0":["genus", 5], "6":["species", 12], "13":["author_word", 17]}}}
242
+ Abutilon avicennae Gaertn., nom. illeg.|{"scientificName":{"parsed":true, "verbatim":"Abutilon avicennae Gaertn., nom. illeg.", "normalized":"Abutilon avicennae Gaertn.", "canonical":"Abutilon avicennae", "hybrid":false, "details":[{"genus":{"string":"Abutilon"}, "species":{"string":"avicennae", "authorship":"Gaertn.", "basionymAuthorTeam":{"authorTeam":"Gaertn.", "author":["Gaertn."]}}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 18], "19":["author_word", 26]}}}
243
+ Achillea bonarota nom. in herb.|{"scientificName":{"parsed":true, "verbatim":"Achillea bonarota nom. in herb.", "normalized":"Achillea bonarota", "canonical":"Achillea bonarota", "hybrid":false, "details":[{"genus":{"string":"Achillea"}, "species":{"string":"bonarota"}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 17]}}}
244
+ Aconitum napellus var. formosum (Rchb.) W. D. J. Koch (nom. ambig.)|{"scientificName":{"parsed":true, "verbatim":"Aconitum napellus var. formosum (Rchb.) W. D. J. Koch (nom. ambig.)", "normalized":"Aconitum napellus var. formosum (Rchb.) W. D. J. Koch", "canonical":"Aconitum napellus formosum", "hybrid":false, "details":[{"genus":{"string":"Aconitum"}, "species":{"string":"napellus"}, "infraspecies":[{"string":"formosum", "rank":"var.", "authorship":"(Rchb.) W. D. J. Koch", "combinationAuthorTeam":{"authorTeam":"W. D. J. Koch", "author":["W. D. J. Koch"]}, "basionymAuthorTeam":{"authorTeam":"Rchb.", "author":["Rchb."]}}]}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 17], "23":["infraspecies", 31], "33":["author_word", 38], "40":["author_word", 42], "43":["author_word", 45], "46":["author_word", 48], "49":["author_word", 53]}}}
245
+ × Dialaeliopsis Hort.|{"scientificName":{"parsed":true, "verbatim":"× Dialaeliopsis Hort.", "normalized":"× Dialaeliopsis", "canonical":"Dialaeliopsis", "hybrid":true, "details":[{"uninomial":{"string":"Dialaeliopsis"}}], "parser_run":1, "positions":{"2":["uninomial", 15]}}}
246
+
247
+ #should not parse viruses
248
+ Abutilon mosaic virus [X15983] [X15984] Abutilon mosaic virus ICTV|{"scientificName":{"parsed":false, "verbatim":"Abutilon mosaic virus [X15983] [X15984] Abutilon mosaic virus ICTV", "virus":true}}
249
+ Acute bee paralysis virus [AF150629] Acute bee paralysis virus|{"scientificName":{"parsed":false, "verbatim":"Acute bee paralysis virus [AF150629] Acute bee paralysis virus", "virus":true}}
250
+ Adeno-associated virus - 3|{"scientificName":{"parsed":false, "verbatim":"Adeno-associated virus - 3", "virus":true}}
251
+ ?M1-like Viruses Methanobrevibacter phage PG|{"scientificName":{"parsed":false, "verbatim":"?M1-like Viruses Methanobrevibacter phage PG", "virus":true}}
252
+ Aeromonas phage 65|{"scientificName":{"parsed":false, "verbatim":"Aeromonas phage 65", "virus":true}}
253
+ Bacillus phage SPß [AF020713] Bacillus phage SPb ICTV|{"scientificName":{"parsed":false, "verbatim":"Bacillus phage SPß [AF020713] Bacillus phage SPb ICTV", "virus":true}}
254
+ Apple scar skin viroid|{"scientificName":{"parsed":false, "verbatim":"Apple scar skin viroid", "virus":true}}
255
+ Australian grapevine viroid [X17101] Australian grapevine viroid ICTV|{"scientificName":{"parsed":false, "verbatim":"Australian grapevine viroid [X17101] Australian grapevine viroid ICTV", "virus":true}}
256
+ Agents of Spongiform Encephalopathies CWD prion Chronic wasting disease|{"scientificName":{"parsed":false, "verbatim":"Agents of Spongiform Encephalopathies CWD prion Chronic wasting disease", "virus":true}}
257
+ Fakus prioni|{"scientificName":{"parsed":true, "verbatim":"Fakus prioni", "normalized":"Fakus prioni", "canonical":"Fakus prioni", "hybrid":false, "details":[{"genus":{"string":"Fakus"}, "species":{"string":"prioni"}}], "parser_run":1, "positions":{"0":["genus", 5], "6":["species", 12]}}}
258
+
207
259
  #double parenthesis
208
260
  Eichornia crassipes ( (Martius) ) Solms-Laub.|{"scientificName":{"parsed":true,"parser_run":2,"verbatim":"Eichornia crassipes ( (Martius) ) Solms-Laub.","normalized":"Eichornia crassipes (Martius) Solms-Laub.","canonical":"Eichornia crassipes","hybrid":false,"details":[{"genus":{"string":"Eichornia"},"species":{"string":"crassipes","authorship":"( (Martius) ) Solms-Laub.","combinationAuthorTeam":{"authorTeam":"Solms-Laub.","author":["Solms-Laub."]},"basionymAuthorTeam":{"authorTeam":"Martius","author":["Martius"]}}}],"positions":{"0":["genus",9],"10":["species",19],"23":["author_word",30],"34":["author_word",45]}}}
209
261
 
@@ -225,8 +277,8 @@ Zygaena witti Wiegel [1973]|{"scientificName":{"parsed":true,"parser_run":2,"ver
225
277
  Deyeuxia coarctata Kunth, 1815 [1816]|{"scientificName":{"parsed":true,"parser_run":2,"verbatim":"Deyeuxia coarctata Kunth, 1815 [1816]","normalized":"Deyeuxia coarctata Kunth 1815 (1816)","canonical":"Deyeuxia coarctata","hybrid":false,"details":[{"genus":{"string":"Deyeuxia"},"species":{"string":"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
278
 
227
279
  #names with garbage at the end
228
- Morea (Morea) Burt 2342343242 23424322342 23424234|{"scientificName":{"parsed":true,"parser_run":2,"verbatim":"Morea (Morea) Burt 2342343242 23424322342 23424234","normalized":"Morea (Morea) Burt","canonical":"Morea","hybrid":false,"details":[{"uninomial":{"string":"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
-
280
+ 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":{"string":"Morea", "infragenus":{"string":"Morea"}, "authorship":"Burt", "basionymAuthorTeam":{"authorTeam":"Burt", "author":["Burt"]}}}], "parser_run":2, "positions":{"0":["uninomial", 5], "7":["infragenus", 12], "14":["author_word", 18]}}}
281
+ Nautilus asterizans von|{"scientificName":{"parsed":true, "verbatim":"Nautilus asterizans von", "normalized":"Nautilus asterizans", "canonical":"Nautilus asterizans", "hybrid":false, "details":[{"genus":{"string":"Nautilus"}, "species":{"string":"asterizans"}}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 19]}}}
230
282
 
231
283
  #salvage canonical
232
284
  Morea ssjjlajajaj324$33 234243242|{"scientificName":{"parsed":true,"parser_run":3,"verbatim":"Morea ssjjlajajaj324$33 234243242","normalized":"Morea","canonical":"Morea","hybrid":false,"details":[{"uninomial":{"string":"Morea"}}],"positions":{"0":["uninomial",5]}}}
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- - 16
9
- version: 0.5.16
7
+ - 6
8
+ - 0
9
+ version: 0.6.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Dmitry Mozzherin
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-08 00:00:00 -04:00
17
+ date: 2010-04-23 00:00:00 -04:00
18
18
  default_executable: nnparse
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -71,17 +71,13 @@ files:
71
71
  - VERSION
72
72
  - bin/nnparse
73
73
  - bin/parserver
74
- - biodiversity.gemspec
75
74
  - conf/environment.rb
76
75
  - lib/biodiversity.rb
77
76
  - lib/biodiversity/guid.rb
78
77
  - lib/biodiversity/guid/lsid.rb
79
78
  - lib/biodiversity/parser.rb
80
- - lib/biodiversity/parser/scientific_name_canonical.rb
81
79
  - lib/biodiversity/parser/scientific_name_canonical.treetop
82
- - lib/biodiversity/parser/scientific_name_clean.rb
83
80
  - lib/biodiversity/parser/scientific_name_clean.treetop
84
- - lib/biodiversity/parser/scientific_name_dirty.rb
85
81
  - lib/biodiversity/parser/scientific_name_dirty.treetop
86
82
  - pkg/.gitignore
87
83
  - spec/biodiversity_spec.rb
data/biodiversity.gemspec DELETED
@@ -1,88 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{biodiversity}
8
- s.version = "0.5.16"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Dmitry Mozzherin"]
12
- s.date = %q{2010-04-08}
13
- s.default_executable = %q{nnparse}
14
- s.description = %q{Tools for biodiversity informatics}
15
- s.email = %q{dmozzherin@gmail.com}
16
- s.executables = ["nnparse"]
17
- s.extra_rdoc_files = [
18
- "LICENSE",
19
- "README.rdoc"
20
- ]
21
- s.files = [
22
- ".document",
23
- ".gitignore",
24
- "LICENSE",
25
- "README.rdoc",
26
- "Rakefile",
27
- "VERSION",
28
- "bin/nnparse",
29
- "bin/parserver",
30
- "biodiversity.gemspec",
31
- "conf/environment.rb",
32
- "lib/biodiversity.rb",
33
- "lib/biodiversity/guid.rb",
34
- "lib/biodiversity/guid/lsid.rb",
35
- "lib/biodiversity/parser.rb",
36
- "lib/biodiversity/parser/scientific_name_canonical.rb",
37
- "lib/biodiversity/parser/scientific_name_canonical.treetop",
38
- "lib/biodiversity/parser/scientific_name_clean.rb",
39
- "lib/biodiversity/parser/scientific_name_clean.treetop",
40
- "lib/biodiversity/parser/scientific_name_dirty.rb",
41
- "lib/biodiversity/parser/scientific_name_dirty.treetop",
42
- "pkg/.gitignore",
43
- "spec/biodiversity_spec.rb",
44
- "spec/guid/lsid.spec.rb",
45
- "spec/parser/scientific_name.spec.rb",
46
- "spec/parser/scientific_name_canonical.spec.rb",
47
- "spec/parser/scientific_name_clean.spec.rb",
48
- "spec/parser/scientific_name_dirty.spec.rb",
49
- "spec/parser/spec_helper.rb",
50
- "spec/parser/test_data.txt",
51
- "spec/spec_helper.rb"
52
- ]
53
- s.homepage = %q{http://github.com/dimus/biodiversity}
54
- s.rdoc_options = ["--charset=UTF-8"]
55
- s.require_paths = ["lib"]
56
- s.rubygems_version = %q{1.3.6}
57
- s.summary = %q{Parser of scientific names}
58
- s.test_files = [
59
- "spec/biodiversity_spec.rb",
60
- "spec/guid/lsid.spec.rb",
61
- "spec/parser/scientific_name.spec.rb",
62
- "spec/parser/scientific_name_canonical.spec.rb",
63
- "spec/parser/scientific_name_clean.spec.rb",
64
- "spec/parser/scientific_name_dirty.spec.rb",
65
- "spec/parser/spec_helper.rb",
66
- "spec/spec_helper.rb"
67
- ]
68
-
69
- if s.respond_to? :specification_version then
70
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
71
- s.specification_version = 3
72
-
73
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
74
- s.add_runtime_dependency(%q<treetop>, [">= 0"])
75
- s.add_runtime_dependency(%q<json>, [">= 0"])
76
- s.add_development_dependency(%q<rspec>, [">= 0"])
77
- else
78
- s.add_dependency(%q<treetop>, [">= 0"])
79
- s.add_dependency(%q<json>, [">= 0"])
80
- s.add_dependency(%q<rspec>, [">= 0"])
81
- end
82
- else
83
- s.add_dependency(%q<treetop>, [">= 0"])
84
- s.add_dependency(%q<json>, [">= 0"])
85
- s.add_dependency(%q<rspec>, [">= 0"])
86
- end
87
- end
88
-