1 Working R environment

Code
library(tidyverse) 
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.2     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ ggplot2   3.4.2     ✔ tibble    3.2.1
✔ lubridate 1.9.2     ✔ tidyr     1.3.0
✔ purrr     1.0.1     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

2 Needed data tables

Code
# last updated Oct 22, 2023
# save(euk_prok_counts, table_grazerate_wflp_wprok_weuk,
#      table_wcalcs, biov_calc, c_factor_biov,
#      pgC_ml_biov_bysample, pgC_ml_sizefrac_bysample,
#      carbon_consumed, file = "input-data/all-dfs-for-Tables.RData")

load("input-data/all-dfs-for-Tables.RData", verbose = TRUE)
Loading objects:
  euk_prok_counts
  table_grazerate_wflp_wprok_weuk
  table_wcalcs
  biov_calc
  c_factor_biov
  pgC_ml_biov_bysample
  pgC_ml_sizefrac_bysample
  carbon_consumed

3 Table 1: counts and rates

Table 1. Grazing experiments conducted at the Mid-Cayman rise included 9 from Von Damm and 4 from Piccard. Out of 14 total grazing assays, 5 were conducted in Isobaric Gas Tight chambers at in situ pressure. Temperature reflects the highest recorded temperature at time of fluid collection. Prokaryotic cell concentrations were derived from descrete fixed samples from the same fluid, while eukaryotic cell concentrations reported below are dervied from the T0 grazing experiment time points. Absent grazing rates include those that had a negative slope and percentage prokaryote turnover shows the relative top-down (higher percentage) to bottom-up pressures on the microbial communities, based on grazing rate and cell concentrations.

Code
write_delim(table_wcalcs %>%
              select(SiteOrder, NameOrder, FLUID_ORIGIN, CRUISE_SAMPLE, EUK_ml, EUK_MinMax, PROK_ml, PROK_MinMax, GRAZING_EFFECT_hr, RATE_minute, CLEARANCE_RATE_ml, BAC_TURNOVER_PERC),
            file = "output-data/table1-grazing-exp-list.txt", delim = "\t")

3.1 Average euk & prok summary

In results section, report the overall average euk cells per ml and prok cells per ml by sample type, location, experiment type, and vent field.

Code
tmp <- euk_prok_counts %>% 
  mutate(TYPE = case_when(
    grepl("BSW", Name) ~ "non-vent",
    grepl("Plume", Name) ~ "non-vent",
    TRUE ~ "vent"
  ),
  EXP_TYPE = case_when(
    grepl("IGT", SITE_TYPE) ~ "IGT",
    TRUE ~ "Shipboard"
    ))

tmp %>% 
  select(TYPE, PROK_ml, EUK_ml) %>% 
  distinct() %>%
  group_by(TYPE) %>% 
  filter(!is.na(PROK_ml)) %>%
  filter(!is.na(EUK_ml)) %>%
  summarise(mean_prok = mean(PROK_ml),
            mean_euk = mean(EUK_ml))
# A tibble: 2 × 3
  TYPE     mean_prok mean_euk
  <chr>        <dbl>    <dbl>
1 non-vent    35266.     110.
2 vent       139963.     365.
Code
tmp %>% 
  select(TYPE, PROK_ml, EUK_ml, Site) %>% 
  distinct() %>%
  group_by(TYPE, Site) %>% 
  filter(!is.na(PROK_ml)) %>%
  filter(!is.na(EUK_ml)) %>%
  summarise(mean_prok = mean(PROK_ml),
            mean_euk = mean(EUK_ml))
# A tibble: 4 × 4
# Groups:   TYPE [2]
  TYPE     Site    mean_prok mean_euk
  <chr>    <chr>       <dbl>    <dbl>
1 non-vent Piccard     51429     79.3
2 non-vent VD          27184    125. 
3 vent     Piccard    192412    399. 
4 vent     VD          70030    320. 
Code
tmp %>% 
  select(TYPE, PROK_ml, EUK_ml, EXP_TYPE) %>% 
  distinct() %>%
  group_by(TYPE, EXP_TYPE) %>% 
  filter(!is.na(PROK_ml)) %>%
  filter(!is.na(EUK_ml)) %>%
  summarise(mean_prok = mean(PROK_ml),
            mean_euk = mean(EUK_ml))
# A tibble: 3 × 4
# Groups:   TYPE [2]
  TYPE     EXP_TYPE  mean_prok mean_euk
  <chr>    <chr>         <dbl>    <dbl>
1 non-vent Shipboard    35266.     110.
2 vent     IGT         238590      455.
3 vent     Shipboard   100512.     329.

3.2 Complete grazing rate results

Code
table_wcalcs
             Experiment_rep   FIELD           Name SiteOrder      NameOrder
1     LotsOShrimp-Shipboard Piccard    LotsOShrimp   Piccard Lots 'O Shrimp
2           Plume-Shipboard Piccard          Plume   Piccard          Plume
3  Shrimpocalypse-Shipboard Piccard Shrimpocalypse   Piccard Shrimpocalypse
4             BSW-Shipboard      VD            BSW  Von Damm     Background
5    MustardStand-Shipboard      VD   MustardStand  Von Damm  Mustard Stand
6           Plume-Shipboard      VD          Plume  Von Damm          Plume
7            Rav2-Shipboard      VD           Rav2  Von Damm     Ravelin #2
8      ShrimpHole-Shipboard      VD     ShrimpHole  Von Damm    Shrimp Hole
9             X18-Shipboard      VD            X18  Von Damm           X-18
10      Shrimpocalypse-IGT3 Piccard Shrimpocalypse   Piccard Shrimpocalypse
11                 OMT-IGT4      VD            OMT  Von Damm   Old Man Tree
12                Rav2-IGT4      VD           Rav2  Von Damm     Ravelin #2
13                Rav2-IGT5      VD           Rav2  Von Damm     Ravelin #2
14      Shrimpocalypse-IGT7 Piccard Shrimpocalypse      <NA>           <NA>
   FLUID_ORIGIN CRUISE_SAMPLE         RATE RATE_minute      FLP_ml
1       J2-1241          LV24 -0.007605829 0.000000000    617.1496
2        CTD004     Niskin 10  0.005362856 0.005362856  29650.4676
3       J2-1240          LV13  0.015686872 0.015686872  17003.1000
4        CTD002  Niskins 8-10  0.002958889 0.002958889   4861.8239
5       J2-1243          LV17 -0.005445545 0.000000000   6601.4929
6        CTD001      Niskin 2  0.005274231 0.005274231  34242.3542
7       J2-1238         LV13a  0.003470217 0.003470217  51890.9422
8       J2-1244          LV13 -0.001967253 0.000000000 113354.0000
9       J2-1235   LV23 & Bio5  0.001744429 0.001744429   3148.7222
10      J2-1240          IGT3  0.016794258 0.016794258   5352.8278
11      J2-1238          IGT4  0.003764672 0.003764672   5352.8278
12      J2-1244          IGT4  0.021062665 0.021062665   5352.8278
13      J2-1244          IGT5 -0.002850877 0.000000000   5352.8278
14         <NA>          <NA>           NA          NA          NA
          TimePoints EXP_REPS EXP_VOL CTRL_REPS CTRL_VOL         SITE_TYPE
1      0, 15, 20, 40        3    1.50         2      0.2 Piccard-Shipboard
2  0, 10, 15, 20, 40        3    2.00         2      0.5 Piccard-Shipboard
3  0, 10, 14, 22, 42        3    1.50         2      0.2 Piccard-Shipboard
4  0, 10, 15, 20, 40        3    2.00         2      0.5      VD-Shipboard
5      0, 10, 20, 40        2    1.50         2      0.2      VD-Shipboard
6  0, 10, 15, 25, 57        3    2.00         2      1.0      VD-Shipboard
7  0, 10, 15, 21, 40        3    1.50         2      0.5      VD-Shipboard
8  0, 10, 15, 20, 40        2    1.50         2      0.2      VD-Shipboard
9      0, 15, 20, 40        2    1.50         2      0.5      VD-Shipboard
10         0, 15, 25        1    0.15        NA       NA       Piccard-IGT
11          0, 7, 25        1    0.15        NA       NA            VD-IGT
12         0, 12, 20        1    0.15        NA       NA            VD-IGT
13         0, 35, 40        1    0.15        NA       NA            VD-IGT
14              <NA>       NA      NA        NA       NA       Piccard-IGT
                 Experiment VARIABLE  EUK_ml    EUK_MinMax    EUK_sem  PROK_ml
1     LotsOShrimp-Shipboard  eukCONC 230.910 230.9 / 230.9         NA  53878.0
2           Plume-Shipboard  eukCONC  79.301   55.98 / 112  16.819081  51429.0
3  Shrimpocalypse-Shipboard  eukCONC 454.820 454.8 / 454.8         NA 238590.0
4             BSW-Shipboard  eukCONC  91.838 69.97 / 113.7  21.866127  37890.0
5    MustardStand-Shipboard  eukCONC 259.770 230.9 / 288.6  28.863287  56677.0
6           Plume-Shipboard  eukCONC 157.770 55.98 / 284.4  67.098589  16478.0
7            Rav2-Shipboard  eukCONC 409.330 335.9 / 482.8  73.470185  71147.4
8      ShrimpHole-Shipboard  eukCONC 385.720 377.8 / 393.6   7.871806  41983.0
9             X18-Shipboard  eukCONC 314.870 209.9 / 419.8 104.957407 111430.0
10       Shrimpocalypse-IGT  eukCONC 384.840 384.8 / 384.8         NA 238590.0
11                  OMT-IGT  eukCONC 349.860 349.9 / 349.9         NA  71147.4
12                 Rav2-IGT  eukCONC 944.620 944.6 / 944.6         NA  71147.4
13                 Rav2-IGT  eukCONC 629.740 629.7 / 629.7         NA  71147.4
14       Shrimpocalypse-IGT  eukCONC 524.790 524.8 / 524.8         NA 238590.0
       PROK_MinMax  PROK_sem   RATE_hr  RATE_day       FLP_L CLEARANCE_RATE_ml
1    26240 / 90260 13727.191 0.0000000  0.000000    617149.6      0.000000e+00
2    46810 / 56050  4618.126 0.3217713  7.722512  29650467.6      1.085215e-05
3  108700 / 322000 65792.588 0.9412123 22.589096  17003100.0      5.535534e-05
4    18470 / 56470  8608.427 0.1775333  4.260800   4861823.9      3.651579e-05
5    42400 / 70950 14274.207 0.0000000  0.000000   6601492.9      0.000000e+00
6    13850 / 19100  2623.935 0.3164538  7.594892  34242354.2      9.241591e-06
7             <NA>        NA 0.2082130  4.997113  51890942.2      4.012512e-06
8    38830 / 45130  3148.722 0.0000000  0.000000 113354000.0      0.000000e+00
9  108500 / 114400  2973.793 0.1046657  2.511977   3148722.2      3.324070e-05
10 108700 / 322000 65792.588 1.0076555 24.183732   5352827.8      1.882473e-04
11            <NA>        NA 0.2258803  5.421128   5352827.8      4.219832e-05
12            <NA>        NA 1.2637599 30.330237   5352827.8      2.360920e-04
13            <NA>        NA 0.0000000  0.000000   5352827.8      0.000000e+00
14 108700 / 322000 65792.588        NA        NA          NA                NA
   CLEARANCE_RATE_nL SPEC_GRAZE_RATE_hr GRAZE_RATE_DAY GRAZING_EFFECT_hr
