I used the DAISIEprep package in RStudio to extract data from a mammal DNA-based phylogeny (by Upham et al., 2019) for DAISIE island biogeography analysis. For this I have compiled a species checklist of all native mammals on Zanzibar island. I successfully loaded the species cheklist into R as a dataframe and added endemicity statuses for all species sampled by the phylogeny using the _create_endemicitystatus() function (all 35 species present in the tree were nonendemic). I then added this data to the phylogeny (a phylo4d object).
In my species checklist for Zanzibar island, there are four bat species belonging to the same genus (Nycteris macrotis, Nycteris thebaica, Nycteris hispida, and Nycteris grandis; see phylogeny below). They are all nonendemic as they also live on the mainland (all 4 have large ranges in Africa), and most species have branching times much older than the island age of Zanzibar (45.725, 16.135, 9.590, and 0.689 Myr; Zanzibar Island age = 4 Myr). However, when applying the _extract_island_species(phylod = phylod, extractionmethod = "asr") function on the phylod object, these four species get joined into a single colonizing lineage which is then marked as endemic in the island_tbl. This is incorrect based on biological knowledge. When I use the "min" algorithm instead, this problem does not occur.
This is the code I used for the asr:
island_tbl <- island_tbl() # empty island_table
# performing the asr on the phylogeny with endemicity data
phylod <- add_asr_node_states(phylod = phylod, asr_method = "mk", tie_preference = "mainland")
island_tbl_asr <- extract_island_species(
phylod = phylod,
extraction_method = "asr"
)
# save extracted data in the island_tbl
island_tbl<-island_tbl_asr
View(island_tbl)
Later on in my script, when using the _create_daisiedata() function on this dataset, the four species are separated again into 4 separate lineages. All four of these species are then named differently (_Nycteris_macrotis1, _Nycteris_macrotis2, _Nycteris_macrotis3, and _Nycteris_macrotis4) and are saved as endemic species in the DAISIE data list (stac value 5).
I suspect that the problem is based in the asr method that I am using, but I am not sure. It would be great if this can be solved by users in the future through DAISIEprep.
Below a snippet from the phylogeny that I am using, showing all Nycteris species included in the tree (species in my checklist are indicated by the green boxes).
Maybe helpful: the output plots (from _DAISIE_plotisland function).
When setting island_age = 4 Myr, we get:
When setting island_age = 50 Myr (hypothetical, to get idea of the issue here), we get:
I used the DAISIEprep package in RStudio to extract data from a mammal DNA-based phylogeny (by Upham et al., 2019) for DAISIE island biogeography analysis. For this I have compiled a species checklist of all native mammals on Zanzibar island. I successfully loaded the species cheklist into R as a dataframe and added endemicity statuses for all species sampled by the phylogeny using the _create_endemicitystatus() function (all 35 species present in the tree were nonendemic). I then added this data to the phylogeny (a phylo4d object).
In my species checklist for Zanzibar island, there are four bat species belonging to the same genus (Nycteris macrotis, Nycteris thebaica, Nycteris hispida, and Nycteris grandis; see phylogeny below). They are all nonendemic as they also live on the mainland (all 4 have large ranges in Africa), and most species have branching times much older than the island age of Zanzibar (45.725, 16.135, 9.590, and 0.689 Myr; Zanzibar Island age = 4 Myr). However, when applying the _extract_island_species(phylod = phylod, extractionmethod = "asr") function on the phylod object, these four species get joined into a single colonizing lineage which is then marked as endemic in the island_tbl. This is incorrect based on biological knowledge. When I use the "min" algorithm instead, this problem does not occur. This is the code I used for the asr:
Later on in my script, when using the _create_daisiedata() function on this dataset, the four species are separated again into 4 separate lineages. All four of these species are then named differently (_Nycteris_macrotis1, _Nycteris_macrotis2, _Nycteris_macrotis3, and _Nycteris_macrotis4) and are saved as endemic species in the DAISIE data list (stac value 5).
I suspect that the problem is based in the asr method that I am using, but I am not sure. It would be great if this can be solved by users in the future through DAISIEprep.
Below a snippet from the phylogeny that I am using, showing all Nycteris species included in the tree (species in my checklist are indicated by the green boxes).
Maybe helpful: the output plots (from _DAISIE_plotisland function). When setting island_age = 4 Myr, we get: When setting island_age = 50 Myr (hypothetical, to get idea of the issue here), we get: