Load data
The raw data are retrieved from the EHI database using personal access tokens only available for EHI managers. The relevant data are stored in the data/all_data.tsv file that is used for downstream analyses. This document is openly accessible, and can be loaded in the following way:
all_data <- read_tsv("data/all_data.tsv") %>%
filter(catalogue != "Species") %>%
mutate(
Taxon = factor(Taxon, levels = c(
"Amphibian",
"Reptile",
"Mammal",
"Bird",
"Control"
)),
Extraction = factor(Extraction, levels = c(
"REF",
"DREX1",
"DREX2"
))
) %>%
mutate(Species=factor(Species,levels=c("Calotriton asper",
"Lissotriton helveticus",
"Salamandra atra",
"Chalcides striatus",
"Natrix astreptophora",
"Podarcis muralis",
"Plecotus auritus",
"Sciurus carolinensis",
"Trichosurus vulpecula",
"Geospizopsis unicolor",
"Perisoreus infaustus",
"Zonotrichia capensis",
"Extraction control",
"Library control")))
DNA yield
Total amount of DNA extracted from the 150 ul subset of the bead-beaten sample.
all_data %>%
select(Extraction,extract,Taxon) %>%
group_by(Taxon,Extraction) %>%
summarise(value = sprintf("%.0f±%.0f", mean(extract), sd(extract))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of total DNA nanograms")
Mean and standard deviation of total DNA nanograms
| Taxon |
REF |
DREX1 |
DREX2 |
| Amphibian |
297±350 |
340±475 |
1138±1195 |
| Reptile |
102±71 |
162±134 |
250±179 |
| Mammal |
448±432 |
256±224 |
867±730 |
| Bird |
71±134 |
11±11 |
44±45 |
| Control |
0±0 |
2±3 |
1±0 |
all_data %>%
select(Library,Species,Extraction,extract,Taxon) %>%
unique() %>%
ggplot(aes(x=Extraction, y=extract, color=Species, group=Extraction))+
geom_boxplot(outlier.shape = NA, fill="#f4f4f4", color="#8c8c8c") +
geom_jitter() +
scale_color_manual(values=vertebrate_colors) +
facet_grid(. ~ Taxon, scales = "free") +
theme_minimal() +
labs(y="DNA yield (ng)",x="Extraction method")

all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot()

all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
anova()
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Taxon 9.7568 3.2523 3 8 3.9365 0.0537940 .
Extraction 13.6941 6.8471 2 46 8.2877 0.0008436 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
broom.mixed::tidy() %>%
tt()
| effect |
group |
term |
estimate |
std.error |
statistic |
df |
p.value |
| fixed |
NA |
(Intercept) |
5.32423764 |
0.6624785 |
8.03684581 |
8.902457 |
2.275553e-05 |
| fixed |
NA |
TaxonReptile |
-0.86837312 |
0.9120619 |
-0.95209890 |
7.999997 |
3.689227e-01 |
| fixed |
NA |
TaxonMammal |
-0.06459683 |
0.9120619 |
-0.07082505 |
7.999997 |
9.452755e-01 |
| fixed |
NA |
TaxonBird |
-2.74514876 |
0.9120619 |
-3.00982728 |
7.999997 |
1.681798e-02 |
| fixed |
NA |
ExtractionDREX1 |
-0.24661418 |
0.2623890 |
-0.93988004 |
46.000018 |
3.521886e-01 |
| fixed |
NA |
ExtractionDREX2 |
0.77684194 |
0.2623890 |
2.96064983 |
46.000018 |
4.841350e-03 |
| ran_pars |
Sample:Species |
sd__(Intercept) |
0.58873659 |
NA |
NA |
NA |
NA |
| ran_pars |
Species |
sd__(Intercept) |
0.96787601 |
NA |
NA |
NA |
NA |
| ran_pars |
Residual |
sd__Observation |
0.90894215 |
NA |
NA |
NA |
NA |
all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot_model(.,type="pred",terms=c("Taxon","Extraction"),show.data = TRUE)

all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
ggpredict(.,terms="Extraction")
# Predicted values of extract
Extraction | Predicted | 95% CI
----------------------------------------
REF | 205.25 | 54.62, 771.31
DREX1 | 160.39 | 42.68, 602.74
DREX2 | 446.34 | 118.77, 1677.29
Adjusted for:
* Taxon = Amphibian
* Sample = 0 (population-level)
* Species = 0 (population-level)
all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
ggpredict(.,terms="Taxon")
# Predicted values of extract
Taxon | Predicted | 95% CI
-------------------------------------
Amphibian | 205.25 | 54.62, 771.31
Reptile | 86.13 | 22.92, 323.67
Mammal | 192.41 | 51.20, 723.06
Bird | 13.19 | 3.51, 49.55
Adjusted for:
* Extraction = REF
* Sample = 0 (population-level)
* Species = 0 (population-level)
all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot_model(.,type="pred",terms=c("Species"),pred.type = "re",ci.lvl = NA)+
theme(axis.text.x = element_text(angle = 45, hjust = 1))

all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(log(extract) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
r.squaredGLMM()
R2m R2c
[1,] 0.4053742 0.7671254
Sample purity A260/A280 Ratios
260 nm and 280 nm are the absorbance wavelengths used to assess the type of nucleic acid present (DNA or RNA) and they provide a rough indication of purity. A reduction of this ratio typically indicates protein contamination while RNA contamination can be detected by an increase of this ratio.
The generally accepted 260/280 values are ~1.8 for pure DNA and ~2.0 for RNA.
Lower values may indicate the presence of protein, phenol or other contaminants that have an absorbance close to 280 nm.
all_data %>%
filter(!is.na(x260_280)) %>%
select(Extraction, x260_280, Taxon) %>%
group_by(Extraction) %>%
#group_by(Taxon, Extraction) %>%
summarise(value = sprintf("%.2f±%.2f", mean(x260_280), sd(x260_280))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of 260/280 values")
Mean and standard deviation of 260/280 values
| REF |
DREX1 |
DREX2 |
| 1.35±0.18 |
1.63±0.35 |
1.44±0.31 |
all_data %>%
filter(!is.na(x260_280)) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
select(Extraction, d260_280, Taxon) %>%
group_by(Taxon, Extraction) %>%
summarise(value = sprintf("%.2f±%.2f", mean(d260_280), sd(d260_280))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of the deviation of 260/280 values from 1.8")
Mean and standard deviation of the deviation of 260/280 values from 1.8
| Taxon |
REF |
DREX1 |
DREX2 |
| Amphibian |
0.57±0.15 |
0.33±0.13 |
0.24±0.14 |
| Reptile |
0.40±0.22 |
0.25±0.16 |
0.25±0.11 |
| Mammal |
0.53±0.12 |
0.23±0.21 |
0.43±0.22 |
| Bird |
0.35±0.12 |
0.46±0.24 |
0.68±0.33 |
| Control |
0.33±0.28 |
0.52±0.16 |
0.15±0.12 |
Higher deviation from 1.8 indicates lower purity of the DNA extracts
all_data %>%
select(Extraction, x260_280, Taxon, Species) %>%
ggplot(aes(x=Extraction, y=x260_280, color=Species, group=Extraction))+
geom_boxplot(outlier.shape = NA, fill="#f4f4f4", color="#8c8c8c") +
geom_jitter() +
scale_color_manual(values=vertebrate_colors) +
facet_grid(. ~ Taxon, scales = "free") +
theme_minimal() +
labs(y="260/280 values",x="Extraction method")

all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
#filter(!is.na(x260_280),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot()

all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
#filter(!is.na(x260_280),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
anova()
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Taxon 2420.2 806.74 3 58 2.7091 0.05334 .
Extraction 2166.8 1083.38 2 58 3.6381 0.03247 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
#filter(!is.na(x260_280),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
broom.mixed::tidy() %>%
tt()
| effect |
group |
term |
estimate |
std.error |
statistic |
df |
p.value |
| fixed |
NA |
(Intercept) |
40.307144 |
5.621064 |
7.1707318 |
58 |
1.514226e-09 |
| fixed |
NA |
TaxonReptile |
-7.547479 |
6.014439 |
-1.2548933 |
58 |
2.145505e-01 |
| fixed |
NA |
TaxonMammal |
1.592086 |
6.110570 |
0.2605462 |
58 |
7.953653e-01 |
| fixed |
NA |
TaxonBird |
9.812092 |
6.204784 |
1.5813754 |
58 |
1.192307e-01 |
| fixed |
NA |
ExtractionDREX1 |
-14.625757 |
5.434118 |
-2.6914685 |
58 |
9.280304e-03 |
| fixed |
NA |
ExtractionDREX2 |
-9.026627 |
5.442600 |
-1.6585137 |
58 |
1.026129e-01 |
| ran_pars |
Sample:Species |
sd__(Intercept) |
0.000000 |
NA |
NA |
NA |
NA |
| ran_pars |
Species |
sd__(Intercept) |
0.000000 |
NA |
NA |
NA |
NA |
| ran_pars |
Residual |
sd__Observation |
17.256500 |
NA |
NA |
NA |
NA |
all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
#filter(!is.na(x260_280),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot_model(.,type="pred",terms=c("Taxon","Extraction"))

all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
#filter(!is.na(x260_280),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
ggpredict(.,terms="Extraction")
# Predicted values of d260_280
Extraction | Predicted | 95% CI
-------------------------------------
REF | 40.31 | 29.04, 51.57
DREX1 | 25.68 | 15.36, 36.00
DREX2 | 31.28 | 20.95, 41.61
Adjusted for:
* Taxon = Amphibian
* Sample = 0 (population-level)
* Species = 0 (population-level)
all_data %>%
filter(!is.na(x260_280),Taxon != "Control") %>%
mutate(d260_280=abs(1.8-x260_280)) %>%
lmerTest::lmer(rank(d260_280) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
r.squaredGLMM()
R2m R2c
[1,] 0.1957896 0.1957896
Sample purity A260/A230 Ratios
The A260/A230 is a sensitive indicator of contaminants that absorb at 230 nm. These contaminants are significantly more numerous than those absorbing at 280 nm, and include chaotropic salts such as guanidine thiocyanate (GTC) and guanidine hydrochloride (GuHCl), EDTA, non-ionic detergents like Triton™ X-100 and Tween® 20, proteins, and phenol. Substances like polysaccharides or free floating solid particles like silica fibers absorb at this wavelength, but will have a weaker effect.
Low 260/230 values indicates the presence of residual extraction reagent (ex. Carbohydrates, Chaotropic salts, phenol).
all_data %>%
filter(!is.na(x260_230)) %>%
select(Extraction, x260_230, Taxon) %>%
group_by(Extraction) %>%
#group_by(Taxon, Extraction) %>%
summarise(value = sprintf("%.2f±%.2f", mean(x260_230), sd(x260_230))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of 260/230 values")
Mean and standard deviation of 260/230 values
| REF |
DREX1 |
DREX2 |
| 0.09±0.11 |
0.17±0.13 |
0.20±0.27 |
all_data %>%
filter(!is.na(x260_230)) %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
select(Extraction, d260_230, Taxon) %>%
group_by(Taxon, Extraction) %>%
summarise(value = sprintf("%.2f±%.2f", mean(d260_230), sd(d260_230))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of the deviation of 260/230 values from 1.8")
Mean and standard deviation of the deviation of 260/230 values from 1.8
| Taxon |
REF |
DREX1 |
DREX2 |
| Amphibian |
1.72±0.09 |
1.53±0.15 |
1.61±0.17 |
| Reptile |
1.76±0.04 |
1.66±0.13 |
1.63±0.17 |
| Mammal |
1.62±0.17 |
1.63±0.12 |
1.38±0.52 |
| Bird |
1.72±0.09 |
1.69±0.10 |
1.67±0.10 |
| Control |
1.79±0.00 |
1.72±0.09 |
1.79±0.00 |
Higher deviation from 1.8 indicates lower purity of the DNA extracts
all_data %>%
filter(!is.na(x260_230)) %>%
select(Extraction, x260_230, Taxon, Species) %>%
ggplot(aes(x=Extraction, y=x260_230, color=Species, group=Extraction))+
geom_boxplot(outlier.shape = NA, fill="#f4f4f4", color="#8c8c8c") +
geom_jitter() +
scale_color_manual(values=vertebrate_colors) +
facet_grid(. ~ Taxon, scales = "free") +
theme_minimal() +
labs(y="Deviation of 260/230 values from 1.8",x="Extraction method")

all_data %>%
# filter(!is.na(x260_230),Taxon != "Control") %>%
filter(!is.na(x260_230),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
lmerTest::lmer(rank(d260_230) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot()

all_data %>%
# filter(!is.na(x260_230),Taxon != "Control") %>%
filter(!is.na(x260_230),Taxon != "Control",!dna_extract %in% c("AGI41E1")) %>%
#filter(!is.na(x260_230),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
lmerTest::lmer(rank(d260_230) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
anova()
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Taxon 633.23 211.08 3 7.947 0.9068 0.479655
Extraction 2535.12 1267.56 2 40.454 5.4455 0.008049 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
all_data %>%
# filter(!is.na(x260_230),Taxon != "Control") %>%
filter(!is.na(x260_230),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
lmerTest::lmer(rank(d260_230) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
broom.mixed::tidy() %>%
tt()
| effect |
group |
term |
estimate |
std.error |
statistic |
df |
p.value |
| fixed |
NA |
(Intercept) |
32.4284615 |
6.339797 |
5.1150630 |
12.163079 |
0.0002446977 |
| fixed |
NA |
TaxonReptile |
6.8963418 |
8.091541 |
0.8522903 |
8.223421 |
0.4181819448 |
| fixed |
NA |
TaxonMammal |
-5.7184280 |
8.091541 |
-0.7067168 |
8.223421 |
0.4992748629 |
| fixed |
NA |
TaxonBird |
8.7727143 |
8.273361 |
1.0603567 |
8.888935 |
0.3169426589 |
| fixed |
NA |
ExtractionDREX1 |
-9.6666667 |
4.231586 |
-2.2844072 |
33.999693 |
0.0287121253 |
| fixed |
NA |
ExtractionDREX2 |
-13.0000000 |
4.231586 |
-3.0721338 |
33.999693 |
0.0041659257 |
| ran_pars |
Sample:Species |
sd__(Intercept) |
0.8608917 |
NA |
NA |
NA |
NA |
| ran_pars |
Species |
sd__(Intercept) |
7.6823091 |
NA |
NA |
NA |
NA |
| ran_pars |
Residual |
sd__Observation |
12.6947594 |
NA |
NA |
NA |
NA |
all_data %>%
# filter(!is.na(x260_230),Taxon != "Control") %>%
filter(!is.na(x260_230),Taxon != "Control", !Sample %in% c("ABD27", "AJP51", "AFO83","AAZ65","AGI41", "AIV55")) %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
lmerTest::lmer(rank(d260_230) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot_model(.,type="pred",terms=c("Taxon","Extraction"),show.data = TRUE)

all_data %>%
filter(!is.na(x260_230),Taxon != "Control") %>%
mutate(d260_230=abs(1.8-x260_230)) %>%
lmerTest::lmer(rank(d260_230) ~ Taxon + Extraction + (1 | Species/Sample), data = ., REML = TRUE) %>%
r.squaredGLMM()
R2m R2c
[1,] 0.178054 0.4098904
Amplification performance
all_data %>%
filter(!is.na(ct_d_rn)) %>%
select(Extraction, ct_d_rn, Taxon) %>%
group_by(Taxon, Extraction) %>%
summarise(value = sprintf("%.2f±%.2f", mean(ct_d_rn), sd(ct_d_rn))) %>%
pivot_wider(names_from = Extraction, values_from = value) %>%
tt(caption = "Mean and standard deviation of Cts (cycle threshold) values")
Mean and standard deviation of Cts (cycle threshold) values
| Taxon |
REF |
DREX1 |
DREX2 |
| Amphibian |
18.19±2.11 |
15.57±3.29 |
14.42±2.53 |
| Reptile |
16.16±3.91 |
14.56±3.36 |
16.33±3.37 |
| Mammal |
15.21±4.13 |
14.75±1.84 |
14.45±2.06 |
| Bird |
20.36±3.58 |
20.83±2.31 |
18.91±2.51 |
| Control |
23.86±2.69 |
23.39±0.76 |
26.23±4.24 |
all_data %>%
#filter(!Taxon=="Control") %>%
select(Library,Species,Extraction, ct_d_rn,Taxon) %>%
unique() %>%
ggplot(aes(x=Extraction, y=ct_d_rn, color=Species, group=Extraction))+
geom_boxplot(outlier.shape = NA, fill="#f4f4f4", color="#8c8c8c") +
geom_jitter() +
scale_color_manual(values=vertebrate_colors) +
facet_grid(. ~ Taxon, scales = "free") +
theme_minimal() +
labs(y="Cts (cycle threshold) values",x="Extraction method")

all_data %>%
select(dna_extract, ct_d_rn, ng_ul_lib, Species, Extraction) %>%
ggplot(aes(x=log10(ng_ul_lib), y=ct_d_rn)) +
geom_point(aes(color=Extraction)) + geom_smooth(method = "lm", se=FALSE)

all_data %>%
filter(Taxon != "Control") %>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot()

all_data %>%
filter(Taxon != "Control") %>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
anova()
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Taxon 22.392 7.464 3 8.709 1.2818 0.3402
Extraction 26.585 13.292 2 45.423 2.2826 0.1136
log10(ng_ul_lib) 146.211 146.211 1 39.839 25.1082 1.154e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
all_data %>%
filter(Taxon != "Control") %>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
broom.mixed::tidy() %>%
tt()
| effect |
group |
term |
estimate |
std.error |
statistic |
df |
p.value |
| fixed |
NA |
(Intercept) |
17.5438706 |
0.8220013 |
21.3428733 |
13.276020 |
1.154989e-11 |
| fixed |
NA |
TaxonReptile |
-1.0851748 |
1.0070686 |
-1.0775579 |
7.629471 |
3.141183e-01 |
| fixed |
NA |
TaxonMammal |
-1.2919091 |
0.9970232 |
-1.2957662 |
7.438002 |
2.338163e-01 |
| fixed |
NA |
TaxonBird |
0.5700030 |
1.2068017 |
0.4723253 |
11.583255 |
6.454686e-01 |
| fixed |
NA |
ExtractionDREX1 |
-1.4247190 |
0.7005353 |
-2.0337576 |
44.938946 |
4.790546e-02 |
| fixed |
NA |
ExtractionDREX2 |
-1.0904678 |
0.7003063 |
-1.5571298 |
44.905296 |
1.264602e-01 |
| fixed |
NA |
log10(ng_ul_lib) |
-3.2269503 |
0.6439979 |
-5.0108085 |
39.838561 |
1.154229e-05 |
| ran_pars |
Sample:Species |
sd__(Intercept) |
0.7960002 |
NA |
NA |
NA |
NA |
| ran_pars |
Species |
sd__(Intercept) |
0.4512907 |
NA |
NA |
NA |
NA |
| ran_pars |
Residual |
sd__Observation |
2.4131358 |
NA |
NA |
NA |
NA |
all_data %>%
filter(Taxon != "Control") %>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
plot_model(.,type="pred",terms=c("Taxon","Extraction"),show.data = TRUE)

all_data %>%
filter(Taxon != "Control") %>%
mutate("log_extract"=log(extract))%>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
ggeffects::ggpredict(.,terms="Extraction")
# Predicted values of ct_d_rn
Extraction | Predicted | 95% CI
-------------------------------------
REF | 16.75 | 15.13, 18.37
DREX1 | 15.32 | 13.69, 16.96
DREX2 | 15.66 | 14.03, 17.28
Adjusted for:
* Taxon = Amphibian
* ng_ul_lib = 1.76
* Sample = 0 (population-level)
* Species = 0 (population-level)
all_data %>%
filter(Taxon != "Control") %>%
lmerTest::lmer(ct_d_rn ~ Taxon + Extraction + log10(ng_ul_lib) + (1 | Species/Sample), data = ., REML = TRUE) %>%
r.squaredGLMM()
R2m R2c
[1,] 0.5145871 0.5756074