1       0.000000e+00          0.0000000       0.000000           0.00000
2       1.085215e-11          0.5581153      13.394766          44.25910
3       5.535534e-11         13.2072298     316.973515        6006.91224
4       3.651579e-11          1.3835832      33.205997         127.06552
5       0.000000e+00          0.0000000       0.000000           0.00000
6       9.241591e-12          0.1522829       3.654791          24.02568
7       4.012512e-12          0.2854798       6.851515         116.85545
8       0.000000e+00          0.0000000       0.000000           0.00000
9       3.324070e-11          3.7040107      88.896256        1166.28184
10      1.882473e-10         44.9139287    1077.934290       17284.67633
11      4.219832e-11          3.0023005      72.055212        1050.38486
12      2.360920e-10         16.7973322     403.135972       15867.09592
13      0.000000e+00          0.0000000       0.000000           0.00000
14                NA                 NA             NA                NA
   GRAZING_EFFECT_hr_min GRAZING_EFFECT_hr_max GRAZING_EFFECT_day
1                     NA                    NA             0.0000
2               34.87211              53.64608          1062.2184
3                     NA                    NA        144165.8939
4               96.81191             157.31912          3049.5724
5                0.00000               0.00000             0.0000
6               13.80771              34.24365           576.6163
7               95.88119             137.82970          2804.5307
8                0.00000               0.00000             0.0000
9              777.51848            1555.04520         27990.7642
10                    NA                    NA        414832.2320
11                    NA                    NA         25209.2366
12                    NA                    NA        380810.3021
13                    NA                    NA             0.0000
14                    NA                    NA                 NA
   BAC_TURNOVER_PERC BAC_TURNOVER_PERC_min BAC_TURNOVER_PERC_max
1           0.000000              0.000000              0.000000
2           2.065407              2.269170              1.895224
3          60.424114             83.430586             47.363384
4           8.048489             10.414647              6.558442
5           0.000000              0.000000              0.000000
6           3.499310              4.162073              3.018628
7           3.941860                    NA                    NA
8           0.000000              0.000000              0.000000
9          25.119595             25.808356             24.466640
10        173.868239            240.068544            136.286453
11         35.432409                    NA                    NA
12        535.241369                    NA                    NA
13          0.000000                    NA                    NA
14                NA                    NA                    NA

Explanation of units for table with calculated values.

  • RATE_min & RATE_hr = Grazing rate as ‘FLPs per grazer per minute’ and per hour

  • CLEARANCE_RATE = ml or nL per grazer per hour

  • SPEC_GRAZE_RATE (Specific grazing rate) = Prokaryotes per grazer per hour

  • GRAZING EFFECT = bacteria per ml per hour

  • Bacterial turnover rate = % per day

3.3 Average grazing rates

Report grazing rates from shipboard and IGT experiments. Differentiate vent and non-vent samples. Averages reported here do not include the undetected grazing rates.

Code
table_wcalcs %>% 
  # Technical replicates are already removed
  filter(!is.na(FLUID_ORIGIN)) %>% # Remove IGT 7 that didn't work
  filter(RATE_minute > 0) %>% # Remove undetected grazing rates
    mutate(SAMPLE_TYPE_BIN = case_when(
    NameOrder == "Background" ~ "Non-vent",
    NameOrder == "Plume" ~ "Non-vent",
    TRUE ~ "Vent"
  )) %>%
  # group_by(SAMPLE_TYPE_BIN) %>%
  separate(Experiment_rep, into = c("name", "exptype_rep"), remove = FALSE) %>% 
  mutate(exptype = case_when(exptype_rep == "Shipboard" ~ "Shipboard",
                             TRUE ~ "IGT")) %>% 
  group_by(SAMPLE_TYPE_BIN, exptype) %>%
  # group_by(SAMPLE_TYPE_BIN) %>% 
    summarise(MEAN_RATE = mean(GRAZING_EFFECT_hr),
              MIN_RATE = min(GRAZING_EFFECT_hr),
              MAX_RATE = max(GRAZING_EFFECT_hr))
`summarise()` has grouped output by 'SAMPLE_TYPE_BIN'. You can override using
the `.groups` argument.
# A tibble: 3 × 5
# Groups:   SAMPLE_TYPE_BIN [2]
  SAMPLE_TYPE_BIN exptype   MEAN_RATE MIN_RATE MAX_RATE
  <chr>           <chr>         <dbl>    <dbl>    <dbl>
1 Non-vent        Shipboard      65.1     24.0     127.
2 Vent            IGT         11401.    1050.    17285.
3 Vent            Shipboard    2430.     117.     6007.
Code
table_wcalcs %>% 
  # Technical replicates are already removed
  filter(!is.na(FLUID_ORIGIN)) %>% # Remove IGT 7 that didn't work
  filter(RATE_minute > 0) %>% # Remove undetected grazing rates
    mutate(SAMPLE_TYPE_BIN = case_when(
    NameOrder == "Background" ~ "Non-vent",
    NameOrder == "Plume" ~ "Non-vent",
    TRUE ~ "Vent"
  )) %>%
  # group_by(SAMPLE_TYPE_BIN) %>%
  separate(Experiment_rep, into = c("name", "exptype_rep"), remove = FALSE) %>% 
  mutate(exptype = case_when(exptype_rep == "Shipboard" ~ "Shipboard",
                             TRUE ~ "IGT")) %>% 
  group_by(SAMPLE_TYPE_BIN, FIELD) %>% 
    summarise(MEAN_RATE = mean(GRAZING_EFFECT_hr),
              MIN_RATE = min(GRAZING_EFFECT_hr),
              MAX_RATE = max(GRAZING_EFFECT_hr))
