1 Introduction

Here we are analyzing two different sets of data.

  • The first is the Immunocompetent dams comparing PC deleted to PC intact and the immune system response to the infection.
    • Analyzing two different ways
      • First via the AUC over the first 11 weeks
      • 2nd is via a linear mixed effects model.
  • 2nd analysis is the dissemination data

2 Analysis of PC deleted data

2.1 First visualize the data

We first visualize the data over the time period we are interested in.

2.2 Calculate the AUC

We next calculate the AUC going from week 0 to week 11.

We are filling in those observations that do not have Week 0/11 values.

For the week 0 observations, we will project backwards from the first 2 time points to estimate what the week 0 value would be. This was done on the log10 scale.

Table: Instances of no week 0 value
Animal ID Variable VID inoculation
PC-intact_2 PC-intact whole virion ELISA corrected Prism ED50 PC-intact RhCMV
PC-intact_2 PC-deleted whole virion ELISA Prism AUC PC-intact RhCMV
PC-intact_5 PC-intact whole virion ELISA corrected Prism ED50 PC-intact RhCMV
PC-intact_5 PC-deleted whole virion ELISA Prism AUC PC-intact RhCMV

Next, are there any instances where there is no week 11 or, no observations post week 11. For these we will just carry forward the week 10 value.

Table: Instances of no week 11+ value
Animal ID Variable VID inoculation Last Week
PC-deficient_2 PC-deleted ADCP (% ADCP against VID560) PC-deficient RhCMV 10
PC-deficient_2 PC-intact ADCP (% ADCP against VID554R) PC-deficient RhCMV 10

Finally, there are instances of no week 11 but there are observations pre week 11 and after week 11. Here we simply linearly extrapolated between the two values before and after week 11. This was done on the log10 scale.

2.2.1 No week 0 values

Will extrapolate backwards to week 0.

Let’s now zoom in after we’ve done the linear approximation.

2.2.2 No week 11

If there is no week 11 data but there is say a week 10 and 13 observation, we will linearly extrapolate to the week 11 values.

2.3 Analyze the AUC/Max data

We will next analyze the AUC/Max data. This was done using a Wilcoxon Rank Sum Test via the coin package which calculates the exact p-value. The exact p-value is based on all the possible permutations given the data and the group size.

Table: Results from AUC Analysis
Variable Pvalue FDR Pvalue
UCD52 RhCMV epithelial neut 0.00216 0.0238
gB ELISA corrected Prism ED50 0.00433 0.0238
PC-intact RhCMV fibroblast neut (corrected Prism log ID50) 0.0649 0.238
PC-intact ADCP (% ADCP against VID554R) 0.0931 0.242
Maximum % ADCP against PC-intact RhCMV (VID554R) 0.132 0.242
PC-intact whole virion ELISA corrected Prism ED50 0.132 0.242
PC ELISA corrected Prism ED50 0.18 0.282
PC-deleted whole virion ELISA Prism AUC 0.31 0.426
PC-deleted ADCP (% ADCP against VID560) 0.394 0.481
Maximum % ADCP against PC-deleted RhCMV (VID560) 0.589 0.648
Peak viremia 0.937 0.937
Bold indicates P-value <0.05 and FDR p-value <0.2
Pvalues from Wilcoxon Rank Sum Test
FDR Pvalue from Benjamini Hochberg

We see a few variables that come back as significant.

2.4 Linear mixed effects model

We next performed a longitudinal model analyzing the whole time course (not restricting to the first 11 weeks). We are testing for any difference across time with regards to the virus inoculated with.

We ran this two different ways. In the data without any lower limit of detection issues we used the lme4 package, fitting a linear mixed effects model with a random intercept for animal ID. We allowed for a fixed effect for time and Virus. Upon examining the residuals of the data (which can be seen in the appendix), we in addition added an early period effect (prior to week 3). This was done for all variables. Censored linear mixed effects models were fit using the lmec package in R. Multiple testing correction was done as above via FDR.

The final model was then:

\[ Y=\alpha_0+\alpha_1\text{(Mutant Virus)}+\alpha_2\text{Week}+\alpha_3\text{(Before Week 3)}+\text{(Random intercept for Animal)}+\text{Noise}\]

