biodiversity 0.5.16 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-