`summarise()` has grouped output by 'SAMPLE_TYPE_BIN'. You can override using
the `.groups` argument.
# A tibble: 4 × 5
# Groups:   SAMPLE_TYPE_BIN [2]
  SAMPLE_TYPE_BIN FIELD   MEAN_RATE MIN_RATE MAX_RATE
  <chr>           <chr>       <dbl>    <dbl>    <dbl>
1 Non-vent        Piccard      44.3     44.3     44.3
2 Non-vent        VD           75.5     24.0    127. 
3 Vent            Piccard   11646.    6007.   17285. 
4 Vent            VD         4550.     117.   15867. 
Code
# igt_vent_rate_avg <- 11400.71904
# ship_vent_rate_avg <- 2430.01651
# ship_nonvent_rate_avg <- 65.11676

Units above are in cells consumed per ml per hour.

Compare IGT and shipboard outputs with other studies below. Units: pg C per ml per hour

4 Table 3: biomass

4.1 Mean biovolume from microscopy images

Units are µm^3 for biovolume.

Code
# Biovolume by sample type
# biov_calc
biov_calc %>% 
  group_by(VENT_BSW) %>% 
  summarise(mean_biov = mean(BIOVOLUME))
# A tibble: 2 × 2
  VENT_BSW mean_biov
  <chr>        <dbl>
1 BSW           773.
2 vent         3321.
Code
# Biovolume by IGT and sample type
biov_calc %>% 
  # filter(VENT_BSW != "BSW") %>% 
  group_by(EXP, VENT_BSW) %>% 
  summarise(mean_biov = mean(BIOVOLUME))
`summarise()` has grouped output by 'EXP'. You can override using the `.groups`
argument.
# A tibble: 3 × 3
# Groups:   EXP [2]
  EXP   VENT_BSW mean_biov
  <chr> <chr>        <dbl>
1 Bag   BSW           773.
2 Bag   vent         1976.
3 IGT   vent         4441.
Code
write.csv(biov_calc, file = "output-data/biovolume-calculation.csv")

In discussion compare deep sea biovolumes to Pernice et al.

Code
biov_calc %>% 
  filter(VENT_BSW != "vent")
  EXP VENT_BSW      h      d BIOVOLUME pgC_cell_MD_dino pgC_cell_MD_nodiatom
1 Bag      BSW 14.595  8.036  493.4948        122.07087             73.02072
2 Bag      BSW 12.480  8.982  527.1805        128.85411             77.69151
3 Bag      BSW 16.206 14.924 1889.9266        366.62493            257.65320
4 Bag      BSW  7.000  7.000  179.5944         53.34323             28.26407

4.2 Determine C conversion rate

Determined from biovolume, using pg of C per cell.

Code
pgC_cell_BSW <- subset(c_factor_biov, VARIABLES == "pgC_cell_MD_nodiatom")$mean_BSW

pgC_cell_vent <- subset(c_factor_biov, VARIABLES == "pgC_cell_MD_nodiatom")$mean_vent

# pg C per cell (pgC_cell)
pgC_cell_BSW # nonvent
[1] 109.1574
Code
pgC_cell_vent # vent
[1] 414.8068

4.3 Report carbon biomass as a mean

To estimate pg C per ml, multiply pg C per cell by euk cell concentration.

**(cells/ml)*(pg C/cell) = pg C/ml**

Take the mean of estimate euk cells biomass across all samples (T0-Tfs). Remove the technical replicates first and convert pg C per ml to per L.

4.4 Part 1 of Table 2

Code
## Vent vs. non vent
partONE <- pgC_ml_biov_bysample %>% 
  ##remove technical replicates:
  filter(IGT_REP != "IGT4b" & IGT_REP != "IGT5b") %>% 
  ##
  group_by(SAMPLE_TYPE_BIN)%>% 
  summarise(MEAN_pg_C_ml = round(mean(pgC_ml_mean), digits = 1),
            MAX_pg_C_ml = round(max(pgC_ml_mean), digits =1),
            MIN_pg_C_ml = round(min(pgC_ml_mean), digits = 1)) %>% 
  add_column(ORIGIN = "bybiovolume") %>% 
  select(CATEGORY = SAMPLE_TYPE_BIN, everything()) %>% 
  ## Von Damm vs Piccard
  rbind(
    pgC_ml_biov_bysample %>% 
  filter(IGT_REP != "IGT4b" & IGT_REP != "IGT5b") %>% 
  filter(SAMPLE_TYPE_BIN == "Vent") %>%
  group_by(Site)%>% 
  summarise(MEAN_pg_C_ml = round(mean(pgC_ml_mean), digits = 1),
            MAX_pg_C_ml = round(max(pgC_ml_mean), digits =1),
            MIN_pg_C_ml = round(min(pgC_ml_mean), digits = 1)) %>% 
  add_column(ORIGIN = "bybiovolume") %>% 
    select(CATEGORY = Site, everything())
  ) %>% 
  rbind(
    ## Vent only, IGT vs shipboard
    pgC_ml_biov_bysample %>% 
  filter(SAMPLE_TYPE_BIN == "Vent") %>%
  group_by(VARIABLE, EXP_TYPE, SAMPLE_TYPE_BIN) %>% 
  summarise(MEAN_pg_C_ml = round(mean(pgC_ml_mean), digits = 1),
            MAX_pg_C_ml = round(max(pgC_ml_mean), digits =1),
            MIN_pg_C_ml = round(min(pgC_ml_mean), digits = 1)) %>% 
    unite(CATEGORY, EXP_TYPE, VARIABLE, SAMPLE_TYPE_BIN, sep = " ") %>% 
  add_column(ORIGIN = "bybiovolume")) %>% 
  unite("MinMax_pg_C_ml", MIN_pg_C_ml, MAX_pg_C_ml, sep = " / ", remove = FALSE)
