filtering and Diversity analysis of Silicodart data

12 views
Skip to first unread message

Jean Rodrigue Sangaré

unread,
Jun 17, 2026, 7:07:03 AM (7 days ago) Jun 17
to dartR
Hello everyone,

I have been performing analyses with SNP genotype data using dartR, and now I would like to carry out similar analyses with my SilicoDArT presence/absence data. I realized that the scripts I used for SNP data cannot be directly applied to SilicoDArT for some analyses. Could anyone share guidance or examples on how to properly analyze SilicoDArT data within dartR?

Thank you in advance for your help!

Jose Luis Mijangos

unread,
Jun 18, 2026, 8:18:32 AM (6 days ago) Jun 18
to da...@googlegroups.com
Hi Jean,

Good question. The reason your SNP scripts do not all carry over is that SilicoDArT is presence/absence (dominant) data, so functions built on allele frequencies (e.g. gl.filter.maf, gl.filter.secondaries) do not apply. The call rate, reproducibility and read depth filters work on both data types.

A typical SilicoDArT workflow in the dartRverse:

1. Read the data with gl.read.silicodart.
2. Inspect each metric with the matching gl.report.* function (gl.report.callrate, gl.report.reproducibility, gl.report.rdepth, gl.report.monomorphs) to choose thresholds.
3. Filter with gl.filter.callrate, gl.filter.reproducibility, gl.filter.rdepth, gl.filter.monomorphs and gl.filter.allna, then run gl.recalc.metrics.
4. For diversity, use gl.report.diversity. It works directly on presence/absence data and returns Hill number profiles (q = 0, 1, 2; Sherwin et al. 2017), so you do not need the SNP specific heterozygosity functions.

A minimal example:

library(dartRverse)

# read the SilicoDArT report
gl <- gl.read.silicodart("Report_SilicoDArT.csv", ind.metafile = "metadata.csv")

# inspect, then filter
gl <- gl.filter.callrate(gl, method = "loc", threshold = 0.95)
gl <- gl.filter.reproducibility(gl, threshold = 0.99)
gl <- gl.filter.monomorphs(gl)
gl <- gl.recalc.metrics(gl)

# diversity profiles (q = 0, 1, 2)
div <- gl.report.diversity(gl)

If you would like to try the workflow before running it on your own data, the package ships a SilicoDArT test dataset:

 library(dartRverse)
 data(testset.gs)
 gl <- testset.gs

Sometimes Google Groups alters quotation marks in R code, so please double check the quotes after pasting.

Cheers,
Luis
--
You received this message because you are subscribed to the Google Groups "dartR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dartr+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dartr/2ebe4fb1-2341-46a1-81a3-8a10da0b350cn%40googlegroups.com.

Jean Rodrigue Sangaré

unread,
Jun 19, 2026, 6:53:50 PM (4 days ago) Jun 19
to dartR
Thank you so much Luis

To unsubscribe from this group and stop receiving emails from it, send an email to dartr+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages