Weight Data

Column

A look at the data

                             Stratified by Genotype
                              COMPOUND      NIPBL         WAPL          
  n                             12             5              9         
  Mother (%)                                                            
     F08978                      2 ( 16.7)     2 ( 40.0)      4 ( 44.4) 
     F08980                      2 ( 16.7)     1 ( 20.0)      1 ( 11.1) 
     F08984                      1 (  8.3)     1 ( 20.0)      1 ( 11.1) 
     F09231                      2 ( 16.7)     0 (  0.0)      3 ( 33.3) 
     F09233                      3 ( 25.0)     0 (  0.0)      0 (  0.0) 
     F09449                      2 ( 16.7)     1 ( 20.0)      0 (  0.0) 
  Embryo (mean (SD))          0.68 (0.13)   0.61 (0.12)    0.84 (0.15)  
  Placenta (mean (SD))        0.09 (0.01)   0.09 (0.01)    0.08 (0.01)  
  Genotype (%)                                                          
     COMPOUND                   12 (100.0)     0 (  0.0)      0 (  0.0) 
     NIPBL                       0 (  0.0)     5 (100.0)      0 (  0.0) 
     WAPL                        0 (  0.0)     0 (  0.0)      9 (100.0) 
     WAPL_NIPBL_FLOX             0 (  0.0)     0 (  0.0)      0 (  0.0) 
     WT                          0 (  0.0)     0 (  0.0)      0 (  0.0) 
  Sex = Male (%)                 8 ( 66.7)     2 ( 40.0)      6 ( 66.7) 
  Embryo_Placenta (mean (SD)) 7.83 (1.34)   6.95 (1.16)   10.07 (1.45)  
                             Stratified by Genotype
                              WAPL_NIPBL_FLOX WT             p      test
  n                              2                6                     
  Mother (%)                                                  0.260     
     F08978                      0 (  0.0)        0 (  0.0)             
     F08980                      0 (  0.0)        2 ( 33.3)             
     F08984                      1 ( 50.0)        1 ( 16.7)             
     F09231                      0 (  0.0)        0 (  0.0)             
     F09233                      0 (  0.0)        3 ( 50.0)             
     F09449                      1 ( 50.0)        0 (  0.0)             
  Embryo (mean (SD))          0.88 (0.17)      1.05 (0.03)   <0.001     
  Placenta (mean (SD))        0.09 (0.02)      0.09 (0.01)    0.563     
  Genotype (%)                                               <0.001     
     COMPOUND                    0 (  0.0)        0 (  0.0)             
     NIPBL                       0 (  0.0)        0 (  0.0)             
     WAPL                        0 (  0.0)        0 (  0.0)             
     WAPL_NIPBL_FLOX             2 (100.0)        0 (  0.0)             
     WT                          0 (  0.0)        6 (100.0)             
  Sex = Male (%)                 1 ( 50.0)        1 ( 16.7)   0.277     
  Embryo_Placenta (mean (SD)) 9.26 (0.35)     11.79 (1.32)   <0.001     

Statistics

Row

Normality Tests


Embryo Data

    Shapiro-Wilk normality test

data:  R_Wapl_and_Nipbl$Embryo
W = 0.95105, p-value = 0.1321

Placenta Data

    Shapiro-Wilk normality test

data:  R_Wapl_and_Nipbl$Placenta
W = 0.9809, p-value = 0.8007

Embryo/Placenta Data

    Shapiro-Wilk normality test

data:  R_Wapl_and_Nipbl$Embryo_Placenta
W = 0.96439, p-value = 0.325

All variables passed normality test

T-test


WAPL vs WT Genotype Comparison

    Welch Two Sample t-test

data:  Embryo - Placenta by Genotype
t = -4.1601, df = 9.6608, p-value = 0.002099
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.31974146 -0.09600298
sample estimates:
mean in group WAPL   mean in group WT 
         0.7561444          0.9640167 

One-way Anova


Embryo/Placenta vs Genotype Anova
            Df Sum Sq Mean Sq F value   Pr(>F)    
Genotype     4  94.44  23.610   13.49 2.52e-06 ***
Residuals   29  50.77   1.751                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Post-hoc Testing
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = Embryo_Placenta ~ Genotype, data = R_Wapl_and_Nipbl)

$Genotype
                               diff        lwr      upr     p adj
NIPBL-COMPOUND           -0.8751612 -2.9224611 1.172139 0.7270437
WAPL-COMPOUND             2.2443427  0.5483249 3.940360 0.0050741
WAPL_NIPBL_FLOX-COMPOUND  1.4309999 -1.5065890 4.368589 0.6226762
WT-COMPOUND               3.9624760  2.0393726 5.885579 0.0000154
WAPL-NIPBL                3.1195039  0.9741923 5.264815 0.0018683
WAPL_NIPBL_FLOX-NIPBL     2.3061611 -0.9118062 5.524129 0.2543442
WT-NIPBL                  4.8376372  2.5086434 7.166631 0.0000135
WAPL_NIPBL_FLOX-WAPL     -0.8133428 -3.8200608 2.193375 0.9325310
WT-WAPL                   1.7181333 -0.3089956 3.745262 0.1272170
WT-WAPL_NIPBL_FLOX        2.5314761 -0.6089385 5.671891 0.1603826

Overall Anova is significant indicating difference in genotypes

We also can look at individual relationships using the posthoc testing

Two-way Anova


Embryo/Placenta vs Genotype * Mother Two-way Anova
                Df Sum Sq Mean Sq F value   Pr(>F)    
Genotype         4  94.44  23.610  47.899 2.28e-08 ***
Mother           5  39.10   7.821  15.866 1.59e-05 ***
Genotype:Mother  9   4.28   0.475   0.964    0.504    
Residuals       15   7.39   0.493                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = Embryo_Placenta ~ Genotype * Mother, data = R_Wapl_and_Nipbl)

$Genotype
                               diff        lwr       upr     p adj
NIPBL-COMPOUND           -0.8751612 -2.0291504 0.2788279 0.1854976
WAPL-COMPOUND             2.2443427  1.2883586 3.2003267 0.0000243
WAPL_NIPBL_FLOX-COMPOUND  1.4309999 -0.2248130 3.0868129 0.1068667
WT-COMPOUND               3.9624760  2.8784919 5.0464600 0.0000001
WAPL-NIPBL                3.1195039  1.9102691 4.3287387 0.0000079
WAPL_NIPBL_FLOX-NIPBL     2.3061611  0.4923089 4.1200134 0.0100484
WT-NIPBL                  4.8376372  3.5248673 6.1504071 0.0000001
WAPL_NIPBL_FLOX-WAPL     -0.8133428 -2.5081213 0.8814358 0.5884403
WT-WAPL                   1.7181333  0.5755138 2.8607528 0.0025101
WT-WAPL_NIPBL_FLOX        2.5314761  0.7613375 4.3016146 0.0038868

$Mother
                    diff        lwr         upr     p adj
F08980-F08978  2.4997275  1.2678286  3.73162636 0.0001037
F08984-F08978  1.8008638  0.5004746  3.10125293 0.0046377
F09231-F08978  0.1985110 -1.1018782  1.49890018 0.9955742
F09233-F08978  0.3772246 -0.8546743  1.60912350 0.9125559
F09449-F08978 -0.3432881 -1.7401301  1.05355396 0.9634289
F08984-F08980 -0.6988637 -2.0800981  0.68237066 0.5847730
F09231-F08980 -2.3012165 -3.6824508 -0.91998208 0.0008350
F09233-F08980 -2.1225029 -3.4394582 -0.80554756 0.0011569
F09449-F08980 -2.8430156 -4.3154164 -1.37061477 0.0001794
F09231-F08984 -1.6023527 -3.0450050 -0.15970048 0.0254757
F09233-F08984 -1.4236391 -2.8048735 -0.04240476 0.0415478
F09449-F08984 -2.1441518 -3.6743156 -0.61398805 0.0041898
F09233-F09231  0.1787136 -1.2025208  1.55994798 0.9979659
F09449-F09231 -0.5417991 -2.0719629  0.98836469 0.8526930
F09449-F09233 -0.7205127 -2.1929135  0.75188810 0.6166675

$`Genotype:Mother`
                                                     diff          lwr
NIPBL:F08978-COMPOUND:F08978                  -0.77845281  -3.94527515
WAPL:F08978-COMPOUND:F08978                    2.25705369  -0.48549490
WAPL_NIPBL_FLOX:F08978-COMPOUND:F08978                 NA           NA
WT:F08978-COMPOUND:F08978                              NA           NA
COMPOUND:F08980-COMPOUND:F08978                2.70092311  -0.46589923
NIPBL:F08980-COMPOUND:F08978                   1.30881167  -2.56973775
WAPL:F08980-COMPOUND:F08978                    5.29362700   1.41507759
WAPL_NIPBL_FLOX:F08980-COMPOUND:F08978                 NA           NA
WT:F08980-COMPOUND:F08978                      6.23570453   3.06888219
COMPOUND:F08984-COMPOUND:F08978                2.06376377  -1.81478564
NIPBL:F08984-COMPOUND:F08978                   0.87462324  -3.00392618
WAPL:F08984-COMPOUND:F08978                    5.27467975   1.39613034
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08978         2.47225347  -1.40629595
WT:F08984-COMPOUND:F08978                      5.23431895   1.35576953
COMPOUND:F09231-COMPOUND:F08978                0.07443174  -3.09239060
NIPBL:F09231-COMPOUND:F08978                           NA           NA
WAPL:F09231-COMPOUND:F08978                    2.57646089  -0.31443916
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08978                 NA           NA
WT:F09231-COMPOUND:F08978                              NA           NA
COMPOUND:F09233-COMPOUND:F08978                1.17121000  -1.71969006
NIPBL:F09233-COMPOUND:F08978                           NA           NA
WAPL:F09233-COMPOUND:F08978                            NA           NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08978                 NA           NA
WT:F09233-COMPOUND:F08978                      3.60678043   0.71588038
COMPOUND:F09449-COMPOUND:F08978               -0.81283825  -3.97966059
NIPBL:F09449-COMPOUND:F08978                  -1.04299087  -4.92154028
WAPL:F09449-COMPOUND:F08978                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08978         1.97348418  -1.90506524
WT:F09449-COMPOUND:F08978                              NA           NA
WAPL:F08978-NIPBL:F08978                       3.03550650   0.29295791
WAPL_NIPBL_FLOX:F08978-NIPBL:F08978                    NA           NA
WT:F08978-NIPBL:F08978                                 NA           NA
COMPOUND:F08980-NIPBL:F08978                   3.47937592   0.31255358
NIPBL:F08980-NIPBL:F08978                      2.08726448  -1.79128494
WAPL:F08980-NIPBL:F08978                       6.07207982   2.19353040
WAPL_NIPBL_FLOX:F08980-NIPBL:F08978                    NA           NA
WT:F08980-NIPBL:F08978                         7.01415734   3.84733500
COMPOUND:F08984-NIPBL:F08978                   2.84221659  -1.03633283
NIPBL:F08984-NIPBL:F08978                      1.65307605  -2.22547337
WAPL:F08984-NIPBL:F08978                       6.05313257   2.17458315
WAPL_NIPBL_FLOX:F08984-NIPBL:F08978            3.25070628  -0.62784314
WT:F08984-NIPBL:F08978                         6.01277176   2.13422234
COMPOUND:F09231-NIPBL:F08978                   0.85288455  -2.31393779
NIPBL:F09231-NIPBL:F08978                              NA           NA
WAPL:F09231-NIPBL:F08978                       3.35491370   0.46401365
WAPL_NIPBL_FLOX:F09231-NIPBL:F08978                    NA           NA
WT:F09231-NIPBL:F08978                                 NA           NA
COMPOUND:F09233-NIPBL:F08978                   1.94966281  -0.94123724
NIPBL:F09233-NIPBL:F08978                              NA           NA
WAPL:F09233-NIPBL:F08978                               NA           NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08978                    NA           NA
WT:F09233-NIPBL:F08978                         4.38523325   1.49433320
COMPOUND:F09449-NIPBL:F08978                  -0.03438544  -3.20120778
NIPBL:F09449-NIPBL:F08978                     -0.26453805  -4.14308747
WAPL:F09449-NIPBL:F08978                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08978            2.75193700  -1.12661242
WT:F09449-NIPBL:F08978                                 NA           NA
WAPL_NIPBL_FLOX:F08978-WAPL:F08978                     NA           NA
WT:F08978-WAPL:F08978                                  NA           NA
COMPOUND:F08980-WAPL:F08978                    0.44386941  -2.29867918
NIPBL:F08980-WAPL:F08978                      -0.94824202  -4.48885703
WAPL:F08980-WAPL:F08978                        3.03657331  -0.50404170
WAPL_NIPBL_FLOX:F08980-WAPL:F08978                     NA           NA
WT:F08980-WAPL:F08978                          3.97865084   1.23610224
COMPOUND:F08984-WAPL:F08978                   -0.19328992  -3.73390493
NIPBL:F08984-WAPL:F08978                      -1.38243046  -4.92304547
WAPL:F08984-WAPL:F08978                        3.01762606  -0.52298895
WAPL_NIPBL_FLOX:F08984-WAPL:F08978             0.21519978  -3.32541524
WT:F08984-WAPL:F08978                          2.97726526  -0.56334976
COMPOUND:F09231-WAPL:F08978                   -2.18262195  -4.92517055
NIPBL:F09231-WAPL:F08978                               NA           NA
WAPL:F09231-WAPL:F08978                        0.31940720  -2.09929332
WAPL_NIPBL_FLOX:F09231-WAPL:F08978                     NA           NA
WT:F09231-WAPL:F08978                                  NA           NA
COMPOUND:F09233-WAPL:F08978                   -1.08584370  -3.50454421
NIPBL:F09233-WAPL:F08978                               NA           NA
WAPL:F09233-WAPL:F08978                                NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08978                     NA           NA
WT:F09233-WAPL:F08978                          1.34972674  -1.06897377
COMPOUND:F09449-WAPL:F08978                   -3.06989194  -5.81244054
NIPBL:F09449-WAPL:F08978                      -3.30004456  -6.84065957
WAPL:F09449-WAPL:F08978                                NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08978            -0.28356951  -3.82418452
WT:F09449-WAPL:F08978                                  NA           NA
WT:F08978-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F08980-WAPL_NIPBL_FLOX:F08978                 NA           NA
NIPBL:F08980-WAPL_NIPBL_FLOX:F08978                    NA           NA
WAPL:F08980-WAPL_NIPBL_FLOX:F08978                     NA           NA
WAPL_NIPBL_FLOX:F08980-WAPL_NIPBL_FLOX:F08978          NA           NA
WT:F08980-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F08984-WAPL_NIPBL_FLOX:F08978                 NA           NA
NIPBL:F08984-WAPL_NIPBL_FLOX:F08978                    NA           NA
WAPL:F08984-WAPL_NIPBL_FLOX:F08978                     NA           NA
WAPL_NIPBL_FLOX:F08984-WAPL_NIPBL_FLOX:F08978          NA           NA
WT:F08984-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08978                 NA           NA
NIPBL:F09231-WAPL_NIPBL_FLOX:F08978                    NA           NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08978                     NA           NA
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08978          NA           NA
WT:F09231-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08978                 NA           NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F08978                    NA           NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08978                     NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08978          NA           NA
WT:F09233-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08978                 NA           NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F08978                    NA           NA
WAPL:F09449-WAPL_NIPBL_FLOX:F08978                     NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08978          NA           NA
WT:F09449-WAPL_NIPBL_FLOX:F08978                       NA           NA
COMPOUND:F08980-WT:F08978                              NA           NA
NIPBL:F08980-WT:F08978                                 NA           NA
WAPL:F08980-WT:F08978                                  NA           NA
WAPL_NIPBL_FLOX:F08980-WT:F08978                       NA           NA
WT:F08980-WT:F08978                                    NA           NA
COMPOUND:F08984-WT:F08978                              NA           NA
NIPBL:F08984-WT:F08978                                 NA           NA
WAPL:F08984-WT:F08978                                  NA           NA
WAPL_NIPBL_FLOX:F08984-WT:F08978                       NA           NA
WT:F08984-WT:F08978                                    NA           NA
COMPOUND:F09231-WT:F08978                              NA           NA
NIPBL:F09231-WT:F08978                                 NA           NA
WAPL:F09231-WT:F08978                                  NA           NA
WAPL_NIPBL_FLOX:F09231-WT:F08978                       NA           NA
WT:F09231-WT:F08978                                    NA           NA
COMPOUND:F09233-WT:F08978                              NA           NA
NIPBL:F09233-WT:F08978                                 NA           NA
WAPL:F09233-WT:F08978                                  NA           NA
WAPL_NIPBL_FLOX:F09233-WT:F08978                       NA           NA
WT:F09233-WT:F08978                                    NA           NA
COMPOUND:F09449-WT:F08978                              NA           NA
NIPBL:F09449-WT:F08978                                 NA           NA
WAPL:F09449-WT:F08978                                  NA           NA
WAPL_NIPBL_FLOX:F09449-WT:F08978                       NA           NA
WT:F09449-WT:F08978                                    NA           NA
NIPBL:F08980-COMPOUND:F08980                  -1.39211144  -5.27066085
WAPL:F08980-COMPOUND:F08980                    2.59270390  -1.28584552
WAPL_NIPBL_FLOX:F08980-COMPOUND:F08980                 NA           NA
WT:F08980-COMPOUND:F08980                      3.53478142   0.36795908
COMPOUND:F08984-COMPOUND:F08980               -0.63715933  -4.51570875
NIPBL:F08984-COMPOUND:F08980                  -1.82629987  -5.70484929
WAPL:F08984-COMPOUND:F08980                    2.57375665  -1.30479277
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08980        -0.22866964  -4.10721906
WT:F08984-COMPOUND:F08980                      2.53339584  -1.34515358
COMPOUND:F09231-COMPOUND:F08980               -2.62649137  -5.79331371
NIPBL:F09231-COMPOUND:F08980                           NA           NA
WAPL:F09231-COMPOUND:F08980                   -0.12446222  -3.01536227
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08980                 NA           NA
WT:F09231-COMPOUND:F08980                              NA           NA
COMPOUND:F09233-COMPOUND:F08980               -1.52971311  -4.42061316
NIPBL:F09233-COMPOUND:F08980                           NA           NA
WAPL:F09233-COMPOUND:F08980                            NA           NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08980                 NA           NA
WT:F09233-COMPOUND:F08980                      0.90585733  -1.98504272
COMPOUND:F09449-COMPOUND:F08980               -3.51376136  -6.68058369
NIPBL:F09449-COMPOUND:F08980                  -3.74391397  -7.62246339
WAPL:F09449-COMPOUND:F08980                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08980        -0.72743892  -4.60598834
WT:F09449-COMPOUND:F08980                              NA           NA
WAPL:F08980-NIPBL:F08980                       3.98481533  -0.49374777
WAPL_NIPBL_FLOX:F08980-NIPBL:F08980                    NA           NA
WT:F08980-NIPBL:F08980                         4.92689286   1.04834344
COMPOUND:F08984-NIPBL:F08980                   0.75495210  -3.72361100
NIPBL:F08984-NIPBL:F08980                     -0.43418844  -4.91275154
WAPL:F08984-NIPBL:F08980                       3.96586808  -0.51269502
WAPL_NIPBL_FLOX:F08984-NIPBL:F08980            1.16344180  -3.31512130
WT:F08984-NIPBL:F08980                         3.92550728  -0.55305582
COMPOUND:F09231-NIPBL:F08980                  -1.23437993  -5.11292935
NIPBL:F09231-NIPBL:F08980                              NA           NA
WAPL:F09231-NIPBL:F08980                       1.26764922  -2.38908224
WAPL_NIPBL_FLOX:F09231-NIPBL:F08980                    NA           NA
WT:F09231-NIPBL:F08980                                 NA           NA
COMPOUND:F09233-NIPBL:F08980                  -0.13760168  -3.79433314
NIPBL:F09233-NIPBL:F08980                              NA           NA
WAPL:F09233-NIPBL:F08980                               NA           NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08980                    NA           NA
WT:F09233-NIPBL:F08980                         2.29796876  -1.35876270
COMPOUND:F09449-NIPBL:F08980                  -2.12164992  -6.00019934
NIPBL:F09449-NIPBL:F08980                     -2.35180254  -6.83036564
WAPL:F09449-NIPBL:F08980                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08980            0.66467251  -3.81389059
WT:F09449-NIPBL:F08980                                 NA           NA
WAPL_NIPBL_FLOX:F08980-WAPL:F08980                     NA           NA
WT:F08980-WAPL:F08980                          0.94207752  -2.93647189
COMPOUND:F08984-WAPL:F08980                   -3.22986323  -7.70842633
NIPBL:F08984-WAPL:F08980                      -4.41900377  -8.89756687
WAPL:F08984-WAPL:F08980                       -0.01894725  -4.49751035
WAPL_NIPBL_FLOX:F08984-WAPL:F08980            -2.82137354  -7.29993664
WT:F08984-WAPL:F08980                         -0.05930806  -4.53787116
COMPOUND:F09231-WAPL:F08980                   -5.21919526  -9.09774468
NIPBL:F09231-WAPL:F08980                               NA           NA
WAPL:F09231-WAPL:F08980                       -2.71716611  -6.37389757
WAPL_NIPBL_FLOX:F09231-WAPL:F08980                     NA           NA
WT:F09231-WAPL:F08980                                  NA           NA
COMPOUND:F09233-WAPL:F08980                   -4.12241701  -7.77914847
NIPBL:F09233-WAPL:F08980                               NA           NA
WAPL:F09233-WAPL:F08980                                NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08980                     NA           NA
WT:F09233-WAPL:F08980                         -1.68684657  -5.34357803
COMPOUND:F09449-WAPL:F08980                   -6.10646525  -9.98501467
NIPBL:F09449-WAPL:F08980                      -6.33661787 -10.81518097
WAPL:F09449-WAPL:F08980                                NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08980            -3.32014282  -7.79870592
WT:F09449-WAPL:F08980                                  NA           NA
WT:F08980-WAPL_NIPBL_FLOX:F08980                       NA           NA
COMPOUND:F08984-WAPL_NIPBL_FLOX:F08980                 NA           NA
NIPBL:F08984-WAPL_NIPBL_FLOX:F08980                    NA           NA
WAPL:F08984-WAPL_NIPBL_FLOX:F08980                     NA           NA
WAPL_NIPBL_FLOX:F08984-WAPL_NIPBL_FLOX:F08980          NA           NA
WT:F08984-WAPL_NIPBL_FLOX:F08980                       NA           NA
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08980                 NA           NA
NIPBL:F09231-WAPL_NIPBL_FLOX:F08980                    NA           NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08980                     NA           NA
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08980          NA           NA
WT:F09231-WAPL_NIPBL_FLOX:F08980                       NA           NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08980                 NA           NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F08980                    NA           NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08980                     NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08980          NA           NA
WT:F09233-WAPL_NIPBL_FLOX:F08980                       NA           NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08980                 NA           NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F08980                    NA           NA
WAPL:F09449-WAPL_NIPBL_FLOX:F08980                     NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08980          NA           NA
WT:F09449-WAPL_NIPBL_FLOX:F08980                       NA           NA
COMPOUND:F08984-WT:F08980                     -4.17194075  -8.05049017
NIPBL:F08984-WT:F08980                        -5.36108129  -9.23963071
WAPL:F08984-WT:F08980                         -0.96102477  -4.83957419
WAPL_NIPBL_FLOX:F08984-WT:F08980              -3.76345106  -7.64200048
WT:F08984-WT:F08980                           -1.00138558  -4.87993500
COMPOUND:F09231-WT:F08980                     -6.16127279  -9.32809513
NIPBL:F09231-WT:F08980                                 NA           NA
WAPL:F09231-WT:F08980                         -3.65924364  -6.55014369
WAPL_NIPBL_FLOX:F09231-WT:F08980                       NA           NA
WT:F09231-WT:F08980                                    NA           NA
COMPOUND:F09233-WT:F08980                     -5.06449453  -7.95539458
NIPBL:F09233-WT:F08980                                 NA           NA
WAPL:F09233-WT:F08980                                  NA           NA
WAPL_NIPBL_FLOX:F09233-WT:F08980                       NA           NA
WT:F09233-WT:F08980                           -2.62892409  -5.51982414
COMPOUND:F09449-WT:F08980                     -7.04854278 -10.21536512
NIPBL:F09449-WT:F08980                        -7.27869539 -11.15724481
WAPL:F09449-WT:F08980                                  NA           NA
WAPL_NIPBL_FLOX:F09449-WT:F08980              -4.26222034  -8.14076976
WT:F09449-WT:F08980                                    NA           NA
NIPBL:F08984-COMPOUND:F08984                  -1.18914054  -5.66770364
WAPL:F08984-COMPOUND:F08984                    3.21091598  -1.26764712
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08984         0.40848969  -4.07007341
WT:F08984-COMPOUND:F08984                      3.17055517  -1.30800793
COMPOUND:F09231-COMPOUND:F08984               -1.98933203  -5.86788145
NIPBL:F09231-COMPOUND:F08984                           NA           NA
WAPL:F09231-COMPOUND:F08984                    0.51269712  -3.14403434
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08984                 NA           NA
WT:F09231-COMPOUND:F08984                              NA           NA
COMPOUND:F09233-COMPOUND:F08984               -0.89255378  -4.54928524
NIPBL:F09233-COMPOUND:F08984                           NA           NA
WAPL:F09233-COMPOUND:F08984                            NA           NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08984                 NA           NA
WT:F09233-COMPOUND:F08984                      1.54301666  -2.11371480
COMPOUND:F09449-COMPOUND:F08984               -2.87660202  -6.75515144
NIPBL:F09449-COMPOUND:F08984                  -3.10675464  -7.58531774
WAPL:F09449-COMPOUND:F08984                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08984        -0.09027959  -4.56884269
WT:F09449-COMPOUND:F08984                              NA           NA
WAPL:F08984-NIPBL:F08984                       4.40005652  -0.07850658
WAPL_NIPBL_FLOX:F08984-NIPBL:F08984            1.59763023  -2.88093287
WT:F08984-NIPBL:F08984                         4.35969571  -0.11886739
COMPOUND:F09231-NIPBL:F08984                  -0.80019149  -4.67874091
NIPBL:F09231-NIPBL:F08984                              NA           NA
WAPL:F09231-NIPBL:F08984                       1.70183765  -1.95489381
WAPL_NIPBL_FLOX:F09231-NIPBL:F08984                    NA           NA
WT:F09231-NIPBL:F08984                                 NA           NA
COMPOUND:F09233-NIPBL:F08984                   0.29658676  -3.36014470
NIPBL:F09233-NIPBL:F08984                              NA           NA
WAPL:F09233-NIPBL:F08984                               NA           NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08984                    NA           NA
WT:F09233-NIPBL:F08984                         2.73215720  -0.92457426
COMPOUND:F09449-NIPBL:F08984                  -1.68746148  -5.56601090
NIPBL:F09449-NIPBL:F08984                     -1.91761410  -6.39617720
WAPL:F09449-NIPBL:F08984                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08984            1.09886095  -3.37970215
WT:F09449-NIPBL:F08984                                 NA           NA
WAPL_NIPBL_FLOX:F08984-WAPL:F08984            -2.80242629  -7.28098939
WT:F08984-WAPL:F08984                         -0.04036081  -4.51892391
COMPOUND:F09231-WAPL:F08984                   -5.20024801  -9.07879743
NIPBL:F09231-WAPL:F08984                               NA           NA
WAPL:F09231-WAPL:F08984                       -2.69821887  -6.35495033
WAPL_NIPBL_FLOX:F09231-WAPL:F08984                     NA           NA
WT:F09231-WAPL:F08984                                  NA           NA
COMPOUND:F09233-WAPL:F08984                   -4.10346976  -7.76020122
NIPBL:F09233-WAPL:F08984                               NA           NA
WAPL:F09233-WAPL:F08984                                NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08984                     NA           NA
WT:F09233-WAPL:F08984                         -1.66789932  -5.32463078
COMPOUND:F09449-WAPL:F08984                   -6.08751800  -9.96606742
NIPBL:F09449-WAPL:F08984                      -6.31767062 -10.79623372
WAPL:F09449-WAPL:F08984                                NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08984            -3.30119557  -7.77975867
WT:F09449-WAPL:F08984                                  NA           NA
WT:F08984-WAPL_NIPBL_FLOX:F08984               2.76206548  -1.71649762
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08984        -2.39782173  -6.27637115
NIPBL:F09231-WAPL_NIPBL_FLOX:F08984                    NA           NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08984             0.10420742  -3.55252404
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08984          NA           NA
WT:F09231-WAPL_NIPBL_FLOX:F08984                       NA           NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08984        -1.30104347  -4.95777493
NIPBL:F09233-WAPL_NIPBL_FLOX:F08984                    NA           NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08984                     NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08984          NA           NA
WT:F09233-WAPL_NIPBL_FLOX:F08984               1.13452697  -2.52220449
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08984        -3.28509172  -7.16364114
NIPBL:F09449-WAPL_NIPBL_FLOX:F08984           -3.51524433  -7.99380744
WAPL:F09449-WAPL_NIPBL_FLOX:F08984                     NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08984 -0.49876929  -4.97733239
WT:F09449-WAPL_NIPBL_FLOX:F08984                       NA           NA
COMPOUND:F09231-WT:F08984                     -5.15988721  -9.03843663
NIPBL:F09231-WT:F08984                                 NA           NA
WAPL:F09231-WT:F08984                         -2.65785806  -6.31458952
WAPL_NIPBL_FLOX:F09231-WT:F08984                       NA           NA
WT:F09231-WT:F08984                                    NA           NA
COMPOUND:F09233-WT:F08984                     -4.06310895  -7.71984041
NIPBL:F09233-WT:F08984                                 NA           NA
WAPL:F09233-WT:F08984                                  NA           NA
WAPL_NIPBL_FLOX:F09233-WT:F08984                       NA           NA
WT:F09233-WT:F08984                           -1.62753851  -5.28426997
COMPOUND:F09449-WT:F08984                     -6.04715720  -9.92570662
NIPBL:F09449-WT:F08984                        -6.27730981 -10.75587292
WAPL:F09449-WT:F08984                                  NA           NA
WAPL_NIPBL_FLOX:F09449-WT:F08984              -3.26083476  -7.73939787
WT:F09449-WT:F08984                                    NA           NA
NIPBL:F09231-COMPOUND:F09231                           NA           NA
WAPL:F09231-COMPOUND:F09231                    2.50202915  -0.38887090
WAPL_NIPBL_FLOX:F09231-COMPOUND:F09231                 NA           NA
WT:F09231-COMPOUND:F09231                              NA           NA
COMPOUND:F09233-COMPOUND:F09231                1.09677826  -1.79412180
NIPBL:F09233-COMPOUND:F09231                           NA           NA
WAPL:F09233-COMPOUND:F09231                            NA           NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F09231                 NA           NA
WT:F09233-COMPOUND:F09231                      3.53234869   0.64144864
COMPOUND:F09449-COMPOUND:F09231               -0.88726999  -4.05409233
NIPBL:F09449-COMPOUND:F09231                  -1.11742261  -4.99597203
WAPL:F09449-COMPOUND:F09231                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09231         1.89905244  -1.97949698
WT:F09449-COMPOUND:F09231                              NA           NA
WAPL:F09231-NIPBL:F09231                               NA           NA
WAPL_NIPBL_FLOX:F09231-NIPBL:F09231                    NA           NA
WT:F09231-NIPBL:F09231                                 NA           NA
COMPOUND:F09233-NIPBL:F09231                           NA           NA
NIPBL:F09233-NIPBL:F09231                              NA           NA
WAPL:F09233-NIPBL:F09231                               NA           NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F09231                    NA           NA
WT:F09233-NIPBL:F09231                                 NA           NA
COMPOUND:F09449-NIPBL:F09231                           NA           NA
NIPBL:F09449-NIPBL:F09231                              NA           NA
WAPL:F09449-NIPBL:F09231                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09231                    NA           NA
WT:F09449-NIPBL:F09231                                 NA           NA
WAPL_NIPBL_FLOX:F09231-WAPL:F09231                     NA           NA
WT:F09231-WAPL:F09231                                  NA           NA
COMPOUND:F09233-WAPL:F09231                   -1.40525089  -3.99095051
NIPBL:F09233-WAPL:F09231                               NA           NA
WAPL:F09233-WAPL:F09231                                NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL:F09231                     NA           NA
WT:F09233-WAPL:F09231                          1.03031955  -1.55538007
COMPOUND:F09449-WAPL:F09231                   -3.38929914  -6.28019919
NIPBL:F09449-WAPL:F09231                      -3.61945176  -7.27618322
WAPL:F09449-WAPL:F09231                                NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09231            -0.60297671  -4.25970817
WT:F09449-WAPL:F09231                                  NA           NA
WT:F09231-WAPL_NIPBL_FLOX:F09231                       NA           NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F09231                 NA           NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F09231                    NA           NA
WAPL:F09233-WAPL_NIPBL_FLOX:F09231                     NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F09231          NA           NA
WT:F09233-WAPL_NIPBL_FLOX:F09231                       NA           NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F09231                 NA           NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F09231                    NA           NA
WAPL:F09449-WAPL_NIPBL_FLOX:F09231                     NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F09231          NA           NA
WT:F09449-WAPL_NIPBL_FLOX:F09231                       NA           NA
COMPOUND:F09233-WT:F09231                              NA           NA
NIPBL:F09233-WT:F09231                                 NA           NA
WAPL:F09233-WT:F09231                                  NA           NA
WAPL_NIPBL_FLOX:F09233-WT:F09231                       NA           NA
WT:F09233-WT:F09231                                    NA           NA
COMPOUND:F09449-WT:F09231                              NA           NA
NIPBL:F09449-WT:F09231                                 NA           NA
WAPL:F09449-WT:F09231                                  NA           NA
WAPL_NIPBL_FLOX:F09449-WT:F09231                       NA           NA
WT:F09449-WT:F09231                                    NA           NA
NIPBL:F09233-COMPOUND:F09233                           NA           NA
WAPL:F09233-COMPOUND:F09233                            NA           NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F09233                 NA           NA
WT:F09233-COMPOUND:F09233                      2.43557044  -0.15012917
COMPOUND:F09449-COMPOUND:F09233               -1.98404824  -4.87494830
NIPBL:F09449-COMPOUND:F09233                  -2.21420086  -5.87093232
WAPL:F09449-COMPOUND:F09233                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09233         0.80227419  -2.85445727
WT:F09449-COMPOUND:F09233                              NA           NA
WAPL:F09233-NIPBL:F09233                               NA           NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F09233                    NA           NA
WT:F09233-NIPBL:F09233                                 NA           NA
COMPOUND:F09449-NIPBL:F09233                           NA           NA
NIPBL:F09449-NIPBL:F09233                              NA           NA
WAPL:F09449-NIPBL:F09233                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09233                    NA           NA
WT:F09449-NIPBL:F09233                                 NA           NA
WAPL_NIPBL_FLOX:F09233-WAPL:F09233                     NA           NA
WT:F09233-WAPL:F09233                                  NA           NA
COMPOUND:F09449-WAPL:F09233                            NA           NA
NIPBL:F09449-WAPL:F09233                               NA           NA
WAPL:F09449-WAPL:F09233                                NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09233                     NA           NA
WT:F09449-WAPL:F09233                                  NA           NA
WT:F09233-WAPL_NIPBL_FLOX:F09233                       NA           NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F09233                 NA           NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F09233                    NA           NA
WAPL:F09449-WAPL_NIPBL_FLOX:F09233                     NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F09233          NA           NA
WT:F09449-WAPL_NIPBL_FLOX:F09233                       NA           NA
COMPOUND:F09449-WT:F09233                     -4.41961868  -7.31051873
NIPBL:F09449-WT:F09233                        -4.64977130  -8.30650276
WAPL:F09449-WT:F09233                                  NA           NA
WAPL_NIPBL_FLOX:F09449-WT:F09233              -1.63329625  -5.29002771
WT:F09449-WT:F09233                                    NA           NA
NIPBL:F09449-COMPOUND:F09449                  -0.23015262  -4.10870204
WAPL:F09449-COMPOUND:F09449                            NA           NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09449         2.78632243  -1.09222699
WT:F09449-COMPOUND:F09449                              NA           NA
WAPL:F09449-NIPBL:F09449                               NA           NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09449            3.01647505  -1.46208805
WT:F09449-NIPBL:F09449                                 NA           NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09449                     NA           NA
WT:F09449-WAPL:F09449                                  NA           NA
WT:F09449-WAPL_NIPBL_FLOX:F09449                       NA           NA
                                                      upr     p adj
NIPBL:F08978-COMPOUND:F08978                   2.38836953 0.9999715
WAPL:F08978-COMPOUND:F08978                    4.99960229 0.1789732
WAPL_NIPBL_FLOX:F08978-COMPOUND:F08978                 NA        NA
WT:F08978-COMPOUND:F08978                              NA        NA
COMPOUND:F08980-COMPOUND:F08978                5.86774545 0.1458119
NIPBL:F08980-COMPOUND:F08978                   5.18736109 0.9965575
WAPL:F08980-COMPOUND:F08978                    9.17217642 0.0031401
WAPL_NIPBL_FLOX:F08980-COMPOUND:F08978                 NA        NA
WT:F08980-COMPOUND:F08978                      9.40252687 0.0000491
COMPOUND:F08984-COMPOUND:F08978                5.94231319 0.7900033
NIPBL:F08984-COMPOUND:F08978                   4.75317265 0.9999941
WAPL:F08984-COMPOUND:F08978                    9.15322917 0.0032566
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08978         6.35080289 0.5306596
WT:F08984-COMPOUND:F08978                      9.11286837 0.0035197
COMPOUND:F09231-COMPOUND:F08978                3.24125408 1.0000000
NIPBL:F09231-COMPOUND:F08978                           NA        NA
WAPL:F09231-COMPOUND:F08978                    5.46736094 0.1112602
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08978                 NA        NA
WT:F09231-COMPOUND:F08978                              NA        NA
COMPOUND:F09233-COMPOUND:F08978                4.06211005 0.9735335
NIPBL:F09233-COMPOUND:F08978                           NA        NA
WAPL:F09233-COMPOUND:F08978                            NA        NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08978                 NA        NA
WT:F09233-COMPOUND:F08978                      6.49768049 0.0075897
COMPOUND:F09449-COMPOUND:F08978                2.35398409 0.9999401
NIPBL:F09449-COMPOUND:F08978                   2.83555855 0.9998703
WAPL:F09449-COMPOUND:F08978                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08978         5.85203360 0.8388511
WT:F09449-COMPOUND:F08978                              NA        NA
WAPL:F08978-NIPBL:F08978                       5.77805510 0.0222293
WAPL_NIPBL_FLOX:F08978-NIPBL:F08978                    NA        NA
WT:F08978-NIPBL:F08978                                 NA        NA
COMPOUND:F08980-NIPBL:F08978                   6.64619826 0.0236518
NIPBL:F08980-NIPBL:F08978                      5.96581390 0.7764264
WAPL:F08980-NIPBL:F08978                       9.95062923 0.0007282
WAPL_NIPBL_FLOX:F08980-NIPBL:F08978                    NA        NA
WT:F08980-NIPBL:F08978                        10.18097968 0.0000111
COMPOUND:F08984-NIPBL:F08978                   6.72076600 0.3182471
NIPBL:F08984-NIPBL:F08978                      5.53162547 0.9576140
WAPL:F08984-NIPBL:F08978                       9.93168199 0.0007539
WAPL_NIPBL_FLOX:F08984-NIPBL:F08978            7.12925570 0.1614442
WT:F08984-NIPBL:F08978                         9.89132118 0.0008119
COMPOUND:F09231-NIPBL:F08978                   4.01970689 0.9998671
NIPBL:F09231-NIPBL:F08978                              NA        NA
WAPL:F09231-NIPBL:F08978                       6.24581375 0.0147473
WAPL_NIPBL_FLOX:F09231-NIPBL:F08978                    NA        NA
WT:F09231-NIPBL:F08978                                 NA        NA
COMPOUND:F09233-NIPBL:F08978                   4.84056286 0.4415742
NIPBL:F09233-NIPBL:F08978                              NA        NA
WAPL:F09233-NIPBL:F08978                               NA        NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08978                    NA        NA
WT:F09233-NIPBL:F08978                         7.27613330 0.0010308
COMPOUND:F09449-NIPBL:F08978                   3.13243690 1.0000000
NIPBL:F09449-NIPBL:F08978                      3.61401136 1.0000000
WAPL:F09449-NIPBL:F08978                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08978            6.63048641 0.3644488
WT:F09449-NIPBL:F08978                                 NA        NA
WAPL_NIPBL_FLOX:F08978-WAPL:F08978                     NA        NA
WT:F08978-WAPL:F08978                                  NA        NA
COMPOUND:F08980-WAPL:F08978                    3.18641801 1.0000000
NIPBL:F08980-WAPL:F08978                       2.59237299 0.9998786
WAPL:F08980-WAPL:F08978                        6.57718832 0.1410612
WAPL_NIPBL_FLOX:F08980-WAPL:F08978                     NA        NA
WT:F08980-WAPL:F08978                          6.72119943 0.0016658
COMPOUND:F08984-WAPL:F08978                    3.34732509 1.0000000
NIPBL:F08984-WAPL:F08978                       2.15818455 0.9816939
WAPL:F08984-WAPL:F08978                        6.55824107 0.1464130
WAPL_NIPBL_FLOX:F08984-WAPL:F08978             3.75581479 1.0000000
WT:F08984-WAPL:F08978                          6.51788027 0.1584090
COMPOUND:F09231-WAPL:F08978                    0.55992664 0.2143937
NIPBL:F09231-WAPL:F08978                               NA        NA
WAPL:F09231-WAPL:F08978                        2.73810771 1.0000000
WAPL_NIPBL_FLOX:F09231-WAPL:F08978                     NA        NA
WT:F09231-WAPL:F08978                                  NA        NA
COMPOUND:F09233-WAPL:F08978                    1.33285682 0.9341363
NIPBL:F09233-WAPL:F08978                               NA        NA
WAPL:F09233-WAPL:F08978                                NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08978                     NA        NA
WT:F09233-WAPL:F08978                          3.76842726 0.7298694
COMPOUND:F09449-WAPL:F08978                   -0.32734335 0.0201988
NIPBL:F09449-WAPL:F08978                       0.24057045 0.0827966
WAPL:F09449-WAPL:F08978                                NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08978             3.25704550 1.0000000
WT:F09449-WAPL:F08978                                  NA        NA
WT:F08978-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F08980-WAPL_NIPBL_FLOX:F08978                 NA        NA
NIPBL:F08980-WAPL_NIPBL_FLOX:F08978                    NA        NA
WAPL:F08980-WAPL_NIPBL_FLOX:F08978                     NA        NA
WAPL_NIPBL_FLOX:F08980-WAPL_NIPBL_FLOX:F08978          NA        NA
WT:F08980-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F08984-WAPL_NIPBL_FLOX:F08978                 NA        NA
NIPBL:F08984-WAPL_NIPBL_FLOX:F08978                    NA        NA
WAPL:F08984-WAPL_NIPBL_FLOX:F08978                     NA        NA
WAPL_NIPBL_FLOX:F08984-WAPL_NIPBL_FLOX:F08978          NA        NA
WT:F08984-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08978                 NA        NA
NIPBL:F09231-WAPL_NIPBL_FLOX:F08978                    NA        NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08978                     NA        NA
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08978          NA        NA
WT:F09231-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08978                 NA        NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F08978                    NA        NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08978                     NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08978          NA        NA
WT:F09233-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08978                 NA        NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F08978                    NA        NA
WAPL:F09449-WAPL_NIPBL_FLOX:F08978                     NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08978          NA        NA
WT:F09449-WAPL_NIPBL_FLOX:F08978                       NA        NA
COMPOUND:F08980-WT:F08978                              NA        NA
NIPBL:F08980-WT:F08978                                 NA        NA
WAPL:F08980-WT:F08978                                  NA        NA
WAPL_NIPBL_FLOX:F08980-WT:F08978                       NA        NA
WT:F08980-WT:F08978                                    NA        NA
COMPOUND:F08984-WT:F08978                              NA        NA
NIPBL:F08984-WT:F08978                                 NA        NA
WAPL:F08984-WT:F08978                                  NA        NA
WAPL_NIPBL_FLOX:F08984-WT:F08978                       NA        NA
WT:F08984-WT:F08978                                    NA        NA
COMPOUND:F09231-WT:F08978                              NA        NA
NIPBL:F09231-WT:F08978                                 NA        NA
WAPL:F09231-WT:F08978                                  NA        NA
WAPL_NIPBL_FLOX:F09231-WT:F08978                       NA        NA
WT:F09231-WT:F08978                                    NA        NA
COMPOUND:F09233-WT:F08978                              NA        NA
NIPBL:F09233-WT:F08978                                 NA        NA
WAPL:F09233-WT:F08978                                  NA        NA
WAPL_NIPBL_FLOX:F09233-WT:F08978                       NA        NA
WT:F09233-WT:F08978                                    NA        NA
COMPOUND:F09449-WT:F08978                              NA        NA
NIPBL:F09449-WT:F08978                                 NA        NA
WAPL:F09449-WT:F08978                                  NA        NA
WAPL_NIPBL_FLOX:F09449-WT:F08978                       NA        NA
WT:F09449-WT:F08978                                    NA        NA
NIPBL:F08980-COMPOUND:F08980                   2.48643798 0.9927214
WAPL:F08980-COMPOUND:F08980                    6.47125332 0.4554114
WAPL_NIPBL_FLOX:F08980-COMPOUND:F08980                 NA        NA
WT:F08980-COMPOUND:F08980                      6.70160376 0.0206934
COMPOUND:F08984-COMPOUND:F08980                3.24139009 1.0000000
NIPBL:F08984-COMPOUND:F08980                   2.05224955 0.9048072
WAPL:F08984-COMPOUND:F08980                    6.45230607 0.4669390
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08980         3.64987978 1.0000000
WT:F08984-COMPOUND:F08980                      6.41194526 0.4919099
COMPOUND:F09231-COMPOUND:F08980                0.54033097 0.1713774
NIPBL:F09231-COMPOUND:F08980                           NA        NA
WAPL:F09231-COMPOUND:F08980                    2.76643783 1.0000000
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08980                 NA        NA
WT:F09231-COMPOUND:F08980                              NA        NA
COMPOUND:F09233-COMPOUND:F08980                1.36118694 0.7964926
NIPBL:F09233-COMPOUND:F08980                           NA        NA
WAPL:F09233-COMPOUND:F08980                            NA        NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08980                 NA        NA
WT:F09233-COMPOUND:F08980                      3.79675738 0.9987085
COMPOUND:F09449-COMPOUND:F08980               -0.34693902 0.0217698
NIPBL:F09449-COMPOUND:F08980                   0.13463545 0.0648007
WAPL:F09449-COMPOUND:F08980                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08980         3.15111050 0.9999998
WT:F09449-COMPOUND:F08980                              NA        NA
WAPL:F08980-NIPBL:F08980                       8.46337843 0.1124419
WAPL_NIPBL_FLOX:F08980-NIPBL:F08980                    NA        NA
WT:F08980-NIPBL:F08980                         8.80544228 0.0063913
COMPOUND:F08984-NIPBL:F08980                   5.23351520 1.0000000
NIPBL:F08984-NIPBL:F08980                      4.04437467 1.0000000
WAPL:F08984-NIPBL:F08980                       8.44443119 0.1158866
WAPL_NIPBL_FLOX:F08984-NIPBL:F08980            5.64200490 0.9999266
WT:F08984-NIPBL:F08980                         8.40407038 0.1235441
COMPOUND:F09231-NIPBL:F08980                   2.64416949 0.9984018
NIPBL:F09231-NIPBL:F08980                              NA        NA
WAPL:F09231-NIPBL:F08980                       4.92438068 0.9951903
WAPL_NIPBL_FLOX:F09231-NIPBL:F08980                    NA        NA
WT:F09231-NIPBL:F08980                                 NA        NA
COMPOUND:F09233-NIPBL:F08980                   3.51912978 1.0000000
NIPBL:F09233-NIPBL:F08980                              NA        NA
WAPL:F09233-NIPBL:F08980                               NA        NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08980                    NA        NA
WT:F09233-NIPBL:F08980                         5.95470022 0.5531621
COMPOUND:F09449-NIPBL:F08980                   1.75689950 0.7560164
NIPBL:F09449-NIPBL:F08980                      2.12676056 0.8052135
WAPL:F09449-NIPBL:F08980                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08980            5.14323561 1.0000000
WT:F09449-NIPBL:F08980                                 NA        NA
WAPL_NIPBL_FLOX:F08980-WAPL:F08980                     NA        NA
WT:F08980-WAPL:F08980                          4.82062694 0.9999770
COMPOUND:F08984-WAPL:F08980                    1.24869987 0.3407953
NIPBL:F08984-WAPL:F08980                       0.05955933 0.0552409
WAPL:F08984-WAPL:F08980                        4.45961585 1.0000000
WAPL_NIPBL_FLOX:F08984-WAPL:F08980             1.65718957 0.5492649
WT:F08984-WAPL:F08980                          4.41925505 1.0000000
COMPOUND:F09231-WAPL:F08980                   -1.34064584 0.0036238
NIPBL:F09231-WAPL:F08980                               NA        NA
WAPL:F09231-WAPL:F08980                        0.93956535 0.2992264
WAPL_NIPBL_FLOX:F09231-WAPL:F08980                     NA        NA
WT:F09231-WAPL:F08980                                  NA        NA
COMPOUND:F09233-WAPL:F08980                   -0.46568555 0.0190019
NIPBL:F09233-WAPL:F08980                               NA        NA
WAPL:F09233-WAPL:F08980                                NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08980                     NA        NA
WT:F09233-WAPL:F08980                          1.96988489 0.9184236
COMPOUND:F09449-WAPL:F08980                   -2.22791583 0.0006839
NIPBL:F09449-WAPL:F08980                      -1.85805477 0.0021671
WAPL:F09449-WAPL:F08980                                NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08980             1.15842028 0.3023546
WT:F09449-WAPL:F08980                                  NA        NA
WT:F08980-WAPL_NIPBL_FLOX:F08980                       NA        NA
COMPOUND:F08984-WAPL_NIPBL_FLOX:F08980                 NA        NA
NIPBL:F08984-WAPL_NIPBL_FLOX:F08980                    NA        NA
WAPL:F08984-WAPL_NIPBL_FLOX:F08980                     NA        NA
WAPL_NIPBL_FLOX:F08984-WAPL_NIPBL_FLOX:F08980          NA        NA
WT:F08984-WAPL_NIPBL_FLOX:F08980                       NA        NA
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08980                 NA        NA
NIPBL:F09231-WAPL_NIPBL_FLOX:F08980                    NA        NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08980                     NA        NA
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08980          NA        NA
WT:F09231-WAPL_NIPBL_FLOX:F08980                       NA        NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08980                 NA        NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F08980                    NA        NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08980                     NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08980          NA        NA
WT:F09233-WAPL_NIPBL_FLOX:F08980                       NA        NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08980                 NA        NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F08980                    NA        NA
WAPL:F09449-WAPL_NIPBL_FLOX:F08980                     NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08980          NA        NA
WT:F09449-WAPL_NIPBL_FLOX:F08980                       NA        NA
COMPOUND:F08984-WT:F08980                     -0.29339133 0.0281978
NIPBL:F08984-WT:F08980                        -1.48253187 0.0027591
WAPL:F08984-WT:F08980                          2.91752465 0.9999673
WAPL_NIPBL_FLOX:F08984-WT:F08980               0.11509836 0.0624196
WT:F08984-WT:F08980                            2.87716384 0.9999338
COMPOUND:F09231-WT:F08980                     -2.99445045 0.0000569
NIPBL:F09231-WT:F08980                                 NA        NA
WAPL:F09231-WT:F08980                         -0.76834359 0.0066135
WAPL_NIPBL_FLOX:F09231-WT:F08980                       NA        NA
WT:F09231-WT:F08980                                    NA        NA
COMPOUND:F09233-WT:F08980                     -2.17359448 0.0002010
NIPBL:F09233-WT:F08980                                 NA        NA
WAPL:F09233-WT:F08980                                  NA        NA
WAPL_NIPBL_FLOX:F09233-WT:F08980                       NA        NA
WT:F09233-WT:F08980                            0.26197596 0.0976481
COMPOUND:F09449-WT:F08980                     -3.88172044 0.0000105
NIPBL:F09449-WT:F08980                        -3.40014597 0.0000884
WAPL:F09449-WT:F08980                                  NA        NA
WAPL_NIPBL_FLOX:F09449-WT:F08980              -0.38367093 0.0236112
WT:F09449-WT:F08980                                    NA        NA
NIPBL:F08984-COMPOUND:F08984                   3.28942256 0.9998946
WAPL:F08984-COMPOUND:F08984                    7.68947908 0.3492621
WAPL_NIPBL_FLOX:F08984-COMPOUND:F08984         4.88705280 1.0000000
WT:F08984-COMPOUND:F08984                      7.64911828 0.3677484
COMPOUND:F09231-COMPOUND:F08984                1.88921739 0.8306914
NIPBL:F09231-COMPOUND:F08984                           NA        NA
WAPL:F09231-COMPOUND:F08984                    4.16942858 1.0000000
WAPL_NIPBL_FLOX:F09231-COMPOUND:F08984                 NA        NA
WT:F09231-COMPOUND:F08984                              NA        NA
COMPOUND:F09233-COMPOUND:F08984                2.76417768 0.9999749
NIPBL:F09233-COMPOUND:F08984                           NA        NA
WAPL:F09233-COMPOUND:F08984                            NA        NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F08984                 NA        NA
WT:F09233-COMPOUND:F08984                      5.19974812 0.9612516
COMPOUND:F09449-COMPOUND:F08984                1.00194740 0.3017546
NIPBL:F09449-COMPOUND:F08984                   1.37180846 0.3981818
WAPL:F09449-COMPOUND:F08984                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F08984         4.38828351 1.0000000
WT:F09449-COMPOUND:F08984                              NA        NA
WAPL:F08984-NIPBL:F08984                       8.87861962 0.0570159
WAPL_NIPBL_FLOX:F08984-NIPBL:F08984            6.07619334 0.9932255
WT:F08984-NIPBL:F08984                         8.83825881 0.0609803
COMPOUND:F09231-NIPBL:F08984                   3.07835792 0.9999989
NIPBL:F09231-NIPBL:F08984                              NA        NA
WAPL:F09231-NIPBL:F08984                       5.35856911 0.9127469
WAPL_NIPBL_FLOX:F09231-NIPBL:F08984                    NA        NA
WT:F09231-NIPBL:F08984                                 NA        NA
COMPOUND:F09233-NIPBL:F08984                   3.95331822 1.0000000
NIPBL:F09233-NIPBL:F08984                              NA        NA
WAPL:F09233-NIPBL:F08984                               NA        NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F08984                    NA        NA
WT:F09233-NIPBL:F08984                         6.38888866 0.2918543
COMPOUND:F09449-NIPBL:F08984                   2.19108793 0.9492710
NIPBL:F09449-NIPBL:F08984                      2.56094900 0.9558512
WAPL:F09449-NIPBL:F08984                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F08984            5.57742405 0.9999725
WT:F09449-NIPBL:F08984                                 NA        NA
WAPL_NIPBL_FLOX:F08984-WAPL:F08984             1.67613682 0.5599062
WT:F08984-WAPL:F08984                          4.43820230 1.0000000
COMPOUND:F09231-WAPL:F08984                   -1.32169860 0.0037588
NIPBL:F09231-WAPL:F08984                               NA        NA
WAPL:F09231-WAPL:F08984                        0.95851260 0.3087338
WAPL_NIPBL_FLOX:F09231-WAPL:F08984                     NA        NA
WT:F09231-WAPL:F08984                                  NA        NA
COMPOUND:F09233-WAPL:F08984                   -0.44673830 0.0197695
NIPBL:F09233-WAPL:F08984                               NA        NA
WAPL:F09233-WAPL:F08984                                NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL:F08984                     NA        NA
WT:F09233-WAPL:F08984                          1.98883214 0.9252661
COMPOUND:F09449-WAPL:F08984                   -2.20896858 0.0007080
NIPBL:F09449-WAPL:F08984                      -1.83910752 0.0022358
WAPL:F09449-WAPL:F08984                                NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F08984             1.17736753 0.3101587
WT:F09449-WAPL:F08984                                  NA        NA
WT:F08984-WAPL_NIPBL_FLOX:F08984               7.24062858 0.5826968
COMPOUND:F09231-WAPL_NIPBL_FLOX:F08984         1.48072769 0.5789038
NIPBL:F09231-WAPL_NIPBL_FLOX:F08984                    NA        NA
WAPL:F09231-WAPL_NIPBL_FLOX:F08984             3.76093888 1.0000000
WAPL_NIPBL_FLOX:F09231-WAPL_NIPBL_FLOX:F08984          NA        NA
WT:F09231-WAPL_NIPBL_FLOX:F08984                       NA        NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F08984         2.35568799 0.9934311
NIPBL:F09233-WAPL_NIPBL_FLOX:F08984                    NA        NA
WAPL:F09233-WAPL_NIPBL_FLOX:F08984                     NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F08984          NA        NA
WT:F09233-WAPL_NIPBL_FLOX:F08984               4.79125843 0.9988748
COMPOUND:F09449-WAPL_NIPBL_FLOX:F08984         0.59345770 0.1518869
NIPBL:F09449-WAPL_NIPBL_FLOX:F08984            0.96331877 0.2301941
WAPL:F09449-WAPL_NIPBL_FLOX:F08984                     NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F08984  3.97979382 1.0000000
WT:F09449-WAPL_NIPBL_FLOX:F08984                       NA        NA
COMPOUND:F09231-WT:F08984                     -1.28133779 0.0040636
NIPBL:F09231-WT:F08984                                 NA        NA
WAPL:F09231-WT:F08984                          0.99887340 0.3296885
WAPL_NIPBL_FLOX:F09231-WT:F08984                       NA        NA
WT:F09231-WT:F08984                                    NA        NA
COMPOUND:F09233-WT:F08984                     -0.40637749 0.0215091
NIPBL:F09233-WT:F08984                                 NA        NA
WAPL:F09233-WT:F08984                                  NA        NA
WAPL_NIPBL_FLOX:F09233-WT:F08984                       NA        NA
WT:F09233-WT:F08984                            2.02919295 0.9386083
COMPOUND:F09449-WT:F08984                     -2.16860778 0.0007622
NIPBL:F09449-WT:F08984                        -1.79874671 0.0023897
WAPL:F09449-WT:F08984                                  NA        NA
WAPL_NIPBL_FLOX:F09449-WT:F08984               1.21772834 0.3272510
WT:F09449-WT:F08984                                    NA        NA
NIPBL:F09231-COMPOUND:F09231                           NA        NA
WAPL:F09231-COMPOUND:F09231                    5.39292920 0.1335279
WAPL_NIPBL_FLOX:F09231-COMPOUND:F09231                 NA        NA
WT:F09231-COMPOUND:F09231                              NA        NA
COMPOUND:F09233-COMPOUND:F09231                3.98767831 0.9864651
NIPBL:F09233-COMPOUND:F09231                           NA        NA
WAPL:F09233-COMPOUND:F09231                            NA        NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F09231                 NA        NA
WT:F09233-COMPOUND:F09231                      6.42324875 0.0092314
COMPOUND:F09449-COMPOUND:F09231                2.27955235 0.9997510
NIPBL:F09449-COMPOUND:F09231                   2.76112681 0.9996176
WAPL:F09449-COMPOUND:F09231                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09231         5.77760186 0.8745187
WT:F09449-COMPOUND:F09231                              NA        NA
WAPL:F09231-NIPBL:F09231                               NA        NA
WAPL_NIPBL_FLOX:F09231-NIPBL:F09231                    NA        NA
WT:F09231-NIPBL:F09231                                 NA        NA
COMPOUND:F09233-NIPBL:F09231                           NA        NA
NIPBL:F09233-NIPBL:F09231                              NA        NA
WAPL:F09233-NIPBL:F09231                               NA        NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F09231                    NA        NA
WT:F09233-NIPBL:F09231                                 NA        NA
COMPOUND:F09449-NIPBL:F09231                           NA        NA
NIPBL:F09449-NIPBL:F09231                              NA        NA
WAPL:F09449-NIPBL:F09231                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09231                    NA        NA
WT:F09449-NIPBL:F09231                                 NA        NA
WAPL_NIPBL_FLOX:F09231-WAPL:F09231                     NA        NA
WT:F09231-WAPL:F09231                                  NA        NA
COMPOUND:F09233-WAPL:F09231                    1.18044872 0.7642653
NIPBL:F09233-WAPL:F09231                               NA        NA
WAPL:F09233-WAPL:F09231                                NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL:F09231                     NA        NA
WT:F09233-WAPL:F09231                          3.61601916 0.9775142
COMPOUND:F09449-WAPL:F09231                   -0.49839909 0.0134659
NIPBL:F09449-WAPL:F09231                       0.03727970 0.0539724
WAPL:F09449-WAPL:F09231                                NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09231             3.05375475 1.0000000
WT:F09449-WAPL:F09231                                  NA        NA
WT:F09231-WAPL_NIPBL_FLOX:F09231                       NA        NA
COMPOUND:F09233-WAPL_NIPBL_FLOX:F09231                 NA        NA
NIPBL:F09233-WAPL_NIPBL_FLOX:F09231                    NA        NA
WAPL:F09233-WAPL_NIPBL_FLOX:F09231                     NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL_NIPBL_FLOX:F09231          NA        NA
WT:F09233-WAPL_NIPBL_FLOX:F09231                       NA        NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F09231                 NA        NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F09231                    NA        NA
WAPL:F09449-WAPL_NIPBL_FLOX:F09231                     NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F09231          NA        NA
WT:F09449-WAPL_NIPBL_FLOX:F09231                       NA        NA
COMPOUND:F09233-WT:F09231                              NA        NA
NIPBL:F09233-WT:F09231                                 NA        NA
WAPL:F09233-WT:F09231                                  NA        NA
WAPL_NIPBL_FLOX:F09233-WT:F09231                       NA        NA
WT:F09233-WT:F09231                                    NA        NA
COMPOUND:F09449-WT:F09231                              NA        NA
NIPBL:F09449-WT:F09231                                 NA        NA
WAPL:F09449-WT:F09231                                  NA        NA
WAPL_NIPBL_FLOX:F09449-WT:F09231                       NA        NA
WT:F09449-WT:F09231                                    NA        NA
NIPBL:F09233-COMPOUND:F09233                           NA        NA
WAPL:F09233-COMPOUND:F09233                            NA        NA
WAPL_NIPBL_FLOX:F09233-COMPOUND:F09233                 NA        NA
WT:F09233-COMPOUND:F09233                      5.02127005 0.0770050
COMPOUND:F09449-COMPOUND:F09233                0.90685181 0.4145189
NIPBL:F09449-COMPOUND:F09233                   1.44253060 0.6111995
WAPL:F09449-COMPOUND:F09233                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09233         4.45900565 0.9999965
WT:F09449-COMPOUND:F09233                              NA        NA
WAPL:F09233-NIPBL:F09233                               NA        NA
WAPL_NIPBL_FLOX:F09233-NIPBL:F09233                    NA        NA
WT:F09233-NIPBL:F09233                                 NA        NA
COMPOUND:F09449-NIPBL:F09233                           NA        NA
NIPBL:F09449-NIPBL:F09233                              NA        NA
WAPL:F09449-NIPBL:F09233                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09233                    NA        NA
WT:F09449-NIPBL:F09233                                 NA        NA
WAPL_NIPBL_FLOX:F09233-WAPL:F09233                     NA        NA
WT:F09233-WAPL:F09233                                  NA        NA
COMPOUND:F09449-WAPL:F09233                            NA        NA
NIPBL:F09449-WAPL:F09233                               NA        NA
WAPL:F09449-WAPL:F09233                                NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09233                     NA        NA
WT:F09449-WAPL:F09233                                  NA        NA
WT:F09233-WAPL_NIPBL_FLOX:F09233                       NA        NA
COMPOUND:F09449-WAPL_NIPBL_FLOX:F09233                 NA        NA
NIPBL:F09449-WAPL_NIPBL_FLOX:F09233                    NA        NA
WAPL:F09449-WAPL_NIPBL_FLOX:F09233                     NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL_NIPBL_FLOX:F09233          NA        NA
WT:F09449-WAPL_NIPBL_FLOX:F09233                       NA        NA
COMPOUND:F09449-WT:F09233                     -1.52871863 0.0009464
NIPBL:F09449-WT:F09233                        -0.99303984 0.0063300
WAPL:F09449-WT:F09233                                  NA        NA
WAPL_NIPBL_FLOX:F09449-WT:F09233               2.02343521 0.9368071
WT:F09449-WT:F09233                                    NA        NA
NIPBL:F09449-COMPOUND:F09449                   3.64839680 1.0000000
WAPL:F09449-COMPOUND:F09449                            NA        NA
WAPL_NIPBL_FLOX:F09449-COMPOUND:F09449         6.66487185 0.3463636
WT:F09449-COMPOUND:F09449                              NA        NA
WAPL:F09449-NIPBL:F09449                               NA        NA
WAPL_NIPBL_FLOX:F09449-NIPBL:F09449            7.49503815 0.4436047
WT:F09449-NIPBL:F09449                                 NA        NA
WAPL_NIPBL_FLOX:F09449-WAPL:F09449                     NA        NA
WT:F09449-WAPL:F09449                                  NA        NA
WT:F09449-WAPL_NIPBL_FLOX:F09449                       NA        NA

We see that there is significant effects of litter on embryo/placenta and an effect of genotype on embryo/placenta but there is no interaction between the litter and gemotype. Thus, each of these effects on the data is not caused by their relationship.

Visualizations

Row

Visual Data

Interactive

RNA-Seq

Row

WT vs WAPL

WT vs Wapl No Outlier

WT vs NIPBL

WT vs Nipbl No Outlier

WT vs Compound

WT vs Compound No Outlier

NIPBL vs WAPL

Nipbl vs Compound

Wapl vs Compound

About

Row

Dashboard made by Jacob Noeker

---
title: "Wapl Nipbl"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    source_code: embed
    
---

```{r setup, include=FALSE}

library(tidyverse)
library(readxl)
library(ggplot2)
library(plotly)
library(tableone)
knitr::opts_chunk$set(message = FALSE)

```

Weight Data {vertical_layout=fill data-icon="fa-archive" data-orientation=rows}
===================================== 

Column {data-width=10000}
------------------------------------------------------------------------------

### A look at the data

```{r raw data}

R_Wapl_and_Nipbl <- read_excel("R_Wapl_and_Nipbl.xlsx", 
                               sheet = "R") %>% mutate(Genotype = as.factor(Genotype))

colnames(R_Wapl_and_Nipbl)[colnames(R_Wapl_and_Nipbl)=="Embryo-Placenta"] <- "Embryo_Placenta"

#AD Look at tableone::createTableOne for some better options than `summary`

vars <- c("Mother", "Embryo", "Placenta", "Genotype", "Sex", "Embryo_Placenta")
tableOne <- CreateTableOne(vars = vars, strata = c("Genotype"), data = R_Wapl_and_Nipbl)
tableOne


```

Statistics {vertical_layout=scroll data-icon="fa-asterisk"}
===================================== 

Row {.tabset .tabset-fade data-height=10000}
------------------------------------------------------------------------------

### Normality Tests

***
Embryo Data
```{r embryo}

shapiro.test(R_Wapl_and_Nipbl$Embryo)

```

***
Placenta Data
```{r Placenta}
shapiro.test(R_Wapl_and_Nipbl$Placenta)

```

***
Embryo/Placenta Data
```{r EP}
shapiro.test(R_Wapl_and_Nipbl$Embryo_Placenta)

```

***

All variables passed normality test


### T-test

*** 
WAPL vs WT Genotype Comparison
```{r ttest}

t.test(Embryo-Placenta ~ Genotype, data = R_Wapl_and_Nipbl, subset = Genotype %in% c("WT", "WAPL"))


```


### One-way Anova

***
Embryo/Placenta vs Genotype Anova
```{r Anova}

anova <- aov(Embryo_Placenta ~ Genotype, data = R_Wapl_and_Nipbl)
summary(anova)

```

***
Post-hoc Testing
```{r posthoc a}
TukeyHSD(anova)

```
***
Overall Anova is significant indicating difference in genotypes 

We also can look at individual relationships using the posthoc testing

### Two-way Anova

***
Embryo/Placenta vs Genotype * Mother Two-way Anova
```{r 2Anova}

litter_genotype_anova <- aov(Embryo_Placenta ~ Genotype * Mother, data = R_Wapl_and_Nipbl) #star tests if these two categoricals interact and affect outcome
summary(litter_genotype_anova) #output will show what categorical variables have an affect on embryo_placenta weight
TukeyHSD(litter_genotype_anova) #posthoc testing for normally distruted data

```
***
We see that there is significant effects of litter on embryo/placenta and an effect of genotype on embryo/placenta but there is no interaction between the litter and gemotype. Thus, each of these effects on the data is not caused by their relationship.

Visualizations {data-orientation=columns data-icon="fa-chart-bar"}
===================================== 
Row {.tabset data-height=400}
------------------------------------------------------------------------------

### Visual Data 

```{r Violin Plot}

jn_theme <- function(){
  theme_bw() +
    theme(axis.text = element_text(size = 8, color = "Black"),
          axis.title = element_text(size = 14),
          panel.grid.minor = element_blank(),
          strip.text = element_text(size=10),
          strip.background = element_blank(),
          plot.title = element_text(size = 20, hjust = 0.5),
          panel.grid.major.x = element_blank())
}

ggplot(R_Wapl_and_Nipbl, aes(x=Genotype, y=Embryo_Placenta)) + 
  geom_violin() + 
  geom_point(size = .5, height = 0, width = 0.05) + 
  stat_summary(fun.y = mean, geom="point", shape = 18, size  = 3, color = "red") + 
  stat_summary(fun.y = median,  geom = "point", shape = 3, size = 3, color = "blue") +
  jn_theme() + 
  scale_x_discrete(limits = c("WT", "WAPL", "NIPBL", "COMPOUND", "WAPL_NIPBL_FLOX")) 
  


```