2.4.1 The variables without any censored data

First we will run on the data that has no data at lower limit.

2.4.2 Variables that are at a lower bound.

For these we used a linear mixed effects model that allows for censoring.

2.4.3 The Results

Table: Results from linear mixed effects model
Variable WT vs PC deleted SE Pvalue FDR.pvalue
UCD52 RhCMV epithelial neut* 0.33 0.0484 8.83e-12 7.06e-11
PC ELISA corrected Prism ED50* 0.728 0.298 0.0146 0.0584
PC-intact RhCMV fibroblast neut (corrected Prism log ID50)* -0.0842 0.0391 0.0311 0.074
PC-intact whole virion ELISA corrected Prism ED50* 0.426 0.204 0.037 0.074
PC-intact ADCP (% ADCP against VID554R) 0.297 0.157 0.0881 0.141
PC-deleted whole virion ELISA Prism AUC 0.0735 0.0614 0.259 0.345
gB ELISA corrected Prism ED50* -0.114 0.123 0.355 0.405
PC-deleted ADCP (% ADCP against VID560) -0.00155 0.141 0.991 0.991
* indicate results from linear effects model with censored data (i.e. accounting for data at lower bound)
Bold indicates P-value <0.05 and FDR p-value <0.2
ADCP and Cell-associated gH IgG binding were logit transformed

2.4.3.1 What was called significant?

2.4.3.2 What was not called significant

3 AUC and Amniotic fluid

Here we look at the AUC calculated above and whether or not it is associated with transmission status via Wilcoxon rank sum test.

Table: Results from AUC Analysis of virus in the Amniotic Fluid
Variable Pvalue FDR Pvalue
Maximum % ADCP against PC-intact RhCMV (VID554R) 0.461 0.933
PC-intact ADCP (% ADCP against VID554R) 0.57 0.933
PC-intact whole virion ELISA corrected Prism ED50 0.57 0.933
PC-deleted whole virion ELISA Prism AUC 0.683 0.933
gB ELISA corrected Prism ED50 0.683 0.933
PC-deleted ADCP (% ADCP against VID560) 0.808 0.933
PC-intact RhCMV fibroblast neut (corrected Prism log ID50) 0.808 0.933
Maximum % ADCP against PC-deleted RhCMV (VID560) 0.933 0.933
PC ELISA corrected Prism ED50 0.933 0.933
Peak viremia 0.933 0.933
UCD52 RhCMV epithelial neut 0.933 0.933
Bold indicates P-value <0.05 and FDR p-value <0.2
Pvalues from Wilcoxon Rank Sum Test
FDR Pvalue from Benjamini Hochberg

4 Dissemination data

Next we look at the dissemination data. For these analyses we removed the draining lymph nodes and the injection sites tissues from the analysis.

  • RhCMV.FL.ΔRh157.4-.5-> as PC deleted
  • RhCMV.FL.ΔRh158-161-> as UL146

4.1 Acounting for data from the Animal.

We next visualize the ratio of the mutant virus count to the wild type virus count (after adding 1 to both to account for 0’s) from the same tissue and the same animal.

4.2 Linear mixed effects model

Restricting to data where have observations in both tissues. No longer dropping the Genitorurinary Tract.

We will model the log10 ratio. The ratio is Mutant Virus count + 1 divided by Wild Type Virus count + 1. We have a random intercept for animal and are testing for whether or not log10 of this ratio is different than 1. We will include as covariate “system” type. We are not adjusting for sex.

Results from linear mixed effects model of log fold change MT vs WT
Comparison Estimate test_statistic Pvalue HolmAdjustedPvalue
double-deleted.RhCMV vs WT -4.86 -8.36 1.53e-06 7.64e-06
PC-deficient.RhCMV vs WT -2.97 -5.7 4.57e-05 0.000183
UL146-deleted.RhCMV vs WT -4.34 -8.33 6.05e-07 3.63e-06
double-deleted.RhCMV vs PC-deficient.RhCMV* -1.89 -2.77 0.0245 0.0736
double-deleted.RhCMV vs UL146-deleted.RhCMV* -0.518 -0.759 0.47 0.47
PC-deficient.RhCMV vs UL146-deleted.RhCMV* 1.37 2.17 0.0622 0.124
* indicates a comparison of MT condition 1 normalized to their WT vs MT condition 2 normalized to their WT

