-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.json
1 lines (1 loc) · 103 KB
/
index.json
1
[{"authors":null,"categories":[],"content":"As part of my postdoctoral position at University of California, Davis, I had the pleasure of teaching the Marine Genomics course, originally developed by one of my fellow Bay Lab postdocs, Serena Caplins.\nIn this course, we introduce undergraduates to a suite of bioinformatic techniques used to analyse marine genomic data to answer questions pertaining to population differentiation, gene flow, genotype-phenotype associations, and genotype-environment associations.\nThe course was developed so that students needed no previous experience with bash/Unix or R. We suggest that the course is run with the following per week: a ~1.5 hr class with a brief lecture followed by a live coding demonstration of the weeks material, plus another ~1hr class where the students can go through the exercises on their own.\nI\u0026rsquo;m very fortunate to have taught this course with an amazing set of co-instructors and TAs: Dr. Tali Magory Cohen, Leslie Guerrero, and Brooke Benson.\nBelow is the webpage for the course, as well as the link to the github used to create the course webpage.\nHappy coding!\n~\nhttps://baylab.github.io/MarineGenomics2022/\nhttps://github.com/BayLab/MarineGenomics2022\n","date":1651881600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1651881600,"objectID":"749d4f22441e242c33520374386ea842","permalink":"https://esnielsen.github.io/post/mar-gen-22/","publishdate":"2022-05-07T00:00:00Z","relpermalink":"/post/mar-gen-22/","section":"post","summary":"As part of my postdoctoral position at University of California, Davis, I had the pleasure of teaching the Marine Genomics course, originally developed by one of my fellow Bay Lab postdocs, Serena Caplins.\nIn this course, we introduce undergraduates to a suite of bioinformatic techniques used to analyse marine genomic data to answer questions pertaining to population differentiation, gene flow, genotype-phenotype associations, and genotype-environment associations.\nThe course was developed so that students needed no previous experience with bash/Unix or R.","tags":[],"title":"2022 Marine Genomics Course","type":"post"},{"authors":null,"categories":null,"content":"While conducting my postdoc at UC Davis, I\u0026rsquo;ve had the pleasure of working with folks at the UC Davis Bodega Bay Marine Lab, and the occasional visit out the their beautiful facility.\nI also was asked to give one of the John and Mary Louise Riley seminars, which was my first in-person talk after 2020 pandemic times. As such, I wanted to try something different, incorporating my SciComm background, which led to this talk below where I describe my PhD work as a TV series pitch!\nHope you enjoy!\n ","date":1649946774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1649946774,"objectID":"aa8bf946988da1d4fd57be3071bfbadc","permalink":"https://esnielsen.github.io/project/bml.talk/","publishdate":"2022-04-14T16:32:54+02:00","relpermalink":"/project/bml.talk/","section":"project","summary":"While conducting my postdoc at UC Davis, I\u0026rsquo;ve had the pleasure of working with folks at the UC Davis Bodega Bay Marine Lab, and the occasional visit out the their beautiful facility.\nI also was asked to give one of the John and Mary Louise Riley seminars, which was my first in-person talk after 2020 pandemic times. As such, I wanted to try something different, incorporating my SciComm background, which led to this talk below where I describe my PhD work as a TV series pitch!","tags":null,"title":"A gripping tale of evolution and conservation","type":"project"},{"authors":null,"categories":null,"content":"In early 2022, University of California, Davis, held a SciArt contest, which myself and a fellow UCD postdoc, Joanna Griffiths decided to enter.\nI had just returned from a sampling trip on Catalina Island, where one of our hosts at the Wrigley Marine Center had described his career path, in which he began as a technician for a company which harvested horseshoe crab blood. Having this story as a recent memory, I suggested that we create a horseshoe crab piñata, and have it stuffed with blue pom poms/ribbons to represent the blue blood!\nAfter many nights of cutting cardboard, tapping balloons, laying paper maché, and pasting tissue paper, Hershel the horseshoe crab piñata was born!\nBelow is the video entry for the SciArt contest. Sadly, Hershel did not win any prizes, but we were up against some amazing artists! See the winners of the contest here.\nHershel also got to make an appearance on the Chelicerata table of the Biology Departments \u0026lsquo;Tree of Life\u0026rsquo; exhibit on the 2022 UC Davis Open Day. Below is a photo of Hershel doing what he does best-generating excitement about science and marine invertebrates!\n ","date":1644849174,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1644849174,"objectID":"3075f67310bcc889223f87e459f2e3a3","permalink":"https://esnielsen.github.io/project/hershel/","publishdate":"2022-02-14T16:32:54+02:00","relpermalink":"/project/hershel/","section":"project","summary":"Science communication meets piñata art!","tags":null,"title":"Hershel the Horseshoe crab","type":"project"},{"authors":null,"categories":null,"content":"Below is an article that a group of colleagues and myself wrote for Frontiers for Young Minds. This is a scientific journal aimed at making cutting-edge science available to younger audiences, and it does so by inviting scientists to submit articles which are then reviewed by kids! They have two types of articles: New Discoveries \u0026amp; Core Concepts.\nHere we chose to write a Core Concept article which focusses on the importance of genetic diversity in wild populations. Myself and fellow co-authors aimed to describe the field of Conservation Genetics in an easily digestible way, which included giving many examples and analogies! We wanted the young readers to walk away with an appreciation for genetic diversity, and why it is just as important to protect as species-level biodiversity. I was personally involved in creating the Florida panther example and Fig. 3, which I am pretty happy with!\nPlease share and let me know what you think!\nFind the article here.\n","date":1637591574,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1637591574,"objectID":"fd92e00956365b024e6518534e2637fe","permalink":"https://esnielsen.github.io/project/ffym.article/","publishdate":"2021-11-22T16:32:54+02:00","relpermalink":"/project/ffym.article/","section":"project","summary":"What is Genetic Diversity and Why Does it Matter?","tags":null,"title":"Frontiers for Young Minds article","type":"project"},{"authors":null,"categories":null,"content":"Below is the article colleague Sam Walkes and myself wrote for The Conversation about our work at UC Davis. It highlights how we are combining ecological and evolutionary theories and techniques to understand how coastal species may respond to marine heatwaves, which are bound to become more common and intense as global warming continues.\nEver since starting my PhD and making science communication videos, I\u0026rsquo;ve wanted to branch out with my communications and delve into written media. But I will let you know, this type of media has scared me for a long time, as I find writing short science articles to be captivating but not cheesy very difficult. I\u0026rsquo;ve also realised that creating science communication is more fulfilling when working with others, and found that I could more readily step out of my writing comfort zone once it was a collaboration. Plus the editors at the Conversation are fabulous and super helpful towards academic-inclined writers such as myself!\nHere\u0026rsquo;s the article- happy reading!\n","date":1634913174,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1634913174,"objectID":"06d182545ac6e0cd0e5f9210f7b3abe5","permalink":"https://esnielsen.github.io/project/the.conversation/","publishdate":"2021-10-22T16:32:54+02:00","relpermalink":"/project/the.conversation/","section":"project","summary":"Science communication article on species' responses to marine heatwaves","tags":null,"title":"The Conversation article","type":"project"},{"authors":null,"categories":null,"content":"Below is my oral presentation at the 2021 International Congress for Conservation Biology, in which I describe multiple ways that genetic and genomic information can be including into spatial planning tools such as Marxan.\nThis was my first time attending ICCB, and overall I really enjoyed it. I appreciated the diversity of conservation topics offered, as well as the diversity of speakers from around the world! Plus there were MULTIPLE sessions relating to conservation genetics!\nI especially enjoyed the session titled \u0026ldquo;Pathways to trusted \u0026amp; meaningful relationships between conservation geneticists \u0026amp; practitioners\u0026rdquo;. Here the speakers highlighted how genetic data lag behind other biodiversity data types in being included into conservation actions, often because the data is inaccessibile or is difficult to understand. One of the solutions to this is the co-creation of genetic data between scientists and practitioners, which means that the project should include both parties from the development to implementation of the project. The speakers also highlight how we need to be transparent about the relevance of genetic data, as it might not always be the best tool for the conservation problem at hand. Finally, we need to communicate the uncertainties around different molecular data types. One of the speakers mentioned how she told a conservation practitioner that there was currently no structure between populations with microsatellite data, but this may change if they use genomic SNP markers, to which they agreed that if that is the case, then they will adapt the management plan to accommodate the new information. Yet many areas will need to build local capacity for this type of adaptive management.\nMy talk was within the session titled \u0026ldquo;Spatial planning with Marxan: Advances in biodiversity conservation in Africa\u0026rdquo;. Here I describe some work from my graduate studies in South Africa, which aimed to conserve the evolutionary potential of coastal species by integrating molecular approaches in spatial planning exercises. Enjoy!\n ","date":1629642774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1629642774,"objectID":"d7caf27be03941f294f8e13780b8a837","permalink":"https://esnielsen.github.io/project/iccb.21/","publishdate":"2021-08-22T16:32:54+02:00","relpermalink":"/project/iccb.21/","section":"project","summary":"My presentation at the 2021 International Congress for Conservation Biology","tags":null,"title":"ICCB 2021 Talk","type":"project"},{"authors":null,"categories":null,"content":"In the time between completing my PhD and starting my postdoc, I was doing some freelance science communication work (which I found on the UpWork site for anyone interesting in freelance work).\nOne of the jobs I had was creating ~5 minute videos explaining biology topics at the first-year university level. To see some of my work, click on the links below!\n ","date":1628001174,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1628001174,"objectID":"78e4361c87a528f71c0d69c13384c586","permalink":"https://esnielsen.github.io/project/geeklyedu/","publishdate":"2021-08-03T16:32:54+02:00","relpermalink":"/project/geeklyedu/","section":"project","summary":"University level videos explaining biology snippets","tags":null,"title":"GeeklyEDU Biology Videos","type":"project"},{"authors":["ES Nielsen","R Henriques","M Beger","S von der Heyden"],"categories":null,"content":"","date":1627768800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1627768800,"objectID":"95d87991a02593e5ff3a6fa2b3834b47","permalink":"https://esnielsen.github.io/publication/gcb.2021/","publishdate":"2021-08-01T00:00:00+02:00","relpermalink":"/publication/gcb.2021/","section":"publication","summary":"Characterising and predicting species responses to anthropogenic global change is one of the key challenges in contemporary ecology and conservation. The sensitivity of marine species to climate change is increasingly being described with forecasted species distributions, yet these rarely account for population level processes such as genomic variation and local adaptation. This study compares inter-and intraspecific patterns of biological composition to determine how vulnerability to climate change, and its environmental drivers, vary across species and populations. We compare species trajectories for three ecologically important southern African marine invertebrates at two time points in the future, both at the species level, with correlative species distribution models, and at the population level, with gradient forest models. Reported range shifts are species-specific and include both predicted range gains and losses. Forecasted species responses to climate change are strongly influenced by changes in a suite of environmental variables, from sea surface salinity and sea surface temperature, to minimum air temperature. Our results further suggest a mismatch between future habitat suitability (where species can remain in their ecological niche) and genomic vulnerability (where populations retain their genomic composition), highlighting the inter-and intraspecific variability in species’ sensitivity to global change. Overall, this study demonstrates the importance of considering species and population level climatic vulnerability when proactively managing coastal marine ecosystems in the Anthropocene.","tags":[],"title":"Distinct interspecific and intraspecific vulnerability of coastal species to global change","type":"publication"},{"authors":[],"categories":[],"content":"Population structure \u0026amp; outlier detection for Pool-seq data This tutorial will discuss how to call SNPs and assess population structure from Pool-Seq data. Specifically, it will go through how to take a sync file from Popoolation, call SNPs with PoolFstat, filter SNPs to account for linkage disequilibrium, and infer population differentiation and identify outliers with BayPass.\nTo start, we need a sync file, which I generated using Popoolation2.\nWe will use this as the input for PoolFstat.\nNote in all of the scripts below I will have the heading ‘SG’ just to indicate the species name.\n################################# USING POOLFSTAT ############################### ################################################################################## library(poolfstat) library(\u0026quot;WriteXLS\u0026quot;) ##### Convert sync file to poolfstat file, and call SNPS # We first have to give haploid sizes of each pool. Here, I had mostly 40 individuals per pool, and since I am working with diploid species, we multiply that by 2, to get 80 individuals for most pools. psizes \u0026lt;- as.numeric(c(\u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;78\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;80\u0026#39;, \u0026#39;60\u0026#39;)) # Then we give the names of each pool/sample. pnames \u0026lt;- as.character(c(\u0026#39;PN\u0026#39;, \u0026#39;HB\u0026#39;, \u0026#39;BB\u0026#39;, \u0026#39;LB\u0026#39;, \u0026#39;JB\u0026#39;, \u0026#39;SP\u0026#39;, \u0026#39;BT\u0026#39;, \u0026#39;CA\u0026#39;, \u0026#39;MB\u0026#39;, \u0026#39;KY\u0026#39;, \u0026#39;CF\u0026#39;, \u0026#39;PA\u0026#39;, \u0026#39;HH\u0026#39;, \u0026#39;HL\u0026#39;)) # Here is where we read the sync file and call SNPs. The input file must have the \u0026#39;.sync\u0026#39; extension, and can also be gzipped, like in the example below. The parameters to note are: #1) min.rc = the minimum # reads that an allele needs to have (across all pools) to be called #2) min.cov.per.pool = the minimum allowed read count per pool for SNP to be called #3) max.cov.per.pool = the maximum read count per pool for SNP to be called #4) min.maf = the minimum allele frequency (over all pools) for a SNP to be called (note this is obtained from dividing the read counts for the minor allele over the total read coverage) #5) nlines.per.readblock = number of lines in sync file to be read simultaneously SG.pooldata \u0026lt;- popsync2pooldata(sync.file = \u0026quot;SG.dn.b.sync.gz\u0026quot;, poolsizes = psizes, poolnames = pnames, min.rc = 4, min.cov.per.pool = 20, max.cov.per.pool = 400, min.maf = 0.01, noindel = TRUE, nlines.per.readblock = 1e+06) ##### From this file we can compute global and per SNP FSTs SG.snp.fsts \u0026lt;- computeFST(SG.pooldata, method = \u0026quot;Anova\u0026quot;, snp.index = NA) ##### And we can compute pairwise FSTs SG.pair.fst \u0026lt;- computePairwiseFSTmatrix(SG.pooldata, method = \u0026quot;Anova\u0026quot;, min.cov.per.pool = 20, max.cov.per.pool = 400, min.maf = 0.01, output.snp.values = FALSE) ##### If you want to save the pairwise matrix, you can do the following: SG.p.fst \u0026lt;- SG.pair.fst$PairwiseFSTmatrix SG.p.fst \u0026lt;- as.data.frame(SG.p.fst) WriteXLS(SG.p.fst, \u0026quot;SG.p.fst.xls\u0026quot;) ###### Next, we will convert the poolfstat file to BayPass input files #### Here you get three output files = genobaypass (allele counts), poolsize (haploid size per pool), \u0026amp; snpdet (snp info matrix). These will automatically be written in your working directory. Note the subsample size here can be used to sample to a smaller number of SNPs. If the subsample size is \u0026lt;0, then all SNPs are included in the BayPass files. pooldata2genobaypass(SG.pooldata, writing.dir = getwd(), subsamplesize = -1) From here, you may want to filter the SNP dataset to account for linkage disequilibrium. If so, you can use this custom script that randomly selects one SNP per every 1000 base pairs along each contig:\n################################# LD PRUNING ############################### ################################################################################## # To run the script below, you need to take the snpdet output from the poolfstat2baypass command above, and give the columns headers. Importantly, the first column must be titled \u0026quot;scaffold\u0026quot; and the second column must be titled \u0026quot;pos\u0026quot; (these are the contig and position columns).Here I called this file \u0026#39;snpdet.pruning.txt\u0026#39; # Read input file data\u0026lt;-read.table(\u0026quot;snpdet.pruning.txt\u0026quot;,sep=\u0026quot;\\t\u0026quot;,header=T) # Initiate data for LD pruning data_LD\u0026lt;-NULL # Window for LD pruning, here at 1000 bp (select 1 SNP per 1000 base pairs) window\u0026lt;-1000 # Print every unique contig, and for every contig, randomly subsample 1 SNP per 1000 bp window scaffold_ID\u0026lt;-unique(data$scaffold) for(i in 1:length(scaffold_ID)){ print(scaffold_ID[i]) subset\u0026lt;-data[which(data$scaffold==scaffold_ID[i]),] for(j in 0:10){ print(window*j+1) subset_bin_i\u0026lt;-subset[which(subset$pos\u0026gt;=window*j \u0026amp; subset$pos\u0026lt;=window*(j+1)),] random\u0026lt;-sample(1:length(subset_bin_i[,1]),1) subsubset\u0026lt;-subset_bin_i[random,] data_LD\u0026lt;-rbind(data_LD,subsubset) } } # Get the unique LD pruned SNP list uniq.LD \u0026lt;- unique(data_LD) # Write to excel file WriteXLS(uniq.LD, \u0026quot;SG.LD.list.xls\u0026quot;) ####### SUBSET BAYPASS FILE ########### # Here we are going to filter our BayPass input files to now only relate to the LD-pruned SNPs. To do this, we first need to combine the .genobaypass and .snpdet outptut files from above. So in excel or text editor, have the first columns relate to the .snpdet output, then add the .genobaypass columns following. In other words, your input file here is the contig position, allele states, and then allele counts. Make sure the columns do not have headers. Here I called this file \u0026#39;SG.snpdet.geno.txt\u0026#39; library(dplyr) # Read the .genobaypass/.snpdet file type explained above, relating to all SNPs snp.data\u0026lt;-read.table(\u0026quot;SG.snpdet.geno.txt\u0026quot;,sep=\u0026quot;\u0026quot;,header=F) # Read your LD SNP list. To make this text file, I just took the first two columns of the SG.LD.list excel file just created, and turned that into a text file. So basically a text file with first column being contig, and second column being position for all LD-pruned SNPs (but with no column headers) ld.data\u0026lt;-read.table(\u0026quot;SG.LD.index.txt\u0026quot;,sep=\u0026quot;\\t\u0026quot;,header=F) # Filter the list of all SNPs to now only list the LD pruned SNPs snp.data.f \u0026lt;- dplyr::inner_join(snp.data, ld.data) # Write out as new file, and then from there you can split back up into new .snpdet and .genobaypass input files write.table(snp.data.f, file=\u0026quot;SG.LD.snpdet.geno.txt\u0026quot;, col.names = F, row.names= F, quote = F) Now we are ready to input our LD-pruned BayPass files into BayPass. Here we will use a combination of bash and R scripts to run through BayPass analyses. I will briefly show the main commands used in the bash scripts, and explain how they are used in combination with the R scripts.\nThe first step is to make sure you have compiled BayPass and have it with all of your input files in your working directory (not in R directory but Terminal type of program). Then you need to understand which of the model types you want to run. The standard core model is used to asses population structure, and identify outlier SNPs using a ‘FST type approach’. Alternatively, the auxiliary covariate model can be used to identify outlier SNPs using a ‘GEA type approach’, similar to BayEnv. Here we will just use the core model. The bash script will look something like this:\ng_baypass -npop 14 -gfile SG.genobaypass -poolsizefile SG.poolsize -d0yij 8 -outprefix SG.BP -npilot 100\nHere’s some parameter explanations:\n-npop = number of pools\n-gfile \u0026amp; -poolsizefiles are relating to your input file names\n-d0yij = is something to do with the initial read counts and their distribution seeded into the model, and is specifically for Pool-seq data. I followed the tip in the manual that says to set it to 1/5th of the minimum pool size\n-outprefix = the header of the output files\n-npilot = number of pilot runs\nSo after you run the above, you should then get a number of output files. What we will need for the next part in R, is the following: ’_mat_omega.out’, ’_summary_beta_params.out’, ’_summary_pi_xtx.out’. You also need to make sure you have the ‘baypass_utils.R’ R code that comes with the program, as we will be running some of these scripts now.\nNow we will go into R, to both visualize the results, but also to create the pseudo observation dataset (POD), which will be used to identify outlier SNPs.\n################################# BAYPASS CREATE POD ############################### ################################################################################## source(\u0026quot;baypass_utils.R\u0026quot;) require(corrplot) ; require(ape) library(WriteXLS) # Read omega matrix BayPass output SG.omega=as.matrix(read.table(\u0026quot;SG.BP_mat_omega.out\u0026quot;)) # Identify pool names for plotting colnames(SG.omega) \u0026lt;- c(\u0026quot;PN\u0026quot;,\u0026quot;HB\u0026quot;,\u0026quot;BB\u0026quot;,\u0026quot;LB\u0026quot;,\u0026quot;JB\u0026quot;,\u0026quot;SP\u0026quot;,\u0026quot;BT\u0026quot;,\u0026quot;CA\u0026quot;,\u0026quot;MB\u0026quot;, \u0026quot;KY\u0026quot;,\u0026quot;CF\u0026quot;,\u0026quot;PA\u0026quot;,\u0026quot;HH\u0026quot;, \u0026quot;HL\u0026quot;) rownames(SG.omega) \u0026lt;- c(\u0026quot;PN\u0026quot;,\u0026quot;HB\u0026quot;,\u0026quot;BB\u0026quot;,\u0026quot;LB\u0026quot;,\u0026quot;JB\u0026quot;,\u0026quot;SP\u0026quot;,\u0026quot;BT\u0026quot;,\u0026quot;CA\u0026quot;,\u0026quot;MB\u0026quot;, \u0026quot;KY\u0026quot;,\u0026quot;CF\u0026quot;,\u0026quot;PA\u0026quot;,\u0026quot;HH\u0026quot;, \u0026quot;HL\u0026quot;) # Create a correlation matrix of the omega values, which can be used to assess genomic differentiation between pools cor.mat=cov2cor(SG.omega) corrplot(cor.mat,method=\u0026quot;color\u0026quot;,mar=c(2,1,2,2)+0.1, main=expression(\u0026quot;Correlation map based on\u0026quot;~hat(Omega))) # We can also assess population differentiation with hierarchical clustering: bta14.tree=as.phylo(hclust(as.dist(1-cor.mat**2))) plot(bta14.tree,type=\u0026quot;p\u0026quot;, main=expression(\u0026quot;Hier. clust. tree based on\u0026quot;~hat(Omega)~\u0026quot;(\u0026quot;*d[ij]*\u0026quot;=1-\u0026quot;*rho[ij]*\u0026quot;)\u0026quot;)) # Read the xtx BayPass output SG.snp.res=read.table(\u0026quot;SG.BP_summary_pi_xtx.out\u0026quot;,h=T) # Get the Pi Beta distribution for POD generation SG.pi.beta.coef=read.table(\u0026quot;SG.BP_summary_beta_params.out\u0026quot;,h=T)$Mean # Upload original data to get read counts SG.data\u0026lt;-geno2YN(\u0026quot;SG.genobaypass\u0026quot;) # Simulate POD dataset to use for outlier SNP detection simu.SG \u0026lt;-simulate.baypass(omega.mat=SG.omega,nsnp=10000,sample.size=SG.data$NN, beta.pi=SG.pi.beta.coef,pi.maf=0,suffix=\u0026quot;SG.BP.sim\u0026quot;) ## 1000 SNP simulated out of 10000 ## 2000 SNP simulated out of 10000 ## 3000 SNP simulated out of 10000 ## 4000 SNP simulated out of 10000 ## 5000 SNP simulated out of 10000 ## 6000 SNP simulated out of 10000 ## 7000 SNP simulated out of 10000 ## 8000 SNP simulated out of 10000 ## 9000 SNP simulated out of 10000 ## 10000 SNP simulated out of 10000 The above R script will give you new BayPass input files with the suffix of ‘SG.BP.sim’. We will now run BayPass again with these new gfile, using a bash script such as:\ng_baypass -npop 14 -gfile G.SG.BP.sim -poolsizefile SG.poolsize -d0yij 8 -outprefix SG.BP.sim -npilot 100\nAfter we have re-run BayPass with the simulated POD input files, we will come back into the R workspace.\n################################# BAYPASS GET OUTLIERS ############################### ################################################################################## source(\u0026quot;baypass_utils.R\u0026quot;) library(WriteXLS) # Read the new omega matrix and compare to original. Here you want similar values between the two SG.pod.omega=as.matrix(read.table(\u0026quot;SG.BP.sim_mat_omega.out\u0026quot;)) plot(SG.pod.omega,SG.omega) ; abline(a=0,b=1) # Get the Forstner and Moonen Distance (FMD) between simulated and original posterior estimates (here a smaller value is better) fmd.dist(SG.pod.omega,SG.omega) ## [1] 1.028579 # Look at POD xtx values, and identify SNPs where the xtx values are above the 99% significance threshold from the POD. So in the plot, it is those loci (dots) which are above the abline SG.pod.xtx=read.table(\u0026quot;SG.BP.sim_summary_pi_xtx.out\u0026quot;,h=T)$M_XtX SG.pod.thresh=quantile(SG.pod.xtx,probs=0.99) plot(SG.snp.res$M_XtX) abline(h=SG.pod.thresh,lty=2) # Obtain the xtx threshold. Any SNPs with an xtx value greater than this are identified as outlier SNPs SG.pod.thresh ## 99% ## 18.82108 # Here I just saved the xtx values per SNP list, and then in excel/text editor filtered out the SNPs with an xtx greater than the threshold value as outliers. SG.snp.scores \u0026lt;- as.data.frame(SG.snp.res$M_XtX) write.table(SG.snp.scores, file=\u0026quot;SG.snp.scores.txt\u0026quot;, sep=\u0026quot;\\t\u0026quot;) From here you can also run the auxiliary model in BayPass to identify outliers associated with environmental variables. To do this, you do not need to run the R code above, but rather simply run another version of the bash script, and identify outliers based on their Bayes Factor values (i.e. SNPs with dB \u0026gt; 20, from the dB column of the *_summary_betai_reg.out output file).\nI hope this tutorial helps my fellow Pool-Seq peeps! I know there are probably more eloquent ways to run these analyses, but this should at least get the job done. As always, feel free to contact me if you have any questions :)\nHappy analyzing!\n ","date":1607212800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1607212800,"objectID":"8b13af47ecda4759b78308b29dfd454c","permalink":"https://esnielsen.github.io/post/pool-seq-analyses-poolfstat-baypass/","publishdate":"2020-12-06T00:00:00Z","relpermalink":"/post/pool-seq-analyses-poolfstat-baypass/","section":"post","summary":"Population structure \u0026amp; outlier detection for Pool-seq data This tutorial will discuss how to call SNPs and assess population structure from Pool-Seq data. Specifically, it will go through how to take a sync file from Popoolation, call SNPs with PoolFstat, filter SNPs to account for linkage disequilibrium, and infer population differentiation and identify outliers with BayPass.\nTo start, we need a sync file, which I generated using Popoolation2.\nWe will use this as the input for PoolFstat.","tags":[],"title":"Pool-Seq Analyses: PoolFstat \u0026 BayPass","type":"post"},{"authors":null,"categories":null,"content":"Below is my oral presentation at the 2020 International Marine Conservation Congress, in which I condense my PhD into a ten minute talk (which is a great science communication exercise!).\nThis was my first online conference, which I really enjoyed because if you missed anything you could watch it later, asking questions wasn\u0026rsquo;t as intimidating as in person, and talks were spread out over two weeks which made the whole experience less draining than an in person conference! As I mention in my talk, online is definitely the future of conservation conferences!\nBut of course with Murphy\u0026rsquo;s law, we had unexpected power cuts right before my talk, and so thankfully everything was charged and it was daytime (but my stress levels still went way up)! This experience showed me that even though online conferences make it much easier for those in the Global South and developing countries to attend, there are still biases that occur, such as access to electricity and internet, which still need to be addressed for fully equitable conferences in the future.\nHere\u0026rsquo;s to making science and research more accessible to all. Hope you enjoy!\n ","date":1598106774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1598106774,"objectID":"747ad613db56d6fb0694e27465fe6fb4","permalink":"https://esnielsen.github.io/project/imcc6.talk/","publishdate":"2020-08-22T16:32:54+02:00","relpermalink":"/project/imcc6.talk/","section":"project","summary":"My presentation at the 2020 International Marine Conservation Congress","tags":null,"title":"IMCC6 Talk","type":"project"},{"authors":null,"categories":null,"content":"During the COVID-19 pandemic, I have spent a lot of time trying to reflect and reconnect. Many of us are having conversations with those we haven\u0026rsquo;t spoken to in a while, and discussing topics we normally wouldn\u0026rsquo;t.\nAs a self-proclaimed \u0026lsquo;Climate Change Person\u0026rsquo;, I am often looking to have conversations with regards to what I believe is the greatest threat our species and planet are facing (aka the climate crisis/6th mass extinction/human-induced snowballing interactions of doom). And even though we are currently in a pandemic worth talking about, I still find myself wanting to talk about COVID-19 and the chaos it has created in relation to the climate crisis.\nThat being said, I rarely find myself actually having climate conversations. And it seems like I am not alone. Only 19% of Americans discuss the climate crisis least once a month. After seeing this, I asked myself \u0026ldquo;WHY?\u0026rdquo;. Then, I answered myself (I talk to myself a lot), \u0026ldquo;Because it\u0026rsquo;s not like I can just bring it up easily.\u0026rdquo;\nWe often think talking about the climate crisis has to be in a formal, direct, and emotionally heated manner. But it can start with a simple question. Below are some questions I came up to help myself jumpstart conversations, and hopefully they will reach and help some fellow climate conversationalist wanna-bes as well. Because in the words of Voltaire, \u0026lsquo;Judge a man by his questions rather than his answers\u0026rsquo;.\nQuestions to lead into climate change discussion:\nWhat is your favorite plant/animal? Why? Have you seen it in the wild?\nWhat is your favorite memory in nature?\nWould you rather explore the deep ocean or the densest forests?\nDo you think we should spend money on restoring Earth or colonizing new planets?\nWhat is your favorite disaster movie? Do you think natural disasters are getting worse?\nWhat do you think the benefits/dangers of current technology are? Do you think technology is helping or hurting our relationship with nature?\nIf you could make any change to the Earth, what would it be?\nWhat do you think is the biggest problem we will face in the future? What do you think is the biggest problem we have faced in the past?\nHow far do you think the influences of your actions go?\nHave you ever experienced fake news? What was it? How did you find out?\nWhat are your hopes for your children?\nWhat do you value most about nature?\nWhat would you say your privileges are? How can you use them to help those that are under-privileged?\nWhen was the last time you were influenced by something/someone?\nWhere do you get your information about the world?\nWhat do you want your legacy to be?\nWhat is your relationship with food?\nWhat kind of traditions do you practice, and what role do they play in your life? Do you think traditions should adapt with new generations?\nWhat freedoms are you thankful for?\nQuestions once on the topic of climate change:\nDo you think humans have a moral responsibility to protect other living things?\nHow do you think we ended up in this climate crisis? What actions do you think led us here and why?\nWhat is your relationship with nature/the climate? How do you think that relationship will look like in the future?\nWhat are the things you think humanity is doing right?\nDo you think we as humans are part of ecosystems? Or are we in control of them?\nWhat is something you want to learn more about with regards to nature/climate?\nWhat emotions come up when you think about our history/future on Earth?\nWhat are some changes you want to make but are struggling to? What do you think are the biggest roadblocks to creating change?\nDo you worry about climate change? Why/why not? Why do you think some people may think the opposite?\nDo you feel guilty about doing anything which is bad for the environment? Have others made you feel guilty? Do you think you have made others feel guilty?\nWhat actions should we take for a better future / to re-create how things were in the past?\nWhat systems need to change the most to tackle the climate crisis?\nWhat do you think your individual role is in taking action against the climate crisis? What sacrifices would you need to make to fulfill this role?\nWhat are some changes you\u0026rsquo;ve seen in your hometown with regards to the climate? Has it affected your life? Do you think it will in the future?\nWhat jobs do you think are the most important now/will be the most important in the future?\nWhat are actions you want to take to be more environmentally friendly? Where did you learn about these? What are some you\u0026rsquo;ve made in the past? What moved you to make them?\n??????\nAnd that\u0026rsquo;s all I came up with for now! Feel free to add your own and share with the hashtag: #TalkClimate2Me\nHappy discussing :)\n","date":1587565974,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587565974,"objectID":"7722cd30c1495c8b8ce9e726fa123967","permalink":"https://esnielsen.github.io/project/climate.convos/","publishdate":"2020-04-22T16:32:54+02:00","relpermalink":"/project/climate.convos/","section":"project","summary":"Questions to sparks climate change conversations","tags":null,"title":"TalkClimate2Me questions","type":"project"},{"authors":null,"categories":[],"content":"Coastal Species Distribution Models This tutorial will discuss how to run Species Distribution Models (SDMs) on coastal species using biomod2 in R. In this example we will use models to estimate the probability of occurence at two timepoints: present day and the Last Glacial Maximum (LGM). You can do the same with more time points, into the past and/or future.\nWe will obtain the predictor environmental variables from Bio-Oracle with the R package sdmpredictors. Since I work on intertidal species, I want to include both terrestrial and marine environmental variables. We will first load and stack the layers.\nIt is also important to only include variables that are available at both time points you want to model.\nlibrary(sdmpredictors) # Download present day environmental variables #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #download terrestrial features (Temp_max, Temp_min, Temp_range) terr \u0026lt;- load_layers( layercodes = c(\u0026quot;WC_bio5\u0026quot;, \u0026quot;WC_bio6\u0026quot;, \u0026quot;WC_bio7\u0026quot;) , equalarea=FALSE, rasterstack=TRUE) #download marine features mar \u0026lt;- load_layers( layercodes = c(\u0026quot;MS_biogeo08_sss_mean_5m\u0026quot;, \u0026quot;MS_biogeo13_sst_mean_5m\u0026quot;) , equalarea=FALSE, rasterstack=TRUE) #check the chacteristics of each raster stack terr ## class : RasterStack ## dimensions : 1800, 4320, 7776000, 3 (nrow, ncol, ncell, nlayers) ## resolution : 0.08333333, 0.08333333 (x, y) ## extent : -180, 180, -60, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 ## names : WC_bio5, WC_bio6, WC_bio7 ## min values : -7.3, -55.5, 5.3 ## max values : 48.9, 25.8, 72.5 mar ## class : RasterStack ## dimensions : 2160, 4320, 9331200, 2 (nrow, ncol, ncell, nlayers) ## resolution : 0.08333333, 0.08333333 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 ## names : MS_biogeo08_sss_mean_5m, MS_biogeo13_sst_mean_5m ## min values : -0.05, -2.00 ## max values : 40.43, 30.40 Notice how the two raster stacks have different dimensions. In order to stack our terrestrial and marine rasters, we will need to resample them to have the same dimensions.\n#Resample the marine by the terrestrial layers and stack into one raster stack t\u0026lt;-extent(-180, 180, -90, 90) #layer extent from terrestrial stack m\u0026lt;-extent(-180, 180, -90, 90) #layer extent from marine stack #no need to edit the following 6 lines extent_list\u0026lt;-list(t, m) extent_list\u0026lt;-lapply(extent_list, as.matrix) matrix_extent\u0026lt;-matrix(unlist(extent_list), ncol=length(extent_list)) rownames(matrix_extent)\u0026lt;-c(\u0026quot;xmin\u0026quot;, \u0026quot;ymin\u0026quot;, \u0026quot;xmax\u0026quot;, \u0026quot;ymax\u0026quot;) best_extent\u0026lt;-extent(min(matrix_extent[1,]), max(matrix_extent[3,]), min(matrix_extent[2,]), max(matrix_extent[4,])) ranges\u0026lt;-apply(as.matrix(best_extent), 1, diff) reso\u0026lt;-res(terr) #choose layer you want to keep resolution nrow_ncol\u0026lt;-ranges/reso s2\u0026lt;-raster(best_extent, nrows=nrow_ncol[2], ncols=nrow_ncol[1], crs=terr@crs) #choose layer crs you want to keep t.2 \u0026lt;-resample(terr, s2, method=\u0026quot;ngb\u0026quot;) #resample terr by s2 m.2 \u0026lt;-resample(mar, s2, method=\u0026quot;ngb\u0026quot;) #resample mar by s2 env=stack(t.2, m.2) #stack resampled layers # Set study extent SA.ext \u0026lt;- extent(10, 40, -37, -22) # Crop raster layer by extent \u0026amp; plot env.c \u0026lt;- crop(env, SA.ext) plot(env.c) Plotting the environmental layers should give you a figure such as the above. Now we have a single raster stack called ‘env’. We now need to remove highly correlated environmental variables.\nHere we will need to include our species presence data, which should include three columns: columns 1 \u0026amp; 2: x and y coordinates; column 3: presence (1) or absence (0) at each coordinate.\nTo check for variable collinearity, we will first extract the environmental data for each coordinate, create a correlation circle, and then calculate the variance inflation factor, or VIF.\n# Filter environmental variables to account for collinearity #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Import your presence data and plot pres.data \u0026lt;-read.table(\u0026quot;Cpunctatus.pres2.txt\u0026quot;,sep=\u0026quot;\\t\u0026quot;,header=T) plot(env.c$WC_bio5) points(pres.data[,1:2], pch=19, col=\u0026quot;black\u0026quot;) # Extract env values for our species locations: envdata \u0026lt;- extract(x=env.c, y=cbind(pres.data$x, pres.data$y)) # Run PCA and plot correlation circle # The `dudi.pca` function allows us to perform the PCA over the whole study area. We decide to keep only 2 principal component axes to summarize the whole environmental niche. NB: here be careful that none of your xy presence points are outside of the environmental raster layer, which will give NA values, which will give errors. library(ade4) pca1 \u0026lt;- dudi.pca(envdata, scannf = F, nf = 2) round(pca1$eig/sum(pca1$eig)*100, 2) ## [1] 54.97 28.58 12.85 3.60 # Plot the PCA to look for potential outliers in the environmental data. plot(pca1$li[,1:2]) # PCA scores on first two axes summary(pca1$li) ## Axis1 Axis2 ## Min. :-5.08541 Min. :-1.6900 ## 1st Qu.:-0.69014 1st Qu.:-0.9985 ## Median :-0.02031 Median :-0.3923 ## Mean : 0.00000 Mean : 0.0000 ## 3rd Qu.: 1.30403 3rd Qu.: 1.0404 ## Max. : 2.52228 Max. : 2.5989 # Plot a correlation circle. s.corcircle(pca1$co) # From the correlation circle, we want to select variables on different axes and not in the same/overlapping environmental space. If there are multiple variables in the same quadrant of the circle, we should choose the one with a longer arrow, as that means it varies more over the environmental space, which is preferred. However, it is also important to know which environmental features are more relevant to your study species, and to choose according to the ecology of each species. # A note on arrow directions: same direction = highly correlated, orthogonal (this means at a 90 degree angle) = unrelated, opposite directions = negatively correlated # From the plot, we can get rid of variable WC_bio6, and plot again. VARSEL \u0026lt;- c(\u0026quot;WC_bio5\u0026quot;, \u0026quot;WC_bio7\u0026quot;, \u0026quot;MS_biogeo08_sss_mean_5m\u0026quot;, \u0026quot;MS_biogeo13_sst_mean_5m\u0026quot;) #select variables we want to keep env.c.2 \u0026lt;- stack(subset(env.c, VARSEL)) #subset the rasterstack by the retained variables envdata \u0026lt;- extract(x=env.c.2, y=cbind(pres.data$x, pres.data$y)) pca1 \u0026lt;- dudi.pca(envdata, scannf = F, nf = 2) s.corcircle(pca1$co) # Additionally assess the correlation with VIF ## Calculate variance inflation factor (VIF). Generally you want to exclude variables with a VIF\u0026gt;10. library(usdm) vif(env.c.2) ## Variables VIF ## 1 WC_bio5 13.712553 ## 2 WC_bio7 5.311111 ## 3 MS_biogeo08_sss_mean_5m 2.367307 ## 4 MS_biogeo13_sst_mean_5m 9.803145 #Since WC_bio5 has VIF \u0026gt; 10, then we will remove to create a final environmental raster stack for our models. VARSEL2 \u0026lt;- c(\u0026quot;WC_bio7\u0026quot;, \u0026quot;MS_biogeo08_sss_mean_5m\u0026quot;, \u0026quot;MS_biogeo13_sst_mean_5m\u0026quot;) #select variables we want to keep env.c.3 \u0026lt;- stack(subset(env.c.2, VARSEL2)) # We can write the raster stack to save in the home directory. writeRaster(env.c.3, filename=\u0026quot;env.current.tif\u0026quot;, format=\u0026quot;GTiff\u0026quot;, overwrite=TRUE) Now that we have our final set of variables, we can download the same variables for the Last Glacial Maximum (LGM), 21,000 years ago. The environmental features from Bio-Oracle automatically include the lowered sea levels at the LGM which is nice.\nIt is generally good practice to include multiple climatic models. Here we will include two models: CCSM4 and MIROC. The oceanic layers are already an ensemble of multiple models, so we will use the ensemble without CCSM with the MIROC terrestrial layer, and the ocean model including CCSM with the CCSM terrestrial layer.\n# Download historical environmental data #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Load layers and make sure they are in the same order as your contemporary raster stack (WC_bio5, WC_bio7, SSS, SST) a.miroc.21 \u0026lt;- load_layers(layercodes = c(\u0026quot;WC_bio7_cclgm\u0026quot;), equalarea=FALSE, rasterstack=TRUE, datadir=NULL) a.ccsm.21 \u0026lt;- load_layers(layercodes = c(\u0026quot;WC_bio7_mrlgm\u0026quot;), equalarea=FALSE, rasterstack=TRUE, datadir=NULL) o.ens.adj.21 \u0026lt;- load_layers(layercodes = c(\u0026quot;MS_biogeo08_sss_mean_21kya_adjCCSM\u0026quot;, \u0026quot;MS_biogeo13_sst_mean_21kya_adjCCSM\u0026quot;), equalarea=FALSE, rasterstack=TRUE, datadir=NULL) o.ens.nc.21 \u0026lt;- load_layers(layercodes = c(\u0026quot;MS_biogeo08_sss_mean_21kya_noCCSM\u0026quot;, \u0026quot;MS_biogeo13_sst_mean_21kya_noCCSM\u0026quot;), equalarea=FALSE, rasterstack=TRUE, datadir=NULL) a.miroc.21.2 \u0026lt;-resample(a.miroc.21, s2, method=\u0026quot;ngb\u0026quot;) a.ccsm.21.2 \u0026lt;-resample(a.ccsm.21, s2, method=\u0026quot;ngb\u0026quot;) o.ens.adj.21.2 \u0026lt;-resample(o.ens.adj.21, s2, method=\u0026quot;ngb\u0026quot;) o.ens.nc.21.2 \u0026lt;-resample(o.ens.nc.21, s2, method=\u0026quot;ngb\u0026quot;) miroc.21 =stack(a.miroc.21.2, o.ens.nc.21.2 ) ccsm.21 =stack(a.ccsm.21.2, o.ens.adj.21.2 ) miroc.21.crop \u0026lt;- crop(miroc.21, SA.ext) ccsm.21.crop \u0026lt;- crop(ccsm.21, SA.ext) miroc.21.c \u0026lt;- stack(miroc.21.crop) ccsm.21.c \u0026lt;- stack(ccsm.21.crop) writeRaster(miroc.21.c, filename=\u0026quot;miroc.21.tif\u0026quot;, format=\u0026quot;GTiff\u0026quot;, overwrite=TRUE) writeRaster(ccsm.21.c, filename=\u0026quot;ccsm.21.tif\u0026quot;, format=\u0026quot;GTiff\u0026quot;, overwrite=TRUE) We are now ready to run our SDMs, using the package biomod2. We can use our environmental raster stack (for the present day) and presence data to create pseudo-absence data.\nlibrary(biomod2) # Create presence and absence data #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Convert the column named \u0026quot;PRESENCE\u0026quot; to a character class myResp\u0026lt;-as.numeric(pres.data$Cpunctatus) myRespName \u0026lt;- \u0026#39;Cpunctatus\u0026#39; # Create presence and pseudo absences SPC_PresAbs \u0026lt;- BIOMOD_FormatingData(resp.var = myResp, expl.var = env.c.3, resp.xy = pres.data[,c(\u0026#39;x\u0026#39;, \u0026#39;y\u0026#39;)], resp.name = myRespName, PA.nb.rep = 3, PA.nb.absences = 10000, PA.strategy = \u0026#39;random\u0026#39;) ## ## -=-=-=-=-=-=-=-=-=-=-=-=-= Cpunctatus Data Formating -=-=-=-=-=-=-=-=-=-=-=-=-= ## ## ! No data has been set aside for modeling evaluation ## \u0026gt; Pseudo Absences Selection checkings... ## \u0026gt; random pseudo absences selection ## \u0026gt; Pseudo absences are selected in explanatory variables ## ! Some NAs have been automaticly removed from your data ## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Done -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ## NOTE: if you get an error that looks like this: ## \u0026#39;Error in .BIOMOD_FormatingData.check.args(resp.var, expl.var, resp.xy, : Explanatory variable must be one of numeric, data.frame, matrix, RasterLayer, RasterStack, SpatialPointsDataFrame, SpatialPoints\u0026#39; #Then simply re-create your raster stack and try again. As such: env.c.2 \u0026lt;- stack(env.c.2) SPC_PresAbs \u0026lt;- BIOMOD_FormatingData(resp.var = myResp, expl.var = env.c.3, resp.xy = pres.data[,c(\u0026#39;x\u0026#39;, \u0026#39;y\u0026#39;)], resp.name = myRespName, PA.nb.rep = 3, PA.nb.absences = 10000, PA.strategy = \u0026#39;random\u0026#39;) ## ## -=-=-=-=-=-=-=-=-=-=-=-=-= Cpunctatus Data Formating -=-=-=-=-=-=-=-=-=-=-=-=-= ## ## ! No data has been set aside for modeling evaluation ## \u0026gt; Pseudo Absences Selection checkings... ## \u0026gt; random pseudo absences selection ## \u0026gt; Pseudo absences are selected in explanatory variables ## ! Some NAs have been automaticly removed from your data ## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Done -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # Check the number of absences SPC_PresAbs ## ## -=-=-=-=-=-=-=-=-=-=-=-=-= \u0026#39;BIOMOD.formated.data.PA\u0026#39; -=-=-=-=-=-=-=-=-=-=-=-=-= ## ## sp.name = Cpunctatus ## ## 1163 presences, 0 true absences and 323 undifined points in dataset ## ## ## 3 explanatory variables ## ## WC_bio7 MS_biogeo08_sss_mean_5m MS_biogeo13_sst_mean_5m ## Min. :11.50 Min. :34.78 Min. :12.97 ## 1st Qu.:14.30 1st Qu.:35.30 1st Qu.:16.39 ## Median :16.40 Median :35.33 Median :18.35 ## Mean :16.26 Mean :35.27 Mean :18.52 ## 3rd Qu.:17.50 3rd Qu.:35.34 3rd Qu.:21.04 ## Max. :22.30 Max. :35.38 Max. :26.01 ## ## ## 3 Pseudo Absences dataset available ( PA1 PA2 PA3 ) with 151 ## absences in each (true abs + pseudo abs) ## ## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ## Notice how the output here says that there are a different number of pseudo absences than you input in the \u0026#39;PA.nb.absences\u0026#39; parameter. I am guessing this is because the same cell can be chosen as an absence over and over within this step, so I would advise playing with that parameter until you get roughly and equal amount of absences as you have presences. # Plot your pseudo absences plot(SPC_PresAbs) Next we will run model models using our presence and pseudo absence data and environmental features. Here we will run 6 different models, over 10 runs, using 30% of the data for callibration, and 70% for fitting models.\nWe will then check how well the model performs with two separate evalution scores: ROC and TSS. Generally, a ROC \u0026gt; 0.8 and TSS \u0026gt; 0.55 are indicative of high model accuracy.\n# Run BIOMOD Models #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Set modeling options (NB: refer to the package vingette for non-default model options) MySpc_options \u0026lt;- BIOMOD_ModelingOptions( GLM = list( type = \u0026#39;quadratic\u0026#39;, interaction.level = 1 ), GBM = list( n.trees = 1000 ), GAM = list( algo = \u0026#39;GAM_mgcv\u0026#39; ) ) # Run the models with specific parameters. MySpc_models \u0026lt;- BIOMOD_Modeling( data = SPC_PresAbs, models = c(\u0026quot;GLM\u0026quot;,\u0026quot;GAM\u0026quot;, \u0026quot;GBM\u0026quot;, \u0026quot;RF\u0026quot;,\u0026quot;MARS\u0026quot;, \u0026quot;FDA\u0026quot;), models.options = MySpc_options, NbRunEval = 10, DataSplit = 70, VarImport = 3, models.eval.meth=c(\u0026#39;TSS\u0026#39;,\u0026#39;ROC\u0026#39;), do.full.models = F ) # Get models evaluation scores #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MyModels_scores \u0026lt;- get_evaluations(MySpc_models) MyModels_scores[\u0026quot;ROC\u0026quot;,\u0026quot;Testing.data\u0026quot;,,,] MyModels_scores[\u0026quot;TSS\u0026quot;,\u0026quot;Testing.data\u0026quot;,,,] # Graphically see model scores models_scores_graph(MySpc_models, by = \u0026quot;models\u0026quot; , metrics = c(\u0026quot;ROC\u0026quot;,\u0026quot;TSS\u0026quot;), xlim = c(0.5,1), ylim = c(0.5,1)) models_scores_graph(MySpc_models, by = \u0026quot;cv_run\u0026quot; , metrics = c(\u0026quot;ROC\u0026quot;,\u0026quot;TSS\u0026quot;), xlim = c(0.5,1), ylim = c(0.5,1)) models_scores_graph(MySpc_models, by = \u0026quot;data_set\u0026quot; , metrics = c(\u0026quot;ROC\u0026quot;,\u0026quot;TSS\u0026quot;), xlim = c(0.5,1), ylim = c(0.5,1)) We can also look at the importance of each environmental variable in explaining the distribution, which is calculated as the variable importance.\n# Variable importance in models #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Calculate variable importance. The higher a score is, the more important is the variable. We will visualize this as a barplot. MyModels_var_import \u0026lt;- get_variables_importance(MySpc_models) dimnames(MyModels_var_import) ## [[1]] ## [1] \u0026quot;WC_bio7\u0026quot; \u0026quot;MS_biogeo08_sss_mean_5m\u0026quot; ## [3] \u0026quot;MS_biogeo13_sst_mean_5m\u0026quot; ## ## [[2]] ## [1] \u0026quot;GLM\u0026quot; \u0026quot;GAM\u0026quot; \u0026quot;GBM\u0026quot; \u0026quot;RF\u0026quot; \u0026quot;MARS\u0026quot; \u0026quot;FDA\u0026quot; ## ## [[3]] ## [1] \u0026quot;RUN1\u0026quot; \u0026quot;RUN2\u0026quot; \u0026quot;RUN3\u0026quot; \u0026quot;RUN4\u0026quot; \u0026quot;RUN5\u0026quot; \u0026quot;RUN6\u0026quot; \u0026quot;RUN7\u0026quot; \u0026quot;RUN8\u0026quot; \u0026quot;RUN9\u0026quot; ## [10] \u0026quot;RUN10\u0026quot; ## ## [[4]] ## Cpunctatus_PA1 Cpunctatus_PA2 Cpunctatus_PA3 ## \u0026quot;PA1\u0026quot; \u0026quot;PA2\u0026quot; \u0026quot;PA3\u0026quot; # Average variable importance by algorithm mVarImp \u0026lt;- apply(MyModels_var_import, c(1,2), median) mVarImp \u0026lt;- apply(mVarImp, 2, function(x) x*(1/sum(x))) # standardize the data mVarImp ## GLM GAM GBM RF MARS ## WC_bio7 0.2578125 0.1979434 0.1516144 0.1860687 0.2718195 ## MS_biogeo08_sss_mean_5m 0.3320313 0.4531766 0.7033224 0.4394084 0.4386095 ## MS_biogeo13_sst_mean_5m 0.4101563 0.3488799 0.1450632 0.3745229 0.2895710 ## FDA ## WC_bio7 0.1478463 ## MS_biogeo08_sss_mean_5m 0.4384944 ## MS_biogeo13_sst_mean_5m 0.4136593 #save as table write.table(mVarImp, file=\u0026quot;modelVarImp.txt\u0026quot;, sep=\u0026quot;\\t\u0026quot;, quote = FALSE) It is also good practice to visualize the response curves pertaining to each environmental variable.\n# Response curves #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # To analyze how each environmental variable influences modelled probability of species presence, we will use an evaluation procedure proposed by Elith et al.(2005). # A plot of these predictions allows visualisation of the modeled response(y-axis) to the given variable (x-axis),conditional to the other variables being held constant. # Here I will show the response curves for the RF model, but you can do this for all models: MySpc_rf \u0026lt;- BIOMOD_LoadModels(MySpc_models, models=\u0026#39;RF\u0026#39;) rf_eval_strip \u0026lt;- biomod2::response.plot2( models = MySpc_rf, Data = get_formal_data(MySpc_models,\u0026#39;expl.var\u0026#39;), show.variables= get_formal_data(MySpc_models,\u0026#39;expl.var.names\u0026#39;), do.bivariate = FALSE, fixed.var.metric = \u0026#39;median\u0026#39;, legend = FALSE, display_title = FALSE, data_species = get_formal_data(MySpc_models,\u0026#39;resp.var\u0026#39;)) Now we will project our models onto the current climate, and see how well they predict the current distribution. Running this script will create a folder in your directory called ‘current’. Note that this will automatically overwrite any other folder of the same name.\nAfterwards we will create the ensemble model, which will combine the 6 model types we specified earlier. Here we will use a TSS cut off of 0.55 and ROC cut off of 0.8.\n# Map individual models onto the current Southern African climate #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MySpc_models_proj_current \u0026lt;- BIOMOD_Projection( modeling.output = MySpc_models, new.env = env.c.3, proj.name = \u0026quot;current\u0026quot;, binary.meth = \u0026quot;ROC\u0026quot;, output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE ) # Plot and compare the maps for the potential current distribution projected by the different models. plot(MySpc_models_proj_current, str.grep=\u0026quot;PA1_RUN1\u0026quot;) # If any of the models over or under estimate the distribution, then you can consider leaving them out of the ensemble model. # Run ensemble models #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MySpc_ensemble_models \u0026lt;- BIOMOD_EnsembleModeling( modeling.output = MySpc_models, chosen.models =\u0026#39;all\u0026#39;, em.by = \u0026#39;all\u0026#39;, #combine all models eval.metric = \u0026#39;all\u0026#39;, eval.metric.quality.threshold = c(0.55,0.8), models.eval.meth = c(\u0026#39;TSS\u0026#39;,\u0026#39;ROC\u0026#39;), prob.mean = FALSE, prob.cv = TRUE, #coefficient of variation across predictions committee.averaging = TRUE, prob.mean.weight = TRUE, VarImport = 0 ) # Check ensemble scores MySpc_ensemble_models_scores \u0026lt;- get_evaluations(MySpc_ensemble_models) MySpc_ensemble_models_scores # Ensemble model forecast onto current environment #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MySpc_ensemble_models_proj_current \u0026lt;- BIOMOD_EnsembleForecasting( EM.output = MySpc_ensemble_models, projection.output = MySpc_models_proj_current, binary.meth = \u0026quot;ROC\u0026quot;, #make binary predictions (pres/abs) based on ROC score output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE ) # The projections for current conditions are stored in the \u0026#39;proj_current\u0026#39; directory. get_projected_models(MySpc_ensemble_models_proj_current) # Plot them all plot(MySpc_ensemble_models_proj_current) plot(MySpc_ensemble_models_proj_current, str.grep=\u0026quot;EMcaByTSS\u0026quot;) plot(MySpc_ensemble_models_proj_current, str.grep=\u0026quot;EMwmeanByTSS\u0026quot;) # Ensemble model hindcast onto LGM environment #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Fit model using new environmental variables #First we need to re-name the raster stack layers to be the same as the \u0026#39;present-day\u0026#39; raster stack we built the model on names(miroc.21.c) \u0026lt;- c(\u0026#39;WC_bio7\u0026#39;,\u0026#39;MS_biogeo08_sss_mean_5m\u0026#39;, \u0026#39;MS_biogeo13_sst_mean_5m\u0026#39;) #Then project the model onto the new environmental layers MySpc_models_proj_LGM1 \u0026lt;- BIOMOD_Projection( modeling.output = MySpc_models, new.env = miroc.21.c, proj.name = \u0026quot;miroc.LGM\u0026quot;, binary.meth = c(\u0026quot;ROC\u0026quot;), output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE) #Then run hindcasting ensemble model: MySpc_ensemble_models_proj_LGM1 \u0026lt;- BIOMOD_EnsembleForecasting( EM.output = MySpc_ensemble_models, projection.output = MySpc_models_proj_LGM1, binary.meth = \u0026quot;ROC\u0026quot;, output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE, build.clamping.mask=F) # Then do this same for CCSM LGM layers names(ccsm.21.c) \u0026lt;- c(\u0026#39;WC_bio7\u0026#39;,\u0026#39;MS_biogeo08_sss_mean_5m\u0026#39;, \u0026#39;MS_biogeo13_sst_mean_5m\u0026#39;) MySpc_models_proj_LGM2 \u0026lt;- BIOMOD_Projection( modeling.output = MySpc_models, new.env = ccsm.21.c, proj.name = \u0026quot;ccsm.LGM\u0026quot;, binary.meth = c(\u0026quot;ROC\u0026quot;), output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE) MySpc_ensemble_models_proj_LGM2 \u0026lt;- BIOMOD_EnsembleForecasting( EM.output = MySpc_ensemble_models, projection.output = MySpc_models_proj_LGM2, binary.meth = \u0026quot;ROC\u0026quot;, output.format = \u0026quot;.img\u0026quot;, do.stack = FALSE, build.clamping.mask=F) Finally, we can map the outputs of the models to create a single figure in which they are compared. We will first combine the MIROC and CCSM model outputs, by averaging their values per cell. We will also enlargen the cells to make the output maps easier to read.\n## Plotting SDM outputs #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ library(rasterVis) library(gridExtra) library(rgdal) cc = colorRampPalette( c(\u0026quot;red\u0026quot;, \u0026quot;white\u0026quot;,\u0026quot;blue\u0026quot;)) ## Retreive output maps from the different directories MyBinCP_curr \u0026lt;- raster::stack(\u0026quot;Cpunctatus/proj_current/individual_projections/Cpunctatus_EMcaByTSS_mergedAlgo_mergedRun_mergedData.img\u0026quot;) MyBinCP_c.LGM \u0026lt;- raster::stack(\u0026quot;Cpunctatus/proj_ccsm.LGM/individual_projections/Cpunctatus_EMcaByTSS_mergedAlgo_mergedRun_mergedData.img\u0026quot;) MyBinCP_m.LGM \u0026lt;- raster::stack(\u0026quot;Cpunctatus/proj_miroc.LGM/individual_projections/Cpunctatus_EMcaByTSS_mergedAlgo_mergedRun_mergedData.img\u0026quot;) # Load a shapefile to have as a background map. You can find shapefiles either on the web or from R packages such as \u0026#39;rnaturalearth\u0026#39; SAmap \u0026lt;- readOGR(\u0026quot;Cpunctatus/Africa.shp\u0026quot;) ## OGR data source with driver: ESRI Shapefile ## Source: \u0026quot;/Users/ericaspotswoodnielsen/Desktop/website/SDM.tutorial/Cpunctatus/Africa.shp\u0026quot;, layer: \u0026quot;Africa\u0026quot; ## with 762 features ## It has 3 fields SAmap.c \u0026lt;- crop(SAmap, SA.ext) # Make ensemble output maps by combining the miroc and ccsm models (by averaging cell values) CP.mean.LGM \u0026lt;- merge(MyBinCP_c.LGM, MyBinCP_m.LGM) # Aggregate the cells to make the output more visable (this doubles the size of the cells) CP.mean.LGM.agg \u0026lt;- aggregate(CP.mean.LGM, fact=2) MyBinCP_c.agg \u0026lt;- aggregate(MyBinCP_curr, fact=2) # Stack the current and LGM output layers CP.sdms \u0026lt;- stack(MyBinCP_c.agg, CP.mean.LGM.agg) names(CP.sdms) \u0026lt;- c(\u0026#39;Current\u0026#39;, \u0026#39;LGM\u0026#39;) #Plot the current and LGM rasters in single plot levelplot(CP.sdms, col.regions=cc, layout=c(1, 2)) + layer(sp.polygons(SAmap.c, fill=\u0026#39;white\u0026#39;, alpha=0.2)) And here we have the final product, showing the average habitat suitability at two timepoints.\nThanks for reading, and feel free to let me know if you have any questions!\nPost written by Erica Nielsen, R scripts written by Nikki Phair and Erica Nielsen.\n ","date":1585094400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585094400,"objectID":"5d321f9c8e7e6e7621d0288b6e7b0e11","permalink":"https://esnielsen.github.io/post/coastal-species-distribution-models/","publishdate":"2020-03-25T00:00:00Z","relpermalink":"/post/coastal-species-distribution-models/","section":"post","summary":"Coastal Species Distribution Models This tutorial will discuss how to run Species Distribution Models (SDMs) on coastal species using biomod2 in R. In this example we will use models to estimate the probability of occurence at two timepoints: present day and the Last Glacial Maximum (LGM). You can do the same with more time points, into the past and/or future.\nWe will obtain the predictor environmental variables from Bio-Oracle with the R package sdmpredictors.","tags":[],"title":"Coastal SDMs","type":"post"},{"authors":null,"categories":null,"content":"Below is my entry for the 2020 \u0026lsquo;Dance Your PhD\u0026rsquo; video contest created by Gonzo Labs and Science Magazine.\nWith this video I aimed to describe a chapter of my PhD via dance, but also hoped to achieve the following:\n make concepts of population genetics accessible to those with little previous knowledge on the subject\n engage and collaborate with local dance groups to conduct knowledge transfer between the sciences and the arts\n create a unique video that combines my love of dance and science, and have fun while doing it!\n This project is dedicated to my family, whom I hope understands what my PhD is about after watching this video :)\nEnjoy!\n ","date":1582295574,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582295574,"objectID":"9aa4f1ccbd8c2ef93e5867cfa7e3e173","permalink":"https://esnielsen.github.io/project/dance-your-phd-entry/","publishdate":"2020-02-21T16:32:54+02:00","relpermalink":"/project/dance-your-phd-entry/","section":"project","summary":"My video entry for the 2020 'Dance Your PhD' contest","tags":null,"title":"My Dance Your PhD Entry!","type":"project"},{"authors":["ES Nielsen","M Beger","R Henriques","S von der Heyden"],"categories":null,"content":"","date":1577829600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577829600,"objectID":"3a37e1fad937a24eca3795982fd96a86","permalink":"https://esnielsen.github.io/publication/bio.cons.2020/","publishdate":"2020-01-01T00:00:00+02:00","relpermalink":"/publication/bio.cons.2020/","section":"publication","summary":"Emerging global change stressors have underlined the importance of informing conservation decisions with molecular diversity, particularly including intraspecific adaptive or evolutionary potential across species and populations. Population-level evolutionary potential is best captured by genomic approaches, yet these data types mostly remain limited to model organisms. In contrast, traditional genetic data are broadly available. The relevance of genomic metrics, and how they differ from genetic metrics in the context of spatial conservation practices, remains unknown. This provides an opportunity to consider the relative contribution and impact of genomic compared to genetic metrics in their efficiency of selecting conservation areas of evolutionary importance. Here, we provide a guideline to include metrics of genetic and genomic variation into spatial planning analyses for multiple conservation objectives, and empirically explore how spatial prioritizations change when including different types of molecular information across multiple species. Specifically, we compare conservation solutions of scenarios including either an increase in molecular information (i.e. either a single locus; mtDNA, or several thousand loci; SNPs), or an increase in species included. We find that including less molecular information from many species leads to similar outcomes to including more molecular information from fewer species. Our work suggests that multi-species genetic data may be a cost- and time-effective surrogate for genomic data in spatial planning.","tags":[],"title":"A comparison of genetic and genomic approaches to represent evolutionary potential in conservation planning ","type":"publication"},{"authors":["ES Nielsen","R Henriques","M Beger","RJ Toonen","S von der Heyden"],"categories":null,"content":"","date":1577829600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577829600,"objectID":"bd2caad97bbbd5429e0a07140903da4b","permalink":"https://esnielsen.github.io/publication/bmc.eb.2020/","publishdate":"2020-01-01T00:00:00+02:00","relpermalink":"/publication/bmc.eb.2020/","section":"publication","summary":"As global change and anthropogenic pressures continue to increase, conservation and management increasingly needs to consider species’ potential to adapt to novel environmental conditions. Therefore, it is imperative to characterise the main selective forces acting on ecosystems, and how these may influence the evolutionary potential of populations and species. Using a multi-model seascape genomics approach, we compare putative environmental drivers of selection in three sympatric southern African marine invertebrates with contrasting ecology and life histories: Cape urchin (Parechinus angulosus), Common shore crab (Cyclograpsus punctatus), and Granular limpet (Scutellastra granularis). Using pooled (Pool-seq), restriction-site associated DNA sequencing (RAD-seq), and seven outlier detection methods, we characterise genomic variation between populations along a strong biogeographical gradient. Of the three species, only S. granularis showed significant isolation-by-distance, and isolation-by-environment driven by sea surface temperatures (SST). In contrast, sea surface salinity (SSS) and range in air temperature correlated more strongly with genomic variation in C. punctatus and P. angulosus. Differences were also found in genomic structuring between the three species, with outlier loci contributing to two clusters in the East and West Coasts for S. granularis and P. angulosus, but not for C. punctatus. The findings illustrate distinct evolutionary potential across species, suggesting that species-specific habitat requirements and responses to environmental stresses may be better predictors of evolutionary patterns than the strong environmental gradients within the region. We also found large discrepancies between outlier detection methodologies, and thus offer a novel multi-model approach to identifying the principal environmental selection forces acting on species. Overall, this work highlights how adding a comparative approach to seascape genomics (both with multiple models and species) can elucidate the intricate evolutionary responses of ecosystems to global change.","tags":[],"title":"Multi-model seascape genomics identifies distinct environmental drivers of selection among sympatric marine species","type":"publication"},{"authors":null,"categories":null,"content":"On Nov 4-7th 2019 I had the opportunity to attend The Conservation Symposium, which aims to bring together those working on conservation issues within South Africa.\nI enjoy this conference because it takes me out of my academia bubble and transports me into the ‘on the ground’ conservation practice realm. Students and academics make up a small portion of the attendees, outnumbered by NGOs, consulting companies, government organizations, attorneys, reporters, and filmmakers.\nThe main theme that struck me throughout this conference is the need to understand the human dimension to ensure effective conservation planning and management. Below I discuss a few of the key insights I had in relation to this topic.\n This year they had the first ever session dedicated to indigenous knowledge (IK) in conservation. It was interesting to see how as a country we are actually quite ahead of the game in the inclusion of IK in conservation publications. But the thing that irked me during this session was that the audience laughed at almost all mentions of local taboos (an example of which is that some indigenous people believe that touching a certain tree species causes women to immediately start menstruating). I think this demonstrates how far we have yet to go in reframing our mindsets to see conservation not from a typical westernized view, but from a more inclusive, open-minded framing.\n I also noted how all of the IK-related talks were in a terrestrial setting. I searched ‘South Africa indigenous knowledge marine’ in Web of Science and found zero papers investigating the use of IK in marine conservation. But, this made me remember an interesting poster at this year’s WIOMSA symposium where they interviewed local fishers along the South African coastline asking if water temperatures were changing, and reported areas where fishers’ knowledge differed from temperature changes monitored by scientists. We still have a long way to go with integrating IK into conservation management, and I think we will see a lot more marine conservation studies incorporating aspects of local communities in the near future.\n This year the symposium also introduced the Conservation Café, which involved youth-led discussions on conservation topics chosen by young (\u0026lt;35 yrs) attendants. During the tea breaks, we wrote on a white board what we wanted to discuss or added stars next to those topics on the board that we were interested in (seen in pictures below). In the session I went to, we talked again about IK within conservation, but also about capitalism and the goal of conservation. It was a lot of discussing problems, but one of the solutions I took away was that as youth we need to use our voices on social media, and also broaden our social circles in real life (or IRL as the kids say these days) to actively ‘market’ sustainable lifestyles and ‘make conservation cool again’.\n Lastly, there were some very interesting talks on how people perceive our parks within the country. Nyiko Mutileni gave a talk on her work where she interviewed local communities just a few km outside of Man’ombe Nature Reserve, asking if they have every entered the reserve, and if they benefit from the reserve. Many local people had never even heard of the park, only ~3% had entered the park, and most believed they did not benefit from the park because they could no longer access natural resources. Another talk by Dr Izak Smit described how he interviewed visitors of Kruger National Park to understand how they perceived conservation. Most visitors do not believe that conservation areas should be focused on making money, or that we humans should actively manage nature through ‘harsh’ management such as culling. But most surprising to me was almost half of the interviewees believe that humans are separate from nature rather than interconnected through ecological processes. Dr Smit mentioned how this is partly driven by the fact that while 1.9 million people visit Kruger annually, only ~1% actually get out of their cars, walk in the bush, and physically connect with nature. Our disconnect with the natural world is a major issue of our time (shown by the fact that I had to mention ‘in real life’ in the previous point), and protected areas will be fundamental to our individual and societal resilience as we face ever increasing uncertainties on this Earth.\n ","date":1576333974,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576333974,"objectID":"349b2ccdbfcd467f6d9f1cca4d9203e6","permalink":"https://esnielsen.github.io/project/sccp_2019/","publishdate":"2019-12-14T16:32:54+02:00","relpermalink":"/project/sccp_2019/","section":"project","summary":"On Nov 4-7th 2019 I had the opportunity to attend The Conservation Symposium, which aims to bring together those working on conservation issues within South Africa.\nI enjoy this conference because it takes me out of my academia bubble and transports me into the ‘on the ground’ conservation practice realm. Students and academics make up a small portion of the attendees, outnumbered by NGOs, consulting companies, government organizations, attorneys, reporters, and filmmakers.","tags":null,"title":"2019 Conservation Symposium Review","type":"project"},{"authors":null,"categories":null,"content":"Below is my entry to the Youth4Conservation video contest for the 2019 South African Conservation Symposium.\nThe Youth4Conservation movement partners young volunteers with local conservation organisations to help tackle critical conservation issues within South Africa.\nThis year, the Conservation Symposium partnered with WildTrust, offering discounted registration prices to young attendees who send a short video describing how they are contributing to conservation within South Africa.\nWith this video, I hope to share why genetics and genomics are important to conserving biodiversity, especially with regards to an uncertain climatic future.\nEnjoy!\n ","date":1569162774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1569162774,"objectID":"65c075cb5fba0c97012aaaa332a8c5a5","permalink":"https://esnielsen.github.io/project/youth4cons/","publishdate":"2019-09-22T16:32:54+02:00","relpermalink":"/project/youth4cons/","section":"project","summary":"My video entry for the Conservation Symposium's Youth4Conservation award","tags":null,"title":"Youth 4 Conservation","type":"project"},{"authors":null,"categories":null,"content":"During July 1-5 2019, I attended the 11th Western Indian Ocean Marine Science Association (WIOMSA) symposium at the University of Mauritius with two of my colleagues Nikki and Molly.\nWIOMSA is always a great conference as it covers a variety of scientific disciplines and has a strong focus on integrating research and management within the region. Some of the highlights were:\n Prof Golden’s plenary which discussed the impacts of climate change on small-scale fisheries and human nutrition. Here we were shown which countries were most vulnerable to malnutrition due to declined marine catches, and also which fish species are ideal candidates for aquaculture within these countries based on their sustainability and nutritional value.\n Prof Dupont’s plenary which discussed the vast and complex implications of ocean acidification. Prof Dupont proved how science communication can make something intangible, such as ocean acidification, tangible, by offering shrimp tastings where people could actually taste the difference between seafood raised in normal or low pH conditions.\n The science communication mini-symposium, as well as the multiple videos that were shown during the conference (including the following: mzansi \u0026amp; kokoly)\n The Women In Science speed dating lunch where we discussed actions we could take to improve gender equality in the context of marine conservation within the region. We highlighted the need for more information sharing via face-to-face and online, increase position papers on women in small scale fisheries, and fundraise campaigns for projects that specifically support women and communities in the region.\n The exciting discoveries and opportunities regarding the deep and open ocean. With increasing off-shore threats such as mining, we will soon need to move towards ‘high-seas’ protected areas, which should be biologically meaningful instead of simply reaching a target % of the ocean. There were multiple talks on how new technology is allowing us to assess the biodiversity of seamounts and deep-water canyons, and results suggest that these areas should be considered for MPAs outside of EEZs.\n The multiple talks on social resilience, which highlighted how social adaptive capacity is space and time specific, and needs to be conducted on different gender groups and throughout different seasons. I also thought it was interesting how social resilience was qualified, by using questionnaires that asked questions such as ‘Do you think about the future?’.\n I also enjoyed the posters and talks that showed how surfers and kitesurfers can be used to monitor oceanographic features, often by putting cameras/sensors onto boards.\n Last but not least, we each took our turn identifying and mitigating threats such as dynamite fishing in a virtual reality diving game!\n ","date":1544797974,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1544797974,"objectID":"9ca8af7428def52f9eb8762b4407ea43","permalink":"https://esnielsen.github.io/project/wiomsa/","publishdate":"2018-12-14T16:32:54+02:00","relpermalink":"/project/wiomsa/","section":"project","summary":"During July 1-5 2019, I attended the 11th Western Indian Ocean Marine Science Association (WIOMSA) symposium at the University of Mauritius with two of my colleagues Nikki and Molly.\nWIOMSA is always a great conference as it covers a variety of scientific disciplines and has a strong focus on integrating research and management within the region. Some of the highlights were:\n Prof Golden’s plenary which discussed the impacts of climate change on small-scale fisheries and human nutrition.","tags":null,"title":"2019 WIOMSA Symposium Review","type":"project"},{"authors":null,"categories":null,"content":"Below is my entry to the Evolution Film Contest.\n_\nEvery year our university opens its doors to high school students, so that they can get an idea of what postgraduates do within each lab. My intention with this video is to open our lab doors to a much wider audience and offer a view into my world as a PhD student studying conservation genetics. I wanted to make a video that is not only fun to watch, but also describes the basic theories and methodologies used within molecular ecology. I also wanted to highlight different sub-divisions of genetics so that viewers can get a sense of the diversity within the field.\nUltimately my hope is that genetics will not longer be a topic that \u0026ldquo;Students Just Don\u0026rsquo;t Understand\u0026rdquo; * wink wink to my Fresh Prince fans *\nThis video could not have happened without the support of my supervisor, fellow lab members, and Stellenbosch University. And special thanks to all those who agreed to wiggle in front of the camera!\nEnjoy and feel free to comment!\n_\n ","date":1544797974,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1544797974,"objectID":"96e39ab57a5dc4b5c7f7df8b1440a680","permalink":"https://esnielsen.github.io/project/getgenetic/","publishdate":"2018-12-14T16:32:54+02:00","relpermalink":"/project/getgenetic/","section":"project","summary":"My entry to the 2019 Evolution Film Contest","tags":null,"title":"Get Genetic With It","type":"project"},{"authors":null,"categories":null,"content":"The Earth is changing, and rapidly. In the midst of a global pandemic, 2020 tied with 2016 as the warmest year ON RECORD. Ultimately, in order to reduce emissions by 45% by 2030, we will need large corporations and governments to take the lead to ensure that ongoing global development shifts from fossil fuels to renewable energy.\nBut while it is mainly a handful of companies that are responsible for 71% of greenhouse gas emissions, we as individuals and consumers can also fight towards and create a more sustainable future. As the lovel figure above by Ashley Lukashevsky shows, we are all in this together, and together we will rise.\nTherefore, this multi-media post is an ode to small, sustainable actions. And it is important that this is at no means and exhaustive list, and everyone has their own passions and actions that they are attracted to. In the end, the greatest thing we can do is start a conversation on sustainability, as this is the best way to discover new and exciting ways we can transform our society.\nFirst, here is a fun little song I wrote with the intention spreading the idea of sustainability in a way that is hopefully catchy and creative.\n Probably one of the biggest ways to increase your impact in the fight against climate change is to speak up. Have conversations about climate change, and try to diversify your social circle to learn from those with different views on the climate crisis. You can also reach out to your local NGOs, send letters/emails to your elected officials, and question practices in your workplace.\nVote!\nI also find this nice resource which has several options to reduce your carbon footprint depending on the time, money, and effort you\u0026rsquo;re willing to spend.\nIn addition, indigenous people are arguably the leaders in protecting and conserving natural environments which are essential to absorb and retain carbon. Thus, you can support indigenous efforts, such as donating movements like LANDBACK.\nThen there is the TED talk which I found really interesting, and pointed out many \u0026lsquo;Sustainability Myths\u0026rsquo; that I was previously ignorant of.\nI was also recently ignorant of the CO2 emissions of the internet, until I stumbled upon this lovely infographic. You can also switch your browser from Google to Ecosia.\nThere are also many monetary ways to achieve a lower carbon footprint. One of my favorite new ways is with micro-funding. Find out how you can give micro-loans to green initiatives with Kiva.\nBut maybe these actions seem like they will take too much time and energy to implement. No need to fret, the UN has some actions even the laziest of us can do to become more sustainable: find them here.\nLastly, I would like to end with a quote by Anne Marie Bonneau said, \u0026ldquo;We don\u0026rsquo;t need a handful of people doing zero waste perfectly. We need millions of people doing it imperfectly\u0026rdquo;.\nThanks for reading!\n","date":1536330774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1536330774,"objectID":"6d302a203a90b465ff5f7a281ab567f8","permalink":"https://esnielsen.github.io/project/sustainability/","publishdate":"2018-09-07T16:32:54+02:00","relpermalink":"/project/sustainability/","section":"project","summary":"Thoughts, musings, and music about sustainability","tags":null,"title":"A Sustainable Future","type":"project"},{"authors":null,"categories":null,"content":"Designing Marine Protected Areas, or MPAS, can be difficult, and we still have a lot to learn - as beautifully portrayed in the comic above by Anju Sabu.\nThere are complex and dynamic social-ecological systems that need to be weighed and balanced to create an arrangement of MPAs that best protect the natural environment, and provide for various cultural and economic uses of marine resources.\nBut, we have come a long way in understanding how to best create this balance, often using spatial planning concepts, which this video by Jennifer McGowan does a superb job at explaining:\n However, as scientists, we often like to take simple concepts like targeting representation in MPAs, and make it more complex.\nThis is described in an Epistle by the conservation planning guru Prof Hugh Possingham:\n__\n\u0026ldquo;The Lame-duck Conservation Principle\nRemember the good old days when conservation planning was just two main principles – adequacy and representation? It seems so simple and logical. But at some point we lost sight of the importance of representation, the simple notion of protecting a sample of everything in a well-managed protected area. What happened?\nIn theory, representation is still at the top of the international conservation agenda, it gets a solid mention in Aichi Target 11, which states:\n\u0026lsquo;By 2020, at least 17 percent of terrestrial and inland water areas and 10 percent of coastal and marine areas, especially areas of particular importance for biodiversity and ecosystem services, are conserved through effectively and equitably managed, ecologically representative and well-connected systems of protected areas and other effective area-based conservation measures, and integrated into the wider landscape and seascape.\u0026rsquo;\nThe Nature Conservancy has championed the cause of representation, with representation and resilience forming the core principles of our new protect land and water strategy. But the rest of the world seems to have lost interest.\nIn my simple mind, The Nature Conservancy is the \u0026lsquo;habitat organisation.\u0026rsquo; That is why I joined. We focus on how to make more quality habitat, in all its forms, because it delivers benefits for people and nature. So it is only logical that we always return to a strong focus on habitat representation.\nYet while we continue to keep our eye on the ball, some organisations and groups believe that a focus on threatened species, via Key Biodiversity Areas, is the best way to prioritisation protection. Others are pushing connectivity as the most important conservation principle — let’s connect the Yukon to Yellowstone. I agree that both are important, but still very much secondary to the notion of protecting a representative sample of habitats or ecosystems.\nWhy are we losing this marketing campaign? In my opinion, representation is on the backburner because it is intellectually a little dull. Connectivity captures the imagination of many scientists, it can be measured by 100 different metrics, while ideas like \u0026lsquo;corridors\u0026rsquo; seem to capture the hearts and minds of the public and politicians. I love connectivity, but I am convinced it is a secondary issue. And, of course, threatened species are all so sexy — with their big brown eyes— much sexier than a place like the mallee woodland (my favourite habitat in Australia).\nSo here’s my challenge to you: Representation is the most boring but important concept in conservation. So how to we make it sexy again?\u0026rdquo;\n__\nI have been thinking of Prof Possingham\u0026rsquo;s question of how do we make the simple act of targeting representation sexy - and I think the answer comes down to making representation a surrogate for adaptability.\nI would argue that nothing is sexier in conservation science at the moment than prioritising areas that are more resilient to climate change. My work specifically looks at areas that are more genetically diverse, and thus assumed to be more resilient to environmental change. And interestingly, there have been several recent publications that suggest that by representing different habitat types (or different species distributions), you are also capturing genetic diversity.\nYou can find such papers in the links below:\n Geographical surrogates of genetic variation for selecting island populations for conservation\n Environmental and geographic variables are effective surrogates for genetic variation in conservation planning\n Incorporating evolutionary processes into conservation planning using species distribution data: a case study with the western Mediterranean herpetofauna: Evolutionary processes in conservation planning\n Testing large-scale conservation corridors designed for patterns and processes: comparative phylogeography of three tree species\n But of course, this is science, so here is this paper arguing the opposite:\n On the validity of habitat as a predictor of genetic structure in aquatic systems: a comparative study using California water beetles I think the argument of representative habitats as surrogates of species and genetic diversity could help bring this elegant practice back in the forefront of conservation planning, but I think it will also require scientists to change our perspective of our work, as to not think about how well our work will publish, but how well it can be applied to \u0026lsquo;real-world\u0026rsquo; conservation practice.\nSo really we need a whole paradigm shift within Academia\u0026hellip; but for now let\u0026rsquo;s just settle with a haiku about representation in conservation planning:\n~\nMPA designs,\nTo make easier target:\nRepresentation\n~\nThanks for reading!\n","date":1536330774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1536330774,"objectID":"6948b51fb1cb263b4b2ffc9ed99fb28b","permalink":"https://esnielsen.github.io/project/respresentation/","publishdate":"2018-09-07T16:32:54+02:00","relpermalink":"/project/respresentation/","section":"project","summary":"A case for habitat representation in 21st century conservation planning","tags":null,"title":"Representation","type":"project"},{"authors":null,"categories":null,"content":"I have always loved Cindi Lauper\u0026rsquo;s style and her iconic song, \u0026lsquo;Girls just want to have fun\u0026rsquo;, and when I saw this photo (see above) from the Women\u0026rsquo;s March, I knew I needed to make my own rendition of the song. I hope you enjoy!\n I originally learned how to play the song on the ukulele following this tutorial. The lyrics and tabs below:\n__\nWomen in STEM\n[F] When you ask some girls, what’s a cool career [Dm] They say being an ecologist or an engineer [Bb] Or maybe in psychology or neuroscience, [Dm] Some girls, [C*] just want to do [Bb] science, [Dm] Some girls [C] just want to be [F] scientists,\n[F] I know there’s still discrimination [Dm] But don’t let it stop you from a career in STEM [Bb] Follow your dreams is what I urge [Dm] Some girls [C*] just want to do [Bb] research, [Dm] So we’re going to [C] pursue [F] research\n[F] Ya that\u0026rsquo;s all we really want [Dm] Some funding [F] To run experiments [Dm] And make [C*] infer- [Bb] ences [Dm] Ya to [C] help [F] society\n[F] Make a lab with lots of diversity [Dm] Including women and minorities [Bb] You don’t have to look far, you don\u0026rsquo;t have to search [Dm] And it will make [C*] for better [Bb] research, [Dm] Ya and makes for [C] better [F] researchers\n[F] Ya that\u0026rsquo;s all we really want [Dm] Some funding [F] To run experiments [Dm] And make [C*] infer- [Bb] ences [Dm] Ya to [C] help [F] society\n__\nIf you want to hear more about diversity and women in STEM you can:\n watch this TED talk\n read this article on diversity in academia\n listen to this podcast which highlights how diversity in academia leads to heightened creativity\n read this article on women in conservation!\n ","date":1536330774,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1536330774,"objectID":"0e6a0539b55f9e79dae7700640691421","permalink":"https://esnielsen.github.io/project/women-in-stem/","publishdate":"2018-09-07T16:32:54+02:00","relpermalink":"/project/women-in-stem/","section":"project","summary":"Girls just want to have FUN-ding for scientific research.","tags":null,"title":"Women in STEM","type":"project"},{"authors":null,"categories":[],"content":"As Pooled sequencing gains popularity in the world of genomics, more and more programs are being introduced to specifically handle Pool-seq data. However, for students such as myself, it can be difficult to find the right program for each step of the bioinformatics process, and to know the correct data format and parameters used with each individual program.\nHere is a short recap of the Pool-seq bioinformatic programs that I have gathered (in no particular order), including input and output files, and any additional notes I had on the program.\n~\nPopoolation -\ninput: a samtools pileup file (Note: must be made by samtools version 0.1.18 and below, and cannot take mpileup files)\noutput: a pool-specific sync file, from which population specific diversity indices (such at Tajima\u0026rsquo;s pi \u0026amp; D, Watterson\u0026rsquo;s theta) can be calculated with the Variance-sliding.pl\nPopoolation2 -\ninput: a samtools mpileup file (Note: must be made by samtools version 0.1.18 and below)\noutput: a sync file including multiple pools, from which diversity metrics (FSTs) can be calculated. The sync file can also be converted into a genepop file for further analysis.\nNotes of Popoolation/Polpoolation2:\nThe sync2GenePop conversion step requires custom scripts to be written so that it can be run on all loci at once, instead of each locus individually. Feel free to contact me if you wish to see perl scripts used to create a GenePop file for an entire pool.\npoolfstat -\ninput: a sync file from Popoolation2, VCF file, Baypass or Selestim input files\noutput: global and per-SNP FST values, a pairwise FST matrix, Baypass or Selestim input files\nNotes: Remember that the poolsize list is haploid!\nBayPass -\ninput: 1. pooled read count data, 2. poolsize file, 3. population name file (all of which can be output by poolfstat R package)\noutput: This program is used to find either FST-based or environmental-based outlier loci.\nIf you want FST-based outliers, you would run the core model. Then run the R code under section 5.1.1 of the manual. Then you will generate a POD genofile with the \u0026lsquo;simulate.baypass\u0026rsquo; R script, which you will use as the input in another core model. Then you will compare the outputs of the 2 core model runs with the XTX calibration R scripts.\nIf you want environmental-based outliers, then you would run the auxiliary model. This will give you an \u0026lsquo;summary_betai\u0026rsquo; output file. Within this file, if the BF(dB) column has a value \u0026gt; 20, then you that locus can be identified as an outlier, corresponding to the given environmental predictor in the first column.\nIf you need any help with BayPass, I am happy to share my scripts upon request.\nFreeBayes -\ninput: BAM files \u0026amp; a reference fasta file\noutput: a pool VCF file\nCRISP -\ninput: BAM files, pool sample sizes, reference fasta file (NB: requires at least 2 pools/2 BAM files)\noutput: a pool VCF file\nSNVer -\ninput: BAM files \u0026amp; a text file with the BAM file names, number of haploids, number of samples, and filtering thresholds\noutput: a pool VCF file\nNotes on FreeBayes, CRISP \u0026amp; SNVer:\nEven though these programs make VCF files, I personally could not find a way to convert these VCF files to other formats such as genepop/genind/genlight with conversion tools such as PGDspider, vcf2genepop, or genomic_converter. However, it seems like it can be input into the R package poolfstat to calculate F-statistics, and be converted into files for BayPass and SelEstim.\nSNAPE-pool -\ninput: a samtools pileup file (not mpileup)\noutput: allele frequency output files\nnpstat -\ninput: a samtools mpileup file + individual BAM files (per pool). Can also take GFF3 annotations to perform McDonald-Krietman tests.\noutput: population specific diversity indices (such at Tajima\u0026rsquo;s pi \u0026amp; D, Watterson\u0026rsquo;s theta), and population differentiation (FSTs)\nSNPgenie -\ninput: a VCF file (for a single pool), a reference fasta file, and GTF annotation file\noutput: πN/πS, dN/dS, and other evolutionary parameters (has a great number output files)\nNote: This program is only for model species with annotated genomes.\nPCAdapt -\ninput: a frequency matrix with n rows and L columns (where n is the number of populations and L is the number of genetic markers)\noutput: several plots and list of potential outlier loci\nNote: For my data, this program suggested quite a large number of putative outliers, especially compared to Bayescan, Loistan, and Popoolation.\nSelEstim -\ninput: an allele/read count file\nouput: a \u0026lsquo;delta\u0026rsquo; output file which is input in R to identify outlier loci\nNote: I personally tried SelEstim with ~ 8,000 loci, and the program ran for about 4 weeks without finishing, so could not use due to time restraints.\nPool-hmm -\ninput: a samtools mpileup (Note: the mpileup command should not have -u or -g option)\noutput: allele frequency spectrum, plus probability of \u0026ldquo;Neutral\u0026rdquo;, \u0026ldquo;Intermediate\u0026rdquo; and \u0026ldquo;Selection\u0026rdquo; for each polymorphic site, with additional stats files\n~\nAdditionally, here is a short list of some pipelines available for Pool-seq \u0026amp; non-model organisms:\nPool-party\ndDocent\nGATK\nSTACKS\nAlso, for complete bioinformatics beginners, Galaxy is a great way to understand various bioinformatic programs and their command lines.\n~\nHappy analysing!\n","date":1536278400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1536278400,"objectID":"c9ed5ef0a89702b1212cbd56345a94ab","permalink":"https://esnielsen.github.io/post/a-guide-to-ngs-pool-seq-programs/","publishdate":"2018-09-07T00:00:00Z","relpermalink":"/post/a-guide-to-ngs-pool-seq-programs/","section":"post","summary":"As Pooled sequencing gains popularity in the world of genomics, more and more programs are being introduced to specifically handle Pool-seq data. However, for students such as myself, it can be difficult to find the right program for each step of the bioinformatics process, and to know the correct data format and parameters used with each individual program.\nHere is a short recap of the Pool-seq bioinformatic programs that I have gathered (in no particular order), including input and output files, and any additional notes I had on the program.","tags":[],"title":"Pool-seq Programs for Population Genomics","type":"post"},{"authors":null,"categories":null,"content":"\u0026hellip;\n","date":1530136800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1530136800,"objectID":"18d05a63a1c8d7ed973cc51838494e41","permalink":"https://esnielsen.github.io/privacy/","publishdate":"2018-06-28T00:00:00+02:00","relpermalink":"/privacy/","section":"","summary":"\u0026hellip;","tags":null,"title":"Privacy Policy","type":"page"},{"authors":["ES Nielsen","R Henriques","RJ Toonen","ISS Knapp","B Guo","S von der Heyden"],"categories":null,"content":"","date":1525125600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1525125600,"objectID":"5cec0ce6e082b377c504bc66cdf990c5","permalink":"https://esnielsen.github.io/publication/person-re-identification/","publishdate":"2018-05-01T00:00:00+02:00","relpermalink":"/publication/person-re-identification/","section":"publication","summary":"Genomic tools are increasingly being used on non-model organisms to provide insights into population structure and variability, including signals of selection. However, most studies are carried out in regions with distinct environmental gradients or across large geographical areas, in which local adaptation is expected to occur. Therefore, the focus of this study is to characterize genomic variation and selective signals over short geographic areas within a largely homogeneous region. To assess adaptive signals between microhabitats within the rocky shore, we compared genomic variation between the Cape urchin (Parechinus angulosus), which is a low to mid-shore species, and the Granular limpet (Scutellastra granularis), a high shore specialist. Using pooled restriction site associated DNA (RAD) sequencing, we described patterns of genomic variation and identified outlier loci in both species. We found relatively low numbers of outlier SNPs within each species, and identified outlier genes associated with different selective pressures than those previously identified in studies conducted over larger environmental gradients. The number of population-specific outlier loci differed between species, likely owing to differential selective pressures within the intertidal environment. Interestingly, the outlier loci were highly differentiated within the two northernmost populations for both species, suggesting that unique evolutionary forces are acting on marine invertebrates within this region. Our study provides a background for comparative genomic studies focused on non-model species, as well as a baseline for the adaptive potential of marine invertebrates along the South African west coast. We also discuss the caveats associated with Pool-seq and potential biases of sequencing coverage on downstream genomic metrics. The findings provide evidence of species-specific selective pressures within a homogeneous environment, and suggest that selective forces acting on small scales are just as crucial to acknowledge as those acting on larger scales. As a whole, our findings imply that future population genomic studies should expand from focusing on model organisms and/or studying heterogeneous regions to better understand the evolutionary processes shaping current and future biodiversity patterns, particularly when used in a comparative phylogeographic context.","tags":[],"title":"Complex signatures of genomic variation of two non-model marine species in a homogeneous environment","type":"publication"},{"authors":null,"categories":null,"content":"Embed your slides or video here using shortcodes. Further details can easily be added using Markdown and $\\rm \\LaTeX$ math code.\n","date":1483221600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1483221600,"objectID":"cd6d9d084287506b4668ad90c6aff50a","permalink":"https://esnielsen.github.io/talk/example-talk/","publishdate":"2017-01-01T00:00:00+02:00","relpermalink":"/talk/example-talk/","section":"talk","summary":"Embed your slides or video here using shortcodes. Further details can easily be added using Markdown and $\\rm \\LaTeX$ math code.","tags":[],"title":"Example Talk","type":"talk"},{"authors":["ES Nielsen","M Beger","R Henriques","KA Selkoe","S von der Heyden"],"categories":null,"content":"","date":1483221600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1483221600,"objectID":"caae70970030052c8f733b2ca8421a2b","permalink":"https://esnielsen.github.io/publication/clothing-search/","publishdate":"2017-01-01T00:00:00+02:00","relpermalink":"/publication/clothing-search/","section":"publication","summary":"Growing threats to biodiversity and global alteration of habitats and species distributions make it increasingly necessary to consider evolutionary patterns in conservation decision making. Yet, there is no clear-cut guidance on how genetic features can be incorporated into conservation-planning processes, despite multiple molecular markers and several genetic metrics for each marker type to choose from. Genetic patterns differ between species, but the potential trade-offs among genetic objectives for multiple species in conservation planning are currently understudied. We compared spatial conservation prioritizations derived from 2 metrics of genetic diversity (nucleotide and haplotype diversity) and 2 metrics of genetic isolation (private haplotypes and local genetic differentiation) in mitochondrial DNA of 5 marine species. We compared outcomes ofconservation plans based only on habitat representation with plans based on genetic data and habitat representation. Fewer priority areas were selected for conservation plans based solely on habitat representation than on plans that included habitat and genetic data. All 4 genetic metrics selected approximately similar conservation-priority areas, which is likely a result of prioritizing genetic patterns across a genetically diverse array of species. Largely, our results suggest that multispecies genetic conservation objectives are vital to creating protected-area networks that appropriately preserve community-level evolutionary patterns.","tags":[],"title":"Multispecies genetic objectives in spatial conservation planning","type":"publication"}]