Thursday, July 24, 2014

Format a list of species records for phylomatic (phylogeny builder) by automatically appending family names from taxonomic websites


Phlyomatic (http://phylodiversity.net/phylomatic/) provides a powerful tool for estimating phylogenies of many species and is frequently used to generate data for phylogenetic analysis of ecological communities. The inital step in generating a phylomatic phylogeny for the species that occur in a community (species against sites) data set is formatting the species records (usually genus species) in to the required format of e.g. Annonaceae/Annona/Annona_muricata. 

Below is R code that takes a list of "genus species" records and produces a species list formatted for phylomatic input. The function screens unique genera in the dataset and searches for taxonomic listings on web pages to find the matching family, then re-organises the names. For this example, I use the Atlas of Living Australia (ALA) and excerpts of some plant species records from South Australia. Any web source of reliable taxonomic classification can be used, but the source code must be altered to fit the way the information is held on the page.

###################


#get list of unique species and genera starting with the raw dataset of species records (an example):
SPECIES_records <- c("Acacia aneura", "Acacia tetragonophylla", "Ptilotus obovatus", "Salsola australis", "Sclerolaena patenticuspis", "Sisymbrium erysimoides", "Echium plantagineum", "Sida petrophila", "Chrysocephalum semipapposum", "Cheilanthes lasiophylla", "Calotis hispidula", "Enchylaena tomentosa", "Dysphania pumilio", "Hypochaeris glabra", "Solanum ellipticum", "Dodonaea lobulata", "Senecio pinnatifolius", "Vittadinia cuneata", "Pimelea simplex", "Solanum petrophilum", "Wahlenbergia gracilenta", "Sonchus oleraceus", "Digitaria brownii", "Lepidium papillosum", "Carthamus lanatus", "Eremophila alternifolia", "Centaurea melitensis", "Aristida nitidula", "Actinobole uliginosum", "Asphodelus fistulosus", "Acacia carneorum", "Atriplex vesicaria", "Gnephosis tenuissima", "Maireana pyramidata", "Rhagodia spinescens", "Enchylaena tomentosa", "Pittosporum angustifolium", "Acacia victoriae", "Senna artemisioides", "Lysiana exocarpi", "Atriplex angulata", "Aristida nitidula", "Schismus barbatus", "Actinobole uliginosum", "Eremophila duttonii", "Dissocarpus paradoxus", "Sclerolaena patenticuspis", "Maireana pyramidata", "Acacia victoriae", "Schismus barbatus", "Sclerolaena tricuspis", "Austrostipa nitida", "Sclerolaena brachyptera", "Enchylaena tomentosa", "Centaurea melitensis", "Atriplex semibaccata", "Maireana pyramidata", "Schismus barbatus", "Dissocarpus paradoxus", "Sclerolaena patenticuspis", "Eremophila sturtii", "Dodonaea viscosa", "Rhagodia spinescens", "Eremophila sturtii", "Maireana brevifolia", "Pittosporum angustifolium", "Chenopodium nitrariaceum", "Lycium ferocissimum", "Lysiana exocarpi", "Enchylaena tomentosa", "Schinus molle", "Rhagodia spinescens", "Atriplex vesicaria", "Acacia victoriae", "Sclerolaena patenticuspis", "Acacia carneorum", "Maireana pyramidata", "Lysiana exocarpi", "Calotis hispidula", "Schismus barbatus", "Olearia pimeleoides", "Enchylaena tomentosa", "Gnephosis tenuissima", "Rhagodia spinescens", "Eremophila sturtii", "Maireana pyramidata", "Acacia oswaldii", "Rhagodia spinescens", "Sclerolaena patenticuspis", "Lysiana exocarpi", "Amyema quandang", "Eremophila longifolia", "Atriplex vesicaria", "Acacia victoriae", "Lycium ferocissimum", "Sclerolaena tricuspis", "Casuarina pauper", "Maireana pyramidata", "Amyema linophylla", "Enchylaena tomentosa", "Sclerolaena tricuspis", "Eremophila sturtii", "Eremophila deserti", "Dissocarpus biflorus", "Olearia pimeleoides", "Rhagodia spinescens", "Acacia victoriae", "Maireana aphylla", "Maireana appressa", "Chenopodium curvispicatum", "Sclerolaena diacantha", "Acacia victoriae", "Lysiana exocarpi", "Maireana pyramidata", "Rhagodia spinescens", "Enchylaena tomentosa", "Eremophila sturtii", "Maireana aphylla", "Sclerolaena patenticuspis", "Lycium ferocissimum", "Atriplex angulata", "Eremophila sturtii", "Dodonaea viscosa", "Rhagodia spinescens", "Maireana pyramidata", "Senna artemisioides", "Eremophila duttonii", "Dissocarpus paradoxus", "Acacia oswaldii", "Acacia victoriae", "Lysiana exocarpi", "Amyema miquelii", "Olearia pimeleoides", "Enneapogon avenaceus", "Enchylaena tomentosa", "Rytidosperma setaceum", "Dodonaea viscosa", "Maireana pyramidata", "Olearia pimeleoides", "Rhagodia spinescens", "Schismus barbatus", "Salsola australis", "Aristida holathera", "Austrostipa nitida", "Atriplex limbata", "Podolepis capillaris", "Sclerolaena obliquicuspis", "Gnephosis arachnoidea", "Boerhavia dominii", "Acacia victoriae", "Enchylaena tomentosa", "Maireana brevifolia", "Solanum petrophilum", "Sclerolaena patenticuspis", "Salsola australis", "Heliotropium europaeum", "Enneapogon avenaceus", "Schismus barbatus", "Ptilotus obovatus", "Solanum ellipticum", "Eremophila longifolia", "Dissocarpus paradoxus", "Rhagodia spinescens", "Sida petrophila", "Alectryon oleifolius", "Maireana pyramidata", "Lysiana exocarpi", "Olearia pimeleoides", "Alectryon oleifolius", "Casuarina pauper", "Lysiana exocarpi", "Enchylaena tomentosa", "Sclerolaena patenticuspis", "Olearia pimeleoides", "Enneapogon avenaceus", "Schismus barbatus", "Atriplex acutibractea", "Gnephosis tenuissima", "Crassula colorata", "Actinobole uliginosum", "Calotis hispidula", "Gnephosis arachnoidea", "Eucalyptus camaldulensis", "Melaleuca lanceolata", "Dissocarpus paradoxus", "Abutilon leucopetalum", "Dodonaea lobulata", "Maireana brevifolia", "Ptilotus obovatus", "Enchylaena tomentosa", "Rhagodia spinescens", "Sclerolaena obliquicuspis", "Pterocaulon sphacelatum", "Cymbopogon ambiguus", "Sida petrophila", "Schismus barbatus", "Sisymbrium erysimoides", "Solanum sturtianum", "Chamaesyce drummondii", "Geijera linearifolia", "Lysiana exocarpi", "Sida fibulifera", "Acacia aneura", "Acacia tetragonophylla", "Enchylaena tomentosa", "Dodonaea lobulata", "Ptilotus obovatus", "Solanum ellipticum", "Eremophila freelingii", "Austrostipa trichophylla", "Aristida holathera", "Sisymbrium erysimoides", "Digitaria brownii", "Sclerolaena diacantha", "Sida petrophila", "Leiocarpa semicalva", "Abutilon leucopetalum", "Silene apetala", "Anagallis arvensis", "Lepidium papillosum", "Maireana astrotricha", "Atriplex vesicaria", "Dodonaea viscosa", "Acacia victoriae", "Olearia pimeleoides", "Maireana pyramidata", "Vittadinia gracilis", "Centaurea melitensis", "Pittosporum angustifolium", "Sclerolaena obliquicuspis", "Osteocarpum acropterum", "Schismus barbatus", "Enchylaena tomentosa", "Maireana astrotricha", "Olearia pimeleoides", "Rhagodia ulicina", "Maireana pyramidata", "Atriplex vesicaria", "Schismus barbatus", "Vittadinia dissecta", "Sisymbrium erysimoides", "Maireana appressa", "Sclerolaena brachyptera", "Sclerolaena patenticuspis", "Austrostipa nitida", "Sclerolaena obliquicuspis", "Sonchus oleraceus", "Atriplex vesicaria", "Maireana pyramidata", "Maireana appressa", "Rhagodia ulicina", "Sclerolaena patenticuspis", "Maireana astrotricha", "Sclerolaena obliquicuspis", "Salsola australis", "Acacia victoriae", "Stellaria filiformis", "Triodia irritans", "Sisymbrium erysimoides", "Ptilotus obovatus", "Solanum ellipticum", "Enchylaena tomentosa", "Sida petrophila", "Dodonaea viscosa", "Centaurea melitensis", "Silene apetala", "Bulbine semibarbata", "Dodonaea lobulata", "Euphorbia tannensis", "Solanum petrophilum", "Abutilon leucopetalum", "Sclerolaena diacantha", "Maireana brevifolia", "Geijera linearifolia", "Boerhavia dominii", "Leiocarpa semicalva", "Cheilanthes sieberi", "Lepidium papillosum", "Acacia tetragonophylla", "Solanum ellipticum", "Lysiana exocarpi", "Enchylaena tomentosa", "Sclerolaena convexula", "Enneapogon avenaceus", "Dodonaea lobulata", "Sida petrophila", "Sclerolaena diacantha", "Ptilotus obovatus", "Silene apetala", "Lepidium papillosum", "Sisymbrium erysimoides", "Prostanthera striatiflora", "Sclerolaena lanicuspis", "Vittadinia gracilis", "Cheilanthes sieberi", "Austrostipa nitida", "Plantago hispida", "Gypsophila tubulosa", "Acacia aneura", "Dodonaea lobulata", "Cheilanthes lasiophylla", "Ptilotus obovatus", "Maireana pyramidata", "Rhagodia spinescens", "Sclerolaena diacantha", "Solanum ellipticum", "Centaurea melitensis", "Vittadinia gracilis", "Enneapogon avenaceus", "Sida fibulifera", "Carthamus lanatus", "Maireana appressa", "Leiocarpa semicalva", "Stellaria filiformis", "Casuarina pauper", "Dissocarpus paradoxus", "Dodonaea lobulata", "Myoporum platycarpum", "Rhagodia spinescens", "Dodonaea viscosa", "Atriplex vesicaria", "Maireana pyramidata", "Enchylaena tomentosa", "Ptilotus obovatus", "Sclerolaena brachyptera", "Sclerolaena diacantha", "Sclerolaena lanicuspis", "Maireana astrotricha", "Glycine rubiginosa", "Maireana appressa", "Salsola australis", "Rhagodia spinescens", "Maireana brevifolia", "Tecticornia pergranulata", "Eremophila sturtii", "Tecticornia indica", "Osteocarpum salsuginosum", "Enchylaena tomentosa", "Centaurea melitensis", "Sclerolaena ventricosa", "Sclerolaena patenticuspis", "Atriplex semibaccata", "Sclerolaena diacantha", "Eucalyptus camaldulensis", "Maireana brevifolia", "Maireana pyramidata", "Dissocarpus paradoxus", "Rhagodia spinescens", "Enchylaena tomentosa", "Acacia victoriae", "Atriplex limbata", "Lycium ferocissimum", "Asphodelus fistulosus", "Cyperus gymnocaulos", "Maireana astrotricha", "Myoporum montanum", "Eucalyptus porosa", "Osteocarpum salsuginosum", "Atriplex lindleyi", "Sclerolaena obliquicuspis", "Sclerolaena lanicuspis", "Callitris glaucophylla", "Prostanthera striatiflora", "Sida petrophila", "Ptilotus obovatus", "Abutilon leucopetalum", "Carthamus lanatus", "Lepidium papillosum", "Sisymbrium erysimoides", "Leiocarpa semicalva", "Cheilanthes sieberi", "Centaurea melitensis", "Austrostipa trichophylla", "Cassinia laevis", "Silene apetala", "Daucus glochidiatus", "Dodonaea viscosa", "Sclerolaena obliquicuspis", "Solanum petrophilum", "Cymbopogon ambiguus", "Schismus barbatus", "Sarcostemma viminale", "Sclerolaena divaricata", "Callitris glaucophylla", "Eucalyptus porosa", "Cassinia laevis", "Dodonaea viscosa", "Chrysocephalum semipapposum", "Sida petrophila", "Ptilotus obovatus", "Abutilon leucopetalum", "Dissocarpus paradoxus", "Lepidium papillosum", "Dodonaea lobulata", "Sisymbrium erysimoides", "Solanum petrophilum", "Sonchus oleraceus", "Marsdenia australis", "Callitris glaucophylla", "Cassinia laevis", "Ptilotus obovatus", "Sida petrophila", "Cymbopogon ambiguus", "Aristida holathera", "Enchylaena tomentosa", "Leiocarpa semicalva", "Dodonaea viscosa", "Oxalis perennans", "Centaurea melitensis", "Abutilon leucopetalum", "Eremophila freelingii", "Acacia tetragonophylla", "Scleranthus pungens", "Solanum petrophilum", "Cheilanthes austrotenuifolia", "Nicotiana velutina", "Sclerolaena divaricata", "Solanum ellipticum", "Eucalyptus socialis", "Myoporum platycarpum", "Dissocarpus paradoxus", "Sclerolaena obliquicuspis", "Acacia oswaldii", "Sclerolaena brachyptera", "Maireana pyramidata", "Austrostipa nitida", "Cassinia laevis", "Dodonaea viscosa", "Schismus barbatus", "Plantago bellardii", "Lepidium papillosum", "Dysphania pumilio", "Bulbine alata", "Hypochaeris glabra", "Chrysocephalum semipapposum", "Prostanthera striatiflora", "Geijera linearifolia", "Digitaria brownii", "Calandrinia eremaea", "Cheilanthes sieberi", "Aristida nitidula", "Actinobole uliginosum", "Solanum petrophilum", "Nicotiana velutina", "Solanum ellipticum", "Callitris glaucophylla", "Sisymbrium erysimoides", "Ptilotus obovatus", "Eragrostis setifolia", "Maireana sedifolia", "Ptilotus obovatus", "Sclerolaena obliquicuspis", "Solanum sturtianum", "Brachyscome lineariloba", "Maireana pyramidata", "Solanum ellipticum", "Solanum petrophilum", "Acacia victoriae", "Austrostipa nitida", "Sclerolaena diacantha", "Carthamus lanatus", "Stenopetalum lineare", "Vittadinia cuneata", "Enneapogon avenaceus", "Salvia verbenaca", "Dodonaea lobulata", "Asphodelus fistulosus", "Carrichtera annua", "Chamaesyce drummondii", "Maireana integra", "Sida fibulifera", "Calotis hispidula", "Rhagodia spinescens", "Maireana aphylla", "Sclerolaena ventricosa", "Sclerolaena divaricata", "Alyssum linifolium", "Sclerolaena brachyptera", "Maireana pyramidata", "Sida intricata", "Rhodanthe pygmaea", "Eremophila duttonii", "Daucus glochidiatus", "Rhodanthe microglossa", "Acacia victoriae", "Lysiana exocarpi", "Sclerolaena limbata", "Tetragonia eremaea", "Carthamus lanatus", "Atriplex angulata", "Atriplex lindleyi", "Brachyscome ciliaris", "Austrostipa nodosa", "Chrysocephalum apiculatum", "Minuria cunninghamii", "Vittadinia gracilis", "Goodenia fascicularis", "Bulbine semibarbata", "Schismus barbatus", "Rytidosperma laeve", "Maireana aphylla", "Sclerolaena lanicuspis", "Sclerolaena tricuspis", "Casuarina pauper", "Tetragonia eremaea", "Sclerolaena diacantha", "Maireana pyramidata", "Salsola australis", "Alyssum linifolium", "Trianthema triquetra", "Maireana brevifolia", "Enchylaena tomentosa", "Atriplex limbata", "Sclerolaena ventricosa", "Euphorbia drummondii", "Brachyscome ciliaris", "Gnephosis arachnoidea", "Chrysocephalum apiculatum", "Rhodanthe pygmaea", "Atriplex spongiosa", "Acacia victoriae", "Schismus barbatus", "Alectryon oleifolius", "Enneapogon avenaceus", "Rhagodia spinescens", "Eremophila glabra", "Melaleuca decussata", "Hibbertia sericea", "Ixodia achillaeoides", "Astroloma humifusum", "Acacia pycnantha", "Hibbertia riparia", "Isopogon ceratophyllus", "Schoenus breviculmis", "Olearia ramulosa", "Acrotriche serrulata", "Opercularia turpis", "Platysace heterophylla", "Dodonaea viscosa", "Lepidosperma semiteres", "Eucalyptus fasciculosa", "Billardiera cymosa", "Lepidosperma carphoides", "Dillwynia hispida", "Xanthorrhoea semiplana", "Acacia myrtifolia", "Spyridium spathulatum", "Euryomyrtus ramosissima", "Gonocarpus mezianus", "Allocasuarina muelleriana", "Hakea rostrata", "Comesperma calymega", "Calytrix tetragona", "Platylobium obtusangulum", "Acacia paradoxa", "Grevillea lavandulacea", "Phragmites australis", "Leptospermum lanigerum", "Baumea rubiginosa", "Baumea articulata", "Blechnum minus", "Goodenia ovata", "Lycopus australis", "Epilobium pallidiflorum", "Gahnia trifida")
SPECIES_records <- sub(pattern=" ", replacement="_", SPECIES_records) #re-format to "genus_species"
species_list <- unique(SPECIES_records) #list(vector) of unique species in dataset, where SPECIES_records is a vector of individual species records in "Genus species" format

genera <- strsplit(as.character(SPECIES_records), "_"#split genus and species parts up
genera <- unique(unlist(lapply(genera, function(x) paste(x[1])))) # character vector of all the unique genera from this raw species records

#example using the ALA - Atlas of Living Australia, which uses APC (Australian Plant Census) family taxonomy.

fam_gen <- rep(NA, length(genera)) #a blank variable to receive the family/genus output of below - a space for each genus
n <- 0
for (i in genera)
{
temp <- try(scan(url(paste0("http://bie.ala.org.au/species/", i, "#tab_classification", sep="")), what="list")) #read the webpage for current species in loop - the need to scan a page for every genus makes this a little slow (i.e. on ~850 genera)
if(class(temp)=="try-error") {
temp <- NULL #stops it crashing if the page for that genus doesn't exist (in that format)
n <- n + 1
print(n)
fam_gen[n] <- paste("oops_noPage", i)
print(fam_gen[n])
}
if(class(temp)=="character") {
fam <- (grep("title=\"family\">", temp, fixed=TRUE)+1) #locate the bit (vector number) that has the family name, which is the next element in the character vector (hence the +1)
if(length(fam) == 0) {temp2 <- "NoFAMILY"} #for cases where there is a page but no family entry
if(length(fam) > 0) {temp2 <- temp[fam]} #read the family bit as character
print(temp2) #so it looks like something is happening while running...
n <- n + 1
print(n)
try(fam_gen[n] <- paste(temp2, "/", i, sep="")) #paste family and genus into the output
}

fam_gen #this is the output of above - a vector of "family/genus" entries  (shows as 'oops_noPage' if no page and 'NoFAMILY' if no family entry on page)

#phylomatic format is: e.g. Annonaceae/Annona/Annona_muricata

#now we take the matched up family/genus entries 'fam_gen', and apply them to the full list of unique species in the data set - 'species_list' (at top)

n <- 0
name_ALA <- rep(NA, length(species_list)) #a blank vector to take the final output
for (i in species_list) {
delete <- strsplit(i, split="_", fixed=TRUE)[[1]][1] #strip genus name from gen_spp entry of ith species in list
delete2 <- fam_gen[grep(pattern=delete, fam_gen)] #subset to relevant family/genus entry of fam_gen
n <- n + 1
name_ALA[n] <- paste(delete2, i, sep="/") #output for ith species - family/genus/genus_species
}

name_ALA #now a vector of all unique species in phylocom format "Family/genus/genus_species" 

name_ALA <- sub(pattern="NoFAMILY", replacement="Amaranthaceae", name_ALA) #insert this family for the chenopods that didn't have a family on their ALA page (this is universal, so you need to check in a given case that the NoFAMILY entries really are chenopods)

#With this dataset, we are left with species that still have no family. To avoid fixing manually, next stage is to try these on The Plant List:

foo <- scan(url("http://www.theplantlist.org/browse/-/-/"), what="list") #read this webpage to character

no_names <- name_ALA[grep("oops", name_ALA)] #subset to new object the list of names with no families (resulting from no web page for that genus in ALA)
for (i in genera) {
if(length(grep(i, no_names)) == 0) {print(i); print("skipping...")}
if(length(grep(i, no_names)) > 0) {
print(i); print("searching...")
xxx <- foo[grep(paste0(i, "/", sep=""), foo, fixed=TRUE)]
if(length(xxx) == 0) {print("not found")}
if(length(xxx) > 0) {
xxx <- sub(pattern="href=\"/browse/P/", replacement="", xxx)
xxx <- sub(pattern="href=\"/browse/A/", replacement="", xxx)
xxx <- substr(xxx, start=1, stop=(nchar(xxx)-4))
print(xxx)
no_names[grep(i, no_names)] <- sub(pattern="oops_noPage ", replacement=xxx, no_names[grep(i, no_names)])
}
}
}


no_names #returns species that had no families from ALA scan with families from the Plant List, if available.

#merge the updated records back into the main list - name_ALA
name_ALA[grep("oops", name_ALA)] <- no_names #this just replaces the failed entries with their updated versions

name_ALA #species in required format



###########

Here's the output:

  [1] "Fabaceae/Acacia/Acacia_aneura"                            
  [2] "Fabaceae/Acacia/Acacia_tetragonophylla"                   
  [3] "Amaranthaceae/Ptilotus/Ptilotus_obovatus"                 
  [4] "Amaranthaceae/Salsola/Salsola_australis"                  
  [5] "Amaranthaceae/Sclerolaena/Sclerolaena_patenticuspis"      
  [6] "Brassicaceae/Sisymbrium/Sisymbrium_erysimoides"           
  [7] "Boraginaceae/Echium/Echium_plantagineum"                  
  [8] "Malvaceae/Sida/Sida/Sida_petrophila"                      
  [9] "Asteraceae/Chrysocephalum/Chrysocephalum_semipapposum"    
 [10] "Pteridaceae/Cheilanthes/Cheilanthes_lasiophylla"          
 [11] "Asteraceae/Calotis/Calotis_hispidula"                     
 [12] "Amaranthaceae/Enchylaena/Enchylaena_tomentosa"            
 [13] "Amaranthaceae/Dysphania/Dysphania/Dysphania_pumilio"      
 [14] "Asteraceae/Hypochaeris/Hypochaeris_glabra"                
 [15] "Solanaceae/Solanum/Solanum_ellipticum"                    
 [16] "Sapindaceae/Dodonaea/Dodonaea_lobulata"                   
 [17] "Asteraceae/Senecio/Senecio_pinnatifolius"                 
 [18] "Asteraceae/Vittadinia/Vittadinia_cuneata"                 
 [19] "Thymelaeaceae/Pimelea/Pimelea_simplex"                    
 [20] "Solanaceae/Solanum/Solanum_petrophilum"                   
 [21] "Campanulaceae/Wahlenbergia/Wahlenbergia_gracilenta"       
 [22] "Asteraceae/Sonchus/Sonchus_oleraceus"                     
 [23] "Poaceae/Digitaria/Digitaria_brownii"                      
 [24] "Brassicaceae/Lepidium/Lepidium_papillosum"                
 [25] "Asteraceae/Carthamus/Carthamus_lanatus"                   
 [26] "Scrophulariaceae/Eremophila/Eremophila_alternifolia"      
 [27] "Asteraceae/Centaurea/Centaurea_melitensis"                
 [28] "Poaceae/Aristida/Aristida_nitidula"                       
 [29] "Asteraceae/Actinobole/Actinobole_uliginosum"              
 [30] "Asphodelaceae/Asphodelus/Asphodelus_fistulosus"           
 [31] "Fabaceae/Acacia/Acacia_carneorum"                         
 [32] "Amaranthaceae/Atriplex/Atriplex_vesicaria"                
 [33] "Asteraceae/Gnephosis/Gnephosis_tenuissima"                
 [34] "Amaranthaceae/Maireana/Maireana_pyramidata"               
 [35] "Amaranthaceae/Rhagodia/Rhagodia_spinescens"               
 [36] "Pittosporaceae/Pittosporum/Pittosporum_angustifolium"     
 [37] "Fabaceae/Acacia/Acacia_victoriae"                         
 [38] "Fabaceae/Senna/Senna_artemisioides"                       
 [39] "Loranthaceae/Lysiana/Lysiana_exocarpi"                    
 [40] "Amaranthaceae/Atriplex/Atriplex_angulata"                 
 [41] "Poaceae/Schismus/Schismus_barbatus"                       
 [42] "Scrophulariaceae/Eremophila/Eremophila_duttonii"          
 [43] "Amaranthaceae/Dissocarpus/Dissocarpus_paradoxus"          
 [44] "Amaranthaceae/Sclerolaena/Sclerolaena_tricuspis"          
 [45] "Poaceae/Austrostipa/Austrostipa_nitida"                   
 [46] "Amaranthaceae/Sclerolaena/Sclerolaena_brachyptera"        
 [47] "Amaranthaceae/Atriplex/Atriplex_semibaccata"              
 [48] "Scrophulariaceae/Eremophila/Eremophila_sturtii"           
 [49] "Sapindaceae/Dodonaea/Dodonaea_viscosa"                    
 [50] "Amaranthaceae/Maireana/Maireana_brevifolia"               
 [51] "Amaranthaceae/Chenopodium/Chenopodium_nitrariaceum"       
 [52] "Solanaceae/Lycium/Lycium_ferocissimum"                    
 [53] "Anacardiaceae/Schinus/Schinus_molle"                      
 [54] "Asteraceae/Olearia/Olearia_pimeleoides"                   
 [55] "Fabaceae/Acacia/Acacia_oswaldii"                          
 [56] "Loranthaceae/Amyema/Amyema_quandang"                      
 [57] "Scrophulariaceae/Eremophila/Eremophila_longifolia"        
 [58] "Casuarinaceae/Casuarina/Casuarina_pauper"                 
 [59] "Loranthaceae/Amyema/Amyema_linophylla"                    
 [60] "Scrophulariaceae/Eremophila/Eremophila_deserti"           
 [61] "Amaranthaceae/Dissocarpus/Dissocarpus_biflorus"           
 [62] "Amaranthaceae/Maireana/Maireana_aphylla"                  
 [63] "Amaranthaceae/Maireana/Maireana_appressa"                 
 [64] "Amaranthaceae/Chenopodium/Chenopodium_curvispicatum"      
 [65] "Amaranthaceae/Sclerolaena/Sclerolaena_diacantha"          
 [66] "Loranthaceae/Amyema/Amyema_miquelii"                      
 [67] "Poaceae/Enneapogon/Enneapogon_avenaceus"                  
 [68] "Poaceae/Rytidosperma/Rytidosperma_setaceum"               
 [69] "Poaceae/Aristida/Aristida_holathera"                      
 [70] "Amaranthaceae/Atriplex/Atriplex_limbata"                  
 [71] "Asteraceae/Podolepis/Podolepis_capillaris"                
 [72] "Amaranthaceae/Sclerolaena/Sclerolaena_obliquicuspis"      
 [73] "Asteraceae/Gnephosis/Gnephosis_arachnoidea"               
 [74] "Nyctaginaceae/Boerhavia/Boerhavia_dominii"                
 [75] "Boraginaceae/Heliotropium/Heliotropium_europaeum"         
 [76] "Sapindaceae/Alectryon/Alectryon_oleifolius"               
 [77] "Amaranthaceae/Atriplex/Atriplex_acutibractea"             
 [78] "Crassulaceae/Crassula/Crassula_colorata"                  
 [79] "Myrtaceae/Eucalyptus/Eucalyptus_camaldulensis"            
 [80] "Myrtaceae/Melaleuca/Melaleuca/Melaleuca_lanceolata"       
 [81] "Malvaceae/Abutilon/Abutilon_leucopetalum"                 
 [82] "Asteraceae/Pterocaulon/Pterocaulon_sphacelatum"           
 [83] "Poaceae/Cymbopogon/Cymbopogon_ambiguus"                   
 [84] "Solanaceae/Solanum/Solanum_sturtianum"                    
 [85] "Euphorbiaceae/Chamaesyce/Chamaesyce/Chamaesyce_drummondii"
 [86] "Rutaceae/Geijera/Geijera_linearifolia"                    
 [87] "Malvaceae/Sida/Sida/Sida_fibulifera"                      
 [88] "Scrophulariaceae/Eremophila/Eremophila_freelingii"        
 [89] "Poaceae/Austrostipa/Austrostipa_trichophylla"             
 [90] "Asteraceae/Leiocarpa/Leiocarpa_semicalva"                 
 [91] "Caryophyllaceae/Silene/Silene_apetala"                    
 [92] "Primulaceae/Anagallis/Anagallis/Anagallis_arvensis"       
 [93] "Amaranthaceae/Maireana/Maireana_astrotricha"              
 [94] "Asteraceae/Vittadinia/Vittadinia_gracilis"                
 [95] "Amaranthaceae/Osteocarpum/Osteocarpum_acropterum"         
 [96] "Amaranthaceae/Rhagodia/Rhagodia_ulicina"                  
 [97] "Asteraceae/Vittadinia/Vittadinia_dissecta"                
 [98] "Caryophyllaceae/Stellaria/Stellaria/Stellaria_filiformis" 
 [99] "Poaceae/Triodia/Triodia_irritans"                         
[100] "Asphodelaceae/Bulbine/Bulbine_semibarbata"                
[101] "Euphorbiaceae/Euphorbia/Euphorbia_tannensis"              
[102] "Pteridaceae/Cheilanthes/Cheilanthes_sieberi"              
[103] "Amaranthaceae/Sclerolaena/Sclerolaena_convexula"          
[104] "Lamiaceae/Prostanthera/Prostanthera_striatiflora"         
[105] "Amaranthaceae/Sclerolaena/Sclerolaena_lanicuspis"         
[106] "Plantaginaceae/Plantago/Plantago_hispida"                 
[107] "Caryophyllaceae/Gypsophila/Gypsophila_tubulosa"           
[108] "Scrophulariaceae/Myoporum/Myoporum_platycarpum"           
[109] "Fabaceae/Glycine/Glycine_rubiginosa"                      
[110] "Amaranthaceae/Tecticornia/Tecticornia_pergranulata"       
[111] "Amaranthaceae/Tecticornia/Tecticornia_indica"             
[112] "Amaranthaceae/Osteocarpum/Osteocarpum_salsuginosum"       
[113] "Amaranthaceae/Sclerolaena/Sclerolaena_ventricosa"         
[114] "Cyperaceae/Cyperus/Cyperus_gymnocaulos"                   
[115] "Scrophulariaceae/Myoporum/Myoporum_montanum"              
[116] "Myrtaceae/Eucalyptus/Eucalyptus_porosa"                   
[117] "Amaranthaceae/Atriplex/Atriplex_lindleyi"                 
[118] "Cupressaceae/Callitris/Callitris_glaucophylla"            
[119] "Asteraceae/Cassinia/Cassinia_laevis"                      
[120] "Apiaceae/Daucus/Daucus_glochidiatus"                      
[121] "Apocynaceae/Sarcostemma/Sarcostemma_viminale"             
[122] "Amaranthaceae/Sclerolaena/Sclerolaena_divaricata"         
[123] "Apocynaceae/Marsdenia/Marsdenia_australis"                
[124] "Oxalidaceae/Oxalis/Oxalis_perennans"                      
[125] "Caryophyllaceae/Scleranthus/Scleranthus_pungens"          
[126] "Pteridaceae/Cheilanthes/Cheilanthes_austrotenuifolia"     
[127] "Solanaceae/Nicotiana/Nicotiana_velutina"                  
[128] "Myrtaceae/Eucalyptus/Eucalyptus_socialis"                 
[129] "Plantaginaceae/Plantago/Plantago_bellardii"               
[130] "Asphodelaceae/Bulbine/Bulbine_alata"                      
[131] "Portulacaceae/Calandrinia/Calandrinia_eremaea"            
[132] "Poaceae/Eragrostis/Eragrostis_setifolia"                  
[133] "Amaranthaceae/Maireana/Maireana_sedifolia"                
[134] "Asteraceae/Brachyscome/Brachyscome_lineariloba"           
[135] "Brassicaceae/Stenopetalum/Stenopetalum_lineare"           
[136] "Lamiaceae/Salvia/Salvia_verbenaca"                        
[137] "Brassicaceae/Carrichtera/Carrichtera_annua"               
[138] "Amaranthaceae/Maireana/Maireana_integra"                  
[139] "Brassicaceae/Alyssum/Alyssum_linifolium"                  
[140] "Malvaceae/Sida/Sida/Sida_intricata"                       
[141] "Asteraceae/Rhodanthe/Rhodanthe_pygmaea"                   
[142] "Asteraceae/Rhodanthe/Rhodanthe_microglossa"               
[143] "Amaranthaceae/Sclerolaena/Sclerolaena_limbata"            
[144] "Aizoaceae/Tetragonia/Tetragonia_eremaea"                  
[145] "Asteraceae/Brachyscome/Brachyscome_ciliaris"              
[146] "Poaceae/Austrostipa/Austrostipa_nodosa"                   
[147] "Asteraceae/Chrysocephalum/Chrysocephalum_apiculatum"      
[148] "Asteraceae/Minuria/Minuria_cunninghamii"                  
[149] "Goodeniaceae/Goodenia/Goodenia_fascicularis"              
[150] "Poaceae/Rytidosperma/Rytidosperma_laeve"                  
[151] "Aizoaceae/Trianthema/Trianthema_triquetra"                
[152] "Euphorbiaceae/Euphorbia/Euphorbia_drummondii"             
[153] "Amaranthaceae/Atriplex/Atriplex_spongiosa"                
[154] "Scrophulariaceae/Eremophila/Eremophila_glabra"            
[155] "Myrtaceae/Melaleuca/Melaleuca/Melaleuca_decussata"        
[156] "Dilleniaceae/Hibbertia/Hibbertia_sericea"                 
[157] "Asteraceae/Ixodia/Ixodia_achillaeoides"                   
[158] "Ericaceae/Astroloma/Astroloma_humifusum"                  
[159] "Fabaceae/Acacia/Acacia_pycnantha"                         
[160] "Dilleniaceae/Hibbertia/Hibbertia_riparia"                 
[161] "Proteaceae/Isopogon/Isopogon_ceratophyllus"               
[162] "Cyperaceae/Schoenus/Schoenus_breviculmis"                 
[163] "Asteraceae/Olearia/Olearia_ramulosa"                      
[164] "Ericaceae/Acrotriche/Acrotriche_serrulata"                
[165] "Rubiaceae/Opercularia/Opercularia/Opercularia_turpis"     
[166] "Apiaceae/Platysace/Platysace_heterophylla"                
[167] "Cyperaceae/Lepidosperma/Lepidosperma_semiteres"           
[168] "Myrtaceae/Eucalyptus/Eucalyptus_fasciculosa"              
[169] "Pittosporaceae/Billardiera/Billardiera_cymosa"            
[170] "Cyperaceae/Lepidosperma/Lepidosperma_carphoides"          
[171] "Fabaceae/Dillwynia/Dillwynia_hispida"                     
[172] "Xanthorrhoeaceae/Xanthorrhoea/Xanthorrhoea_semiplana"     
[173] "Fabaceae/Acacia/Acacia_myrtifolia"                        
[174] "Rhamnaceae/Spyridium/Spyridium_spathulatum"               
[175] "Myrtaceae/Euryomyrtus/Euryomyrtus_ramosissima"            
[176] "Haloragaceae/Gonocarpus/Gonocarpus_mezianus"              
[177] "Casuarinaceae/Allocasuarina/Allocasuarina_muelleriana"    
[178] "Proteaceae/Hakea/Hakea_rostrata"                          
[179] "Polygalaceae/Comesperma/Comesperma_calymega"              
[180] "Myrtaceae/Calytrix/Calytrix_tetragona"                    
[181] "Fabaceae/Platylobium/Platylobium_obtusangulum"            
[182] "Fabaceae/Acacia/Acacia_paradoxa"                          
[183] "Proteaceae/Grevillea/Grevillea/Grevillea_lavandulacea"    
[184] "Poaceae/Phragmites/Phragmites_australis"                  
[185] "Myrtaceae/Leptospermum/Leptospermum_lanigerum"            
[186] "Cyperaceae/Baumea/Baumea_rubiginosa"                      
[187] "Cyperaceae/Baumea/Baumea_articulata"                      
[188] "Blechnaceae/Blechnum/Blechnum_minus"                      
[189] "Goodeniaceae/Goodenia/Goodenia_ovata"                     
[190] "Lamiaceae/Lycopus/Lycopus_australis"                      
[191] "Onagraceae/Epilobium/Epilobium_pallidiflorum"             
[192] "Cyperaceae/Gahnia/Gahnia_trifida"