Each tab can be clicked on to show off related statistics. All statistics have been computed using RStudio and all data was collected on VevoLab VevoStrain 2.0.

Results

Variable Definitions

Table of Hemodynamic and Functional Variables
Variable_Name Definition Unit
mouse_ID Label for each lab mouse NA
study_type What timepoint or unique study type NA
true_mitral 4DUS measured mitral valve area mm
calc_mitral Rounded mitral valve area used in VevoLab calculation mm
true_aortic 4DUS measured aortic valve area mm
calc_aortic Rounded aortic valve area used in VevoLab calculation mm
sys_pk Peak HDF value during systole %
ewave_long_rms Longitudinal RMS HDF value during diastolic E-wave %
ewave_ratio_rms Longitudinal to transverse RMS HDF value during diastolic E-wave %
ewave_angle Average HDF angle during diastolic E-wave °
cycle_length Length of the entire heartbeat cycle ms
cycle_long_rms Longitudinal RMS HDF value during the entire heartbeat %
cycle_trans_rms Transverse RMS HDF value during the entire heartbeat %
cycle_ratio_rms Longitudinal to transverse RMS HDF value over the entire heartbeat %
cycle_angle Average HDF angle over the entire heartbeat °
sys_length Length of systole ms
sys_im_length Length of systolic impulse ms
sys_im_angle Average HDF angle during systolic impulse °
sys_im_AUC Area under the longitudinal curve during systolic impulse %
sys_im_long_rms Longitudinal RMS HDF value during the systolic impulse %
sys_im_trans_rms Transverse RMS HDF value during the systolic impulse %
isys_im_length Length of initial portion of systolic impulse ms
isys_im_long_rms Longitudinal RMS HDF value during the initial systolic impulse %
dsys_im_length Length of descending portion of systolic impulse ms
dsys_im_long_rms Longitudinal RMS HDF value during the descending systolic impulse %
lsys_long_rms Longitudinal RMS HDF value during the late systole period %
myo_GCS Myocardial global circumferential strain rate %
myo_GLS Myocardial global longitudinal strain rate %
endo_GCS Endocardial global circumferential strain rate %
endo_GLS Endocardial global longitudinal strain rate %
LV_EF LV Ejection fraction %
pslax_avg_strain_rate Parasternal long axis LV average strain rate d%/dt
LV_mass_cor LV mass corrected mass mg
LVAW_sys LV anterior wall average thickness during systole mm
LVAW_dias LV anterior wall average thickness during diastole mm
LVPW_sys LV posterior wall average thickness during systole mm
LVPW_dias LV posterior wall average thickness during diastole mm
sax_avg_strain LV short axis average strain %
LA_EF LA ejection fraction %
LA_edv LA end diastolic volume uL
LA_esv LA end systolic volume uL
LA_strain_mean LA mean strain %
Ao_pk_vel Peak aoritc blood flow velocity mm/s
mitral_EA_ratio Mitral valve blood flow velocity diastolic E-wave to A-wave ratio NA
sys_length_norm Normalized systole length as a ratio of R to R %
sys_im_length_norm Normalized systolic impulse length as a ratio of R to R %
isys_im_length_norm Normalized initial systolic impulse length as a ratio of R to R %
dsys_im_length_norm Normalized descending systolic impulse length as a ratio of R to R %
isys_dsys_length_ratio Ratio of initial systolic impulse length to descending systolic impulse length %
isys_dsys_long_ratio Ratio of initial systolic impulse longitudinal HDF to descending systolic impulse longitudinal HDF %

Normality

Interpretation

The following metrics had one or more groups that were non-normal: LVPW_sys, LVAW_sys, sys_im_trans_rms, cycle_length, cycle_ratio_rms, lsys_long_rms, mitral_EA_ratio, LVPW_dias, LVAW_dias, LV_mass_cor.

Based on what is seen in the QQ plots, a few notable observations can be had. Full cycle metrics seemed to have higher variance even when they were normally distributed suggesting that there may be more accurate comparisons found by looking at specific sections of the cycle or by correcting in some way. Systolic length varied in deTAC likely because measuring precisely was much harder in deTAC due to the sometimes immense changes to HDF curves where the systolic impulse sometimes ended up including most or all of the systolic-diastolic transition period in the definition of how I measured systolic impulse. This also contributed to variation in systolic impulse Area Under Curve (AUC) and angle. Late systolic longitudinal rms varied in TAC as well because of this since late systolic longitudinal RMS is the interval between the end of systolic impulse and the end of systole.