`summarise()` has grouped output by 'VARIABLE', 'EXP_TYPE'. You can override
using the `.groups` argument.

4.5 Part 2 of Table 2

Code
## Vent vs. non vent
partTWO <- pgC_ml_sizefrac_bysample %>% 
  ##remove technical replicates:
  filter(IGT_REP != "IGT4b" & IGT_REP != "IGT5b") %>% 
  filter(VARIABLE == "totaleuk") %>% 
  ##
  group_by(SAMPLE_TYPE_BIN)%>% 
  summarise(MEAN_pg_C_ml = round(mean(pg_C_ml), digits = 1),
            MAX_pg_C_ml = round(max(pg_C_ml), digits =1),
            MIN_pg_C_ml = round(min(pg_C_ml), digits = 1)) %>% 
  add_column(ORIGIN = "sizefrac") %>% 
  select(CATEGORY = SAMPLE_TYPE_BIN, everything()) %>% 
  ## Von Damm vs Piccard
  rbind(
    pgC_ml_sizefrac_bysample %>% 
  filter(IGT_REP != "IGT4b" & IGT_REP != "IGT5b") %>% 
  filter(SAMPLE_TYPE_BIN == "Vent") %>%
    filter(VARIABLE == "totaleuk") %>% 
  group_by(Site)%>% 
  summarise(MEAN_pg_C_ml = round(mean(pg_C_ml), digits = 1),
            MAX_pg_C_ml = round(max(pg_C_ml), digits =1),
            MIN_pg_C_ml = round(min(pg_C_ml), digits = 1)) %>% 
  add_column(ORIGIN = "sizefrac") %>% 
    select(CATEGORY = Site, everything())
  ) %>% 
  rbind(
    ## Vent only, IGT vs shipboard
    pgC_ml_sizefrac_bysample %>% 
  filter(SAMPLE_TYPE_BIN == "Vent") %>%
    filter(VARIABLE == "totaleuk") %>% 
  group_by(VARIABLE, EXP_TYPE, SAMPLE_TYPE_BIN) %>% 
  summarise(MEAN_pg_C_ml = round(mean(pg_C_ml), digits = 1),
            MAX_pg_C_ml = round(max(pg_C_ml), digits =1),
            MIN_pg_C_ml = round(min(pg_C_ml), digits = 1)) %>% 
    unite(CATEGORY, EXP_TYPE, VARIABLE, SAMPLE_TYPE_BIN, sep = " ") %>% 
  add_column(ORIGIN = "sizefrac")) %>% 
  unite("MinMax_pg_C_ml", MIN_pg_C_ml, MAX_pg_C_ml, sep = " / ", remove = FALSE)
`summarise()` has grouped output by 'VARIABLE', 'EXP_TYPE'. You can override
using the `.groups` argument.

Table 3

Code
table2 <- partONE %>% 
  rbind(partTWO) %>% 
  select(-starts_with("MinMax")) %>% 
  pivot_longer(cols = ends_with("C_ml"), values_to = "pg_C_ml") %>% 
  mutateg_C_L = (pg_C_ml*(0.000001)*1000)) %>% 
  mutate(STAT = str_remove(name, "_pg_C_ml")) %>% 
  select(-name) %>% 
  mutate(CLASSIFICATION = case_when(
    CATEGORY == "VD" ~ "Von Damm (vent only)",
    CATEGORY == "Piccard" ~ "Piccard (vent only)",
    grepl("Bag", CATEGORY) ~ "Shipboard (vent only)",
    grepl("IGT", CATEGORY) ~ "IGT (vent only)",
    TRUE ~ CATEGORY))

table2_ugC_L <- table2 %>% 
  select(CLASSIFICATION, µg_C_L, STAT, ORIGIN) %>% 
  pivot_wider(names_from = STAT, values_from = µg_C_L)

write.csv(table2_ugC_L,
file = "output-data/table3-BIOMASS_ugC_L.csv")

4.6 Carbon consumed

Summary of carbon consumed:

Code
head(carbon_consumed)
# A tibble: 6 × 11
  SiteOrder NameOrder      FLUID_ORIGIN CRUISE_SAMPLE PROK_ml GRAZING_EFFECT_hr
  <fct>     <fct>          <chr>        <chr>           <dbl>             <dbl>