After normalizing UL146 to its wild type we do not have evidence of a statistically significant difference to PC deleted normalized to its wild type. I.e. they are no more different from their wild type than the other mutant type. We see something similar for UL146 and DD. After normalizing DD to its wild type we do have evidence of a statistica

5 Session Info

## R version 4.4.0 (2024-04-24 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 22631)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=English_United States.utf8 
## [2] LC_CTYPE=English_United States.utf8   
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.utf8    
## 
## time zone: America/New_York
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] forcats_1.0.0     stringr_1.5.1     dplyr_1.1.4       purrr_1.0.2      
##  [5] readr_2.1.5       tidyr_1.3.1       tibble_3.2.1      ggplot2_3.5.1    
##  [9] tidyverse_2.0.0   kableExtra_1.4.0  lubridate_1.9.3   DescTools_0.99.54
## [13] lmec_1.0          mvtnorm_1.2-4     lmerTest_3.1-3    lme4_1.1-35.3    
## [17] Matrix_1.7-0      drc_3.0-1         MASS_7.3-60.2     knitr_1.46       
## [21] coin_1.4-3        survival_3.7-0    Hmisc_5.1-2       readxl_1.4.3     
## [25] openxlsx_4.2.5.2 
## 
## loaded via a namespace (and not attached):
##  [1] gridExtra_2.3       gld_2.6.6           sandwich_3.1-0     
##  [4] rlang_1.1.3         magrittr_2.0.3      multcomp_1.4-25    
##  [7] matrixStats_1.3.0   e1071_1.7-14        compiler_4.4.0     
## [10] systemfonts_1.0.6   vctrs_0.6.5         pkgconfig_2.0.3    
## [13] fastmap_1.1.1       backports_1.4.1     labeling_0.4.3     
## [16] utf8_1.2.4          rmarkdown_2.26      tzdb_0.4.0         
## [19] nloptr_2.0.3        xfun_0.43           modeltools_0.2-23  
## [22] cachem_1.0.8        jsonlite_1.8.8      highr_0.10         
## [25] parallel_4.4.0      cluster_2.1.6       R6_2.5.1           
## [28] bslib_0.7.0         stringi_1.8.4       car_3.1-2          
## [31] boot_1.3-30         rpart_4.1.23        jquerylib_0.1.4    
## [34] cellranger_1.1.0    numDeriv_2016.8-1.1 Rcpp_1.0.12        
## [37] zoo_1.8-12          base64enc_0.1-3     splines_4.4.0      
## [40] nnet_7.3-19         timechange_0.3.0    tidyselect_1.2.1   
## [43] rstudioapi_0.16.0   abind_1.4-5         yaml_2.3.8         
## [46] codetools_0.2-20    lattice_0.22-6      withr_3.0.0        
## [49] evaluate_0.23       foreign_0.8-86      proxy_0.4-27       
## [52] zip_2.3.1           xml2_1.3.6          pillar_1.9.0       
## [55] carData_3.0-5       checkmate_2.3.1     stats4_4.4.0       
## [58] generics_0.1.3      hms_1.1.3           munsell_0.5.1      
## [61] scales_1.3.0        rootSolve_1.8.2.4   minqa_1.2.6        
## [64] gtools_3.9.5        class_7.3-22        glue_1.7.0         
## [67] lmom_3.0            tools_4.4.0         data.table_1.15.4  
## [70] Exact_3.2           grid_4.4.0          plotrix_3.8-4      
## [73] libcoin_1.0-10      colorspace_2.1-0    nlme_3.1-164       
## [76] htmlTable_2.4.2     Formula_1.2-5       cli_3.6.2          
## [79] fansi_1.0.6         expm_0.999-9        viridisLite_0.4.2  
## [82] svglite_2.1.3       gtable_0.3.5        sass_0.4.9         
## [85] digest_0.6.35       TH.data_1.1-2       farver_2.1.1       
## [88] htmlwidgets_1.6.4   htmltools_0.5.8.1   lifecycle_1.0.4    
## [91] httr_1.4.7