The initial systolic impulse longitudinal RMS seemed to be noticeably different between study groups just from QQ plot observations.

Data Results

## === Testing sys_pk ===
## Group: baseline - Shapiro-Wilk p-value: 0.5485348 
## Group: tac - Shapiro-Wilk p-value: 0.3241892 
## Group: detac - Shapiro-Wilk p-value: 0.03525184

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 15.365, df = 2, p-value = 0.0004608
## 
## 
## === Testing ewave_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.2096548 
## Group: tac - Shapiro-Wilk p-value: 0.3301504 
## Group: detac - Shapiro-Wilk p-value: 0.2648393

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2   3604    1802   1.761  0.196
## Residuals   21  21489    1023               
## 
## === Testing ewave_ratio_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.1184806 
## Group: tac - Shapiro-Wilk p-value: 0.6707492 
## Group: detac - Shapiro-Wilk p-value: 0.09840181

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2   62.2   31.10   0.592  0.562
## Residuals   21 1103.4   52.54               
## 
## === Testing ewave_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.08767966 
## Group: tac - Shapiro-Wilk p-value: 0.8417568 
## Group: detac - Shapiro-Wilk p-value: 0.3006952

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2   27.3   13.62   0.538  0.591
## Residuals   21  531.4   25.30               
## 
## === Testing cycle_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.8201015 
## Group: tac - Shapiro-Wilk p-value: 0.002252278 
## Group: detac - Shapiro-Wilk p-value: 0.994645

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 3.3368, df = 2, p-value = 0.1885
## 
## 
## === Testing cycle_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.1125588 
## Group: tac - Shapiro-Wilk p-value: 0.6588126 
## Group: detac - Shapiro-Wilk p-value: 0.5275711

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)  
## study_type   2   4320    2160   5.167  0.015 *
## Residuals   21   8778     418                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing cycle_trans_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.09204671 
## Group: tac - Shapiro-Wilk p-value: 0.06532962 
## Group: detac - Shapiro-Wilk p-value: 0.1765644

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2   0.15   0.076   0.007  0.993
## Residuals   21 232.39  11.066               
## 
## === Testing cycle_ratio_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.5637164 
## Group: tac - Shapiro-Wilk p-value: 0.07306118 
## Group: detac - Shapiro-Wilk p-value: 0.02428636

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 3.4844, df = 2, p-value = 0.1751
## 
## 
## === Testing cycle_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.8064864 
## Group: tac - Shapiro-Wilk p-value: 0.1121433 
## Group: detac - Shapiro-Wilk p-value: 0.5441041

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2  42.33   21.17   1.782  0.193
## Residuals   21 249.50   11.88               
## 
## === Testing sys_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.7229021 
## Group: tac - Shapiro-Wilk p-value: 0.9411609 
## Group: detac - Shapiro-Wilk p-value: 0.1424458

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2     93    46.5   0.359  0.703
## Residuals   21   2721   129.6               
## 
## === Testing sys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.4207217 
## Group: tac - Shapiro-Wilk p-value: 0.8383787 
## Group: detac - Shapiro-Wilk p-value: 0.1203641

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2  241.7  120.87   1.354   0.28
## Residuals   21 1874.2   89.25               
## 
## === Testing sys_im_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.6488765 
## Group: tac - Shapiro-Wilk p-value: 0.2004101 
## Group: detac - Shapiro-Wilk p-value: 0.3656881

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2   69.1   34.54   2.219  0.134
## Residuals   21  326.9   15.57               
## 
## === Testing sys_im_AUC ===
## Group: baseline - Shapiro-Wilk p-value: 0.7971419 
## Group: tac - Shapiro-Wilk p-value: 0.4658848 
## Group: detac - Shapiro-Wilk p-value: 0.002268014

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 15.687, df = 2, p-value = 0.0003923
## 
## 
## === Testing sys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.764676 
## Group: tac - Shapiro-Wilk p-value: 0.1659053 
## Group: detac - Shapiro-Wilk p-value: 0.1910273

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  20248   10124   17.57 3.28e-05 ***
## Residuals   21  12100     576                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing sys_im_trans_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.9882521 
## Group: tac - Shapiro-Wilk p-value: 0.04868395 
## Group: detac - Shapiro-Wilk p-value: 0.2003942

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 2.9477, df = 2, p-value = 0.229
## 
## 
## === Testing isys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.7890643 
## Group: tac - Shapiro-Wilk p-value: 0.2189582 
## Group: detac - Shapiro-Wilk p-value: 0.371489

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  560.6  280.29   10.53 0.000682 ***
## Residuals   21  559.2   26.63                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing isys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.9058169 
## Group: tac - Shapiro-Wilk p-value: 0.2727141 
## Group: detac - Shapiro-Wilk p-value: 0.32051

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  15715    7857   12.01 0.000334 ***
## Residuals   21  13744     654                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing dsys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.3485734 
## Group: tac - Shapiro-Wilk p-value: 0.850541 
## Group: detac - Shapiro-Wilk p-value: 0.8298027

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2 1274.1   637.0   15.79 6.53e-05 ***
## Residuals   21  847.2    40.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing dsys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.307901 
## Group: tac - Shapiro-Wilk p-value: 0.3311119 
## Group: detac - Shapiro-Wilk p-value: 0.03892445

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 15.68, df = 2, p-value = 0.0003937
## 
## 
## === Testing lsys_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.882994 
## Group: tac - Shapiro-Wilk p-value: 0.009894144 
## Group: detac - Shapiro-Wilk p-value: 0.7449337

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 6.365, df = 2, p-value = 0.04148
## 
## 
## === Testing myo_GCS ===
## Group: baseline - Shapiro-Wilk p-value: 0.2722767 
## Group: tac - Shapiro-Wilk p-value: 0.7262246 
## Group: detac - Shapiro-Wilk p-value: 0.1907374

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2 141.77   70.88   16.13 5.71e-05 ***
## Residuals   21  92.31    4.40                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing myo_GLS ===
## Group: baseline - Shapiro-Wilk p-value: 0.9457198 
## Group: tac - Shapiro-Wilk p-value: 0.9232229 
## Group: detac - Shapiro-Wilk p-value: 0.5178704

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  260.0  129.99   22.78 5.49e-06 ***
## Residuals   21  119.8    5.71                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing endo_GCS ===
## Group: baseline - Shapiro-Wilk p-value: 0.2255423 
## Group: tac - Shapiro-Wilk p-value: 0.03694183 
## Group: detac - Shapiro-Wilk p-value: 0.5654701

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 15.322, df = 2, p-value = 0.0004709
## 
## 
## === Testing endo_GLS ===
## Group: baseline - Shapiro-Wilk p-value: 0.5924315 
## Group: tac - Shapiro-Wilk p-value: 0.9226016 
## Group: detac - Shapiro-Wilk p-value: 0.13727

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  499.7  249.83   28.19 1.13e-06 ***
## Residuals   21  186.1    8.86                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing LV_EF ===
## Group: baseline - Shapiro-Wilk p-value: 0.7216424 
## Group: tac - Shapiro-Wilk p-value: 0.08557099 
## Group: detac - Shapiro-Wilk p-value: 0.4258549

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2 1760.8   880.4   21.82 7.47e-06 ***
## Residuals   21  847.3    40.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing pslax_avg_strain_rate ===
## Group: baseline - Shapiro-Wilk p-value: 0.9431145 
## Group: tac - Shapiro-Wilk p-value: 0.432873 
## Group: detac - Shapiro-Wilk p-value: 0.6978038

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2  19.32   9.661   2.175  0.139
## Residuals   21  93.28   4.442               
## 
## === Testing LV_mass_cor ===
## Group: baseline - Shapiro-Wilk p-value: 0.836246 
## Group: tac - Shapiro-Wilk p-value: 0.7363654 
## Group: detac - Shapiro-Wilk p-value: 0.01029446

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 13.76, df = 2, p-value = 0.001028
## 
## 
## === Testing LVAW_sys ===
## Group: baseline - Shapiro-Wilk p-value: 0.02487974 
## Group: tac - Shapiro-Wilk p-value: 0.7763618 
## Group: detac - Shapiro-Wilk p-value: 0.3576033

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 1.9705, df = 2, p-value = 0.3734
## 
## 
## === Testing LVAW_dias ===
## Group: baseline - Shapiro-Wilk p-value: 0.116632 
## Group: tac - Shapiro-Wilk p-value: 0.0288811 
## Group: detac - Shapiro-Wilk p-value: 0.03118992

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 10.278, df = 2, p-value = 0.005862
## 
## 
## === Testing LVPW_sys ===
## Group: baseline - Shapiro-Wilk p-value: 0.6248402 
## Group: tac - Shapiro-Wilk p-value: 0.422403 
## Group: detac - Shapiro-Wilk p-value: 0.04986185

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 0.27495, df = 2, p-value = 0.8716
## 
## 
## === Testing LVPW_dias ===
## Group: baseline - Shapiro-Wilk p-value: 0.0002782286 
## Group: tac - Shapiro-Wilk p-value: 0.5440517 
## Group: detac - Shapiro-Wilk p-value: 0.9244963

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 8.615, df = 2, p-value = 0.01347
## 
## 
## === Testing sax_avg_strain ===
## Group: baseline - Shapiro-Wilk p-value: 0.2339289 
## Group: tac - Shapiro-Wilk p-value: 0.1478743 
## Group: detac - Shapiro-Wilk p-value: 0.9424121

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  653.7   326.8   18.87 2.04e-05 ***
## Residuals   21  363.8    17.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing LA_EF ===
## Group: baseline - Shapiro-Wilk p-value: 0.4250273 
## Group: tac - Shapiro-Wilk p-value: 0.5301352 
## Group: detac - Shapiro-Wilk p-value: 0.7685072

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2   3903  1951.6    19.2 1.82e-05 ***
## Residuals   21   2135   101.7                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing LA_edv ===
## Group: baseline - Shapiro-Wilk p-value: 0.6760941 
## Group: tac - Shapiro-Wilk p-value: 0.5494286 
## Group: detac - Shapiro-Wilk p-value: 0.07439423

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2   1940   970.0   10.96 0.000551 ***
## Residuals   21   1859    88.5                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing LA_esv ===
## Group: baseline - Shapiro-Wilk p-value: 0.9269597 
## Group: tac - Shapiro-Wilk p-value: 0.338382 
## Group: detac - Shapiro-Wilk p-value: 0.07464182

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## study_type   2   2031  1015.7   8.351 0.00215 **
## Residuals   21   2554   121.6                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing LA_strain_mean ===
## Group: baseline - Shapiro-Wilk p-value: 0.4260443 
## Group: tac - Shapiro-Wilk p-value: 0.2935954 
## Group: detac - Shapiro-Wilk p-value: 0.1389014

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2   1560   780.0   14.55 0.000108 ***
## Residuals   21   1126    53.6                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing Ao_pk_vel ===
## Group: baseline - Shapiro-Wilk p-value: 0.03615476 
## Group: tac - Shapiro-Wilk p-value: 0.01561365 
## Group: detac - Shapiro-Wilk p-value: 0.6822679

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 20.48, df = 2, p-value = 3.571e-05
## 
## 
## === Testing mitral_EA_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.2662143 
## Group: tac - Shapiro-Wilk p-value: 3.352499e-06 
## Group: detac - Shapiro-Wilk p-value: 0.04987265

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 6.496, df = 2, p-value = 0.03885
## 
## 
## === Testing sys_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.05910918 
## Group: tac - Shapiro-Wilk p-value: 0.6446468 
## Group: detac - Shapiro-Wilk p-value: 0.613031

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value Pr(>F)
## study_type   2  230.4  115.21   1.365  0.277
## Residuals   21 1771.9   84.37               
## 
## === Testing sys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.01161045 
## Group: tac - Shapiro-Wilk p-value: 0.4599535 
## Group: detac - Shapiro-Wilk p-value: 0.5510796

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 4.205, df = 2, p-value = 0.1222
## 
## 
## === Testing isys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.7691392 
## Group: tac - Shapiro-Wilk p-value: 0.346804 
## Group: detac - Shapiro-Wilk p-value: 0.08935689

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## study_type   2  378.1  189.03   10.65 0.00064 ***
## Residuals   21  372.6   17.74                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing dsys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.5127237 
## Group: tac - Shapiro-Wilk p-value: 0.355723 
## Group: detac - Shapiro-Wilk p-value: 0.02018318