1 Piccard   Lots 'O Shrimp J2-1241      LV24            53878               0  
2 Piccard   Plume          CTD004       Niskin 10       51429              44.3
3 Piccard   Shrimpocalypse J2-1240      LV13           238590            6007. 
4 Von Damm  Background     CTD002       Niskins 8-10    37890             127. 
5 Von Damm  Mustard Stand  J2-1243      LV17            56677               0  
6 Von Damm  Plume          CTD001       Niskin 2        16478              24.0
# ℹ 5 more variables: CLEARANCE_RATE_ml <dbl>, bac_carbon_Mor_pg <dbl>,
#   fgC_ml <dbl>, pgC_pergrazer_CLEARANCE <dbl>, pgC_perml_perhr <dbl>
Code
table3 <- carbon_consumed %>% 
  drop_na() %>% # Remove extra IGT7
  filter(GRAZING_EFFECT_hr > 0) %>% # Remove slope 0 experiments
  mutate(SAMPLE_TYPE_BIN = case_when(
    NameOrder == "Background" ~ "Non-vent",
    NameOrder == "Plume" ~ "Non-vent",
    TRUE ~ "Vent"
  )) %>%
  group_by(SAMPLE_TYPE_BIN) %>% 
  summarise(MEAN_pgC_pergrazer_CLEARANCE = round(mean(pgC_pergrazer_CLEARANCE), digits = 1),
            MEAN_pgC_perml_perhr = round(mean(pgC_perml_perhr), digits = 1),
            MAX_pgC_pergrazer_CLEARANCE = round(max(pgC_pergrazer_CLEARANCE), digits = 1),
            MAX_pgC_perml_perhr = round(max(pgC_perml_perhr), digits = 1),
            MIN_pgC_pergrazer_CLEARANCE = round(min(pgC_pergrazer_CLEARANCE), digits = 1),
            MIN_pgC_perml_perhr = round(min(pgC_perml_perhr), digits = 1)) %>% 
  select(CATEGORY = SAMPLE_TYPE_BIN, everything()) %>% 
  rbind(carbon_consumed %>% 
  drop_na() %>% # Remove extra IGT7
    filter(GRAZING_EFFECT_hr > 0) %>% # Remove slope 0 experiments
  mutate(SAMPLE_TYPE_BIN = case_when(
    NameOrder == "Background" ~ "Non-vent",
    NameOrder == "Plume" ~ "Non-vent",
    TRUE ~ "Vent"
  )) %>%
  filter(SAMPLE_TYPE_BIN == "Vent") %>% 
  group_by(SiteOrder) %>% 
    summarise(MEAN_pgC_pergrazer_CLEARANCE = round(mean(pgC_pergrazer_CLEARANCE), digits = 1),
            MEAN_pgC_perml_perhr = round(mean(pgC_perml_perhr), digits = 1),
            MAX_pgC_pergrazer_CLEARANCE = round(max(pgC_pergrazer_CLEARANCE), digits = 1),
            MAX_pgC_perml_perhr = round(max(pgC_perml_perhr), digits = 1),
            MIN_pgC_pergrazer_CLEARANCE = round(min(pgC_pergrazer_CLEARANCE), digits = 1),
            MIN_pgC_perml_perhr = round(min(pgC_perml_perhr), digits = 1)) %>% 
  select(CATEGORY = SiteOrder, everything())) %>% 
  rbind(carbon_consumed %>% 
  drop_na() %>% # Remove extra IGT7
    filter(GRAZING_EFFECT_hr > 0) %>% # Remove slope 0 experiments
  mutate(SAMPLE_TYPE_BIN = case_when(
    NameOrder == "Background" ~ "Non-vent",
    NameOrder == "Plume" ~ "Non-vent",
    TRUE ~ "Vent"
  )) %>%
    mutate(EXP_TYPE = case_when(
    grepl("IGT", CRUISE_SAMPLE) ~ "IGT",
    TRUE ~ "Shipboard"
  )) %>%
  filter(SAMPLE_TYPE_BIN == "Vent") %>% 
  group_by(EXP_TYPE) %>% 
    summarise(MEAN_pgC_pergrazer_CLEARANCE = round(mean(pgC_pergrazer_CLEARANCE), digits = 2),
            MEAN_pgC_perml_perhr = round(mean(pgC_perml_perhr), digits = 1),
            MAX_pgC_pergrazer_CLEARANCE = round(max(pgC_pergrazer_CLEARANCE), digits = 2),
            MAX_pgC_perml_perhr = round(max(pgC_perml_perhr), digits = 1),
            MIN_pgC_pergrazer_CLEARANCE = round(min(pgC_pergrazer_CLEARANCE), digits = 2),
            MIN_pgC_perml_perhr = round(min(pgC_perml_perhr), digits = 1)) %>% 
  select(CATEGORY = EXP_TYPE, everything())) %>% 
  ## Modify table
  unite("MinMax_pgC_pergrazer_CLEARANCE", MIN_pgC_pergrazer_CLEARANCE, MAX_pgC_pergrazer_CLEARANCE, sep = " / ", remove = TRUE) %>% 
  unite("MinMax_pgC_perml_perhr", MIN_pgC_perml_perhr, MAX_pgC_perml_perhr, sep = " / ", remove = TRUE) %>% 
  mutate(CLASSIFICATION = case_when(
    CATEGORY == "Von Damm" ~ "Von Damm (vent only)",
    CATEGORY == "Piccard" ~ "Piccard (vent only)",
    grepl("Bag", CATEGORY) ~ "Shipboard (vent only)",
    grepl("IGT", CATEGORY) ~ "IGT (vent only)",
    TRUE ~ CATEGORY)) %>% 
  select(-CATEGORY)

Table 3

Code
write.csv(table3, file = "output-data/table3-C-consumption.csv")

4.7 Carbon consumed total and by cell?

Assuming 86 fg C per cell for prokaryotic cells. 1 fg == 0.001 pg

Code
## From above:
igt_vent_rate_avg <- 11400.71904
ship_vent_rate_avg <- 2430.01651
ship_nonvent_rate_avg <- 65.11676


mor_prok_c <- 86 # in fg C per cell

# Non vent cells consumed per ml per
(mor_prok_c)*(0.001) * (65.11676) # pg
[1] 5.600041
Code
# IGT
igt <- (mor_prok_c)*(0.001) * (11400.71904);igt
[1] 980.4618
Code
# Shipboard
ship <- (mor_prok_c)*(0.001) * (2430.01651);ship
[1] 208.9814
Code
# (igt+ship)/2

5 Table S1

Import from Hu et al. (Molecular Ecology).

Code
env_tmp <- read.delim("../../microeuks_deepbiosphere_datamine/microeuk-amplicon-survey/data-input/samplelist-metadata.txt")
# head(env_tmp)

mcr_metadata <- env_tmp %>% 
  filter(SITE == "VonDamm" | SITE  == "Piccard") %>% 
  mutate(FIELD =  case_when(
    SITE == "VonDamm"  ~ "Von Damm",
    SITE == "Piccard" ~ "Piccard")) %>% 
  filter(SAMPLETYPE != "Incubation") %>% 
  separate(SAMPLE, into = c("num", "loc", "loc2", "fluid_origin", "name", "FLUID_ORIGIN", "else"), remove = FALSE) %>% 
  select(-Sample_or_Control, -SAMPLEID, -ref_num, -SITE, SEQ_SAMPLE = SAMPLE,FLUID_ORIGIN, everything(), -num, -loc, -loc2, -fluid_origin, -name, -`else`)
