⌛ 2 hour
Rosewoods are the world’s most illegally trafficked wild product, which amounts to ~40% of the global illegal wildlife trade (more than all animal products added together). They are notoriously called the bloodwood, because the conflicts between the local poachers, often driven from extreme poverty, and the forest rangers cause bloodsheds.
We want to save this species and alleviate the poverty at the same time. We are teaching local people how to source seeds, grow them, and generate income. NGOs and governments buy these trees for restoration projects.

These all sound fantastic. However, it is known that traditionally forest conservation programmes ignore the standing genetic diversity and create genetic bottlenecks in the germplasms, for example, by sourcing seeds that are genetically closely related.
<aside> 💡 In this activity, we will analyse microsatellite data from a previous study by Hartvig et al. (2017) Ecol Evol to achieve these objectives:
<aside> 💌 I wish to thank Prof Ida Hartvig (Copenhagen) and many collaborators for the rosewood project.
</aside>
<aside> 📥 Download
</aside>
[ ] First, investigate the rosewood.csv using a simple spreadsheet software (e.g. Excel). This is known as a GenAlEx format.
rosewood.csv store these metadata?A and B). Also note that D1 (above ANG) and E1 (above BAN) say 4 and 28 respectively. What could those numbers mean?[ ] We will now start our session in R.
rosewood <- read.genalex("rosewood.csv")
rosewood
What does it tell you? Do they match with what you observed from above?
[ ] Now retrospectively thinking, are 9 loci really sufficient? We will compute a genotype accumulation curve to assess the power for discriminating between unique individuals given a random sample of $n$ loci.
# For each number of loci (1, 2, 3...), randomly sample 1000 times to create the distribution of number of MLGs.
gac <- genotype_curve(rosewood, sample = 1000, quiet = TRUE)
[ ] We will do some final checks on the data quality. We want to check if there are any loci with very rare alleles.
(rw_lt <- locus_table(rosewood))
[ ] We also want to check if there are any loci with too much missing data.
info_table(rosewood, type = "missing", plot = T)
poppr().
?poppr to check out the description and syntax of this function.