## At least one group is non-normal. Performing Kruskal-Wallis test.
## 
##  Kruskal-Wallis rank sum test
## 
## data:  column_data by study_type
## Kruskal-Wallis chi-squared = 13.155, df = 2, p-value = 0.001391
## 
## 
## === Testing isys_dsys_length_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.1734391 
## Group: tac - Shapiro-Wilk p-value: 0.101703 
## Group: detac - Shapiro-Wilk p-value: 0.3565814

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  21510   10755   9.816 0.000978 ***
## Residuals   21  23009    1096                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## === Testing isys_dsys_long_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.3743839 
## Group: tac - Shapiro-Wilk p-value: 0.3610178 
## Group: detac - Shapiro-Wilk p-value: 0.892146

## All groups appear normal. Performing ANOVA.
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## study_type   2  16286    8143   25.27 2.58e-06 ***
## Residuals   21   6768     322                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Significance

Interpretation

Looking at ANOVA results, it is interesting to find that full cycle transverse RMS was by far the least predictive metric between groups. Based on biological context alone, this should be a powerful predictor; however, this may highlight the significant limitations of the Visual Sonics tool in accuracy or precision of calculating transverse HDF components.

Unsuprisingly, and as the literature backs up, endocardial GLS and myocardial GLS were the two most powerful predictors between groups. The tool is primarily built for calculating strain, so this confirms that the strain is being calculated accurately enough given the proven capability of the biometric. LV and LA ejection fraction along with short axis average strain, myocardial GCS, LA mean strain, and LA end diastolic volume were all also highly significant geometric predictors.