Warning: Expected 7 pieces. Additional pieces discarded in 16 rows [2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17].
Warning: Expected 7 pieces. Missing pieces filled with `NA` in 1 rows [1].

Generate supplementary table.

Code
supp_table_env_mcr <- mcr_metadata %>% 
  select(FIELD, VENT, SAMPLETYPE, DEPTH, TEMP = temp, PH = pH, PERCSEA = percseawater, MG = mg, H2 = h2, H2S = h2s, CH4 = ch4, MICROBIAL = ProkConc, everything())

# Save supplementary metadata table:
# write.csv(supp_table_env_mcr, file = "output-data/supp_table_MCR_metadata.csv")

6 Table S2

Code
# # ## Table S2
# write_delim(table_wcalcs %>%
#               select(SiteOrder, NameOrder, FLUID_ORIGIN, CRUISE_SAMPLE,
#                      TimePoints, starts_with("EXP"), starts_with("CTRL"), EUK_ml, EUK_MinMax, EUK_sem, PROK_ml, PROK_MinMax, PROK_sem, FLP_ml, GRAZE_RATE_DAY, Slope = RATE, RATE_minute, GRAZING_EFFECT_hr, CLEARANCE_RATE_ml, BAC_TURNOVER_PERC),
#             file = "output-data/tableS2-grazing-exp-list.txt", delim = "\t")

7 Table S3

Calculations not generated in R.

8 Table S4

Code
biov_calc
   EXP VENT_BSW      h      d   BIOVOLUME pgC_cell_MD_dino pgC_cell_MD_nodiatom
1  IGT     vent 30.077 25.764 10453.45175       1487.94645          1283.921961
2  IGT     vent 89.582 10.000  4690.50255        771.86662           604.962905
3  Bag      BSW 14.595  8.036   493.49480        122.07087            73.020717
4  Bag      BSW 12.480  8.982   527.18047        128.85411            77.691506
5  Bag     vent  9.218  3.120    46.98341         17.78837             8.024346
6  IGT     vent 17.255  9.986   900.94174        199.85278           128.503206
7  Bag     vent 41.153 21.000  9502.51824       1376.14278          1173.935678
8  IGT     vent 10.282  4.136    92.09526         30.86910            15.096371
9  IGT     vent 29.776 25.852 10419.65340       1484.00520          1280.023592
10 IGT     vent 10.991  4.000    92.07799         30.86435            15.093712
11 Bag     vent 14.333  2.000    30.01897         12.32539             5.269002
12 Bag     vent 36.164  3.000   170.41884         51.10066            26.905977
13 Bag      BSW 16.206 14.924  1889.92660        366.62493           257.653204
14 Bag      BSW  7.000  7.000   179.59438         53.34323            28.264066
15 Bag     vent 10.069  5.000   131.80290         41.40303            21.137971

9 Table S5

Report carbon biomass values, but include size fractions.

Code
table5_cbiomass_total <- pgC_ml_biov_bysample %>% 
  group_by(VARIABLE, Site, EXP_TYPE, SAMPLE_TYPE_BIN) %>% 
  summarise(MEAN_pg_C_L = mean(pgC_ml_mean/1000),
            MAX_pg_C_L = max(pgC_ml_mean/1000),
            MIN_pg_C_L = min(pgC_ml_mean/1000)) %>% 
  add_column(ORIGIN = "bybiovolume") %>% 
  rbind(pgC_ml_sizefrac_bysample %>% 
  group_by(VARIABLE, Site, SAMPLE_TYPE_BIN, EXP_TYPE) %>% 
  summarise(MEAN_pg_C_L = mean(pg_C_ml/1000),
            MAX_pg_C_L = max(pg_C_ml/1000),
            MIN_pg_C_L = min(pg_C_ml/1000)) %>% 
  add_column(ORIGIN = "sizefrac")
  )
`summarise()` has grouped output by 'VARIABLE', 'Site', 'EXP_TYPE'. You can
override using the `.groups` argument.
`summarise()` has grouped output by 'VARIABLE', 'Site', 'SAMPLE_TYPE_BIN'. You
can override using the `.groups` argument.

10 Figure 4

Estimates to create figure 4, a day at a food web at a deep sea vent site. Use units µg C per L per day.

From these tables:

  • euk_prok_counts

  • table_grazerate_wflp_wprok_weuk

  • table_wcalcs

  • biov_calc

  • c_factor_biov

  • pgC_ml_biov_bysample

  • pgC_ml_sizefrac_bysample

  • carbon_consumed

Isolate vent-only information and remove the zero values.

Chemosynthetic bacteria & archaea

Prokaryote pool first

Code
head(euk_prok_counts)
     Site           Name         SITE_TYPE               Experiment
1 Piccard    LotsOShrimp Piccard-Shipboard    LotsOShrimp-Shipboard
2 Piccard          Plume Piccard-Shipboard          Plume-Shipboard
3 Piccard Shrimpocalypse Piccard-Shipboard Shrimpocalypse-Shipboard
4 Piccard Shrimpocalypse       Piccard-IGT       Shrimpocalypse-IGT
5 Piccard Shrimpocalypse       Piccard-IGT       Shrimpocalypse-IGT
6      VD            BSW      VD-Shipboard            BSW-Shipboard
            Experiment_rep VARIABLE  EUK_ml    EUK_MinMax  EUK_sem PROK_ml