### Interactive

```{r interactive}

jn_theme <- function(){
  theme_bw() +
    theme(axis.text = element_text(size = 14, color = "Black"),
          axis.title = element_text(size = 16),
          panel.grid.minor = element_blank(),
          strip.text = element_text(size=14),
          strip.background = element_blank(),
          plot.title = element_text(size = 20, hjust = 0.5),
          panel.grid.major.x = element_blank())
}

plot1 <- ggplot(R_Wapl_and_Nipbl, aes(x=Genotype, y=Embryo_Placenta, label = Mother)) + 
  geom_violin() + 
  geom_point(size = .5, height = 0, width = 0.05) + 
  stat_summary(fun.y = mean, geom="point", shape = 18, size  = 3, color = "red") + 
  stat_summary(fun.y = median,  geom = "point", shape = 3, size = 3, color = "blue") +
  jn_theme() + 
  scale_x_discrete(limits = c("WT", "WAPL", "NIPBL", "COMPOUND", "WAPL_NIPBL_FLOX")) 

plot1





library(plotly)

ggplotly(plot1, tooltip = c("Embryo_Placenta", "Mother"))%>%layout(violinmode = 'group', violingap = 1, violingroupgap = 1)

```


RNA-Seq {data-orientation=columns data-icon="fa-sitemap"}
===================================== 
Row {.tabset data-height=400}
------------------------------------------------------------------------------