In terms of HDF with ANOVA, systolic impulse longitudinal RMS, descending systolic impulse length, initial systolic impulse longitudinal RMS, and initial systolic impulse length were all highly significant predictors between groups.

Looking at the non-parametric testing using Kruskal-Wallis, aortic peak velocity was the most significant predictor. This makes sense on a biological level as flow is directly related to tube cross sectional area and the TAC procedure directly decreases the aortic cross sectional area. Other highly significant predictors were systolic impulse Area Under Curve (AUC), descending systolic impulse longitudinal RMS, systolic peak, and endocardial GCS. Notably, the first 3 of these 4 additional metrics are all HDF metrics.

Based on the overview of the significance tables, the following HDF intervals seem noteworthy: systolic impulse, initial systolic impulse, and descending systolic impulse. There weren’t any particularly powerful predictors in the diastolic portion of the cycle in HDF but there were some in geometry based metrics like LA end diastolic volume.

Data Table

Boxplots

Interpretation

Only the boxplots with some form of significance are shown in the plots tab. Amongst the ones that are shown, most predictors are more powerful in discerning between baseline and TAC as compared to TAC vs deTAC conditions. Looking at the data in this way shows us a couple of things. In several of the HDF metrics, there seem to be some factor contributing to large outliers in both the baseline and detac condition. This may be due to a compounded difference between animals in the TAC condition as many of the HDF parameters are closely clustered in the TAC condition. This may mean that the deTAC outcome are highly sensitive to small changes in the TAC HDF metric conditions. Further analysis and testing will explore this more in depth.