1    LotsOShrimp-Shipboard  eukCONC 230.910 230.9 / 230.9       NA   53878
2          Plume-Shipboard  eukCONC  79.301   55.98 / 112 16.81908   51429
3 Shrimpocalypse-Shipboard  eukCONC 454.820 454.8 / 454.8       NA  238590
4      Shrimpocalypse-IGT3  eukCONC 384.840 384.8 / 384.8       NA  238590
5      Shrimpocalypse-IGT7  eukCONC 524.790 524.8 / 524.8       NA  238590
6            BSW-Shipboard  eukCONC  91.838 69.97 / 113.7 21.86613   37890
      PROK_MinMax  PROK_sem
1   26240 / 90260 13727.191
2   46810 / 56050  4618.126
3 108700 / 322000 65792.588
4 108700 / 322000 65792.588
5 108700 / 322000 65792.588
6   18470 / 56470  8608.427
Code
prok_fgC_cell <- 86 # fg C per cell

proks_only <- euk_prok_counts %>% 
  select(PROK_ml, Name, SITE_TYPE, Experiment) %>% 
  distinct() %>% 
  drop_na() %>% 
  filter(Name != "Plume" & Name != "BSW")
proks_only
  PROK_ml           Name         SITE_TYPE               Experiment
1   53878    LotsOShrimp Piccard-Shipboard    LotsOShrimp-Shipboard
2  238590 Shrimpocalypse Piccard-Shipboard Shrimpocalypse-Shipboard
3  238590 Shrimpocalypse       Piccard-IGT       Shrimpocalypse-IGT
4   56677   MustardStand      VD-Shipboard   MustardStand-Shipboard
5   41983     ShrimpHole      VD-Shipboard     ShrimpHole-Shipboard
6  111430            X18      VD-Shipboard            X18-Shipboard
Code
mean_prok <- mean(proks_only$PROK_ml)
max_prok <- max(proks_only$PROK_ml)
min_prok <- min(proks_only$PROK_ml)

# Cells per ml
# fgC/cell * cell/ml * (1e-9 ug/1fg) * (1000 ml/1 L)
prok_fgC_cell * mean_prok * (1e-9) * 1000
[1] 10.62312
Code
prok_fgC_cell * max_prok * (1e-9) * 1000
[1] 20.51874
Code
prok_fgC_cell * min_prok * (1e-9) * 1000
[1] 3.610538

ug C per L

Carbon consumed by heterotrophic protists

Use input from Table 3. Focus on grazing rate, instead of clearance rate.

Grazing rate is in pg C per ml per hr.

Code
table3
# A tibble: 6 × 5
  MEAN_pgC_pergrazer_CLEARANCE MEAN_pgC_perml_perhr MinMax_pgC_pergrazer_CLEAR…¹
                         <dbl>                <dbl> <chr>                       
1                         0.1                   5.6 0 / 0.1                     
2                         1.2                 595.  0 / 3.9                     
3                         0.5                 391.  0 / 1.4                     
4                         2.5                1002.  1.1 / 3.9                   
5                         1.86                980.  0.26 / 3.86                 
6                         0.49                209   0.02 / 1.14                 
# ℹ abbreviated name: ¹​MinMax_pgC_pergrazer_CLEARANCE
# ℹ 2 more variables: MinMax_pgC_perml_perhr <chr>, CLASSIFICATION <chr>
Code
tmp <- table3 %>% 
  filter(CLASSIFICATION == "Vent") %>% 
  select(ends_with("_perhr")) %>% 
  separate(MinMax_pgC_perml_perhr, into = c("min", "max"), sep = " / ")


# Units are in pg C per ml per hour
## pgC/ml hr * (1000ml/1L) * (24 hr/1 day) * (1e-6 ug / 1pg)
(tmp$MEAN_pgC_perml_perhr) * (1000 * 24 * (1e-6))
[1] 14.2728
Code
as.numeric(tmp$min) * (1000 * 24 * (1e-6))
[1] 0.24
Code
as.numeric(tmp$max) * (1000 * 24 * (1e-6))
[1] 35.676

Microeuk carbon pool

Code
table2 %>% 
  filter(CLASSIFICATION == "Vent") %>% 
  select(STAT, µg_C_L, CLASSIFICATION, ORIGIN)
# A tibble: 6 × 4
  STAT   µg_C_L CLASSIFICATION ORIGIN     
  <chr>   <dbl> <chr>          <chr>      
1 MEAN   172.   Vent           bybiovolume
2 MAX    392.   Vent           bybiovolume
3 MIN     38.1  Vent           bybiovolume
4 MEAN  2781.   Vent           sizefrac   
5 MAX   6716.   Vent           sizefrac   
6 MIN      1.90 Vent           sizefrac   

11 Supplemental calulcations for within range

11.1 Compare to Connell

From Conne/l et al., table 4. Heterotrophic bacteria, Daily carbon grazed - based on standing stock and mortality rate in Southern California.

min: 1.74 max: 28.8

units: µg C per L per day

To compare with units:ug C per ml per hour (this study)

Code
min <- 1.74
max <- 28.8

# ug to pg: 1ug = 1E6 pg
((min)/1000)/24
[1] 7.25e-05
Code
((max)/1000)/24
[1] 0.0012

11.2 Compare to Pernice et al.

Convert to ug C per L.

1 pg = 1e-6 ug

Code
shallow_pgC_ml <- 280
deep_pgC_ml <- 50

# pgC/ml * (1e-6 ug / 1 pg) * (1000 ml / 1)

shallow_pgC_ml * (1e-6) * 1000
[1] 0.28
Code
deep_pgC_ml * (1e-6) * 1000
[1] 0.05

11.3 Compare to Medina et al.

Review, so this includes several studies. Grazing effect in Table 3 is reported in bacteria per ml per day.

Min and max are both from Pachiadaki et al. deep water and at an interface. min: 18.7 max: 13600

Min and max in this study is 24 and 17285 cells consumed per ml per hour