As a reminder, this project involved hardening adult diploid and triploid Pacific oysters with a regular thermal stress treatment (35C for 4hrs, 2x a week, for 2 weeks), then performing two consecutive survivorship trials. See details in other posts in this project directory.
Since the second survivorship trial I have kept all surviving oysters in their individual containers on benchtop in a standard lab room (maintained at 18-20C). I changed the water in each cup regularly, maintaing a roughly 1:6 ratio of oyster: water volume. Water used was dechlorinated tap water mixed with Instant Ocean to ~25psu salinity. Notably, no algae or either food has been added during water changes – the oysters were last fed just before Survivorship Round 2 (August 9 2024). For the first few weeks I changed the water every 1-2 days. Once I felt sure that latent effect of the survivorship trial had presented themselves I began extending the time between water changes to ~1 week. I noticed little change in mortality following the increased time between water changes, so I’m assuming there is sufficient ambient air-water exchange to prevent asphyxiation between changes.
General observations (see details in pictures and paper lab notebook):
After a few weeks some oysters began losing color in their shells, with the brown exterior layer flaking off into their water.
A few oysters eventually developed brown-colored water between changes, with a foul smell. This generally preceded mortality.
One oyster (India 03) had cloudy water during mortality checks and water changes on 09/11. I sampled and checked under the scope and think I may have seen sperm (but, since there was no movement, it’s hard to be sure). This was following a warm few days, which also increased temps in the lab, so I think India 03 may have spawned.
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Code
library(tidyr)# Load dataround2 <-read.csv("../../../../../Data/Pacific_oysters/2024_11_09_Survivorship_Round2.csv")# Data munging# Convert mort_date to Date formatround2 <- round2 %>%mutate(mort_date =as.Date(mort_date, format="%m/%d/%Y"))# Calculate the total number of original samples in each groupgroup_totals <- round2 %>%group_by(group) %>%summarise(total_samples =n(), .groups ='drop')# Generate a sequence of dates covering the entire perioddate_seq <-seq(min(round2$mort_date, na.rm =TRUE), max(round2$mort_date, na.rm =TRUE), by ="day")# Add the date before start of experiment, to show original 0% mortalitydate_seq <-c(as.Date("2024-08-08"), date_seq)# Create a data frame with all combinations of treatment group and dateround2_full <-expand.grid(group =unique(round2$group), date = date_seq)# Aggregate the data by group and date to get daily death countsround2_daily <- round2 %>%group_by(group, mort_date) %>%summarise(deaths =n(), .groups ='drop') %>%rename(date = mort_date)# Join the aggregated daily deaths with the full date rangeround2_cumulative <- round2_full %>%left_join(round2_daily, by =c("group", "date")) %>%mutate(deaths =ifelse(is.na(deaths), 0, deaths)) %>%# Replace NA with 0 for days with no deathsgroup_by(group) %>%arrange(date) %>%mutate(cumulative_deaths =cumsum(deaths)) %>%ungroup()# Join with group totals to calculate cumulative deaths as a percentageround2_cumulative <- round2_cumulative %>%left_join(group_totals, by ="group") %>%mutate(cumulative_death_percentage = (cumulative_deaths / total_samples) *100)# retrieve metadata associated with groupsmetadata <- round2 %>%select(group, cattle_tag, round1_treatment, round2_treatment) %>%distinct()round2_cumulative_metadata <- round2_cumulative %>%left_join(metadata, by ="group")# Plotlabels_df <- round2_cumulative_metadata %>%group_by(group) %>%filter(date ==max(date)) %>%ungroup()ggplot(round2_cumulative_metadata, aes(x = date, y = cumulative_death_percentage, group = group, color = round1_treatment)) +#geom_point() +geom_line() +facet_wrap(~ round2_treatment) +geom_text_repel(data = labels_df, aes(label = group), size =2.5, nudge_x =0.3, check_overlap =TRUE) +labs(title ="Cumulative mortality from Survivorship Round 2",x ="Time",y ="Cumulative mortality (%)") +theme_minimal()
As of 8/22 we’re sitting at roughly 50% mortality in the round 2 stressed oysters and roughly 10% mortality in the controls. Interestingly, while there doesn’t appear to be any difference among the original hardening groups, the round 1 survivorship does seem to have had a hardening effect!
Several possible explanations for this observation:
The original hardening did have an effect, but it was too subtle to see with our reduced sample sizes
The original hardening was too long ago – it’s effects were short-term and are no longer manifest, 4 weeks later
The original hardening was performed at too low a temperature to see an effect at 42C stress. The original hardening was done at 35C, while survivorship round 1 was at 42C, the same temperature the oysters then experienced during this survivorship round. My brief review of other papers that attempted hardening in bivalves did suggest that hardening was most effective when conditions were similar to those the organism would experience during an extreme stress event post-hardening