Aortic peak velocity was again the most significant metric based on the boxplots which makes sense given the biological context of the TAC surgery.

One thing to note is just how closely clustered the TAC HDF metrics truly are. Observing the boxplots of each of the HDF metrics shows an intense clustering of the TAC condition. Clustering of metrics at the TAC condition did not, however, equate to similair levels of clustering at the baseline or deTAC conditions. This again supports the idea that small TAC condition changes may lead to significantly larger deTAC recovery conditions, such that the HDF metrics could better predict surgical intervention recovery as these patients could be categorized into great recovery, average recovery and poor recovery based on HDF conditions and matching them with ejection fraction and cardiac output.

Plots

## Warning in wilcox.test.default(c(1.34, 3.35, 1.16, 2.02, 2.57, 1.56, 1.95, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(1.17, 1, 1, 3.5, 0.99, 0.99, 1, 1), c(1.45, :
## cannot compute exact p-value with ties

## Warning in wilcox.test.default(c(0.65, 1.42, 0.58, 0.68, 0.72, 0.78, 0.67, :
## cannot compute exact p-value with ties

## Warning in wilcox.test.default(c(1.33, 0.67, 0.71, 0.68, 1.01, 1.04, 0.71, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(1.2, 1.14, 1.07, 1.07, 1.11, 1.57, 1.34, :
## cannot compute exact p-value with ties

## Warning in wilcox.test.default(c(-24.45, -24.15, -25.55, -28.14, -34.4, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(-18.9, -20.05, -11.17, -13.98, -14.26, :
## cannot compute exact p-value with ties

## Warning in wilcox.test.default(c(5.1, 8.7, 2.6, 3.7, 2.1, 5, 4.8, 5.6), :
## cannot compute exact p-value with ties

ROC Curves

Interpretation