### WT vs WAPL

```{r RNA-Seq}

#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
 #      dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
#       dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_WAPL","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_WAPL","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
waplvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
waplvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")




```

### WT vs Wapl No Outlier

```{r no_out1}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
 #      dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
 #      dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
 #      dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_no_outlier.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_WAPL","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_WAPL","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
waplvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
waplvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")



```


### WT vs NIPBL

```{r RNA Seq2}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
#       dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
#       dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_NIPBL","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_NIPBL","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
nipblvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
nipblvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")



```

### WT vs Nipbl No Outlier

```{r no_out2}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
#       dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
#       dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_no_outlier.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_NIPBL","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_NIPBL","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
nipblvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
nipblvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")



```

### WT vs Compound

```{r RNA Seq3}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
#       dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
#       dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_COMPOUND","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_COMPOUND","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
compoundvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
compoundvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")



```

### WT vs Compound No Outlier

```{r no_out3}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
 #      dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
 #      dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_no_outlier.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_COMPOUND","WT")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_COMPOUND","WT"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
compoundvwt_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
compoundvwt_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")


```

### NIPBL vs WAPL

```{r RNA Seq4}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
 #      dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
 #      dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
 #      dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_NIPBL","DD_WAPL")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_NIPBL","DD_WAPL"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
nipblvwapl_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
nipblvwapl_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")


```


### Nipbl vs Compound

```{r RNA Seq6}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
#       dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
#       dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
 #      dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_NIPBL","DD_COMPOUND")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_NIPBL","DD_COMPOUND"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
nipblvcompound_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
nipblvcompound_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")


```



### Wapl vs Compound

```{r RNA Seq7}
#Jacob_Noeker 
#RNA Seq Analysis
#WAPL NIPBL Project


#install.packages("BiocManager")
library(DESeq2)


# Set up variables, output folders, etc
#
# This section does the following:

# 1. Checks for output folders and creates them if absent
# 2. Defines input read count files
# 3. Strips annotation columns and saves annotation info
# 4. Defines FDR threshold

# output directory for deseq2 files 
# create these if not present

deseq.folder <- "output/deseq2/"
norm.folder <- "output/vstnorm/"
degenes.folder <- "output/degenes/"

# check for subfolders and if not present, create folder
#ifelse(!dir.exists(file.path('.',deseq.folder)), 
#       dir.create(file.path('.',deseq.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',norm.folder)), 
 #      dir.create(file.path('.',norm.folder), recursive = TRUE), NA)
#ifelse(!dir.exists(file.path('.',degenes.folder)), 
 #      dir.create(file.path('.',degenes.folder), recursive = TRUE), NA)

# hardcoded column names from featureCounts output
# only 'EnsID' column name is dependent on GTF file
annot.cols <- c("Chr","Start","End","Strand","Length")
geneid.colname <- "Geneid"

# Define FDR threshold and FDR column name
fdr.thres <- 0.1

# Define FC threshold
fc.thres <- 0

# Define limits for MA and volcano plots
#fc.lim <- c(-2, 2)

# define size of pdf for MA and volcano plots (in inches)
#ma.width <- 10
#ma.height <- 8

# define size of PDF file for degPattern plots (in inches)
#pdf.width <- 20
#pdf.height <- 20


# read count tables
# count tables from featureCounts
# 1. The first line with the commant is commented out and not read
# 2. the second line wth the file names can be parsed within R using 
#    grep() to match specified sample names
counts <- read.table("counts_CT_simp.txt",
                     sep="\t",header=TRUE, row.names=1)
exptname <- 'wapl_nipbl'

# strip annotation columns but save annot data
annot.data <- cbind(rownames(counts), counts[,colnames(counts) %in% annot.cols])
colnames(annot.data)[1] <- geneid.colname

counts <- counts[,!colnames(counts) %in% annot.cols]

# sample list
# converted to input variable
all.samples <- c("DD_WAPL","DD_COMPOUND")

# reformat column names matching sample names
# TODO: throw error if sample name does not match column names
sample.vec <- NULL
for(i in 1:length(all.samples)){
  # which column names match the sample name
  idx <- grep(all.samples[i], colnames(counts))
  
  # create named vector to save metadata
  # this maps column names to sample names
  temp.vec <- rep(all.samples[i], length(idx))
  names(temp.vec) <- colnames(counts)[idx]
  sample.vec <- c(sample.vec, temp.vec)
}


# DESeq2 analysis
#
# Input: read counts in TSV format
# Output: differential expression results from DESeq2 in TSV format
#
# This section takes the cleaned count files and performs the following steps:
#
# 1. creates DESeq data object
# 2. creates sample lists for individual comparisons
# 3. performs DESeq2 comparisons between samples separately for plus & minus BMP2
#
# Also, obtains a list of genes to be used as background for downstream analysis
#

# create a list for read counts
all.reads <- list(counts)
names(all.reads) <- exptname

# create sample lists for individual comparisons
# create input variable with this info
all.comps <- list(a = c("DD_WAPL","DD_COMPOUND"))

# list of genes to be used as background
background.genes <- NULL

# list of DE results
res.list <- list()

# list of DE genes
deg.list <- list()

# list of upregulated genes
up.list <- list()

for(k in 1:length(all.reads)){
  read.mat <- all.reads[[k]]
  for(i in 1:length(all.comps)){
    # get treatment and control names
    treatment <- all.comps[[i]][1]
    control <- all.comps[[i]][2]
    
    # get column indices corresponding to samples in comparison
    sample.idx <- NULL
    for(j in all.comps[[i]]){
      sample.idx <- c(sample.idx, grep(j, colnames(read.mat)))
    }
    
    # extract reads for specific sample columns
    reads.sub <- read.mat[,sample.idx]
    
    # create design matrix by selection from sample.vec
    idx <- which(sample.vec %in% all.comps[[i]])
    design <- data.frame(row.names = names(sample.vec[idx]),
                         condition = sample.vec[idx])
    
    design$sampleid <- sub("_.+", "", rownames(design))
    
    # DESeq2 object
    dds <- DESeqDataSetFromMatrix(countData = reads.sub,
                                  colData = design,
                                  design = ~condition)                                         
    
    # run DESeq2
    dds <- DESeq(dds, betaPrior = FALSE)
    #res <- results(dds, contrast=c("condition", treatment, control),
     #              cooksCutoff=FALSE)
    
    # get results with lfcShrink
    res <- lfcShrink(dds, contrast=c("condition", treatment, control))
    res.list[[length(res.list) + 1]] <- res
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DESeq2 results to file
    write.table(cbind(geneid=rownames(res),res),
                paste0(deseq.folder, names(all.reads)[k], "_", treatment, "-vs-", control,".txt"),
                sep="\t",quote=FALSE, row.names=FALSE)
    
    # keep list of degenes
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   abs(res$log2FoldChange) >= fc.thres)
    deg.list[[length(deg.list) + 1]] <- rownames(res)[idx]
    names(deg.list)[length(deg.list)] <- names(all.comps)[i]
    
    # output DE genes to file
    write.table(deg.list[[i]], 
                paste0(degenes.folder, names(all.reads)[k], "_fdr", fdr.thres, "_fc", fc.thres, ".txt"),
                sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
    
    # list of upregulated genes (for easy reference)
    idx <- which(res$padj < fdr.thres & 
                   !is.na(res$padj) & 
                   res$log2FoldChange >= fc.thres)
    up.list[[length(up.list) + 1]] <- rownames(res)[idx]
    names(up.list)[length(up.list)] <- names(all.comps)[i]
    
    # get normalized data
    norm.vst <- vst(dds)
    
    # write normalized data to file
    write.table(cbind(geneid=rownames(assay(norm.vst), assay(norm.vst))),
                paste0(norm.folder, "vstnorm_", treatment, "-", control,".txt"),
                sep="\t", quote=FALSE, row.names=FALSE)
    
  }
  # collect genes that have baseMean != 0 in at least one comparison
  background.genes <- c(background.genes, rownames(res)[res$baseMean != 0])
}

# keep unique bg genes and sort by gene names
background.genes <- unique(background.genes)
background.genes <- background.genes[order(background.genes)]

# extract annotation data for bg genes and output Ensembl ID and gene symbols
background.annot <- annot.data[annot.data[,geneid.colname] %in% background.genes, 
                               geneid.colname]

# write background list to file
write.table(background.annot, paste0(deseq.folder, "background-genes_", ".txt"), 
            sep="\t", quote=FALSE, row.names=FALSE, col.names=FALSE)
waplvcompound_pca <- plotPCA(norm.vst, intgroup="condition")
library(ggrepel)
waplvcompound_pca + geom_text_repel(aes_string(x = "PC1", y = "PC2", label = "name"), color = "black")



```



About {data-orientation=rows data-icon="fa-comment-alt"}
===================================== 

Row {data-height=1000}
------------------------------------------------------------------------------

Dashboard made by Jacob Noeker