Operator curves were compared for 38 statistics against LV ejection fraction at both the median value of EF for the data set and when EF was set to 45%. The data was normalized to a range between 0 and 1 and binarized on whether it predicted the correct outcome to LV ejection fraction. This mimicked the situation of predicting heart failure given that EF is the gold standard in diagnostics to determine heart failure.

The following metrics have AUC over 0.95 for EF < 45% and median: myocardial GCS and GLS, and endocardial GCS and GLS.

The following metrics have AUC over 0.95 for EF < 45% but only over 0.85 on median: LA ejection fraction and LA strain mean.

The following metrics have AUC over 0.85 for EF < 45% and median: systolic peak, systolic impulse AUC, systolic impulse longitudinal RMS, LV mass corrected, short axis average strain, LA end diastolic volume, and aorta peak velocity.

Based on these results, strain metrics are the best biometrics for accurately predicting the condition of heart failure with reduced ejection fraction. That being said, this is not on its own all that useful considering ejection fraction is easier to measure than strain or HDF. These results do, however, suggest that HDF metrics are similar in sensitivity to strain metrics for predicting heart failure with reduced ejection fraction. This is a kind of baseline proof that HDF is equally capable at determining obvious changes in heart function.

Plots

## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls > cases

## Setting direction: controls > cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases
## Setting direction: controls < cases

## Setting direction: controls < cases

PCA Analysis

Interpretation

The first two dimensions of the PCA analysis comprise around 55% of the total impact of co variate impacts. PC1 is the most principle component that is most influenced by aortic peak velocity. This indicates that the PC1 dimension tracks the aortic velocity and thus variables that are strongly correlated with it or inversely correlated with it are factors that change along side with aortic velocity changes. This makes sense on a biological basis. The primary impact of the TAC surgery is making the diameter of the aortic arch smaller such that the velocity through it must be higher to keep cardiac output up. In this way, the variables that are high positive or negative loading related to the first dimension are of interest in predicting aortic velocity changes for one biological model that results in heart failure dynamics.

The following metrics were, in order, the strongest loading factors: aortic peak velocity, endocardial GLS, LV ejection fraction, myocardial GLS, LV mass corrected, LA end diastolic volume, LA end systolic volume, endocardial GCS, myocardial GCS, descending systolic impulse longitudinal RMS, systolic impulse longitudinal RMS, systolic impulse Area Under Curve (AUC). All of these metrics were a magnitude over 0.2. Only the last 3 of these are HDF metrics, but they do suggest that each of these HDF metrics are closely related to the change in each of the strain and geometric parameters which predict late stage heart failure. This is again a good verification that HDF metrics match the behavior of other proven parameters.

The second dimension, pC2, is most directly a factor of the transverse components of the cycle. This includes things like angles and timing parameters like systolic length.

Plots

## Warning in lapply(numeric_cols, as.numeric): NAs introduced by coercion
## Warning in lapply(numeric_cols, as.numeric): NAs introduced by coercion

Summary Table

Correlation

Interpretation

Many of the conditions speak mostly for themselves and overall the trend continues that strain metrics better correlated with ejection fraction outcomes.

Of utmost interest is, however, the situation of plotting each of the TAC metrics against the paired deTAC ejection fraction outcomes. This scenario is set to suggest what would happen in the situation of surgical intervention for patients with heart failure. Some of these that would remove a constriction in the outflow tract such that afterload is decreased would include aortic valve replacement for aortic stenosis and stent placements. From these results, the metric that most correlated with ejection fraction outcome after deTAC is systolic impulse transverse RMS. This metric, with correlation (r = -0.8211) was higher than LA ejection fraction (r = 0.7274), myocardial GCS (r = -0.6453), LA mean strain (r = 0.6419), LA end diastolic volume (r = -0.5642), and LV ejection fraction (r = 0.556). Systolic length was also highly correlated (r = 0.7092) and the HDF metric of systolic impulse length was also significantly correlated (r = 0.6365) with deTAC recovery.

This may suggest that systolic impulse transverse RMS is the strongest predictor of how a mouse recovers post deTAC. The data has a small n=8 since this correlation was a paired analysis, so the next steps involve including more animals in the analysis in ordre to reduce the randomness of these results.

Overall

Data Table
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Plots
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

Baseline v TAC

Data Table
Plots
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

Baseline vs deTAC

Data Table
Plots
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

TAC vs deTAC

Data Table
Plots
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

TAC metric v deTAC EF

Data Table
Plots
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'