library(DESeq2)
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
knitr::opts_chunk$set(warning = FALSE, message = FALSE)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_cts <- read.csv("counts_wt.csv")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(wt_cts) <- wt_cts$gene
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_cts <- subset(wt_cts, select = -c(X, gene))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_cts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_cts <- read.csv("counts_ts.csv")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(ts_cts) <- ts_cts$gene
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_cts <- subset(ts_cts, select = -c(X, gene))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_cts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_cts <- read.csv("counts_cont.csv")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(cont_cts) <- cont_cts$gene
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_cts <- subset(cont_cts, select = -c(X, gene))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_cts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_cts <- read.csv("counts_temp.csv")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(temp_cts) <- temp_cts$gene
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_cts <- subset(temp_cts, select = -c(X, gene))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_cts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cts <- read.csv("counts.csv")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(cts) <- cts$gene
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cts <- subset(cts, select = -c(X, gene))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_tab <- read.csv("wt_table.csv", row.names=1)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_tab
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_tab <- read.csv("ts_table.csv", row.names=1)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_tab
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_tab <- read.csv("cont_table.csv", row.names=1)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_tab
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_tab <- read.csv("temp_table.csv", row.names=1)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
tab <- rbind(wt_tab, ts_tab)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
tab
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
smallestGroupSize <- 3
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt <- DESeqDataSetFromMatrix(countData = wt_cts,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                 colData = wt_tab,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                 design = ~ condition)
Warning: some variables in design formula are characters, converting to factorsLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt
class: DESeqDataSet 
dim: 31251 6 
metadata(1): version
assays(1): counts
rownames(31251): PHYPA_000001 PHYPA_000002 ... PHYPA_031308 PHYPA_031309
rowData names(0):
colnames(6): A1 B1 ... B2 C2
colData names(2): condition type
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt$condition
[1] wt     wt     wt     wtHeat wtHeat wtHeat
Levels: wt wtHeat
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts <- DESeqDataSetFromMatrix(countData = ts_cts,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                 colData = ts_tab,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                 design = ~ condition)
Warning: some variables in design formula are characters, converting to factorsLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts
class: DESeqDataSet 
dim: 31251 6 
metadata(1): version
assays(1): counts
rownames(31251): PHYPA_000001 PHYPA_000002 ... PHYPA_031308 PHYPA_031309
rowData names(0):
colnames(6): A3 B3 ... B4 C4
colData names(2): condition type
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts$condition
[1] ts     ts     ts     tsHeat tsHeat tsHeat
Levels: ts tsHeat
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_cont <- DESeqDataSetFromMatrix(countData = cont_cts,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                   colData = cont_tab,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                   design = ~ condition)
Warning: some variables in design formula are characters, converting to factorsLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_temp <- DESeqDataSetFromMatrix(countData = temp_cts,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                   colData = temp_tab,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                                   design = ~ condition)
Warning: some variables in design formula are characters, converting to factorsLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds <- DESeqDataSetFromMatrix(countData = cts,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                              colData = tab,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                              design = ~ condition)
Warning: some variables in design formula are characters, converting to factorsLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds
class: DESeqDataSet 
dim: 31251 12 
metadata(1): version
assays(1): counts
rownames(31251): PHYPA_000001 PHYPA_000002 ... PHYPA_031308 PHYPA_031309
rowData names(0):
colnames(12): A1 B1 ... B4 C4
colData names(2): condition type
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt$condition <- factor(dds_wt$condition)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt$condition <- relevel(dds_wt$condition, ref="wt")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_wt <- DESeq(dds_wt)
estimating size factors
estimating dispersions
gene-wise dispersion estimates
mean-dispersion relationship
final dispersion estimates
fitting model and testing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_wt <- results(dds_wt)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_wt <- res_wt[order(res_wt$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_wt
log2 fold change (MLE): condition wtHeat vs wt 
Wald test p-value: condition wtHeat vs wt 
DataFrame with 31251 rows and 6 columns
              baseMean log2FoldChange     lfcSE      stat      pvalue        padj
             <numeric>      <numeric> <numeric> <numeric>   <numeric>   <numeric>
PHYPA_022885  12.06965       -6.02074  1.522369  -3.95485 7.65830e-05 0.000988080
PHYPA_021394   4.94227       -5.71415  3.915540  -1.45935 1.44469e-01 0.331365275
PHYPA_030672   3.92704       -5.39540  1.620642  -3.32917 8.71041e-04          NA
PHYPA_021395   5.30960       -4.81278  1.487681  -3.23509 1.21606e-03 0.009619010
PHYPA_030996  17.46069       -4.69288  0.944265  -4.96988 6.69952e-07 0.000016252
...                ...            ...       ...       ...         ...         ...
PHYPA_031302         0             NA        NA        NA          NA          NA
PHYPA_031305         0             NA        NA        NA          NA          NA
PHYPA_031306         0             NA        NA        NA          NA          NA
PHYPA_031307         0             NA        NA        NA          NA          NA
PHYPA_031308         0             NA        NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts$condition <- factor(dds_ts$condition)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts$condition <- relevel(dds_ts$condition, ref="ts")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_ts <- DESeq(dds_ts)
estimating size factors
estimating dispersions
gene-wise dispersion estimates
mean-dispersion relationship
final dispersion estimates
fitting model and testing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_ts <- results(dds_ts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_ts <- res_ts[order(res_ts$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_ts
log2 fold change (MLE): condition tsHeat vs ts 
Wald test p-value: condition tsHeat vs ts 
DataFrame with 31251 rows and 6 columns
              baseMean log2FoldChange     lfcSE      stat      pvalue        padj
             <numeric>      <numeric> <numeric> <numeric>   <numeric>   <numeric>
PHYPA_006211   3.07559       -5.08148  1.789810  -2.83912 4.52383e-03 2.81133e-02
PHYPA_018834   3.06923       -5.06254  1.809068  -2.79842 5.13529e-03 3.08895e-02
PHYPA_028159   5.73239       -4.96144  1.833978  -2.70529 6.82447e-03 3.84360e-02
PHYPA_016891  15.46805       -4.91762  0.990647  -4.96404 6.90404e-07 1.95837e-05
PHYPA_018481   4.94515       -4.75746  1.590974  -2.99028 2.78719e-03 1.94517e-02
...                ...            ...       ...       ...         ...         ...
PHYPA_031302         0             NA        NA        NA          NA          NA
PHYPA_031305         0             NA        NA        NA          NA          NA
PHYPA_031306         0             NA        NA        NA          NA          NA
PHYPA_031307         0             NA        NA        NA          NA          NA
PHYPA_031308         0             NA        NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_cont$condition <- factor(dds_cont$condition)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_cont$condition <- relevel(dds_cont$condition, ref="wt")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_cont <- DESeq(dds_cont)
estimating size factors
estimating dispersions
gene-wise dispersion estimates
mean-dispersion relationship
final dispersion estimates
fitting model and testing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_cont <- results(dds_cont)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_cont <- res_cont[order(res_cont$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_cont
log2 fold change (MLE): condition ts vs wt 
Wald test p-value: condition ts vs wt 
DataFrame with 31251 rows and 6 columns
              baseMean log2FoldChange     lfcSE      stat      pvalue        padj
             <numeric>      <numeric> <numeric> <numeric>   <numeric>   <numeric>
PHYPA_020443   6.13206       -6.03764   1.60530  -3.76107 1.69186e-04 0.020041746
PHYPA_007163   3.51600       -5.23091   1.87570  -2.78878 5.29070e-03 0.256223064
PHYPA_030996  17.51716       -5.06254   1.08004  -4.68738 2.76730e-06 0.000626808
PHYPA_021394   5.15165       -4.77001   1.92387  -2.47938 1.31610e-02 0.471360301
PHYPA_003715   2.43501       -4.69679   2.17021  -2.16421 3.04482e-02 0.730312223
...                ...            ...       ...       ...         ...         ...
PHYPA_031302         0             NA        NA        NA          NA          NA
PHYPA_031305         0             NA        NA        NA          NA          NA
PHYPA_031306         0             NA        NA        NA          NA          NA
PHYPA_031307         0             NA        NA        NA          NA          NA
PHYPA_031308         0             NA        NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_temp$condition <- factor(dds_temp$condition)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_temp$condition <- relevel(dds_temp$condition, ref="wtHeat")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds_temp <- DESeq(dds_temp)
estimating size factors
estimating dispersions
gene-wise dispersion estimates
mean-dispersion relationship
final dispersion estimates
fitting model and testing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_temp <- results(dds_temp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_temp <- res_temp[order(res_temp$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
res_temp
log2 fold change (MLE): condition tsHeat vs wtHeat 
Wald test p-value: condition tsHeat vs wtHeat 
DataFrame with 31251 rows and 6 columns
              baseMean log2FoldChange     lfcSE      stat      pvalue        padj
             <numeric>      <numeric> <numeric> <numeric>   <numeric>   <numeric>
PHYPA_006211  11.00608       -6.91021  1.366968  -5.05514 4.30083e-07 3.28227e-05
PHYPA_022699   3.90355       -5.43217  1.501121  -3.61874 2.96040e-04 7.99348e-03
PHYPA_016168   2.45302       -4.76638  1.663470  -2.86532 4.16583e-03 5.74299e-02
PHYPA_013708  13.92049       -4.76048  0.963298  -4.94186 7.73800e-07 5.49824e-05
PHYPA_014974   4.18158       -4.49335  1.461314  -3.07487 2.10597e-03 3.44894e-02
...                ...            ...       ...       ...         ...         ...
PHYPA_031302         0             NA        NA        NA          NA          NA
PHYPA_031305         0             NA        NA        NA          NA          NA
PHYPA_031306         0             NA        NA        NA          NA          NA
PHYPA_031307         0             NA        NA        NA          NA          NA
PHYPA_031308         0             NA        NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dds <- DESeq(dds)
estimating size factors
estimating dispersions
gene-wise dispersion estimates
mean-dispersion relationship
final dispersion estimates
fitting model and testing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt <- lfcShrink(dds_wt, coef=paste("condition_wtHeat_vs_wt", sep=""), type="apeglm")
using 'apeglm' for LFC shrinkage. If used in published research, please cite:
    Zhu, A., Ibrahim, J.G., Love, M.I. (2018) Heavy-tailed prior distributions for
    sequence count data: removing the noise and preserving large differences.
    Bioinformatics. https://doi.org/10.1093/bioinformatics/bty895
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt <- lfcs_wt[order(lfcs_wt$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt
log2 fold change (MAP): condition wtHeat vs wt 
Wald test p-value: condition wtHeat vs wt 
DataFrame with 31251 rows and 5 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj
             <numeric>      <numeric> <numeric>   <numeric>   <numeric>
PHYPA_022885   12.0696       -5.19767  1.658738 7.65830e-05 9.88080e-04
PHYPA_010228   46.3086       -4.34466  0.520897 1.45484e-17 2.25700e-15
PHYPA_030996   17.4607       -4.30724  0.935757 6.69952e-07 1.62520e-05
PHYPA_012729  109.6489       -4.14212  0.418869 3.24180e-24 8.42737e-22
PHYPA_008741   23.0201       -3.90378  0.826124 1.87448e-07 5.27954e-06
...                ...            ...       ...         ...         ...
PHYPA_031302         0             NA        NA          NA          NA
PHYPA_031305         0             NA        NA          NA          NA
PHYPA_031306         0             NA        NA          NA          NA
PHYPA_031307         0             NA        NA          NA          NA
PHYPA_031308         0             NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts <- lfcShrink(dds_ts, coef=paste("condition_tsHeat_vs_ts", sep=""), type="apeglm")
using 'apeglm' for LFC shrinkage. If used in published research, please cite:
    Zhu, A., Ibrahim, J.G., Love, M.I. (2018) Heavy-tailed prior distributions for
    sequence count data: removing the noise and preserving large differences.
    Bioinformatics. https://doi.org/10.1093/bioinformatics/bty895
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts <- lfcs_ts[order(lfcs_ts$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts
log2 fold change (MAP): condition tsHeat vs ts 
Wald test p-value: condition tsHeat vs ts 
DataFrame with 31251 rows and 5 columns
              baseMean log2FoldChange     lfcSE       pvalue         padj
             <numeric>      <numeric> <numeric>    <numeric>    <numeric>
PHYPA_016891   15.4680       -4.51638  0.966652  6.90404e-07  1.95837e-05
PHYPA_003190   16.1193       -4.14678  0.915358  7.63538e-07  2.13590e-05
PHYPA_015034  368.7230       -4.13227  0.315860  2.26636e-40  1.91253e-37
PHYPA_022904   95.2877       -3.80202  0.625224  6.01852e-11  4.48136e-09
PHYPA_023262 1131.2950       -3.73965  0.171612 1.57599e-106 7.97961e-103
...                ...            ...       ...          ...          ...
PHYPA_031302         0             NA        NA           NA           NA
PHYPA_031305         0             NA        NA           NA           NA
PHYPA_031306         0             NA        NA           NA           NA
PHYPA_031307         0             NA        NA           NA           NA
PHYPA_031308         0             NA        NA           NA           NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont <- lfcShrink(dds_cont, coef=paste("condition_ts_vs_wt", sep=""), type="apeglm")
using 'apeglm' for LFC shrinkage. If used in published research, please cite:
    Zhu, A., Ibrahim, J.G., Love, M.I. (2018) Heavy-tailed prior distributions for
    sequence count data: removing the noise and preserving large differences.
    Bioinformatics. https://doi.org/10.1093/bioinformatics/bty895
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont <- lfcs_cont[order(lfcs_cont$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont
log2 fold change (MAP): condition ts vs wt 
Wald test p-value: condition ts vs wt 
DataFrame with 31251 rows and 5 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj
             <numeric>      <numeric> <numeric>   <numeric>   <numeric>
PHYPA_030996   17.5172       -4.57572  1.082017 2.76730e-06 6.26808e-04
PHYPA_013708   44.0389       -4.49501  0.589520 3.26250e-15 1.34493e-11
PHYPA_008675   21.9607       -3.25763  0.746413 6.88790e-07 1.83165e-04
PHYPA_031192  266.8305       -3.04793  0.240228 3.25864e-38 6.71671e-34
PHYPA_028376   19.9953       -3.00779  0.867207 2.23714e-05 3.90778e-03
...                ...            ...       ...         ...         ...
PHYPA_031302         0             NA        NA          NA          NA
PHYPA_031305         0             NA        NA          NA          NA
PHYPA_031306         0             NA        NA          NA          NA
PHYPA_031307         0             NA        NA          NA          NA
PHYPA_031308         0             NA        NA          NA          NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp <- lfcShrink(dds_temp, coef=paste("condition_tsHeat_vs_wtHeat", sep=""), type="apeglm")
using 'apeglm' for LFC shrinkage. If used in published research, please cite:
    Zhu, A., Ibrahim, J.G., Love, M.I. (2018) Heavy-tailed prior distributions for
    sequence count data: removing the noise and preserving large differences.
    Bioinformatics. https://doi.org/10.1093/bioinformatics/bty895
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp <- lfcs_temp[order(lfcs_temp$log2FoldChange),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp
log2 fold change (MAP): condition tsHeat vs wtHeat 
Wald test p-value: condition tsHeat vs wtHeat 
DataFrame with 31251 rows and 5 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj
             <numeric>      <numeric> <numeric>   <numeric>   <numeric>
PHYPA_006211   11.0061       -7.24861  2.701846 4.30083e-07 3.28227e-05
PHYPA_013708   13.9205       -4.36495  0.937369 7.73800e-07 5.49824e-05
PHYPA_015792   40.8575       -4.28067  0.546504 7.16102e-16 3.91418e-13
PHYPA_000378   10.6800       -3.88350  0.982366 1.22884e-05 5.73951e-04
PHYPA_016367   46.3621       -3.82957  0.486318 3.24679e-16 1.93126e-13
...                ...            ...       ...         ...         ...
PHYPA_031302         0             NA        NA          NA          NA
PHYPA_031305         0             NA        NA          NA          NA
PHYPA_031306         0             NA        NA          NA          NA
PHYPA_031307         0             NA        NA          NA          NA
PHYPA_031308         0             NA        NA          NA          NA
alpha <- 0.01
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols <- densCols(lfcs_wt$log2FoldChange, -log10(lfcs_wt$padj))
Warning: Binning grid too coarse for current (small) bandwidth: consider increasing 'gridsize'Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols[lfcs_wt$pvalue ==0] <- "purple"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt$pch <- 19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt$pch[lfcs_wt$pvalue ==0] <- 6
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plot(lfcs_wt$log2FoldChange,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     -log10(lfcs_wt$padj),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     col=cols, panel.first=grid(),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     main="WT at 32 C vs 20 C",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlab="Effect size: log2(fold-change)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylab="-log10(adjusted p-value)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlim=c(-6,6),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylim=c(0,100),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     pch=lfcs_wt$pch, cex=0.4)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=0)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=c(-1,1), col="brown")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(h=-log10(alpha), col="brown")

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols <- densCols(lfcs_ts$log2FoldChange, -log10(lfcs_ts$padj))
Warning: Binning grid too coarse for current (small) bandwidth: consider increasing 'gridsize'Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols[lfcs_ts$pvalue ==0] <- "purple"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts$pch <- 19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts$pch[lfcs_ts$pvalue ==0] <- 6
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plot(lfcs_ts$log2FoldChange,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     -log10(lfcs_ts$padj),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     col=cols, panel.first=grid(),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     main="TS at 32 C vs 20 C",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlab="Effect size: log2(fold-change)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylab="-log10(adjusted p-value)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlim=c(-6,6),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylim=c(0,100),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     pch=lfcs_ts$pch, cex=0.4)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=0)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=c(-1,1), col="brown")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(h=-log10(alpha), col="brown")

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols <- densCols(lfcs_cont$log2FoldChange, -log10(lfcs_cont$padj))
Warning: Binning grid too coarse for current (small) bandwidth: consider increasing 'gridsize'Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols[lfcs_cont$pvalue ==0] <- "purple"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont$pch <- 19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont$pch[lfcs_cont$pvalue ==0] <- 6
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plot(lfcs_cont$log2FoldChange,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     -log10(lfcs_cont$padj),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     col=cols, panel.first=grid(),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     main="TS vs WT at 20 C",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlab="Effect size: log2(fold-change)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylab="-log10(adjusted p-value)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlim=c(-6,6),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylim=c(0,100),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     pch=lfcs_cont$pch, cex=0.4)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=0)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=c(-1,1), col="brown")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(h=-log10(alpha), col="brown")

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols <- densCols(lfcs_temp$log2FoldChange, -log10(lfcs_temp$padj))
Warning: Binning grid too coarse for current (small) bandwidth: consider increasing 'gridsize'Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cols[lfcs_temp$pvalue ==0] <- "purple"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp$pch <- 19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp$pch[lfcs_temp$pvalue ==0] <- 6
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plot(lfcs_temp$log2FoldChange,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     -log10(lfcs_temp$padj),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     col=cols, panel.first=grid(),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     main="TS vs WT at 32 C",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlab="Effect size: log2(fold-change)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylab="-log10(adjusted p-value)",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     xlim=c(-6,6),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     ylim=c(0,100),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
     pch=lfcs_temp$pch, cex=0.4)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=0)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(v=c(-1,1), col="brown")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
abline(h=-log10(alpha), col="brown")

plotMA(lfcs_wt, main="WT 32 C vs WT 20 C", ylim=c(-5, 5))
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plotMA(lfcs_ts, main="TS 32 C vs TS 20 C", ylim=c(-5, 5))

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plotMA(lfcs_cont, main="TS 20 C vs WT 20 C", ylim=c(-5, 5))

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plotMA(lfcs_temp, main="TS 32 C vs WT 32 C", ylim=c(-5, 5))

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plt <- plotPCA(vst(dds))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
print(plt)

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# filter by up/down for each category
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_wt <- na.omit(lfcs_wt)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_ts <- na.omit(lfcs_ts)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_cont <- na.omit(lfcs_cont)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcs_temp <- na.omit(lfcs_temp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
lfcCutoff <- 2
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_up <- lfcs_wt[lfcs_wt$log2FoldChange > lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_up
log2 fold change (MAP): condition wtHeat vs wt 
Wald test p-value: condition wtHeat vs wt 
DataFrame with 97 rows and 6 columns
              baseMean log2FoldChange     lfcSE       pvalue         padj       pch
             <numeric>      <numeric> <numeric>    <numeric>    <numeric> <numeric>
PHYPA_030711  486.4776        2.01804  0.180908  4.23102e-30  1.56301e-27        19
PHYPA_026450   83.2274        2.02313  0.373166  3.32002e-09  1.38241e-07        19
PHYPA_018024   18.2081        2.02412  0.561276  1.84100e-05  2.95374e-04        19
PHYPA_006690  184.9582        2.02414  0.239872  1.87911e-18  3.14335e-16        19
PHYPA_002788  123.8681        2.03744  0.230480  6.48072e-20  1.21038e-17        19
...                ...            ...       ...          ...          ...       ...
PHYPA_016026  369.4565        6.65330  0.349786  1.18601e-80  1.42595e-77        19
PHYPA_000306  649.7438        6.74559  0.309541 1.46314e-106 3.12738e-103        19
PHYPA_020595  713.6037        7.53883  0.342443 7.52543e-108 1.80958e-104        19
PHYPA_015093   26.2151        8.89745  2.735604  3.34452e-11  2.05169e-09        19
PHYPA_004800  107.2890        8.94536  1.305254  1.72264e-14  1.70817e-12        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_dn <- lfcs_wt[lfcs_wt$log2FoldChange < -1*lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_dn
log2 fold change (MAP): condition wtHeat vs wt 
Wald test p-value: condition wtHeat vs wt 
DataFrame with 99 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_022885   12.0696       -5.19767  1.658738 7.65830e-05 9.88080e-04        19
PHYPA_010228   46.3086       -4.34466  0.520897 1.45484e-17 2.25700e-15        19
PHYPA_030996   17.4607       -4.30724  0.935757 6.69952e-07 1.62520e-05        19
PHYPA_012729  109.6489       -4.14212  0.418869 3.24180e-24 8.42737e-22        19
PHYPA_008741   23.0201       -3.90378  0.826124 1.87448e-07 5.27954e-06        19
...                ...            ...       ...         ...         ...       ...
PHYPA_025335   13.1669       -2.04271  0.742452 3.02541e-04 3.08917e-03        19
PHYPA_029997   72.9467       -2.03175  0.492688 1.89977e-06 4.04080e-05        19
PHYPA_018313   36.6962       -2.02619  0.384592 9.32559e-09 3.58077e-07        19
PHYPA_016120   22.0031       -2.01910  0.846883 6.46123e-04 5.77309e-03        19
PHYPA_008116  111.3167       -2.01312  0.484919 1.66968e-06 3.63756e-05        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_up <- lfcs_ts[lfcs_ts$log2FoldChange > lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_up
log2 fold change (MAP): condition tsHeat vs ts 
Wald test p-value: condition tsHeat vs ts 
DataFrame with 151 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_016393  13.57392        2.00168  0.705362 2.44393e-04 2.82517e-03        19
PHYPA_010849   6.34292        2.00285  1.530515 5.76518e-03 3.37463e-02        19
PHYPA_002845 477.20684        2.00390  0.199551 6.91663e-25 2.85883e-22        19
PHYPA_002413  45.28333        2.00904  0.403324 3.96408e-08 1.60891e-06        19
PHYPA_019887  67.27574        2.02014  0.367926 2.61890e-09 1.39214e-07        19
...                ...            ...       ...         ...         ...       ...
PHYPA_030584   15.1202        7.73599  2.753640 2.59736e-07 8.27816e-06        19
PHYPA_015093   52.2850        7.81690  1.304612 1.90498e-11 1.60089e-09        19
PHYPA_004800   90.7602        7.83547  0.982404 1.17427e-14 1.65156e-12        19
PHYPA_021904  467.2640        8.06339  0.507679 7.60261e-57 9.62348e-54        19
PHYPA_020595  911.5538        9.76087  0.611594 2.31549e-56 2.75856e-53        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_dn <- lfcs_ts[lfcs_ts$log2FoldChange < -1*lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_dn
log2 fold change (MAP): condition tsHeat vs ts 
Wald test p-value: condition tsHeat vs ts 
DataFrame with 59 rows and 6 columns
              baseMean log2FoldChange     lfcSE       pvalue         padj       pch
             <numeric>      <numeric> <numeric>    <numeric>    <numeric> <numeric>
PHYPA_016891   15.4680       -4.51638  0.966652  6.90404e-07  1.95837e-05        19
PHYPA_003190   16.1193       -4.14678  0.915358  7.63538e-07  2.13590e-05        19
PHYPA_015034  368.7230       -4.13227  0.315860  2.26636e-40  1.91253e-37        19
PHYPA_022904   95.2877       -3.80202  0.625224  6.01852e-11  4.48136e-09        19
PHYPA_023262 1131.2950       -3.73965  0.171612 1.57599e-106 7.97961e-103        19
...                ...            ...       ...          ...          ...       ...
PHYPA_030385   17.6202       -2.03815  0.892921  8.57555e-04  7.59426e-03        19
PHYPA_003825   93.3677       -2.02933  0.433728  1.56941e-07  5.41486e-06        19
PHYPA_005463   66.7977       -2.01696  0.477344  1.26522e-06  3.35398e-05        19
PHYPA_024881   73.0001       -2.00598  0.343115  3.23375e-10  2.05953e-08        19
PHYPA_015738   33.9228       -2.00574  0.454220  6.22616e-07  1.78105e-05        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_up <- lfcs_cont[lfcs_cont$log2FoldChange > lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_up
log2 fold change (MAP): condition ts vs wt 
Wald test p-value: condition ts vs wt 
DataFrame with 19 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_021848   9.00458        2.12708  0.981792 1.03134e-03  0.07674375        19
PHYPA_014931  13.65201        2.21006  0.830419 2.76271e-04  0.02890607        19
PHYPA_022904 106.63708        2.27717  0.622343 9.08176e-06  0.00176597        19
PHYPA_005632  11.69007        2.30088  0.834856 2.36656e-04  0.02540602        19
PHYPA_018047  23.34130        2.35543  0.696273 2.81622e-05  0.00464383        19
...                ...            ...       ...         ...         ...       ...
PHYPA_003969   5.13609        3.52039  1.849496 1.87004e-03 1.21422e-01        19
PHYPA_030019  35.92164        3.81553  0.590593 8.13136e-12 1.28926e-08        19
PHYPA_028542   4.82379        5.48205  2.625583 1.24607e-04 1.53796e-02        19
PHYPA_021994   8.13645        6.64641  2.621439 3.72577e-06 7.91706e-04        19
PHYPA_027527  35.15657        7.21772  1.309085 5.64911e-10 5.82198e-07        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_dn <- lfcs_cont[lfcs_cont$log2FoldChange < -1*lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_dn
log2 fold change (MAP): condition ts vs wt 
Wald test p-value: condition ts vs wt 
DataFrame with 12 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_030996   17.5172       -4.57572  1.082017 2.76730e-06 6.26808e-04        19
PHYPA_013708   44.0389       -4.49501  0.589520 3.26250e-15 1.34493e-11        19
PHYPA_008675   21.9607       -3.25763  0.746413 6.88790e-07 1.83165e-04        19
PHYPA_031192  266.8305       -3.04793  0.240228 3.25864e-38 6.71671e-34        19
PHYPA_028376   19.9953       -3.00779  0.867207 2.23714e-05 3.90778e-03        19
...                ...            ...       ...         ...         ...       ...
PHYPA_012120   88.4058       -2.58043  0.341672 2.10001e-15 1.08214e-11        19
PHYPA_015927  151.7258       -2.47438  0.432490 4.20363e-10 4.56028e-07        19
PHYPA_017027  907.7517       -2.11235  0.388403 2.18171e-09 1.72959e-06        19
PHYPA_026992   37.8004       -2.04228  0.420079 5.47045e-08 2.34910e-05        19
PHYPA_002331   40.7803       -2.01903  0.634719 4.99278e-05 7.45733e-03        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_up <- lfcs_temp[lfcs_temp$log2FoldChange > lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_up
log2 fold change (MAP): condition tsHeat vs wtHeat 
Wald test p-value: condition tsHeat vs wtHeat 
DataFrame with 75 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_024571   8.87128        2.00744  1.021648 1.58374e-03 0.028269661        19
PHYPA_002657  24.01542        2.02075  0.810693 3.87442e-04 0.009918528        19
PHYPA_028918   7.46737        2.02190  1.029360 1.83717e-03 0.031594265        19
PHYPA_021252  12.84263        2.02409  0.932960 8.63032e-04 0.018193208        19
PHYPA_017479  50.93566        2.02820  0.566373 1.34869e-05 0.000619908        19
...                ...            ...       ...         ...         ...       ...
PHYPA_027527  13.49738        4.35234  0.930582 8.50414e-07 5.95113e-05        19
PHYPA_019773   3.61926        4.78865  2.637097 4.85994e-04 1.16731e-02        19
PHYPA_019139  14.66717        5.65637  1.547527 1.14203e-05 5.42167e-04        19
PHYPA_018015   6.10445        6.09066  2.553770 1.29019e-05 5.98459e-04        19
PHYPA_028542   6.65231        6.26591  2.560904 7.40762e-06 3.76411e-04        19
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_dn <- lfcs_temp[lfcs_temp$log2FoldChange < -1*lfcCutoff,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_dn
log2 fold change (MAP): condition tsHeat vs wtHeat 
Wald test p-value: condition tsHeat vs wtHeat 
DataFrame with 38 rows and 6 columns
              baseMean log2FoldChange     lfcSE      pvalue        padj       pch
             <numeric>      <numeric> <numeric>   <numeric>   <numeric> <numeric>
PHYPA_006211   11.0061       -7.24861  2.701846 4.30083e-07 3.28227e-05        19
PHYPA_013708   13.9205       -4.36495  0.937369 7.73800e-07 5.49824e-05        19
PHYPA_015792   40.8575       -4.28067  0.546504 7.16102e-16 3.91418e-13        19
PHYPA_000378   10.6800       -3.88350  0.982366 1.22884e-05 5.73951e-04        19
PHYPA_016367   46.3621       -3.82957  0.486318 3.24679e-16 1.93126e-13        19
...                ...            ...       ...         ...         ...       ...
PHYPA_022850   20.7109       -2.15286  0.745072 1.40772e-04 4.43455e-03        19
PHYPA_022615  355.2026       -2.13315  0.283058 2.31738e-15 1.17167e-12        19
PHYPA_029346  633.0839       -2.09222  0.229273 3.52335e-21 5.93802e-18        19
PHYPA_000830   15.2925       -2.06679  0.722802 1.69286e-04 5.07206e-03        19
PHYPA_027917   45.8297       -2.04717  0.389393 7.46734e-09 9.55819e-07        19
Loading required package: CEMiTool
library(VennDiagram)
Loading required package: CEMiTool
length(rownames(wt_up))
[1] 97
Loading required package: CEMiTool
length(rownames(wt_dn))
[1] 99
Loading required package: CEMiTool
length(rownames(ts_up))
[1] 151
Loading required package: CEMiTool
length(rownames(ts_dn))
[1] 59
Loading required package: CEMiTool
venn.diagram(x=list(rownames(wt_up),rownames(ts_up)), category.names=c("WT","TS"),filename="plots/venn/temp_UP.png",output=T)
[1] 1
Loading required package: CEMiTool
venn.diagram(x=list(rownames(wt_dn),rownames(ts_dn)), category.names=c("WT","TS"),filename="plots/venn/temp_DN.png",output=T)
[1] 1
Loading required package: CEMiTool
length(rownames(cont_up))
[1] 19
Loading required package: CEMiTool
length(rownames(cont_dn))
[1] 12
Loading required package: CEMiTool
length(rownames(temp_up))
[1] 75
Loading required package: CEMiTool
length(rownames(temp_dn))
[1] 38
Loading required package: CEMiTool
venn.diagram(x=list(rownames(cont_up),rownames(temp_up)), category.names=c("20C","32C"),filename="plots/venn/type_UP.png",output=T)
[1] 1
Loading required package: CEMiTool
venn.diagram(x=list(rownames(cont_dn),rownames(temp_dn)), category.names=c("20C","32C"),filename="plots/venn/type_DN.png",output=T)
[1] 1
Loading required package: CEMiTool
anns <- read.table("phypa_anns.tsv", sep = '\t', header=T, quote="")
Loading required package: CEMiTool
head(anns, 40)
Loading required package: CEMiTool
# combine expression data
Loading required package: CEMiTool
glist <- list(row.names(lfcs_wt), row.names(lfcs_ts), row.names(lfcs_cont), row.names(lfcs_temp))
Loading required package: CEMiTool
glist <- Reduce(union, glist)
Loading required package: CEMiTool
glist
   [1] "PHYPA_022885" "PHYPA_010228" "PHYPA_030996" "PHYPA_012729" "PHYPA_008741" "PHYPA_030931" "PHYPA_015034" "PHYPA_021395" "PHYPA_029943" "PHYPA_014225"
  [11] "PHYPA_002345" "PHYPA_017079" "PHYPA_028918" "PHYPA_012062" "PHYPA_014226" "PHYPA_010227" "PHYPA_017843" "PHYPA_019734" "PHYPA_030071" "PHYPA_003018"
  [21] "PHYPA_004603" "PHYPA_022363" "PHYPA_008675" "PHYPA_004676" "PHYPA_006149" "PHYPA_005401" "PHYPA_004747" "PHYPA_003396" "PHYPA_022246" "PHYPA_008012"
  [31] "PHYPA_027120" "PHYPA_025608" "PHYPA_004407" "PHYPA_029944" "PHYPA_025070" "PHYPA_006579" "PHYPA_005402" "PHYPA_024417" "PHYPA_001444" "PHYPA_026281"
  [41] "PHYPA_001848" "PHYPA_018302" "PHYPA_007024" "PHYPA_022704" "PHYPA_003825" "PHYPA_029518" "PHYPA_013435" "PHYPA_024576" "PHYPA_004670" "PHYPA_003414"
  [51] "PHYPA_018375" "PHYPA_022106" "PHYPA_014978" "PHYPA_001846" "PHYPA_023849" "PHYPA_009496" "PHYPA_010968" "PHYPA_029661" "PHYPA_030077" "PHYPA_007904"
  [61] "PHYPA_005851" "PHYPA_021573" "PHYPA_015180" "PHYPA_025049" "PHYPA_001080" "PHYPA_026966" "PHYPA_022904" "PHYPA_001779" "PHYPA_006538" "PHYPA_010971"
  [71] "PHYPA_001455" "PHYPA_030064" "PHYPA_016642" "PHYPA_016879" "PHYPA_025757" "PHYPA_008210" "PHYPA_020302" "PHYPA_001700" "PHYPA_012562" "PHYPA_001159"
  [81] "PHYPA_015413" "PHYPA_006622" "PHYPA_012290" "PHYPA_008800" "PHYPA_015738" "PHYPA_025366" "PHYPA_015517" "PHYPA_008127" "PHYPA_030161" "PHYPA_028695"
  [91] "PHYPA_004821" "PHYPA_008900" "PHYPA_022082" "PHYPA_011207" "PHYPA_025335" "PHYPA_029997" "PHYPA_018313" "PHYPA_016120" "PHYPA_008116" "PHYPA_010664"
 [101] "PHYPA_013249" "PHYPA_016891" "PHYPA_021156" "PHYPA_016160" "PHYPA_020118" "PHYPA_004415" "PHYPA_008434" "PHYPA_004034" "PHYPA_008435" "PHYPA_025610"
 [111] "PHYPA_009165" "PHYPA_012308" "PHYPA_021422" "PHYPA_000917" "PHYPA_030755" "PHYPA_000890" "PHYPA_013734" "PHYPA_010160" "PHYPA_026817" "PHYPA_003830"
 [121] "PHYPA_013413" "PHYPA_005591" "PHYPA_018827" "PHYPA_022149" "PHYPA_011527" "PHYPA_011743" "PHYPA_003130" "PHYPA_002323" "PHYPA_006946" "PHYPA_004130"
 [131] "PHYPA_010820" "PHYPA_026100" "PHYPA_000760" "PHYPA_005778" "PHYPA_005855" "PHYPA_025225" "PHYPA_023238" "PHYPA_023555" "PHYPA_007405" "PHYPA_022217"
 [141] "PHYPA_007637" "PHYPA_004674" "PHYPA_021747" "PHYPA_007284" "PHYPA_018826" "PHYPA_017129" "PHYPA_020419" "PHYPA_007047" "PHYPA_030192" "PHYPA_026805"
 [151] "PHYPA_030978" "PHYPA_014771" "PHYPA_023357" "PHYPA_015983" "PHYPA_003047" "PHYPA_014564" "PHYPA_000184" "PHYPA_004556" "PHYPA_022335" "PHYPA_022643"
 [161] "PHYPA_015976" "PHYPA_014580" "PHYPA_016752" "PHYPA_010852" "PHYPA_004134" "PHYPA_002265" "PHYPA_019761" "PHYPA_004450" "PHYPA_000747" "PHYPA_023518"
 [171] "PHYPA_010295" "PHYPA_025721" "PHYPA_013617" "PHYPA_024707" "PHYPA_026530" "PHYPA_010593" "PHYPA_022184" "PHYPA_004597" "PHYPA_006061" "PHYPA_029664"
 [181] "PHYPA_027482" "PHYPA_029023" "PHYPA_000972" "PHYPA_020944" "PHYPA_018301" "PHYPA_030404" "PHYPA_011880" "PHYPA_014675" "PHYPA_019804" "PHYPA_030135"
 [191] "PHYPA_027691" "PHYPA_000255" "PHYPA_009108" "PHYPA_011843" "PHYPA_011022" "PHYPA_005761" "PHYPA_024881" "PHYPA_024360" "PHYPA_021727" "PHYPA_016783"
 [201] "PHYPA_005364" "PHYPA_004133" "PHYPA_017608" "PHYPA_003650" "PHYPA_010446" "PHYPA_001484" "PHYPA_011908" "PHYPA_029998" "PHYPA_023964" "PHYPA_016936"
 [211] "PHYPA_010291" "PHYPA_026534" "PHYPA_005157" "PHYPA_014295" "PHYPA_021710" "PHYPA_023055" "PHYPA_027706" "PHYPA_031053" "PHYPA_021853" "PHYPA_002234"
 [221] "PHYPA_022189" "PHYPA_016941" "PHYPA_005821" "PHYPA_030226" "PHYPA_022582" "PHYPA_000135" "PHYPA_023004" "PHYPA_020765" "PHYPA_027897" "PHYPA_023616"
 [231] "PHYPA_025752" "PHYPA_003190" "PHYPA_019606" "PHYPA_011517" "PHYPA_011833" "PHYPA_015083" "PHYPA_006934" "PHYPA_021443" "PHYPA_019242" "PHYPA_011147"
 [241] "PHYPA_018389" "PHYPA_005065" "PHYPA_028588" "PHYPA_014781" "PHYPA_013708" "PHYPA_029692" "PHYPA_018297" "PHYPA_020539" "PHYPA_000155" "PHYPA_000487"
 [251] "PHYPA_030066" "PHYPA_015577" "PHYPA_011780" "PHYPA_022526" "PHYPA_018406" "PHYPA_019053" "PHYPA_011252" "PHYPA_024597" "PHYPA_017488" "PHYPA_008822"
 [261] "PHYPA_017224" "PHYPA_002230" "PHYPA_017413" "PHYPA_019349" "PHYPA_028193" "PHYPA_029654" "PHYPA_030464" "PHYPA_008397" "PHYPA_019523" "PHYPA_009105"
 [271] "PHYPA_006925" "PHYPA_009281" "PHYPA_029229" "PHYPA_020720" "PHYPA_024054" "PHYPA_012354" "PHYPA_015793" "PHYPA_015183" "PHYPA_024618" "PHYPA_018215"
 [281] "PHYPA_008306" "PHYPA_019722" "PHYPA_002657" "PHYPA_011224" "PHYPA_004607" "PHYPA_024635" "PHYPA_022470" "PHYPA_016789" "PHYPA_021993" "PHYPA_004659"
 [291] "PHYPA_010694" "PHYPA_013950" "PHYPA_013350" "PHYPA_021263" "PHYPA_031028" "PHYPA_014120" "PHYPA_026828" "PHYPA_006670" "PHYPA_012582" "PHYPA_010706"
 [301] "PHYPA_023630" "PHYPA_018850" "PHYPA_004212" "PHYPA_011433" "PHYPA_024615" "PHYPA_018889" "PHYPA_018123" "PHYPA_006968" "PHYPA_027439" "PHYPA_009214"
 [311] "PHYPA_028100" "PHYPA_004434" "PHYPA_023829" "PHYPA_025586" "PHYPA_025540" "PHYPA_030187" "PHYPA_028654" "PHYPA_013508" "PHYPA_017811" "PHYPA_018931"
 [321] "PHYPA_003732" "PHYPA_005854" "PHYPA_021797" "PHYPA_011941" "PHYPA_013633" "PHYPA_010554" "PHYPA_014674" "PHYPA_002959" "PHYPA_005158" "PHYPA_023947"
 [331] "PHYPA_013096" "PHYPA_001600" "PHYPA_005798" "PHYPA_014673" "PHYPA_005456" "PHYPA_028593" "PHYPA_017006" "PHYPA_023283" "PHYPA_002394" "PHYPA_020588"
 [341] "PHYPA_012950" "PHYPA_030531" "PHYPA_024912" "PHYPA_020839" "PHYPA_022938" "PHYPA_014318" "PHYPA_002274" "PHYPA_019584" "PHYPA_022794" "PHYPA_025250"
 [351] "PHYPA_015849" "PHYPA_017133" "PHYPA_000325" "PHYPA_029780" "PHYPA_029336" "PHYPA_001645" "PHYPA_002262" "PHYPA_012178" "PHYPA_007565" "PHYPA_013524"
 [361] "PHYPA_030916" "PHYPA_005656" "PHYPA_002844" "PHYPA_022524" "PHYPA_031024" "PHYPA_001504" "PHYPA_022820" "PHYPA_023753" "PHYPA_023810" "PHYPA_001555"
 [371] "PHYPA_012579" "PHYPA_026047" "PHYPA_031061" "PHYPA_024645" "PHYPA_009004" "PHYPA_024631" "PHYPA_015909" "PHYPA_001247" "PHYPA_002945" "PHYPA_020829"
 [381] "PHYPA_021790" "PHYPA_002311" "PHYPA_002605" "PHYPA_011148" "PHYPA_011889" "PHYPA_004863" "PHYPA_018107" "PHYPA_004099" "PHYPA_014850" "PHYPA_016254"
 [391] "PHYPA_014190" "PHYPA_023468" "PHYPA_015053" "PHYPA_027839" "PHYPA_018657" "PHYPA_024815" "PHYPA_013309" "PHYPA_019909" "PHYPA_029451" "PHYPA_009850"
 [401] "PHYPA_001248" "PHYPA_007485" "PHYPA_011778" "PHYPA_028572" "PHYPA_015285" "PHYPA_011754" "PHYPA_016534" "PHYPA_000304" "PHYPA_016866" "PHYPA_019923"
 [411] "PHYPA_017799" "PHYPA_030766" "PHYPA_000138" "PHYPA_022762" "PHYPA_006152" "PHYPA_026991" "PHYPA_008455" "PHYPA_014378" "PHYPA_026992" "PHYPA_012124"
 [421] "PHYPA_016633" "PHYPA_017679" "PHYPA_028610" "PHYPA_014690" "PHYPA_022921" "PHYPA_027430" "PHYPA_004577" "PHYPA_021258" "PHYPA_008791" "PHYPA_022471"
 [431] "PHYPA_011118" "PHYPA_028949" "PHYPA_023556" "PHYPA_031228" "PHYPA_023220" "PHYPA_030065" "PHYPA_000173" "PHYPA_007403" "PHYPA_006583" "PHYPA_009262"
 [441] "PHYPA_003229" "PHYPA_003852" "PHYPA_029298" "PHYPA_010324" "PHYPA_019504" "PHYPA_018627" "PHYPA_019214" "PHYPA_003942" "PHYPA_030357" "PHYPA_001741"
 [451] "PHYPA_015713" "PHYPA_022334" "PHYPA_000860" "PHYPA_022018" "PHYPA_005568" "PHYPA_005582" "PHYPA_007910" "PHYPA_029309" "PHYPA_012089" "PHYPA_028362"
 [461] "PHYPA_005866" "PHYPA_022331" "PHYPA_012173" "PHYPA_001192" "PHYPA_031192" "PHYPA_011502" "PHYPA_015556" "PHYPA_002348" "PHYPA_011808" "PHYPA_001242"
 [471] "PHYPA_028412" "PHYPA_009107" "PHYPA_002127" "PHYPA_016283" "PHYPA_019018" "PHYPA_029410" "PHYPA_014565" "PHYPA_006635" "PHYPA_012000" "PHYPA_017451"
 [481] "PHYPA_004610" "PHYPA_012323" "PHYPA_007956" "PHYPA_030215" "PHYPA_008419" "PHYPA_026708" "PHYPA_003163" "PHYPA_006997" "PHYPA_030966" "PHYPA_003068"
 [491] "PHYPA_024596" "PHYPA_022016" "PHYPA_005181" "PHYPA_009734" "PHYPA_028959" "PHYPA_017043" "PHYPA_004054" "PHYPA_017613" "PHYPA_017432" "PHYPA_030803"
 [501] "PHYPA_011939" "PHYPA_018143" "PHYPA_008704" "PHYPA_006966" "PHYPA_022137" "PHYPA_017499" "PHYPA_018612" "PHYPA_005682" "PHYPA_017519" "PHYPA_007161"
 [511] "PHYPA_009443" "PHYPA_003441" "PHYPA_027596" "PHYPA_011032" "PHYPA_028657" "PHYPA_017331" "PHYPA_028309" "PHYPA_024716" "PHYPA_027464" "PHYPA_013503"
 [521] "PHYPA_009082" "PHYPA_023419" "PHYPA_006861" "PHYPA_007869" "PHYPA_002701" "PHYPA_020954" "PHYPA_008231" "PHYPA_028046" "PHYPA_001243" "PHYPA_001285"
 [531] "PHYPA_003752" "PHYPA_012291" "PHYPA_016009" "PHYPA_001137" "PHYPA_022107" "PHYPA_003754" "PHYPA_022412" "PHYPA_028306" "PHYPA_027109" "PHYPA_028259"
 [541] "PHYPA_007982" "PHYPA_020758" "PHYPA_011308" "PHYPA_024972" "PHYPA_009572" "PHYPA_023278" "PHYPA_001575" "PHYPA_027574" "PHYPA_010560" "PHYPA_013407"
 [551] "PHYPA_024726" "PHYPA_026416" "PHYPA_009154" "PHYPA_020697" "PHYPA_028924" "PHYPA_030749" "PHYPA_011282" "PHYPA_029407" "PHYPA_013319" "PHYPA_021402"
 [561] "PHYPA_013349" "PHYPA_006694" "PHYPA_021155" "PHYPA_008959" "PHYPA_019929" "PHYPA_027422" "PHYPA_003908" "PHYPA_024687" "PHYPA_027990" "PHYPA_020435"
 [571] "PHYPA_020016" "PHYPA_023564" "PHYPA_028127" "PHYPA_006787" "PHYPA_011510" "PHYPA_009844" "PHYPA_027885" "PHYPA_014135" "PHYPA_001138" "PHYPA_027516"
 [581] "PHYPA_027912" "PHYPA_008945" "PHYPA_000369" "PHYPA_017246" "PHYPA_031057" "PHYPA_004219" "PHYPA_025855" "PHYPA_016161" "PHYPA_030380" "PHYPA_008804"
 [591] "PHYPA_020821" "PHYPA_023910" "PHYPA_018897" "PHYPA_026371" "PHYPA_007467" "PHYPA_014623" "PHYPA_025806" "PHYPA_027420" "PHYPA_019706" "PHYPA_023563"
 [601] "PHYPA_029989" "PHYPA_027436" "PHYPA_012166" "PHYPA_000354" "PHYPA_008582" "PHYPA_005451" "PHYPA_023553" "PHYPA_003964" "PHYPA_019275" "PHYPA_019505"
 [611] "PHYPA_004668" "PHYPA_004961" "PHYPA_013125" "PHYPA_001286" "PHYPA_028373" "PHYPA_022493" "PHYPA_010977" "PHYPA_005937" "PHYPA_027642" "PHYPA_022065"
 [621] "PHYPA_001154" "PHYPA_028376" "PHYPA_014553" "PHYPA_020835" "PHYPA_016884" "PHYPA_000085" "PHYPA_027945" "PHYPA_017362" "PHYPA_000705" "PHYPA_019497"
 [631] "PHYPA_012600" "PHYPA_026744" "PHYPA_005621" "PHYPA_001979" "PHYPA_027909" "PHYPA_004104" "PHYPA_020962" "PHYPA_020290" "PHYPA_004801" "PHYPA_018580"
 [641] "PHYPA_025747" "PHYPA_012119" "PHYPA_018196" "PHYPA_018698" "PHYPA_012521" "PHYPA_019210" "PHYPA_010350" "PHYPA_013330" "PHYPA_028152" "PHYPA_011454"
 [651] "PHYPA_015647" "PHYPA_007081" "PHYPA_024219" "PHYPA_029957" "PHYPA_000934" "PHYPA_020525" "PHYPA_027428" "PHYPA_017657" "PHYPA_004711" "PHYPA_004199"
 [661] "PHYPA_013353" "PHYPA_018109" "PHYPA_004727" "PHYPA_001987" "PHYPA_019222" "PHYPA_020572" "PHYPA_014890" "PHYPA_028978" "PHYPA_020640" "PHYPA_009442"
 [671] "PHYPA_026652" "PHYPA_011076" "PHYPA_021342" "PHYPA_009869" "PHYPA_001614" "PHYPA_021121" "PHYPA_021041" "PHYPA_011121" "PHYPA_005862" "PHYPA_024178"
 [681] "PHYPA_002105" "PHYPA_000326" "PHYPA_014520" "PHYPA_010741" "PHYPA_017915" "PHYPA_010700" "PHYPA_024388" "PHYPA_029616" "PHYPA_000286" "PHYPA_030888"
 [691] "PHYPA_025756" "PHYPA_021957" "PHYPA_030137" "PHYPA_023713" "PHYPA_000196" "PHYPA_018740" "PHYPA_000492" "PHYPA_012462" "PHYPA_009270" "PHYPA_007800"
 [701] "PHYPA_028000" "PHYPA_023450" "PHYPA_005611" "PHYPA_026926" "PHYPA_025834" "PHYPA_016787" "PHYPA_024335" "PHYPA_008452" "PHYPA_008508" "PHYPA_023891"
 [711] "PHYPA_022850" "PHYPA_006478" "PHYPA_011066" "PHYPA_025895" "PHYPA_025883" "PHYPA_012905" "PHYPA_013695" "PHYPA_001759" "PHYPA_018397" "PHYPA_022185"
 [721] "PHYPA_008325" "PHYPA_019930" "PHYPA_017698" "PHYPA_023263" "PHYPA_011230" "PHYPA_002072" "PHYPA_016243" "PHYPA_030260" "PHYPA_029767" "PHYPA_007821"
 [731] "PHYPA_002891" "PHYPA_004384" "PHYPA_029891" "PHYPA_008720" "PHYPA_005363" "PHYPA_009499" "PHYPA_010730" "PHYPA_009786" "PHYPA_021316" "PHYPA_018092"
 [741] "PHYPA_022879" "PHYPA_025353" "PHYPA_015097" "PHYPA_005992" "PHYPA_020975" "PHYPA_028074" "PHYPA_029936" "PHYPA_017181" "PHYPA_007044" "PHYPA_027535"
 [751] "PHYPA_021916" "PHYPA_010934" "PHYPA_022080" "PHYPA_021442" "PHYPA_003209" "PHYPA_013587" "PHYPA_009282" "PHYPA_019176" "PHYPA_019731" "PHYPA_008819"
 [761] "PHYPA_026806" "PHYPA_023044" "PHYPA_012143" "PHYPA_022931" "PHYPA_028352" "PHYPA_013800" "PHYPA_011052" "PHYPA_005270" "PHYPA_008600" "PHYPA_013463"
 [771] "PHYPA_024649" "PHYPA_013667" "PHYPA_006593" "PHYPA_011264" "PHYPA_031218" "PHYPA_017612" "PHYPA_028819" "PHYPA_005348" "PHYPA_000108" "PHYPA_002569"
 [781] "PHYPA_019138" "PHYPA_006002" "PHYPA_024767" "PHYPA_026690" "PHYPA_001514" "PHYPA_027478" "PHYPA_018825" "PHYPA_023262" "PHYPA_001699" "PHYPA_022514"
 [791] "PHYPA_007728" "PHYPA_017110" "PHYPA_006512" "PHYPA_030054" "PHYPA_027746" "PHYPA_017733" "PHYPA_012405" "PHYPA_025068" "PHYPA_022773" "PHYPA_018546"
 [801] "PHYPA_025654" "PHYPA_021195" "PHYPA_010380" "PHYPA_025807" "PHYPA_016805" "PHYPA_007842" "PHYPA_010775" "PHYPA_023924" "PHYPA_030775" "PHYPA_023605"
 [811] "PHYPA_004588" "PHYPA_008967" "PHYPA_012010" "PHYPA_009388" "PHYPA_004534" "PHYPA_006717" "PHYPA_023352" "PHYPA_021929" "PHYPA_011819" "PHYPA_005197"
 [821] "PHYPA_022945" "PHYPA_004336" "PHYPA_019081" "PHYPA_020586" "PHYPA_030889" "PHYPA_009058" "PHYPA_020684" "PHYPA_000107" "PHYPA_015662" "PHYPA_018726"
 [831] "PHYPA_015262" "PHYPA_022764" "PHYPA_023540" "PHYPA_003815" "PHYPA_029727" "PHYPA_009997" "PHYPA_018660" "PHYPA_003897" "PHYPA_001364" "PHYPA_002147"
 [841] "PHYPA_025114" "PHYPA_008267" "PHYPA_022130" "PHYPA_029993" "PHYPA_020584" "PHYPA_010660" "PHYPA_005517" "PHYPA_012472" "PHYPA_011014" "PHYPA_010693"
 [851] "PHYPA_005249" "PHYPA_020857" "PHYPA_016044" "PHYPA_013170" "PHYPA_003321" "PHYPA_000011" "PHYPA_013690" "PHYPA_028429" "PHYPA_012431" "PHYPA_028727"
 [861] "PHYPA_009194" "PHYPA_007590" "PHYPA_028313" "PHYPA_002808" "PHYPA_007626" "PHYPA_022788" "PHYPA_024985" "PHYPA_008146" "PHYPA_009692" "PHYPA_010963"
 [871] "PHYPA_009676" "PHYPA_019908" "PHYPA_027983" "PHYPA_029188" "PHYPA_002862" "PHYPA_026189" "PHYPA_011292" "PHYPA_004527" "PHYPA_013256" "PHYPA_025010"
 [881] "PHYPA_020285" "PHYPA_025911" "PHYPA_027532" "PHYPA_016649" "PHYPA_014193" "PHYPA_001222" "PHYPA_009390" "PHYPA_029393" "PHYPA_009342" "PHYPA_003945"
 [891] "PHYPA_013201" "PHYPA_028029" "PHYPA_026790" "PHYPA_029802" "PHYPA_023589" "PHYPA_022193" "PHYPA_005076" "PHYPA_007266" "PHYPA_016623" "PHYPA_019205"
 [901] "PHYPA_018819" "PHYPA_011999" "PHYPA_015942" "PHYPA_015165" "PHYPA_020614" "PHYPA_026592" "PHYPA_011742" "PHYPA_000183" "PHYPA_012629" "PHYPA_026938"
 [911] "PHYPA_017071" "PHYPA_027670" "PHYPA_030681" "PHYPA_022658" "PHYPA_030200" "PHYPA_030787" "PHYPA_005056" "PHYPA_006569" "PHYPA_021446" "PHYPA_015574"
 [921] "PHYPA_029115" "PHYPA_020775" "PHYPA_027467" "PHYPA_022337" "PHYPA_008270" "PHYPA_011284" "PHYPA_005519" "PHYPA_026736" "PHYPA_002172" "PHYPA_005512"
 [931] "PHYPA_029750" "PHYPA_007511" "PHYPA_003093" "PHYPA_028002" "PHYPA_010409" "PHYPA_027373" "PHYPA_024796" "PHYPA_022890" "PHYPA_003322" "PHYPA_015852"
 [941] "PHYPA_015999" "PHYPA_007239" "PHYPA_023970" "PHYPA_016759" "PHYPA_028898" "PHYPA_000496" "PHYPA_018893" "PHYPA_006948" "PHYPA_012656" "PHYPA_005891"
 [951] "PHYPA_028326" "PHYPA_005971" "PHYPA_007719" "PHYPA_000989" "PHYPA_020750" "PHYPA_020283" "PHYPA_003431" "PHYPA_001997" "PHYPA_026089" "PHYPA_007853"
 [961] "PHYPA_027108" "PHYPA_004611" "PHYPA_024888" "PHYPA_000759" "PHYPA_003631" "PHYPA_029714" "PHYPA_016128" "PHYPA_000518" "PHYPA_025574" "PHYPA_015022"
 [971] "PHYPA_014595" "PHYPA_018329" "PHYPA_000111" "PHYPA_030925" "PHYPA_029259" "PHYPA_004503" "PHYPA_001552" "PHYPA_024891" "PHYPA_029552" "PHYPA_004719"
 [981] "PHYPA_023161" "PHYPA_003532" "PHYPA_012184" "PHYPA_020111" "PHYPA_007490" "PHYPA_015585" "PHYPA_006272" "PHYPA_002689" "PHYPA_017872" "PHYPA_003251"
 [991] "PHYPA_025284" "PHYPA_013553" "PHYPA_016513" "PHYPA_012120" "PHYPA_030312" "PHYPA_029338" "PHYPA_027575" "PHYPA_029717" "PHYPA_017669" "PHYPA_028817"
 [ reached getOption("max.print") -- omitted 19942 entries ]
Loading required package: CEMiTool
exp_all <- merge(as.data.frame(lfcs_wt[2]),as.data.frame(lfcs_ts[2]),by='row.names',all=TRUE)
Loading required package: CEMiTool
rownames(exp_all) <- exp_all$Row.names
Loading required package: CEMiTool
exp_all <- exp_all[-c(1)]
Loading required package: CEMiTool
exp_all <- merge(exp_all, as.data.frame(lfcs_cont[2]),by='row.names',all=TRUE)
Loading required package: CEMiTool
rownames(exp_all) <- exp_all$Row.names
Loading required package: CEMiTool
exp_all <- exp_all[-c(1)]
Loading required package: CEMiTool
exp_all <- merge(exp_all, as.data.frame(lfcs_temp[2]),by='row.names',all=TRUE)
Loading required package: CEMiTool
rownames(exp_all) <- exp_all$Row.names
Loading required package: CEMiTool
exp_all <- exp_all[-c(1)]
Loading required package: CEMiTool
colnames(exp_all) <- c('WT 32C vs WT 20C',
Loading required package: CEMiTool
                       'TS 32C vs TS 20C',
Loading required package: CEMiTool
                       'TS 20C vs WT 20C',
Loading required package: CEMiTool
                       'TS 32C vs WT 32C')
Loading required package: CEMiTool
exp_all
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- merge(as.data.frame(lfcs_wt[c(1,2,5)]),as.data.frame(lfcs_ts[c(1,2,5)]),by='row.names',all=TRUE)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(exp_all_p) <- exp_all_p$Row.names
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- exp_all_p[-c(1)]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- merge(exp_all_p, as.data.frame(lfcs_cont[c(1,2,5)]),by='row.names',all=TRUE)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(exp_all_p) <- exp_all_p$Row.names
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- exp_all_p[-c(1)]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- merge(exp_all_p, as.data.frame(lfcs_temp[c(1,2,5)]),by='row.names',all=TRUE)
Warning: column names ‘baseMean.x’, ‘log2FoldChange.x’, ‘padj.x’, ‘baseMean.y’, ‘log2FoldChange.y’, ‘padj.y’ are duplicated in the resultLoading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(exp_all_p) <- exp_all_p$Row.names
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_p <- exp_all_p[-c(1)]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
colnames(exp_all_p) <- c('WT 32C vs WT 20C (mean)','WT 32C vs WT 20C (lfc)','WT 32C vs WT 20C (padj)', 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                       'TS 32C vs TS 20C (mean)','TS 32C vs TS 20C (lfc)','TS 32C vs TS 20C (padj)',
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                       'TS 20C vs WT 20C (mean)','TS 20C vs WT 20C (lfc)','TS 20C vs WT 20C (padj)',
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
                       'TS 32C vs WT 32C (mean)','TS 32C vs WT 32C (lfc)','TS 32C vs WT 32C (padj)')
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# LFC cutoff of 1
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# PHYPA_017613
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# endo/exo
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# stomata opening/closing
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# set cutoff for 1 but for only 32C vs 32C 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# ct cutoff of 50
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
condition <- apply(exp_all, 1, function(row) any(abs(row) > 1))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_deg <- exp_all[condition,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_deg <- exp_all_deg[rowSums(!is.na(exp_all_deg)) > 0,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_temp_deg <- exp_all_deg[abs(exp_all_deg$`TS 32C vs WT 32C`) > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cts_filter <- cts[rowSums(cts > 50) > 3,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_deg <- exp_all_deg[intersect(rownames(exp_all_deg), rownames(cts_filter)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_temp_deg <- exp_temp_deg[intersect(rownames(exp_temp_deg), rownames(cts_filter)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
condition <- apply(exp_all_deg, 1, function(row) any(row > 1))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_up <- exp_all_deg[condition,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_temp_up <- exp_temp_deg[exp_temp_deg$`TS 32C vs WT 32C` > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
condition <- apply(exp_all_deg, 1, function(row) any(row < -1))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_all_dn <- exp_all_deg[condition,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
exp_temp_dn <- exp_temp_deg[exp_temp_deg$`TS 32C vs WT 32C` < -1,]
library(tidyr)
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
library(dplyr)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
refid <- read.csv("ID_ref.csv", header = F)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
allID <- merge(refid, anns, by.x="V1", by.y="Entry")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
anns_sep <- anns[-5] %>% separate_rows(Gene.Names, sep = ' ') 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
anns_sep <- anns_sep %>% filter(grepl("PHYPA", Gene.Names))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
anns_sep <- merge(anns_sep, refid, by.x="Entry", by.y="V1", all.x=T)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
anns_sep <- merge(anns_sep, exp_all_p, by.x="Gene.Names", by.y=0)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
anns_sep <- distinct(anns_sep[,c(1,2,9,10,3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21,22)])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
names(anns_sep)[names(anns_sep) == 'V2'] <- 'phytoID'
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
names(anns_sep)[names(anns_sep) == 'V3'] <- 'phytoAnnotation'
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(anns_sep, "MQP_data.csv", row.names=FALSE)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig <- anns_sep[anns_sep$Gene.Names %in% rownames(exp_all_deg),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_down <- ann_sep_sig[ann_sep_sig$`TS 32C vs WT 32C (lfc)` < -1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_down, "MQP_data_DEG_dn.csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_up <- ann_sep_sig[ann_sep_sig$`TS 32C vs WT 32C (lfc)` > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_up, "MQP_data_DEG_up.csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig <- anns_sep[anns_sep$Gene.Names %in% rownames(exp_all_deg),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_down <- ann_sep_sig[ann_sep_sig$`TS 20C vs WT 20C (lfc)` < -1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_down, "MQP_data_DEG_dn(TSvsWT20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_up <- ann_sep_sig[ann_sep_sig$`TS 20C vs WT 20C (lfc)` > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_up, "MQP_data_DEG_up(TSvsWT20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig <- anns_sep[anns_sep$Gene.Names %in% rownames(exp_all_deg),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_down <- ann_sep_sig[ann_sep_sig$`TS 32C vs TS 20C (lfc)` < -1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_down, "MQP_data_DEG_dn(TS32CvsTS20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_up <- ann_sep_sig[ann_sep_sig$`TS 32C vs TS 20C (lfc)` > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_up, "MQP_data_DEG_up(TS32CvsTS20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig <- anns_sep[anns_sep$Gene.Names %in% rownames(exp_all_deg),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_down <- ann_sep_sig[ann_sep_sig$`WT 32C vs WT 20C (lfc)` < -1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_down, "MQP_data_DEG_dn(WT32CvsWT20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ann_sep_sig_up <- ann_sep_sig[ann_sep_sig$`WT 32C vs WT 20C (lfc)` > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
write.csv(ann_sep_sig_up, "MQP_data_DEG_up(WT32CvsWT20C).csv", row.names=FALSE) 
Loading required package: CEMiTool
wt_up_ann <- anns[anns$Gene.Names..ORF. %in% rownames(wt_up),]
Loading required package: CEMiTool
wt_dn_ann <- anns[anns$Gene.Names..ORF. %in% rownames(wt_dn),]
Loading required package: CEMiTool
ts_up_ann <- anns[anns$Gene.Names..ORF. %in% rownames(ts_up),]
Loading required package: CEMiTool
ts_dn_ann <- anns[anns$Gene.Names..ORF. %in% rownames(ts_dn),]
Loading required package: CEMiTool
wt_ann <- anns[anns$Gene.Names..ORF. %in% union(rownames(wt_up), rownames(wt_dn)),]
Loading required package: CEMiTool
ts_ann <- anns[anns$Gene.Names..ORF. %in% union(rownames(ts_up), rownames(ts_dn)),]
Loading required package: CEMiTool
temp_up_ann <- anns[anns$Gene.Names..ORF. %in% rownames(temp_up),]
Loading required package: CEMiTool
temp_dn_ann <- anns[anns$Gene.Names..ORF. %in% rownames(temp_dn),]
Loading required package: CEMiTool
cont_up_ann <- anns[anns$Gene.Names..ORF. %in% rownames(cont_up),]
Loading required package: CEMiTool
cont_dn_ann <- anns[anns$Gene.Names..ORF. %in% rownames(cont_dn),]
Loading required package: CEMiTool
cont_ann <- anns[anns$Gene.Names..ORF. %in% union(rownames(cont_up), rownames(cont_dn)),]
Loading required package: CEMiTool
temp_ann <- anns[anns$Gene.Names..ORF. %in% union(rownames(temp_up), rownames(temp_dn)),]
Loading required package: CEMiTool
ct_GO <- function(anndf, ctg) {
Loading required package: CEMiTool
  a <- c()
Loading required package: CEMiTool
  if (ctg == "component"){
Loading required package: CEMiTool
    for (x in anndf$Gene.Ontology..cellular.component.){
Loading required package: CEMiTool
      a <- c(a, strsplit(x, "; ")[[1]])
Loading required package: CEMiTool
    }
Loading required package: CEMiTool
  }
Loading required package: CEMiTool
  else if (ctg == "process"){
Loading required package: CEMiTool
    for (x in anndf$Gene.Ontology..biological.process.){
Loading required package: CEMiTool
      a <- c(a, strsplit(x, "; ")[[1]])
Loading required package: CEMiTool
    }
Loading required package: CEMiTool
  }
Loading required package: CEMiTool
  else if (ctg == "function"){
Loading required package: CEMiTool
    for (x in anndf$Gene.Ontology..molecular.function.){
Loading required package: CEMiTool
      a <- c(a, strsplit(x, "; ")[[1]])
Loading required package: CEMiTool
    }  
Loading required package: CEMiTool
  }
Loading required package: CEMiTool
  df <- as.data.frame(table(a))
Loading required package: CEMiTool
  df <- df[order(df$Freq, decreasing=T),]
Loading required package: CEMiTool
  return(df)
Loading required package: CEMiTool
}
Loading required package: CEMiTool
write.csv(ct_GO(wt_up_ann, "component"), 'go_anns/wt_up_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(wt_dn_ann, "component"), 'go_anns/wt_dn_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_up_ann, "component"), 'go_anns/ts_up_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_dn_ann, "component"), 'go_anns/ts_dn_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_up_ann, "component"), 'go_anns/cont_up_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_dn_ann, "component"), 'go_anns/cont_dn_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_up_ann, "component"), 'go_anns/temp_up_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_dn_ann, "component"), 'go_anns/temp_dn_component.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(wt_up_ann, "process"), 'go_anns/wt_up_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(wt_dn_ann, "process"), 'go_anns/wt_dn_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_up_ann, "process"), 'go_anns/ts_up_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_dn_ann, "process"), 'go_anns/ts_dn_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_up_ann, "process"), 'go_anns/cont_up_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_dn_ann, "process"), 'go_anns/cont_dn_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_up_ann, "process"), 'go_anns/temp_up_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_dn_ann, "process"), 'go_anns/temp_dn_process.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(wt_up_ann, "function"), 'go_anns/wt_up_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(wt_dn_ann, "function"), 'go_anns/wt_dn_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_up_ann, "function"), 'go_anns/ts_up_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(ts_dn_ann, "function"), 'go_anns/ts_dn_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_up_ann, "function"), 'go_anns/cont_up_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(cont_dn_ann, "function"), 'go_anns/cont_dn_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_up_ann, "function"), 'go_anns/temp_up_function.csv', row.names=F)
Loading required package: CEMiTool
write.csv(ct_GO(temp_dn_ann, "function"), 'go_anns/temp_dn_function.csv', row.names=F)
Loading required package: CEMiTool
#make go term data
Loading required package: CEMiTool
godf <- data.frame(anns$Gene.Ontology.IDs, anns$Gene.Names..ORF.)
Loading required package: CEMiTool
colnames(godf) <- c("GO", "name") 
Loading required package: CEMiTool
geneForGO <- function(term) {
Loading required package: CEMiTool
  return(dplyr::filter(testdf, grepl(term, GO))$name)
Loading required package: CEMiTool
}
Loading required package: CEMiTool
allGO <- unique(strsplit(paste(anns$Gene.Ontology.IDs, collapse=";"), ';'))
Loading required package: CEMiTool
#test <- lapply(allGO[[1]], geneForGO)
Loading required package: CEMiTool
library(dplyr)
Loading required package: CEMiTool
library(pheatmap)
Loading required package: CEMiTool
# function to display heatmap of genes based on GO term
Loading required package: CEMiTool
# endo/exocytosis
Loading required package: CEMiTool
# Rab
Loading required package: CEMiTool
# GTD-binding (myosin-related) Zein-binding RISAP
Loading required package: CEMiTool
# one with all data
Loading required package: CEMiTool
# two with filtered data (50 ct or more, p value < 0.05, lfc > 1 in at least 1 condition, over/under expressed)
Loading required package: CEMiTool
mapGO <- function(df1, df2, anndf, term) {
Loading required package: CEMiTool
  anns <- dplyr::filter(anndf, grepl(term, Gene.Ontology..GO.))
Loading required package: CEMiTool
  if (dim(anns)[1] != 0){
Loading required package: CEMiTool
  names <- strsplit(paste(anns$Gene.Names..ORF., collapse=' ', sep=' '), ' ')[[1]]
Loading required package: CEMiTool
  cond1 <- strsplit(mcols(df1)[2,2], "condition ")[[1]][2]
Loading required package: CEMiTool
  cond2 <- strsplit(mcols(df2)[2,2], "condition ")[[1]][2]
Loading required package: CEMiTool
  df1 <- as.data.frame(df1[intersect(rownames(df1),names),][,2,drop=F])
Loading required package: CEMiTool
  df2 <- as.data.frame(df2[intersect(rownames(df2),names),][,2,drop=F])
Loading required package: CEMiTool
  print("hello")
Loading required package: CEMiTool
  colnames(df1) <- c(cond1)
Loading required package: CEMiTool
  colnames(df2) <- c(cond2)
Loading required package: CEMiTool
  df <- merge(df1, df2, by='row.names')
Loading required package: CEMiTool
  rownames(df) = df$Row.names
Loading required package: CEMiTool
  df <- df[,c(2,3)]
Loading required package: CEMiTool
  print(df)
Loading required package: CEMiTool
  pheatmap(as.matrix(df), 
Loading required package: CEMiTool
           display_numbers = T, 
Loading required package: CEMiTool
           breaks = seq(from = -6, to = 6, length = 101),
Loading required package: CEMiTool
           cluster_col = F,
Loading required package: CEMiTool
           cluster_row = F)
Loading required package: CEMiTool
  }
Loading required package: CEMiTool
}
#combine all GO Terms
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
allGO <- rbind(func_df, comp_df, proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
goGenes <- function(goid) {
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  return(allGO[grep(goid, allGO$GO_Terms),]$Genes[[1]])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
} 
# standard function for heatmap figures
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# input should always have PHYPA_XXXXXXXX row name format
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap <- function(mapdf, fname, lbls = rownames(mapdf)) {
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  mapdf <- mapdf[rowSums(!is.na(mapdf)) > 0,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  png(paste("results_graphs/", fname, ".png", sep=''), 960, 1600)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  pheatmap(mapdf,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           display_numbers = T,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           labels_row = lbls,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           breaks = seq(from = -6, to = 6, length. = 101),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           cluster_col = F,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           cluster_row = F,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           cellwidth = 50,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           cellheight = 30,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           fontsize = 12,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           main = gsub("_", " ", fname),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
           angle_col = 45)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  dev.off()
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  write.csv(anns_sep[sapply(strsplit(anns_sep$Gene.Names, " "), function(ids) any(ids %in% rownames(mapdf))), ],
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
            paste("results_graphs/tables/", fname, ".csv"))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  View(anns_sep[sapply(strsplit(anns_sep$Gene.Names, " "), function(ids) any(ids %in% rownames(mapdf))), ])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
}
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# useful templates
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# figmap(exp_all[goGenes(goID),])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# figmap(exp_all_deg[goGenes(goID),])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# figmap(head(exp_all[order(exp_all$`WT 32C vs WT 20C`),], 10))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# 50 count cutoff
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
get_matching_ids <- function(gene_list) {
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  # Find the row indices for the matching gene_list in Format1
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  matched_indices <- which(anns_sep$Gene.Names %in% gene_list)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  # Retrieve the corresponding IDs from Format2
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  matched_ids_format2 <- anns_sep$phytoID[matched_indices]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  # Order the matched IDs based on the order of gene_list
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  ordered_matched_ids <- matched_ids_format2[match(gene_list, anns_sep$Gene.Names[matched_indices])]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  return(ordered_matched_ids)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
}
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- head(exp_all_deg[order(-exp_all_deg$`TS 32C vs WT 32C`),], 10)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "Top_10_Upregulated", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- head(exp_all_deg[order(-exp_all_deg$`TS 20C vs WT 20C`),], 10)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "Top_10_Upregulated20C", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- head(exp_all_deg[order(exp_all_deg$`TS 32C vs WT 32C`),], 10)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "Top_10_Downregulated", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- head(exp_all_deg[order(exp_all_deg$`TS 20C vs WT 20C`),], 10)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "Top_10_Downregulated20C", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all[intersect(goGenes("GO:0034605"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "cellular_response_to_heat", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
       
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0009408"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "response_to_heat", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all[intersect(goGenes("GO:0006897"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "endocytosis", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all[intersect(goGenes("GO:0080115"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "myosin_XI_tail_binding", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0006457"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "protein_folding", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0042542"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "response_to_peroxide", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0009651"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "response_to_salt_stress", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0051085"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "chaperone_cofactor-dependent_protein_refolding", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0009653"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "anatomical_structure_morphogenesis", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dfToMap <- exp_all_deg[intersect(goGenes("GO:0000145"), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
figmap(dfToMap, "exocyst", get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
pattern <- "sec[0-9]"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
plotTableAll <- function(goID, fname) {
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  dfToMap <- exp_all_deg[intersect(goGenes(goID), rownames(exp_all_deg)),]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  dfToMap <- dfToMap[abs(dfToMap$`TS 32C vs WT 32C`) > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  figmap(dfToMap, gsub(" ", "_", fname), get_matching_ids(rownames(dfToMap)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
}
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
IDlist <- c("GO:0044183", "GO:0140662", "GO:0016887", "GO:0004097", "GO:0015979",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
            "GO:0030955","GO:0004743", "GO:0016301", "GO:0000287")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
fnamelist <- c("protein folding chaperone", "ATP-dependent protein folding chaperone",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
               "ATP hydrolysis activity", "catechol oxidase activity", "photosynthesis",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
               "potassium ion binding", "pyruvate kinase activity", "kinase activity", "magnesium ion binding")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
IDlist <- c("GO:0030955","GO:0004743", "GO:0016301", "GO:0000287")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
fnamelist <- c("potassium ion binding", "pyruvate kinase activity", "kinase activity", "magnesium ion binding")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
IDlist <- c("GO:0006979", "GO:0042744", "GO:0006952", "GO:0019253")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
fnamelist <- c("response to oxidative stress", "hydrogen peroxide catabolic process", "defense response", "reductive pentose-phosphate cycle")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
IDlist <- c("GO:0004097", "GO:0044183", "GO:0140662", "GO:0016887",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
            "GO:0006952", "GO:0006979", "GO:0019253")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
fnamelist <- c("catechol oxidase activity", "protein folding chaperone", "ATP-dependent protein folding chaperone",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
               "ATP hydrolysis activity", "defense response", "response to oxidative stress",
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
               "reductive pentose-phosphate cycle")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
for (i in 1:length(IDlist)) {
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  plotTableAll(IDlist[i], fnamelist[i])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
}
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png("expAllFilter.png", width = 960, height = 4800)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
pheatmap(exp_all_deg,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         breaks = seq(from = -6, to = 6, length. = 101),
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         show_rownames = F,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cellwidth = 80,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cellheight = 1,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cluster_col = F,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cluster_row = F,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         fontsize = 40)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# PHYPA_006542 uunfolded protein binding
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# PHYPA_029681 protein folding chaperone
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# "PHYPA_024107" "PHYPA_005006" "PHYPA_002127" "PHYPA_016522" ATP-dependent protein folding chaperone
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# "PHYPA_006670" "PHYPA_006542" protein folding chaperone binding
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# GO:0016887 ATP hydrolysis activity
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
# "PHYPA_026218" catechol oxidase activity
rows_with_string <- function(df, search_string) {
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  apply(df, 1, function(row) any(grepl(search_string, row, fixed = TRUE)))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
}
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#plasma membrane
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_up_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_dn_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_up_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_dn_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_up_ann, "GO:0005886")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_dn_ann, "GO:0005886")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_up_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_dn_ann, "GO:0005886")
[1] "hello"

Loading required package: CEMiTool
#membrane
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_up_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_dn_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_up_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_dn_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_up_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_dn_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_up_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_dn_ann, "GO:0016020")
[1] "hello"

Loading required package: CEMiTool
#vacuolar membrane
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_up_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_dn_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_up_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_dn_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_up_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_dn_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_up_ann, "GO:0005774")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_dn_ann, "GO:0005774")
Loading required package: CEMiTool
#plant-type cell wall
Loading required package: CEMiTool
#free radicals and tip growth
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_up_ann, "GO:0009505")
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, wt_dn_ann, "GO:0009505")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_up_ann, "GO:0009505")
Loading required package: CEMiTool
mapGO(lfcs_wt, lfcs_ts, ts_dn_ann, "GO:0009505")
[1] "hello"

Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_up_ann, "GO:0009505")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, cont_dn_ann, "GO:0009505")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_up_ann, "GO:0009505")
Loading required package: CEMiTool
mapGO(lfcs_temp, lfcs_cont, temp_dn_ann, "GO:0009505")
[1] "hello"

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
sig_temp <- lfcs_temp[abs(lfcs_temp$log2FoldChange) > 1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/peroxidase.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0004601") #peroxidase activity
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/lactoperoxidase.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0140825") #lactoperoxidase activity
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/oxidative_stress.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0006979") #response to oxidative stress
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename='plots/GO/cyclin.png')
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0030332") #cyclin binding
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/reg_expression.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0010468") #reg gene expression
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/organic.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0010033") #response to organic substance
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/G1_S.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0000082") #G1/S
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/extracellular.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0005576") #extracellular region
[1] "hello"
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt <- as.data.frame(lfcs_wt[,2])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts <- as.data.frame(lfcs_ts[,2])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont <- as.data.frame(lfcs_cont[,2])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp <- as.data.frame(lfcs_temp[,2])
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
print(head(cont))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
df1 <- merge(wt, ts, by="row.names")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
df2 <- merge(cont, temp, by="row.names")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
df <- merge(df1, df2, by="Row.names")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
rownames(df) <- df$Row.names
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
df <- df[,2:5]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
colnames(df) <- c("TS", "WT", "20C", "32C")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
df <- df %>% filter_all(any_vars(abs(.) > 1))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
print(head(df))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="heatmaps/heatmap_all.png", width=480, height=1000)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
pheatmap(df, 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         treeheight_row = 0,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         treeheight_col = 0,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cellwidth = 60,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         cellheight = 0.5,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         breaks = seq(from = -3, to = 3, length = 101), 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         show_rownames = FALSE,
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
         fontsize = 20)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0140825")
[1] "hello"

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0004601")
[1] "hello"

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
mapGO(sig_temp, lfcs_cont, anns, "GO:0020037")
[1] "hello"

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
library(dplyr)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
library(tidyr)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
library(clusterProfiler)
Warning: package ‘clusterProfiler’ was built under R version 4.1.2Registered S3 methods overwritten by 'treeio':
  method              from    
  MRCA.phylo          tidytree
  MRCA.treedata       tidytree
  Nnode.treedata      tidytree
  Ntip.treedata       tidytree
  ancestor.phylo      tidytree
  ancestor.treedata   tidytree
  child.phylo         tidytree
  child.treedata      tidytree
  full_join.phylo     tidytree
  full_join.treedata  tidytree
  groupClade.phylo    tidytree
  groupClade.treedata tidytree
  groupOTU.phylo      tidytree
  groupOTU.treedata   tidytree
  is.rooted.treedata  tidytree
  nodeid.phylo        tidytree
  nodeid.treedata     tidytree
  nodelab.phylo       tidytree
  nodelab.treedata    tidytree
  offspring.phylo     tidytree
  offspring.treedata  tidytree
  parent.phylo        tidytree
  parent.treedata     tidytree
  root.treedata       tidytree
  rootnode.phylo      tidytree
  sibling.phylo       tidytree
Registered S3 method overwritten by 'ggtree':
  method      from 
  identify.gg ggfun
clusterProfiler v4.2.2  For help: https://yulab-smu.top/biomedical-knowledge-mining-book/

If you use clusterProfiler in published research, please cite:
T Wu, E Hu, S Xu, M Chen, P Guo, Z Dai, T Feng, L Zhou, W Tang, L Zhan, X Fu, S Liu, X Bo, and G Yu. clusterProfiler 4.0: A universal enrichment tool for interpreting omics data. The Innovation. 2021, 2(3):100141

Attaching package: ‘clusterProfiler’

The following object is masked from ‘package:IRanges’:

    slice

The following object is masked from ‘package:S4Vectors’:

    rename

The following object is masked from ‘package:stats’:

    filter

Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
library(enrichplot)
Warning: package ‘enrichplot’ was built under R version 4.1.2Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
test <- data.frame(Gene = anns$Gene.Names..ORF., GO_Terms = anns$Gene.Ontology..cellular.component.)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(test)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
gene_df <- test %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  separate_rows(GO_Terms, sep = "; ") %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  mutate(GO_Terms = trimws(GO_Terms))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
result_df <- gene_df %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  group_by(GO_Terms) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  summarize(Genes = list(unique(Gene))) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  ungroup()
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
comp_df <- result_df[-1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
test <- data.frame(Gene = anns$Gene.Names..ORF., GO_Terms = anns$Gene.Ontology..biological.process.)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(test)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
gene_df <- test %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  separate_rows(GO_Terms, sep = "; ") %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  mutate(GO_Terms = trimws(GO_Terms))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
result_df <- gene_df %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  group_by(GO_Terms) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  summarize(Genes = list(unique(Gene))) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  ungroup()
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
proc_df <- result_df[-1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
test <- data.frame(Gene = anns$Gene.Names..ORF., GO_Terms = anns$Gene.Ontology..molecular.function.)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(test)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
gene_df <- test %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  separate_rows(GO_Terms, sep = "; ") %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  mutate(GO_Terms = trimws(GO_Terms))
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
result_df <- gene_df %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  group_by(GO_Terms) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  summarize(Genes = list(unique(Gene))) %>%
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
  ungroup()
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
func_df <- result_df[-1,]
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(func_df)
NA
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_up_func <- enricher(gene = wt_up_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_up_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_up_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_up_func, title="GO Enrichment by Function (wt_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_up_comp <- enricher(gene = wt_up_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_up_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_up_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_up_comp, title="GO Enrichment by Component (wt_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_up_proc <- enricher(gene = wt_up_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_up_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_up_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_up_proc, title="GO Enrichment by Process (wt_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_dn_func <- enricher(gene = wt_dn_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_dn_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_dn_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(wt_dn_func, title="GO Enrichment by Function (wt_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_dn_comp <- enricher(gene = wt_dn_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_dn_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_dn_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(wt_dn_comp, title="GO Enrichment by Component (wt_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_dn_proc <- enricher(gene = wt_dn_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_dn_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_dn_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(wt_dn_proc, title="GO Enrichment by Process (wt_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_func <- enricher(gene = wt_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_func, title="GO Enrichment by Function (wt)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_comp <- enricher(gene = wt_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_comp, title="GO Enrichment by Component (wt)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
wt_proc <- enricher(gene = wt_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(wt_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/wt_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(wt_proc, title="GO Enrichment by Process (wt)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_up_func <- enricher(gene = ts_up_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_up_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_up_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_up_func, title="GO Enrichment by Function (ts_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_up_comp <- enricher(gene = ts_up_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_up_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_up_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_up_comp, title="GO Enrichment by Component (ts_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_up_proc <- enricher(gene = ts_up_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_up_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_up_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_up_proc, title="GO Enrichment by Process (ts_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_dn_func <- enricher(gene = ts_dn_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_dn_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_dn_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(ts_dn_func, title="GO Enrichment by Function (ts_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_dn_comp <- enricher(gene = ts_dn_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_dn_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_dn_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_dn_comp, title="GO Enrichment by Component (ts_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_dn_proc <- enricher(gene = ts_dn_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_dn_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_dn_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(ts_dn_proc, title="GO Enrichment by Process (ts_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_func <- enricher(gene = ts_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_func, title="GO Enrichment by Function (ts)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_comp <- enricher(gene = ts_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_dn_comp, title="GO Enrichment by Component (ts)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
ts_proc <- enricher(gene = ts_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(ts_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/ts_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(ts_proc, title="GO Enrichment by Process (ts)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_up_func <- enricher(gene = cont_up_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_up_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_up_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_up_func, title="GO Enrichment by Function (cont_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_up_comp <- enricher(gene = cont_up_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_up_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_up_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(cont_up_comp, title="GO Enrichment by Component (cont_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_up_proc <- enricher(gene = cont_up_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_up_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_up_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_up_proc, title="GO Enrichment by Process (cont_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_dn_func <- enricher(gene = cont_dn_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_dn_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_dn_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_dn_func, title="GO Enrichment by Function (cont_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_dn_comp <- enricher(gene = cont_dn_ann$Gene.Names..ORF., TERM2GENE = comp_df)
No gene sets have size between 10 and 500 ...
--> return NULL...
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_dn_comp)
NULL
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_dn_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
#barplot(cont_dn_comp, title="GO Enrichment by Component (cont_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_dn_proc <- enricher(gene = cont_dn_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_dn_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_dn_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_dn_proc, title="GO Enrichment by Process (cont_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_func <- enricher(gene = cont_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_func, title="GO Enrichment by Function (cont)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_comp <- enricher(gene = cont_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_comp, title="GO Enrichment by Component (cont)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
cont_proc <- enricher(gene = cont_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(cont_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/cont_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(cont_proc, title="GO Enrichment by Process (cont)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_up_func <- enricher(gene = temp_up_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_up_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_up_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_up_func, title="GO Enrichment by Function (temp_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_up_comp <- enricher(gene = temp_up_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_up_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_up_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_up_comp, title="GO Enrichment by Component (temp_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_up_proc <- enricher(gene = temp_up_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_up_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_up_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_up_proc, title="GO Enrichment by Process (temp_up)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_dn_func <- enricher(gene = temp_dn_ann$Gene.Names..ORF., TERM2GENE = func_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_dn_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_dn_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_dn_func, title="GO Enrichment by Function (temp_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_dn_comp <- enricher(gene = temp_dn_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_dn_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_dn_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_dn_comp, title="GO Enrichment by Component (temp_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_dn_proc <- enricher(gene = temp_dn_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_dn_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_dn_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_dn_proc, title="GO Enrichment by Process (temp_dn)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_func <- enricher(gene = temp_ann$Gene.Names..ORF., TERM2GENE = func_df, pvalueCutoff = 0.05)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_func)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_func.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_func, title="GO Enrichment by Function (temp)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_comp <- enricher(gene = temp_ann$Gene.Names..ORF., TERM2GENE = comp_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_comp)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_comp.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_dn_comp, title="GO Enrichment by Component (temp)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
temp_proc <- enricher(gene = temp_ann$Gene.Names..ORF., TERM2GENE = proc_df)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
head(temp_proc)
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
png(filename="plots/GO/temp_proc.png")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
barplot(temp_proc, title="GO Enrichment by Process (temp)")
Loading required package: CEMiTool
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘CEMiTool’
dev.off()
null device 
          1 
LS0tCnRpdGxlOiAiTVFQIFJOQS1zZXEgYW5hbHlzaXMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCmBgYHtyfQpsaWJyYXJ5KERFU2VxMikKa25pdHI6Om9wdHNfY2h1bmskc2V0KHdhcm5pbmcgPSBGQUxTRSwgbWVzc2FnZSA9IEZBTFNFKQp3dF9jdHMgPC0gcmVhZC5jc3YoImNvdW50c193dC5jc3YiKQpyb3duYW1lcyh3dF9jdHMpIDwtIHd0X2N0cyRnZW5lCnd0X2N0cyA8LSBzdWJzZXQod3RfY3RzLCBzZWxlY3QgPSAtYyhYLCBnZW5lKSkKaGVhZCh3dF9jdHMpCgp0c19jdHMgPC0gcmVhZC5jc3YoImNvdW50c190cy5jc3YiKQpyb3duYW1lcyh0c19jdHMpIDwtIHRzX2N0cyRnZW5lCnRzX2N0cyA8LSBzdWJzZXQodHNfY3RzLCBzZWxlY3QgPSAtYyhYLCBnZW5lKSkKaGVhZCh0c19jdHMpCgpjb250X2N0cyA8LSByZWFkLmNzdigiY291bnRzX2NvbnQuY3N2IikKcm93bmFtZXMoY29udF9jdHMpIDwtIGNvbnRfY3RzJGdlbmUKY29udF9jdHMgPC0gc3Vic2V0KGNvbnRfY3RzLCBzZWxlY3QgPSAtYyhYLCBnZW5lKSkKaGVhZChjb250X2N0cykKCnRlbXBfY3RzIDwtIHJlYWQuY3N2KCJjb3VudHNfdGVtcC5jc3YiKQpyb3duYW1lcyh0ZW1wX2N0cykgPC0gdGVtcF9jdHMkZ2VuZQp0ZW1wX2N0cyA8LSBzdWJzZXQodGVtcF9jdHMsIHNlbGVjdCA9IC1jKFgsIGdlbmUpKQpoZWFkKHRlbXBfY3RzKQoKY3RzIDwtIHJlYWQuY3N2KCJjb3VudHMuY3N2IikKcm93bmFtZXMoY3RzKSA8LSBjdHMkZ2VuZQpjdHMgPC0gc3Vic2V0KGN0cywgc2VsZWN0ID0gLWMoWCwgZ2VuZSkpCmhlYWQoY3RzKQpgYGAKCmBgYHtyfQp3dF90YWIgPC0gcmVhZC5jc3YoInd0X3RhYmxlLmNzdiIsIHJvdy5uYW1lcz0xKQp3dF90YWIKCnRzX3RhYiA8LSByZWFkLmNzdigidHNfdGFibGUuY3N2Iiwgcm93Lm5hbWVzPTEpCnRzX3RhYgoKY29udF90YWIgPC0gcmVhZC5jc3YoImNvbnRfdGFibGUuY3N2Iiwgcm93Lm5hbWVzPTEpCmNvbnRfdGFiCgp0ZW1wX3RhYiA8LSByZWFkLmNzdigidGVtcF90YWJsZS5jc3YiLCByb3cubmFtZXM9MSkKCnRhYiA8LSByYmluZCh3dF90YWIsIHRzX3RhYikKdGFiCmBgYApgYGB7cn0Kc21hbGxlc3RHcm91cFNpemUgPC0gMwoKZGRzX3d0IDwtIERFU2VxRGF0YVNldEZyb21NYXRyaXgoY291bnREYXRhID0gd3RfY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xEYXRhID0gd3RfdGFiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ24gPSB+IGNvbmRpdGlvbikKZGRzX3d0CmRkc193dCRjb25kaXRpb24KCmRkc190cyA8LSBERVNlcURhdGFTZXRGcm9tTWF0cml4KGNvdW50RGF0YSA9IHRzX2N0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sRGF0YSA9IHRzX3RhYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduID0gfiBjb25kaXRpb24pCmRkc190cwpkZHNfdHMkY29uZGl0aW9uCgpkZHNfY29udCA8LSBERVNlcURhdGFTZXRGcm9tTWF0cml4KGNvdW50RGF0YSA9IGNvbnRfY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbERhdGEgPSBjb250X3RhYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ24gPSB+IGNvbmRpdGlvbikKCmRkc190ZW1wIDwtIERFU2VxRGF0YVNldEZyb21NYXRyaXgoY291bnREYXRhID0gdGVtcF9jdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sRGF0YSA9IHRlbXBfdGFiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbiA9IH4gY29uZGl0aW9uKQoKZGRzIDwtIERFU2VxRGF0YVNldEZyb21NYXRyaXgoY291bnREYXRhID0gY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xEYXRhID0gdGFiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ24gPSB+IGNvbmRpdGlvbikKZGRzCmBgYAoKYGBge3J9CmRkc193dCRjb25kaXRpb24gPC0gZmFjdG9yKGRkc193dCRjb25kaXRpb24pCmRkc193dCRjb25kaXRpb24gPC0gcmVsZXZlbChkZHNfd3QkY29uZGl0aW9uLCByZWY9Ind0IikKZGRzX3d0IDwtIERFU2VxKGRkc193dCkKcmVzX3d0IDwtIHJlc3VsdHMoZGRzX3d0KQpyZXNfd3QgPC0gcmVzX3d0W29yZGVyKHJlc193dCRsb2cyRm9sZENoYW5nZSksXQpyZXNfd3QKCmRkc190cyRjb25kaXRpb24gPC0gZmFjdG9yKGRkc190cyRjb25kaXRpb24pCmRkc190cyRjb25kaXRpb24gPC0gcmVsZXZlbChkZHNfdHMkY29uZGl0aW9uLCByZWY9InRzIikKZGRzX3RzIDwtIERFU2VxKGRkc190cykKcmVzX3RzIDwtIHJlc3VsdHMoZGRzX3RzKQpyZXNfdHMgPC0gcmVzX3RzW29yZGVyKHJlc190cyRsb2cyRm9sZENoYW5nZSksXQpyZXNfdHMKCmRkc19jb250JGNvbmRpdGlvbiA8LSBmYWN0b3IoZGRzX2NvbnQkY29uZGl0aW9uKQpkZHNfY29udCRjb25kaXRpb24gPC0gcmVsZXZlbChkZHNfY29udCRjb25kaXRpb24sIHJlZj0id3QiKQpkZHNfY29udCA8LSBERVNlcShkZHNfY29udCkKcmVzX2NvbnQgPC0gcmVzdWx0cyhkZHNfY29udCkKcmVzX2NvbnQgPC0gcmVzX2NvbnRbb3JkZXIocmVzX2NvbnQkbG9nMkZvbGRDaGFuZ2UpLF0KcmVzX2NvbnQKCmRkc190ZW1wJGNvbmRpdGlvbiA8LSBmYWN0b3IoZGRzX3RlbXAkY29uZGl0aW9uKQpkZHNfdGVtcCRjb25kaXRpb24gPC0gcmVsZXZlbChkZHNfdGVtcCRjb25kaXRpb24sIHJlZj0id3RIZWF0IikKZGRzX3RlbXAgPC0gREVTZXEoZGRzX3RlbXApCnJlc190ZW1wIDwtIHJlc3VsdHMoZGRzX3RlbXApCnJlc190ZW1wIDwtIHJlc190ZW1wW29yZGVyKHJlc190ZW1wJGxvZzJGb2xkQ2hhbmdlKSxdCnJlc190ZW1wCgpkZHMgPC0gREVTZXEoZGRzKQpgYGAKCmBgYHtyfQpsZmNzX3d0IDwtIGxmY1NocmluayhkZHNfd3QsIGNvZWY9cGFzdGUoImNvbmRpdGlvbl93dEhlYXRfdnNfd3QiLCBzZXA9IiIpLCB0eXBlPSJhcGVnbG0iKQpsZmNzX3d0IDwtIGxmY3Nfd3Rbb3JkZXIobGZjc193dCRsb2cyRm9sZENoYW5nZSksXQpsZmNzX3d0CgpsZmNzX3RzIDwtIGxmY1NocmluayhkZHNfdHMsIGNvZWY9cGFzdGUoImNvbmRpdGlvbl90c0hlYXRfdnNfdHMiLCBzZXA9IiIpLCB0eXBlPSJhcGVnbG0iKQpsZmNzX3RzIDwtIGxmY3NfdHNbb3JkZXIobGZjc190cyRsb2cyRm9sZENoYW5nZSksXQpsZmNzX3RzCgoKbGZjc19jb250IDwtIGxmY1NocmluayhkZHNfY29udCwgY29lZj1wYXN0ZSgiY29uZGl0aW9uX3RzX3ZzX3d0Iiwgc2VwPSIiKSwgdHlwZT0iYXBlZ2xtIikKbGZjc19jb250IDwtIGxmY3NfY29udFtvcmRlcihsZmNzX2NvbnQkbG9nMkZvbGRDaGFuZ2UpLF0KbGZjc19jb250CgpsZmNzX3RlbXAgPC0gbGZjU2hyaW5rKGRkc190ZW1wLCBjb2VmPXBhc3RlKCJjb25kaXRpb25fdHNIZWF0X3ZzX3d0SGVhdCIsIHNlcD0iIiksIHR5cGU9ImFwZWdsbSIpCmxmY3NfdGVtcCA8LSBsZmNzX3RlbXBbb3JkZXIobGZjc190ZW1wJGxvZzJGb2xkQ2hhbmdlKSxdCmxmY3NfdGVtcApgYGAKCmBgYHtyfQphbHBoYSA8LSAwLjAxCgpjb2xzIDwtIGRlbnNDb2xzKGxmY3Nfd3QkbG9nMkZvbGRDaGFuZ2UsIC1sb2cxMChsZmNzX3d0JHBhZGopKQpjb2xzW2xmY3Nfd3QkcHZhbHVlID09MF0gPC0gInB1cnBsZSIKbGZjc193dCRwY2ggPC0gMTkKbGZjc193dCRwY2hbbGZjc193dCRwdmFsdWUgPT0wXSA8LSA2CgpwbG90KGxmY3Nfd3QkbG9nMkZvbGRDaGFuZ2UsCiAgICAgLWxvZzEwKGxmY3Nfd3QkcGFkaiksCiAgICAgY29sPWNvbHMsIHBhbmVsLmZpcnN0PWdyaWQoKSwKICAgICBtYWluPSJXVCBhdCAzMiBDIHZzIDIwIEMiLAogICAgIHhsYWI9IkVmZmVjdCBzaXplOiBsb2cyKGZvbGQtY2hhbmdlKSIsCiAgICAgeWxhYj0iLWxvZzEwKGFkanVzdGVkIHAtdmFsdWUpIiwKICAgICB4bGltPWMoLTYsNiksCiAgICAgeWxpbT1jKDAsMTAwKSwKICAgICBwY2g9bGZjc193dCRwY2gsIGNleD0wLjQpCmFibGluZSh2PTApCmFibGluZSh2PWMoLTEsMSksIGNvbD0iYnJvd24iKQphYmxpbmUoaD0tbG9nMTAoYWxwaGEpLCBjb2w9ImJyb3duIikKCgpjb2xzIDwtIGRlbnNDb2xzKGxmY3NfdHMkbG9nMkZvbGRDaGFuZ2UsIC1sb2cxMChsZmNzX3RzJHBhZGopKQpjb2xzW2xmY3NfdHMkcHZhbHVlID09MF0gPC0gInB1cnBsZSIKbGZjc190cyRwY2ggPC0gMTkKbGZjc190cyRwY2hbbGZjc190cyRwdmFsdWUgPT0wXSA8LSA2CgpwbG90KGxmY3NfdHMkbG9nMkZvbGRDaGFuZ2UsCiAgICAgLWxvZzEwKGxmY3NfdHMkcGFkaiksCiAgICAgY29sPWNvbHMsIHBhbmVsLmZpcnN0PWdyaWQoKSwKICAgICBtYWluPSJUUyBhdCAzMiBDIHZzIDIwIEMiLAogICAgIHhsYWI9IkVmZmVjdCBzaXplOiBsb2cyKGZvbGQtY2hhbmdlKSIsCiAgICAgeWxhYj0iLWxvZzEwKGFkanVzdGVkIHAtdmFsdWUpIiwKICAgICB4bGltPWMoLTYsNiksCiAgICAgeWxpbT1jKDAsMTAwKSwKICAgICBwY2g9bGZjc190cyRwY2gsIGNleD0wLjQpCmFibGluZSh2PTApCmFibGluZSh2PWMoLTEsMSksIGNvbD0iYnJvd24iKQphYmxpbmUoaD0tbG9nMTAoYWxwaGEpLCBjb2w9ImJyb3duIikKCgpjb2xzIDwtIGRlbnNDb2xzKGxmY3NfY29udCRsb2cyRm9sZENoYW5nZSwgLWxvZzEwKGxmY3NfY29udCRwYWRqKSkKY29sc1tsZmNzX2NvbnQkcHZhbHVlID09MF0gPC0gInB1cnBsZSIKbGZjc19jb250JHBjaCA8LSAxOQpsZmNzX2NvbnQkcGNoW2xmY3NfY29udCRwdmFsdWUgPT0wXSA8LSA2CgpwbG90KGxmY3NfY29udCRsb2cyRm9sZENoYW5nZSwKICAgICAtbG9nMTAobGZjc19jb250JHBhZGopLAogICAgIGNvbD1jb2xzLCBwYW5lbC5maXJzdD1ncmlkKCksCiAgICAgbWFpbj0iVFMgdnMgV1QgYXQgMjAgQyIsCiAgICAgeGxhYj0iRWZmZWN0IHNpemU6IGxvZzIoZm9sZC1jaGFuZ2UpIiwKICAgICB5bGFiPSItbG9nMTAoYWRqdXN0ZWQgcC12YWx1ZSkiLAogICAgIHhsaW09YygtNiw2KSwKICAgICB5bGltPWMoMCwxMDApLAogICAgIHBjaD1sZmNzX2NvbnQkcGNoLCBjZXg9MC40KQphYmxpbmUodj0wKQphYmxpbmUodj1jKC0xLDEpLCBjb2w9ImJyb3duIikKYWJsaW5lKGg9LWxvZzEwKGFscGhhKSwgY29sPSJicm93biIpCgoKY29scyA8LSBkZW5zQ29scyhsZmNzX3RlbXAkbG9nMkZvbGRDaGFuZ2UsIC1sb2cxMChsZmNzX3RlbXAkcGFkaikpCmNvbHNbbGZjc190ZW1wJHB2YWx1ZSA9PTBdIDwtICJwdXJwbGUiCmxmY3NfdGVtcCRwY2ggPC0gMTkKbGZjc190ZW1wJHBjaFtsZmNzX3RlbXAkcHZhbHVlID09MF0gPC0gNgoKcGxvdChsZmNzX3RlbXAkbG9nMkZvbGRDaGFuZ2UsCiAgICAgLWxvZzEwKGxmY3NfdGVtcCRwYWRqKSwKICAgICBjb2w9Y29scywgcGFuZWwuZmlyc3Q9Z3JpZCgpLAogICAgIG1haW49IlRTIHZzIFdUIGF0IDMyIEMiLAogICAgIHhsYWI9IkVmZmVjdCBzaXplOiBsb2cyKGZvbGQtY2hhbmdlKSIsCiAgICAgeWxhYj0iLWxvZzEwKGFkanVzdGVkIHAtdmFsdWUpIiwKICAgICB4bGltPWMoLTYsNiksCiAgICAgeWxpbT1jKDAsMTAwKSwKICAgICBwY2g9bGZjc190ZW1wJHBjaCwgY2V4PTAuNCkKYWJsaW5lKHY9MCkKYWJsaW5lKHY9YygtMSwxKSwgY29sPSJicm93biIpCmFibGluZShoPS1sb2cxMChhbHBoYSksIGNvbD0iYnJvd24iKQpgYGAKCmBgYHtyfQpwbG90TUEobGZjc193dCwgbWFpbj0iV1QgMzIgQyB2cyBXVCAyMCBDIiwgeWxpbT1jKC01LCA1KSkKCnBsb3RNQShsZmNzX3RzLCBtYWluPSJUUyAzMiBDIHZzIFRTIDIwIEMiLCB5bGltPWMoLTUsIDUpKQoKcGxvdE1BKGxmY3NfY29udCwgbWFpbj0iVFMgMjAgQyB2cyBXVCAyMCBDIiwgeWxpbT1jKC01LCA1KSkKCnBsb3RNQShsZmNzX3RlbXAsIG1haW49IlRTIDMyIEMgdnMgV1QgMzIgQyIsIHlsaW09YygtNSwgNSkpCgpgYGAKCmBgYHtyfQoKcGx0IDwtIHBsb3RQQ0EodnN0KGRkcykpCnByaW50KHBsdCkKCmBgYAoKYGBge3J9CiMgZmlsdGVyIGJ5IHVwL2Rvd24gZm9yIGVhY2ggY2F0ZWdvcnkKbGZjc193dCA8LSBuYS5vbWl0KGxmY3Nfd3QpCmxmY3NfdHMgPC0gbmEub21pdChsZmNzX3RzKQpsZmNzX2NvbnQgPC0gbmEub21pdChsZmNzX2NvbnQpCmxmY3NfdGVtcCA8LSBuYS5vbWl0KGxmY3NfdGVtcCkKCmxmY0N1dG9mZiA8LSAyCgp3dF91cCA8LSBsZmNzX3d0W2xmY3Nfd3QkbG9nMkZvbGRDaGFuZ2UgPiBsZmNDdXRvZmYsXQp3dF91cAp3dF9kbiA8LSBsZmNzX3d0W2xmY3Nfd3QkbG9nMkZvbGRDaGFuZ2UgPCAtMSpsZmNDdXRvZmYsXQp3dF9kbgoKdHNfdXAgPC0gbGZjc190c1tsZmNzX3RzJGxvZzJGb2xkQ2hhbmdlID4gbGZjQ3V0b2ZmLF0KdHNfdXAKdHNfZG4gPC0gbGZjc190c1tsZmNzX3RzJGxvZzJGb2xkQ2hhbmdlIDwgLTEqbGZjQ3V0b2ZmLF0KdHNfZG4KCmNvbnRfdXAgPC0gbGZjc19jb250W2xmY3NfY29udCRsb2cyRm9sZENoYW5nZSA+IGxmY0N1dG9mZixdCmNvbnRfdXAKY29udF9kbiA8LSBsZmNzX2NvbnRbbGZjc19jb250JGxvZzJGb2xkQ2hhbmdlIDwgLTEqbGZjQ3V0b2ZmLF0KY29udF9kbgoKdGVtcF91cCA8LSBsZmNzX3RlbXBbbGZjc190ZW1wJGxvZzJGb2xkQ2hhbmdlID4gbGZjQ3V0b2ZmLF0KdGVtcF91cAp0ZW1wX2RuIDwtIGxmY3NfdGVtcFtsZmNzX3RlbXAkbG9nMkZvbGRDaGFuZ2UgPCAtMSpsZmNDdXRvZmYsXQp0ZW1wX2RuCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0KbGlicmFyeShWZW5uRGlhZ3JhbSkKbGVuZ3RoKHJvd25hbWVzKHd0X3VwKSkKbGVuZ3RoKHJvd25hbWVzKHd0X2RuKSkKbGVuZ3RoKHJvd25hbWVzKHRzX3VwKSkKbGVuZ3RoKHJvd25hbWVzKHRzX2RuKSkKdmVubi5kaWFncmFtKHg9bGlzdChyb3duYW1lcyh3dF91cCkscm93bmFtZXModHNfdXApKSwgY2F0ZWdvcnkubmFtZXM9YygiV1QiLCJUUyIpLGZpbGVuYW1lPSJwbG90cy92ZW5uL3RlbXBfVVAucG5nIixvdXRwdXQ9VCkKdmVubi5kaWFncmFtKHg9bGlzdChyb3duYW1lcyh3dF9kbikscm93bmFtZXModHNfZG4pKSwgY2F0ZWdvcnkubmFtZXM9YygiV1QiLCJUUyIpLGZpbGVuYW1lPSJwbG90cy92ZW5uL3RlbXBfRE4ucG5nIixvdXRwdXQ9VCkKCmxlbmd0aChyb3duYW1lcyhjb250X3VwKSkKbGVuZ3RoKHJvd25hbWVzKGNvbnRfZG4pKQpsZW5ndGgocm93bmFtZXModGVtcF91cCkpCmxlbmd0aChyb3duYW1lcyh0ZW1wX2RuKSkKdmVubi5kaWFncmFtKHg9bGlzdChyb3duYW1lcyhjb250X3VwKSxyb3duYW1lcyh0ZW1wX3VwKSksIGNhdGVnb3J5Lm5hbWVzPWMoIjIwQyIsIjMyQyIpLGZpbGVuYW1lPSJwbG90cy92ZW5uL3R5cGVfVVAucG5nIixvdXRwdXQ9VCkKdmVubi5kaWFncmFtKHg9bGlzdChyb3duYW1lcyhjb250X2RuKSxyb3duYW1lcyh0ZW1wX2RuKSksIGNhdGVnb3J5Lm5hbWVzPWMoIjIwQyIsIjMyQyIpLGZpbGVuYW1lPSJwbG90cy92ZW5uL3R5cGVfRE4ucG5nIixvdXRwdXQ9VCkKYGBgCgpgYGB7ciwgd2FybmluZz1GfQphbm5zIDwtIHJlYWQudGFibGUoInBoeXBhX2FubnMudHN2Iiwgc2VwID0gJ1x0JywgaGVhZGVyPVQsIHF1b3RlPSIiKQpoZWFkKGFubnMsIDQwKQpgYGAKYGBge3IsIHdhcm5pbmc9Rn0KIyBjb21iaW5lIGV4cHJlc3Npb24gZGF0YQpnbGlzdCA8LSBsaXN0KHJvdy5uYW1lcyhsZmNzX3d0KSwgcm93Lm5hbWVzKGxmY3NfdHMpLCByb3cubmFtZXMobGZjc19jb250KSwgcm93Lm5hbWVzKGxmY3NfdGVtcCkpCmdsaXN0IDwtIFJlZHVjZSh1bmlvbiwgZ2xpc3QpCmdsaXN0CgpleHBfYWxsIDwtIG1lcmdlKGFzLmRhdGEuZnJhbWUobGZjc193dFsyXSksYXMuZGF0YS5mcmFtZShsZmNzX3RzWzJdKSxieT0ncm93Lm5hbWVzJyxhbGw9VFJVRSkKcm93bmFtZXMoZXhwX2FsbCkgPC0gZXhwX2FsbCRSb3cubmFtZXMKZXhwX2FsbCA8LSBleHBfYWxsWy1jKDEpXQpleHBfYWxsIDwtIG1lcmdlKGV4cF9hbGwsIGFzLmRhdGEuZnJhbWUobGZjc19jb250WzJdKSxieT0ncm93Lm5hbWVzJyxhbGw9VFJVRSkKcm93bmFtZXMoZXhwX2FsbCkgPC0gZXhwX2FsbCRSb3cubmFtZXMKZXhwX2FsbCA8LSBleHBfYWxsWy1jKDEpXQpleHBfYWxsIDwtIG1lcmdlKGV4cF9hbGwsIGFzLmRhdGEuZnJhbWUobGZjc190ZW1wWzJdKSxieT0ncm93Lm5hbWVzJyxhbGw9VFJVRSkKcm93bmFtZXMoZXhwX2FsbCkgPC0gZXhwX2FsbCRSb3cubmFtZXMKZXhwX2FsbCA8LSBleHBfYWxsWy1jKDEpXQpjb2xuYW1lcyhleHBfYWxsKSA8LSBjKCdXVCAzMkMgdnMgV1QgMjBDJywKICAgICAgICAgICAgICAgICAgICAgICAnVFMgMzJDIHZzIFRTIDIwQycsCiAgICAgICAgICAgICAgICAgICAgICAgJ1RTIDIwQyB2cyBXVCAyMEMnLAogICAgICAgICAgICAgICAgICAgICAgICdUUyAzMkMgdnMgV1QgMzJDJykKZXhwX2FsbApgYGAKCmBgYHtyfQpleHBfYWxsX3AgPC0gbWVyZ2UoYXMuZGF0YS5mcmFtZShsZmNzX3d0W2MoMSwyLDUpXSksYXMuZGF0YS5mcmFtZShsZmNzX3RzW2MoMSwyLDUpXSksYnk9J3Jvdy5uYW1lcycsYWxsPVRSVUUpCnJvd25hbWVzKGV4cF9hbGxfcCkgPC0gZXhwX2FsbF9wJFJvdy5uYW1lcwpleHBfYWxsX3AgPC0gZXhwX2FsbF9wWy1jKDEpXQpleHBfYWxsX3AgPC0gbWVyZ2UoZXhwX2FsbF9wLCBhcy5kYXRhLmZyYW1lKGxmY3NfY29udFtjKDEsMiw1KV0pLGJ5PSdyb3cubmFtZXMnLGFsbD1UUlVFKQpyb3duYW1lcyhleHBfYWxsX3ApIDwtIGV4cF9hbGxfcCRSb3cubmFtZXMKZXhwX2FsbF9wIDwtIGV4cF9hbGxfcFstYygxKV0KZXhwX2FsbF9wIDwtIG1lcmdlKGV4cF9hbGxfcCwgYXMuZGF0YS5mcmFtZShsZmNzX3RlbXBbYygxLDIsNSldKSxieT0ncm93Lm5hbWVzJyxhbGw9VFJVRSkKcm93bmFtZXMoZXhwX2FsbF9wKSA8LSBleHBfYWxsX3AkUm93Lm5hbWVzCmV4cF9hbGxfcCA8LSBleHBfYWxsX3BbLWMoMSldCgpjb2xuYW1lcyhleHBfYWxsX3ApIDwtIGMoJ1dUIDMyQyB2cyBXVCAyMEMgKG1lYW4pJywnV1QgMzJDIHZzIFdUIDIwQyAobGZjKScsJ1dUIDMyQyB2cyBXVCAyMEMgKHBhZGopJywgCiAgICAgICAgICAgICAgICAgICAgICAgJ1RTIDMyQyB2cyBUUyAyMEMgKG1lYW4pJywnVFMgMzJDIHZzIFRTIDIwQyAobGZjKScsJ1RTIDMyQyB2cyBUUyAyMEMgKHBhZGopJywKICAgICAgICAgICAgICAgICAgICAgICAnVFMgMjBDIHZzIFdUIDIwQyAobWVhbiknLCdUUyAyMEMgdnMgV1QgMjBDIChsZmMpJywnVFMgMjBDIHZzIFdUIDIwQyAocGFkaiknLAogICAgICAgICAgICAgICAgICAgICAgICdUUyAzMkMgdnMgV1QgMzJDIChtZWFuKScsJ1RTIDMyQyB2cyBXVCAzMkMgKGxmYyknLCdUUyAzMkMgdnMgV1QgMzJDIChwYWRqKScpCgoKYGBgCmBgYHtyfQojIExGQyBjdXRvZmYgb2YgMQojIFBIWVBBXzAxNzYxMwojIGVuZG8vZXhvCiMgc3RvbWF0YSBvcGVuaW5nL2Nsb3NpbmcKIyBzZXQgY3V0b2ZmIGZvciAxIGJ1dCBmb3Igb25seSAzMkMgdnMgMzJDIAojIGN0IGN1dG9mZiBvZiA1MApjb25kaXRpb24gPC0gYXBwbHkoZXhwX2FsbCwgMSwgZnVuY3Rpb24ocm93KSBhbnkoYWJzKHJvdykgPiAxKSkKZXhwX2FsbF9kZWcgPC0gZXhwX2FsbFtjb25kaXRpb24sXQpleHBfYWxsX2RlZyA8LSBleHBfYWxsX2RlZ1tyb3dTdW1zKCFpcy5uYShleHBfYWxsX2RlZykpID4gMCxdCmV4cF90ZW1wX2RlZyA8LSBleHBfYWxsX2RlZ1thYnMoZXhwX2FsbF9kZWckYFRTIDMyQyB2cyBXVCAzMkNgKSA+IDEsXQoKY3RzX2ZpbHRlciA8LSBjdHNbcm93U3VtcyhjdHMgPiA1MCkgPiAzLF0KZXhwX2FsbF9kZWcgPC0gZXhwX2FsbF9kZWdbaW50ZXJzZWN0KHJvd25hbWVzKGV4cF9hbGxfZGVnKSwgcm93bmFtZXMoY3RzX2ZpbHRlcikpLF0KZXhwX3RlbXBfZGVnIDwtIGV4cF90ZW1wX2RlZ1tpbnRlcnNlY3Qocm93bmFtZXMoZXhwX3RlbXBfZGVnKSwgcm93bmFtZXMoY3RzX2ZpbHRlcikpLF0KY29uZGl0aW9uIDwtIGFwcGx5KGV4cF9hbGxfZGVnLCAxLCBmdW5jdGlvbihyb3cpIGFueShyb3cgPiAxKSkKZXhwX2FsbF91cCA8LSBleHBfYWxsX2RlZ1tjb25kaXRpb24sXQpleHBfdGVtcF91cCA8LSBleHBfdGVtcF9kZWdbZXhwX3RlbXBfZGVnJGBUUyAzMkMgdnMgV1QgMzJDYCA+IDEsXQpjb25kaXRpb24gPC0gYXBwbHkoZXhwX2FsbF9kZWcsIDEsIGZ1bmN0aW9uKHJvdykgYW55KHJvdyA8IC0xKSkKZXhwX2FsbF9kbiA8LSBleHBfYWxsX2RlZ1tjb25kaXRpb24sXQpleHBfdGVtcF9kbiA8LSBleHBfdGVtcF9kZWdbZXhwX3RlbXBfZGVnJGBUUyAzMkMgdnMgV1QgMzJDYCA8IC0xLF0KCmBgYApgYGB7cn0KbGlicmFyeSh0aWR5cikKbGlicmFyeShkcGx5cikKcmVmaWQgPC0gcmVhZC5jc3YoIklEX3JlZi5jc3YiLCBoZWFkZXIgPSBGKQphbGxJRCA8LSBtZXJnZShyZWZpZCwgYW5ucywgYnkueD0iVjEiLCBieS55PSJFbnRyeSIpCmFubnNfc2VwIDwtIGFubnNbLTVdICU+JSBzZXBhcmF0ZV9yb3dzKEdlbmUuTmFtZXMsIHNlcCA9ICcgJykgCmFubnNfc2VwIDwtIGFubnNfc2VwICU+JSBmaWx0ZXIoZ3JlcGwoIlBIWVBBIiwgR2VuZS5OYW1lcykpCmFubnNfc2VwIDwtIG1lcmdlKGFubnNfc2VwLCByZWZpZCwgYnkueD0iRW50cnkiLCBieS55PSJWMSIsIGFsbC54PVQpCmFubnNfc2VwIDwtIG1lcmdlKGFubnNfc2VwLCBleHBfYWxsX3AsIGJ5Lng9IkdlbmUuTmFtZXMiLCBieS55PTApCmFubnNfc2VwIDwtIGRpc3RpbmN0KGFubnNfc2VwWyxjKDEsMiw5LDEwLDMsNCw1LDYsNyw4LDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyKV0pCm5hbWVzKGFubnNfc2VwKVtuYW1lcyhhbm5zX3NlcCkgPT0gJ1YyJ10gPC0gJ3BoeXRvSUQnCm5hbWVzKGFubnNfc2VwKVtuYW1lcyhhbm5zX3NlcCkgPT0gJ1YzJ10gPC0gJ3BoeXRvQW5ub3RhdGlvbicKd3JpdGUuY3N2KGFubnNfc2VwLCAiTVFQX2RhdGEuY3N2Iiwgcm93Lm5hbWVzPUZBTFNFKQoKYW5uX3NlcF9zaWcgPC0gYW5uc19zZXBbYW5uc19zZXAkR2VuZS5OYW1lcyAlaW4lIHJvd25hbWVzKGV4cF9hbGxfZGVnKSxdCmFubl9zZXBfc2lnX2Rvd24gPC0gYW5uX3NlcF9zaWdbYW5uX3NlcF9zaWckYFRTIDMyQyB2cyBXVCAzMkMgKGxmYylgIDwgLTEsXQp3cml0ZS5jc3YoYW5uX3NlcF9zaWdfZG93biwgIk1RUF9kYXRhX0RFR19kbi5jc3YiLCByb3cubmFtZXM9RkFMU0UpIAphbm5fc2VwX3NpZ191cCA8LSBhbm5fc2VwX3NpZ1thbm5fc2VwX3NpZyRgVFMgMzJDIHZzIFdUIDMyQyAobGZjKWAgPiAxLF0Kd3JpdGUuY3N2KGFubl9zZXBfc2lnX3VwLCAiTVFQX2RhdGFfREVHX3VwLmNzdiIsIHJvdy5uYW1lcz1GQUxTRSkgCgphbm5fc2VwX3NpZyA8LSBhbm5zX3NlcFthbm5zX3NlcCRHZW5lLk5hbWVzICVpbiUgcm93bmFtZXMoZXhwX2FsbF9kZWcpLF0KYW5uX3NlcF9zaWdfZG93biA8LSBhbm5fc2VwX3NpZ1thbm5fc2VwX3NpZyRgVFMgMjBDIHZzIFdUIDIwQyAobGZjKWAgPCAtMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ19kb3duLCAiTVFQX2RhdGFfREVHX2RuKFRTdnNXVDIwQykuY3N2Iiwgcm93Lm5hbWVzPUZBTFNFKSAKYW5uX3NlcF9zaWdfdXAgPC0gYW5uX3NlcF9zaWdbYW5uX3NlcF9zaWckYFRTIDIwQyB2cyBXVCAyMEMgKGxmYylgID4gMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ191cCwgIk1RUF9kYXRhX0RFR191cChUU3ZzV1QyMEMpLmNzdiIsIHJvdy5uYW1lcz1GQUxTRSkgCgphbm5fc2VwX3NpZyA8LSBhbm5zX3NlcFthbm5zX3NlcCRHZW5lLk5hbWVzICVpbiUgcm93bmFtZXMoZXhwX2FsbF9kZWcpLF0KYW5uX3NlcF9zaWdfZG93biA8LSBhbm5fc2VwX3NpZ1thbm5fc2VwX3NpZyRgVFMgMzJDIHZzIFRTIDIwQyAobGZjKWAgPCAtMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ19kb3duLCAiTVFQX2RhdGFfREVHX2RuKFRTMzJDdnNUUzIwQykuY3N2Iiwgcm93Lm5hbWVzPUZBTFNFKSAKYW5uX3NlcF9zaWdfdXAgPC0gYW5uX3NlcF9zaWdbYW5uX3NlcF9zaWckYFRTIDMyQyB2cyBUUyAyMEMgKGxmYylgID4gMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ191cCwgIk1RUF9kYXRhX0RFR191cChUUzMyQ3ZzVFMyMEMpLmNzdiIsIHJvdy5uYW1lcz1GQUxTRSkgCgphbm5fc2VwX3NpZyA8LSBhbm5zX3NlcFthbm5zX3NlcCRHZW5lLk5hbWVzICVpbiUgcm93bmFtZXMoZXhwX2FsbF9kZWcpLF0KYW5uX3NlcF9zaWdfZG93biA8LSBhbm5fc2VwX3NpZ1thbm5fc2VwX3NpZyRgV1QgMzJDIHZzIFdUIDIwQyAobGZjKWAgPCAtMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ19kb3duLCAiTVFQX2RhdGFfREVHX2RuKFdUMzJDdnNXVDIwQykuY3N2Iiwgcm93Lm5hbWVzPUZBTFNFKSAKYW5uX3NlcF9zaWdfdXAgPC0gYW5uX3NlcF9zaWdbYW5uX3NlcF9zaWckYFdUIDMyQyB2cyBXVCAyMEMgKGxmYylgID4gMSxdCndyaXRlLmNzdihhbm5fc2VwX3NpZ191cCwgIk1RUF9kYXRhX0RFR191cChXVDMyQ3ZzV1QyMEMpLmNzdiIsIHJvdy5uYW1lcz1GQUxTRSkgCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0Kd3RfdXBfYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgcm93bmFtZXMod3RfdXApLF0Kd3RfZG5fYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgcm93bmFtZXMod3RfZG4pLF0KdHNfdXBfYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgcm93bmFtZXModHNfdXApLF0KdHNfZG5fYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgcm93bmFtZXModHNfZG4pLF0KCnd0X2FubiA8LSBhbm5zW2FubnMkR2VuZS5OYW1lcy4uT1JGLiAlaW4lIHVuaW9uKHJvd25hbWVzKHd0X3VwKSwgcm93bmFtZXMod3RfZG4pKSxdCnRzX2FubiA8LSBhbm5zW2FubnMkR2VuZS5OYW1lcy4uT1JGLiAlaW4lIHVuaW9uKHJvd25hbWVzKHRzX3VwKSwgcm93bmFtZXModHNfZG4pKSxdCgp0ZW1wX3VwX2FubiA8LSBhbm5zW2FubnMkR2VuZS5OYW1lcy4uT1JGLiAlaW4lIHJvd25hbWVzKHRlbXBfdXApLF0KdGVtcF9kbl9hbm4gPC0gYW5uc1thbm5zJEdlbmUuTmFtZXMuLk9SRi4gJWluJSByb3duYW1lcyh0ZW1wX2RuKSxdCmNvbnRfdXBfYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgcm93bmFtZXMoY29udF91cCksXQpjb250X2RuX2FubiA8LSBhbm5zW2FubnMkR2VuZS5OYW1lcy4uT1JGLiAlaW4lIHJvd25hbWVzKGNvbnRfZG4pLF0KCmNvbnRfYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgdW5pb24ocm93bmFtZXMoY29udF91cCksIHJvd25hbWVzKGNvbnRfZG4pKSxdCnRlbXBfYW5uIDwtIGFubnNbYW5ucyRHZW5lLk5hbWVzLi5PUkYuICVpbiUgdW5pb24ocm93bmFtZXModGVtcF91cCksIHJvd25hbWVzKHRlbXBfZG4pKSxdCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0KY3RfR08gPC0gZnVuY3Rpb24oYW5uZGYsIGN0ZykgewogIGEgPC0gYygpCiAgaWYgKGN0ZyA9PSAiY29tcG9uZW50Iil7CiAgICBmb3IgKHggaW4gYW5uZGYkR2VuZS5PbnRvbG9neS4uY2VsbHVsYXIuY29tcG9uZW50Lil7CiAgICAgIGEgPC0gYyhhLCBzdHJzcGxpdCh4LCAiOyAiKVtbMV1dKQogICAgfQogIH0KICBlbHNlIGlmIChjdGcgPT0gInByb2Nlc3MiKXsKICAgIGZvciAoeCBpbiBhbm5kZiRHZW5lLk9udG9sb2d5Li5iaW9sb2dpY2FsLnByb2Nlc3MuKXsKICAgICAgYSA8LSBjKGEsIHN0cnNwbGl0KHgsICI7ICIpW1sxXV0pCiAgICB9CiAgfQogIGVsc2UgaWYgKGN0ZyA9PSAiZnVuY3Rpb24iKXsKICAgIGZvciAoeCBpbiBhbm5kZiRHZW5lLk9udG9sb2d5Li5tb2xlY3VsYXIuZnVuY3Rpb24uKXsKICAgICAgYSA8LSBjKGEsIHN0cnNwbGl0KHgsICI7ICIpW1sxXV0pCiAgICB9ICAKICB9CiAgZGYgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShhKSkKICBkZiA8LSBkZltvcmRlcihkZiRGcmVxLCBkZWNyZWFzaW5nPVQpLF0KICByZXR1cm4oZGYpCn0KYGBgCgpgYGB7ciwgd2FybmluZz1GfQp3cml0ZS5jc3YoY3RfR08od3RfdXBfYW5uLCAiY29tcG9uZW50IiksICdnb19hbm5zL3d0X3VwX2NvbXBvbmVudC5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKHd0X2RuX2FubiwgImNvbXBvbmVudCIpLCAnZ29fYW5ucy93dF9kbl9jb21wb25lbnQuY3N2Jywgcm93Lm5hbWVzPUYpCndyaXRlLmNzdihjdF9HTyh0c191cF9hbm4sICJjb21wb25lbnQiKSwgJ2dvX2FubnMvdHNfdXBfY29tcG9uZW50LmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08odHNfZG5fYW5uLCAiY29tcG9uZW50IiksICdnb19hbm5zL3RzX2RuX2NvbXBvbmVudC5jc3YnLCByb3cubmFtZXM9RikKCndyaXRlLmNzdihjdF9HTyhjb250X3VwX2FubiwgImNvbXBvbmVudCIpLCAnZ29fYW5ucy9jb250X3VwX2NvbXBvbmVudC5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKGNvbnRfZG5fYW5uLCAiY29tcG9uZW50IiksICdnb19hbm5zL2NvbnRfZG5fY29tcG9uZW50LmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08odGVtcF91cF9hbm4sICJjb21wb25lbnQiKSwgJ2dvX2FubnMvdGVtcF91cF9jb21wb25lbnQuY3N2Jywgcm93Lm5hbWVzPUYpCndyaXRlLmNzdihjdF9HTyh0ZW1wX2RuX2FubiwgImNvbXBvbmVudCIpLCAnZ29fYW5ucy90ZW1wX2RuX2NvbXBvbmVudC5jc3YnLCByb3cubmFtZXM9RikKYGBgCgpgYGB7ciwgd2FybmluZz1GfQp3cml0ZS5jc3YoY3RfR08od3RfdXBfYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy93dF91cF9wcm9jZXNzLmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08od3RfZG5fYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy93dF9kbl9wcm9jZXNzLmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08odHNfdXBfYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy90c191cF9wcm9jZXNzLmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08odHNfZG5fYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy90c19kbl9wcm9jZXNzLmNzdicsIHJvdy5uYW1lcz1GKQoKd3JpdGUuY3N2KGN0X0dPKGNvbnRfdXBfYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy9jb250X3VwX3Byb2Nlc3MuY3N2Jywgcm93Lm5hbWVzPUYpCndyaXRlLmNzdihjdF9HTyhjb250X2RuX2FubiwgInByb2Nlc3MiKSwgJ2dvX2FubnMvY29udF9kbl9wcm9jZXNzLmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08odGVtcF91cF9hbm4sICJwcm9jZXNzIiksICdnb19hbm5zL3RlbXBfdXBfcHJvY2Vzcy5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKHRlbXBfZG5fYW5uLCAicHJvY2VzcyIpLCAnZ29fYW5ucy90ZW1wX2RuX3Byb2Nlc3MuY3N2Jywgcm93Lm5hbWVzPUYpCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0Kd3JpdGUuY3N2KGN0X0dPKHd0X3VwX2FubiwgImZ1bmN0aW9uIiksICdnb19hbm5zL3d0X3VwX2Z1bmN0aW9uLmNzdicsIHJvdy5uYW1lcz1GKQp3cml0ZS5jc3YoY3RfR08od3RfZG5fYW5uLCAiZnVuY3Rpb24iKSwgJ2dvX2FubnMvd3RfZG5fZnVuY3Rpb24uY3N2Jywgcm93Lm5hbWVzPUYpCndyaXRlLmNzdihjdF9HTyh0c191cF9hbm4sICJmdW5jdGlvbiIpLCAnZ29fYW5ucy90c191cF9mdW5jdGlvbi5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKHRzX2RuX2FubiwgImZ1bmN0aW9uIiksICdnb19hbm5zL3RzX2RuX2Z1bmN0aW9uLmNzdicsIHJvdy5uYW1lcz1GKQoKd3JpdGUuY3N2KGN0X0dPKGNvbnRfdXBfYW5uLCAiZnVuY3Rpb24iKSwgJ2dvX2FubnMvY29udF91cF9mdW5jdGlvbi5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKGNvbnRfZG5fYW5uLCAiZnVuY3Rpb24iKSwgJ2dvX2FubnMvY29udF9kbl9mdW5jdGlvbi5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKHRlbXBfdXBfYW5uLCAiZnVuY3Rpb24iKSwgJ2dvX2FubnMvdGVtcF91cF9mdW5jdGlvbi5jc3YnLCByb3cubmFtZXM9RikKd3JpdGUuY3N2KGN0X0dPKHRlbXBfZG5fYW5uLCAiZnVuY3Rpb24iKSwgJ2dvX2FubnMvdGVtcF9kbl9mdW5jdGlvbi5jc3YnLCByb3cubmFtZXM9RikKYGBgCmBgYHtyLHdhcm5pbmc9Rn0KI21ha2UgZ28gdGVybSBkYXRhCmdvZGYgPC0gZGF0YS5mcmFtZShhbm5zJEdlbmUuT250b2xvZ3kuSURzLCBhbm5zJEdlbmUuTmFtZXMuLk9SRi4pCmNvbG5hbWVzKGdvZGYpIDwtIGMoIkdPIiwgIm5hbWUiKSAKCmdlbmVGb3JHTyA8LSBmdW5jdGlvbih0ZXJtKSB7CiAgcmV0dXJuKGRwbHlyOjpmaWx0ZXIodGVzdGRmLCBncmVwbCh0ZXJtLCBHTykpJG5hbWUpCn0KCmFsbEdPIDwtIHVuaXF1ZShzdHJzcGxpdChwYXN0ZShhbm5zJEdlbmUuT250b2xvZ3kuSURzLCBjb2xsYXBzZT0iOyIpLCAnOycpKQoKI3Rlc3QgPC0gbGFwcGx5KGFsbEdPW1sxXV0sIGdlbmVGb3JHTykKYGBgCgoKCgoKYGBge3IsIHdhcm5pbmc9Rn0KbGlicmFyeShkcGx5cikKbGlicmFyeShwaGVhdG1hcCkKIyBmdW5jdGlvbiB0byBkaXNwbGF5IGhlYXRtYXAgb2YgZ2VuZXMgYmFzZWQgb24gR08gdGVybQojIGVuZG8vZXhvY3l0b3NpcwojIFJhYgojIEdURC1iaW5kaW5nIChteW9zaW4tcmVsYXRlZCkgWmVpbi1iaW5kaW5nIFJJU0FQCiMgb25lIHdpdGggYWxsIGRhdGEKIyB0d28gd2l0aCBmaWx0ZXJlZCBkYXRhICg1MCBjdCBvciBtb3JlLCBwIHZhbHVlIDwgMC4wNSwgbGZjID4gMSBpbiBhdCBsZWFzdCAxIGNvbmRpdGlvbiwgb3Zlci91bmRlciBleHByZXNzZWQpCgptYXBHTyA8LSBmdW5jdGlvbihkZjEsIGRmMiwgYW5uZGYsIHRlcm0pIHsKICBhbm5zIDwtIGRwbHlyOjpmaWx0ZXIoYW5uZGYsIGdyZXBsKHRlcm0sIEdlbmUuT250b2xvZ3kuLkdPLikpCiAgaWYgKGRpbShhbm5zKVsxXSAhPSAwKXsKICBuYW1lcyA8LSBzdHJzcGxpdChwYXN0ZShhbm5zJEdlbmUuTmFtZXMuLk9SRi4sIGNvbGxhcHNlPScgJywgc2VwPScgJyksICcgJylbWzFdXQogIGNvbmQxIDwtIHN0cnNwbGl0KG1jb2xzKGRmMSlbMiwyXSwgImNvbmRpdGlvbiAiKVtbMV1dWzJdCiAgY29uZDIgPC0gc3Ryc3BsaXQobWNvbHMoZGYyKVsyLDJdLCAiY29uZGl0aW9uICIpW1sxXV1bMl0KICBkZjEgPC0gYXMuZGF0YS5mcmFtZShkZjFbaW50ZXJzZWN0KHJvd25hbWVzKGRmMSksbmFtZXMpLF1bLDIsZHJvcD1GXSkKICBkZjIgPC0gYXMuZGF0YS5mcmFtZShkZjJbaW50ZXJzZWN0KHJvd25hbWVzKGRmMiksbmFtZXMpLF1bLDIsZHJvcD1GXSkKICBwcmludCgiaGVsbG8iKQogIGNvbG5hbWVzKGRmMSkgPC0gYyhjb25kMSkKICBjb2xuYW1lcyhkZjIpIDwtIGMoY29uZDIpCiAgZGYgPC0gbWVyZ2UoZGYxLCBkZjIsIGJ5PSdyb3cubmFtZXMnKQogIHJvd25hbWVzKGRmKSA9IGRmJFJvdy5uYW1lcwogIGRmIDwtIGRmWyxjKDIsMyldCiAgcHJpbnQoZGYpCiAgcGhlYXRtYXAoYXMubWF0cml4KGRmKSwgCiAgICAgICAgICAgZGlzcGxheV9udW1iZXJzID0gVCwgCiAgICAgICAgICAgYnJlYWtzID0gc2VxKGZyb20gPSAtNiwgdG8gPSA2LCBsZW5ndGggPSAxMDEpLAogICAgICAgICAgIGNsdXN0ZXJfY29sID0gRiwKICAgICAgICAgICBjbHVzdGVyX3JvdyA9IEYsCiAgICAgICAgICAgYW5nbGVfY29sID0gNDUpCiAgfQp9CmBgYAoKYGBge3J9CiNjb21iaW5lIGFsbCBHTyBUZXJtcwphbGxHTyA8LSByYmluZChmdW5jX2RmLCBjb21wX2RmLCBwcm9jX2RmKQoKZ29HZW5lcyA8LSBmdW5jdGlvbihnb2lkKSB7CiAgcmV0dXJuKGFsbEdPW2dyZXAoZ29pZCwgYWxsR08kR09fVGVybXMpLF0kR2VuZXNbWzFdXSkKfSAKYGBgCmBgYHtyfQojIHN0YW5kYXJkIGZ1bmN0aW9uIGZvciBoZWF0bWFwIGZpZ3VyZXMKIyBpbnB1dCBzaG91bGQgYWx3YXlzIGhhdmUgUEhZUEFfWFhYWFhYWFggcm93IG5hbWUgZm9ybWF0CgoKCmZpZ21hcCA8LSBmdW5jdGlvbihtYXBkZiwgZm5hbWUsIGxibHMgPSByb3duYW1lcyhtYXBkZikpIHsKICBtYXBkZiA8LSBtYXBkZltyb3dTdW1zKCFpcy5uYShtYXBkZikpID4gMCxdCiAgcm93bmFtZXMobWFwZGYpIDwtIGxibHMKICBwbmcocGFzdGUoInJlc3VsdHNfZ3JhcGhzLyIsIGZuYW1lLCAiLnBuZyIsIHNlcD0nJyksIDk2MCwgMTYwMCkKICBwaGVhdG1hcChtYXBkZiwKICAgICAgICAgICBkaXNwbGF5X251bWJlcnMgPSBULAogICAgICAgICAgIGJyZWFrcyA9IHNlcShmcm9tID0gLTYsIHRvID0gNiwgbGVuZ3RoLiA9IDEwMSksCiAgICAgICAgICAgY2x1c3Rlcl9jb2wgPSBGLAogICAgICAgICAgIGNsdXN0ZXJfcm93ID0gRiwKICAgICAgICAgICBjZWxsd2lkdGggPSA1MCwKICAgICAgICAgICBjZWxsaGVpZ2h0ID0gMzAsCiAgICAgICAgICAgZm9udHNpemUgPSAxMiwKICAgICAgICAgICBtYWluID0gZ3N1YigiXyIsICIgIiwgZm5hbWUpLAogICAgICAgICAgIGFuZ2xlX2NvbCA9IDQ1KQogIGRldi5vZmYoKQogIHdyaXRlLmNzdihhbm5zX3NlcFtzYXBwbHkoc3Ryc3BsaXQoYW5uc19zZXAkR2VuZS5OYW1lcywgIiAiKSwgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMobWFwZGYpKSksIF0sCiAgICAgICAgICAgIHBhc3RlKCJyZXN1bHRzX2dyYXBocy90YWJsZXMvIiwgZm5hbWUsICIuY3N2IikpCiAgVmlldyhhbm5zX3NlcFtzYXBwbHkoc3Ryc3BsaXQoYW5uc19zZXAkR2VuZS5OYW1lcywgIiAiKSwgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMobWFwZGYpKSksIF0pCn0KCiMgdXNlZnVsIHRlbXBsYXRlcwojIGZpZ21hcChleHBfYWxsW2dvR2VuZXMoZ29JRCksXSkKIyBmaWdtYXAoZXhwX2FsbF9kZWdbZ29HZW5lcyhnb0lEKSxdKQojIGZpZ21hcChoZWFkKGV4cF9hbGxbb3JkZXIoZXhwX2FsbCRgV1QgMzJDIHZzIFdUIDIwQ2ApLF0sIDEwKSkKIyA1MCBjb3VudCBjdXRvZmYKZ2V0X21hdGNoaW5nX2lkcyA8LSBmdW5jdGlvbihnZW5lX2xpc3QpIHsKICAjIEZpbmQgdGhlIHJvdyBpbmRpY2VzIGZvciB0aGUgbWF0Y2hpbmcgZ2VuZV9saXN0IGluIEZvcm1hdDEKICBtYXRjaGVkX2luZGljZXMgPC0gd2hpY2goYW5uc19zZXAkR2VuZS5OYW1lcyAlaW4lIGdlbmVfbGlzdCkKICAKICAjIFJldHJpZXZlIHRoZSBjb3JyZXNwb25kaW5nIElEcyBmcm9tIEZvcm1hdDIKICBtYXRjaGVkX2lkc19mb3JtYXQyIDwtIGFubnNfc2VwJHBoeXRvSURbbWF0Y2hlZF9pbmRpY2VzXQogIAogICMgT3JkZXIgdGhlIG1hdGNoZWQgSURzIGJhc2VkIG9uIHRoZSBvcmRlciBvZiBnZW5lX2xpc3QKICBvcmRlcmVkX21hdGNoZWRfaWRzIDwtIG1hdGNoZWRfaWRzX2Zvcm1hdDJbbWF0Y2goZ2VuZV9saXN0LCBhbm5zX3NlcCRHZW5lLk5hbWVzW21hdGNoZWRfaW5kaWNlc10pXQogIAogIHJldHVybihvcmRlcmVkX21hdGNoZWRfaWRzKQp9CgpkZlRvTWFwIDwtIGhlYWQoZXhwX2FsbF9kZWdbb3JkZXIoLWV4cF9hbGxfZGVnJGBUUyAzMkMgdnMgV1QgMzJDYCksXSwgMTApCmZpZ21hcChkZlRvTWFwLCAiVG9wXzEwX1VwcmVndWxhdGVkIiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCgpkZlRvTWFwIDwtIGhlYWQoZXhwX2FsbF9kZWdbb3JkZXIoLWV4cF9hbGxfZGVnJGBUUyAyMEMgdnMgV1QgMjBDYCksXSwgMTApCmZpZ21hcChkZlRvTWFwLCAiVG9wXzEwX1VwcmVndWxhdGVkMjBDIiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCgpkZlRvTWFwIDwtIGhlYWQoZXhwX2FsbF9kZWdbb3JkZXIoZXhwX2FsbF9kZWckYFRTIDMyQyB2cyBXVCAzMkNgKSxdLCAxMCkKZmlnbWFwKGRmVG9NYXAsICJUb3BfMTBfRG93bnJlZ3VsYXRlZCIsIGdldF9tYXRjaGluZ19pZHMocm93bmFtZXMoZGZUb01hcCkpKQoKZGZUb01hcCA8LSBoZWFkKGV4cF9hbGxfZGVnW29yZGVyKGV4cF9hbGxfZGVnJGBUUyAyMEMgdnMgV1QgMjBDYCksXSwgMTApCmZpZ21hcChkZlRvTWFwLCAiVG9wXzEwX0Rvd25yZWd1bGF0ZWQyMEMiLCBnZXRfbWF0Y2hpbmdfaWRzKHJvd25hbWVzKGRmVG9NYXApKSkKCmRmVG9NYXAgPC0gZXhwX2FsbFtpbnRlcnNlY3QoZ29HZW5lcygiR086MDAzNDYwNSIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJjZWxsdWxhcl9yZXNwb25zZV90b19oZWF0IiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCiAgICAgICAKZGZUb01hcCA8LSBleHBfYWxsX2RlZ1tpbnRlcnNlY3QoZ29HZW5lcygiR086MDAwOTQwOCIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJyZXNwb25zZV90b19oZWF0IiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCgpkZlRvTWFwIDwtIGV4cF9hbGxbaW50ZXJzZWN0KGdvR2VuZXMoIkdPOjAwMDY4OTciKSwgcm93bmFtZXMoZXhwX2FsbF9kZWcpKSxdCmZpZ21hcChkZlRvTWFwLCAiZW5kb2N5dG9zaXMiLCBnZXRfbWF0Y2hpbmdfaWRzKHJvd25hbWVzKGRmVG9NYXApKSkKCmRmVG9NYXAgPC0gZXhwX2FsbFtpbnRlcnNlY3QoZ29HZW5lcygiR086MDA4MDExNSIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJteW9zaW5fWElfdGFpbF9iaW5kaW5nIiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCgpkZlRvTWFwIDwtIGV4cF9hbGxfZGVnW2ludGVyc2VjdChnb0dlbmVzKCJHTzowMDA2NDU3IiksIHJvd25hbWVzKGV4cF9hbGxfZGVnKSksXQpmaWdtYXAoZGZUb01hcCwgInByb3RlaW5fZm9sZGluZyIsIGdldF9tYXRjaGluZ19pZHMocm93bmFtZXMoZGZUb01hcCkpKQoKZGZUb01hcCA8LSBleHBfYWxsX2RlZ1tpbnRlcnNlY3QoZ29HZW5lcygiR086MDA0MjU0MiIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJyZXNwb25zZV90b19wZXJveGlkZSIsIGdldF9tYXRjaGluZ19pZHMocm93bmFtZXMoZGZUb01hcCkpKQoKZGZUb01hcCA8LSBleHBfYWxsX2RlZ1tpbnRlcnNlY3QoZ29HZW5lcygiR086MDAwOTY1MSIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJyZXNwb25zZV90b19zYWx0X3N0cmVzcyIsIGdldF9tYXRjaGluZ19pZHMocm93bmFtZXMoZGZUb01hcCkpKQoKZGZUb01hcCA8LSBleHBfYWxsX2RlZ1tpbnRlcnNlY3QoZ29HZW5lcygiR086MDA1MTA4NSIpLCByb3duYW1lcyhleHBfYWxsX2RlZykpLF0KZmlnbWFwKGRmVG9NYXAsICJjaGFwZXJvbmVfY29mYWN0b3ItZGVwZW5kZW50X3Byb3RlaW5fcmVmb2xkaW5nIiwgZ2V0X21hdGNoaW5nX2lkcyhyb3duYW1lcyhkZlRvTWFwKSkpCgpkZlRvTWFwIDwtIGV4cF9hbGxfZGVnW2ludGVyc2VjdChnb0dlbmVzKCJHTzowMDA5NjUzIiksIHJvd25hbWVzKGV4cF9hbGxfZGVnKSksXQpmaWdtYXAoZGZUb01hcCwgImFuYXRvbWljYWxfc3RydWN0dXJlX21vcnBob2dlbmVzaXMiLCBnZXRfbWF0Y2hpbmdfaWRzKHJvd25hbWVzKGRmVG9NYXApKSkKCmRmVG9NYXAgPC0gZXhwX2FsbF9kZWdbaW50ZXJzZWN0KGdvR2VuZXMoIkdPOjAwMDAxNDUiKSwgcm93bmFtZXMoZXhwX2FsbF9kZWcpKSxdCmZpZ21hcChkZlRvTWFwLCAiZXhvY3lzdCIsIGdldF9tYXRjaGluZ19pZHMocm93bmFtZXMoZGZUb01hcCkpKQoKcGF0dGVybiA8LSAic2VjWzAtOV0iCgoKcGxvdFRhYmxlQWxsIDwtIGZ1bmN0aW9uKGdvSUQsIGZuYW1lKSB7CiAgZGZUb01hcCA8LSBleHBfYWxsX2RlZ1tpbnRlcnNlY3QoZ29HZW5lcyhnb0lEKSwgcm93bmFtZXMoZXhwX2FsbF9kZWcpKSxdCiAgZGZUb01hcCA8LSBkZlRvTWFwW2FicyhkZlRvTWFwJGBUUyAzMkMgdnMgV1QgMzJDYCkgPiAxLF0KICBmaWdtYXAoZGZUb01hcCwgZ3N1YigiICIsICJfIiwgZm5hbWUpLCBnZXRfbWF0Y2hpbmdfaWRzKHJvd25hbWVzKGRmVG9NYXApKSkKfQoKSURsaXN0IDwtIGMoIkdPOjAwNDQxODMiLCAiR086MDE0MDY2MiIsICJHTzowMDE2ODg3IiwgIkdPOjAwMDQwOTciLCAiR086MDAxNTk3OSIsCiAgICAgICAgICAgICJHTzowMDMwOTU1IiwiR086MDAwNDc0MyIsICJHTzowMDE2MzAxIiwgIkdPOjAwMDAyODciKQpmbmFtZWxpc3QgPC0gYygicHJvdGVpbiBmb2xkaW5nIGNoYXBlcm9uZSIsICJBVFAtZGVwZW5kZW50IHByb3RlaW4gZm9sZGluZyBjaGFwZXJvbmUiLAogICAgICAgICAgICAgICAiQVRQIGh5ZHJvbHlzaXMgYWN0aXZpdHkiLCAiY2F0ZWNob2wgb3hpZGFzZSBhY3Rpdml0eSIsICJwaG90b3N5bnRoZXNpcyIsCiAgICAgICAgICAgICAgICJwb3Rhc3NpdW0gaW9uIGJpbmRpbmciLCAicHlydXZhdGUga2luYXNlIGFjdGl2aXR5IiwgImtpbmFzZSBhY3Rpdml0eSIsICJtYWduZXNpdW0gaW9uIGJpbmRpbmciKQoKSURsaXN0IDwtIGMoIkdPOjAwMzA5NTUiLCJHTzowMDA0NzQzIiwgIkdPOjAwMTYzMDEiLCAiR086MDAwMDI4NyIpCmZuYW1lbGlzdCA8LSBjKCJwb3Rhc3NpdW0gaW9uIGJpbmRpbmciLCAicHlydXZhdGUga2luYXNlIGFjdGl2aXR5IiwgImtpbmFzZSBhY3Rpdml0eSIsICJtYWduZXNpdW0gaW9uIGJpbmRpbmciKQoKSURsaXN0IDwtIGMoIkdPOjAwMDY5NzkiLCAiR086MDA0Mjc0NCIsICJHTzowMDA2OTUyIiwgIkdPOjAwMTkyNTMiKQpmbmFtZWxpc3QgPC0gYygicmVzcG9uc2UgdG8gb3hpZGF0aXZlIHN0cmVzcyIsICJoeWRyb2dlbiBwZXJveGlkZSBjYXRhYm9saWMgcHJvY2VzcyIsICJkZWZlbnNlIHJlc3BvbnNlIiwgInJlZHVjdGl2ZSBwZW50b3NlLXBob3NwaGF0ZSBjeWNsZSIpCgpJRGxpc3QgPC0gYygiR086MDAwNDA5NyIsICJHTzowMDQ0MTgzIiwgIkdPOjAxNDA2NjIiLCAiR086MDAxNjg4NyIsCiAgICAgICAgICAgICJHTzowMDA2OTUyIiwgIkdPOjAwMDY5NzkiLCAiR086MDAxOTI1MyIpCmZuYW1lbGlzdCA8LSBjKCJjYXRlY2hvbCBveGlkYXNlIGFjdGl2aXR5IiwgInByb3RlaW4gZm9sZGluZyBjaGFwZXJvbmUiLCAiQVRQLWRlcGVuZGVudCBwcm90ZWluIGZvbGRpbmcgY2hhcGVyb25lIiwKICAgICAgICAgICAgICAgIkFUUCBoeWRyb2x5c2lzIGFjdGl2aXR5IiwgImRlZmVuc2UgcmVzcG9uc2UiLCAicmVzcG9uc2UgdG8gb3hpZGF0aXZlIHN0cmVzcyIsCiAgICAgICAgICAgICAgICJyZWR1Y3RpdmUgcGVudG9zZS1waG9zcGhhdGUgY3ljbGUiKQoKZm9yIChpIGluIDE6bGVuZ3RoKElEbGlzdCkpIHsKICBwbG90VGFibGVBbGwoSURsaXN0W2ldLCBmbmFtZWxpc3RbaV0pCn0KCnBuZygiZXhwQWxsRmlsdGVyLnBuZyIsIHdpZHRoID0gOTYwLCBoZWlnaHQgPSA0ODAwKQpwaGVhdG1hcChleHBfYWxsX2RlZywKICAgICAgICAgYnJlYWtzID0gc2VxKGZyb20gPSAtNiwgdG8gPSA2LCBsZW5ndGguID0gMTAxKSwKICAgICAgICAgc2hvd19yb3duYW1lcyA9IEYsCiAgICAgICAgIGNlbGx3aWR0aCA9IDgwLAogICAgICAgICBjZWxsaGVpZ2h0ID0gMSwKICAgICAgICAgY2x1c3Rlcl9jb2wgPSBGLAogICAgICAgICBjbHVzdGVyX3JvdyA9IEYsCiAgICAgICAgIGZvbnRzaXplID0gNDApCmRldi5vZmYoKQojIFBIWVBBXzAwNjU0MiB1dW5mb2xkZWQgcHJvdGVpbiBiaW5kaW5nCiMgUEhZUEFfMDI5NjgxIHByb3RlaW4gZm9sZGluZyBjaGFwZXJvbmUKIyAiUEhZUEFfMDI0MTA3IiAiUEhZUEFfMDA1MDA2IiAiUEhZUEFfMDAyMTI3IiAiUEhZUEFfMDE2NTIyIiBBVFAtZGVwZW5kZW50IHByb3RlaW4gZm9sZGluZyBjaGFwZXJvbmUKIyAiUEhZUEFfMDA2NjcwIiAiUEhZUEFfMDA2NTQyIiBwcm90ZWluIGZvbGRpbmcgY2hhcGVyb25lIGJpbmRpbmcKIyBHTzowMDE2ODg3IEFUUCBoeWRyb2x5c2lzIGFjdGl2aXR5CiMgIlBIWVBBXzAyNjIxOCIgY2F0ZWNob2wgb3hpZGFzZSBhY3Rpdml0eQpgYGAKYGBge3J9CnJvd3Nfd2l0aF9zdHJpbmcgPC0gZnVuY3Rpb24oZGYsIHNlYXJjaF9zdHJpbmcpIHsKICBhcHBseShkZiwgMSwgZnVuY3Rpb24ocm93KSBhbnkoZ3JlcGwoc2VhcmNoX3N0cmluZywgcm93LCBmaXhlZCA9IFRSVUUpKSkKfQoKCgpgYGAKCgoKCgpgYGB7cn0KYWxsR09fZGVnIDwtIGFsbEdPW3NhcHBseShhbGxHTyRHZW5lcywgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMoZXhwX2FsbF9kZWcpKSksIF0KYWxsR09fZG4gPC0gYWxsR09bc2FwcGx5KGFsbEdPJEdlbmVzLCBmdW5jdGlvbihpZHMpIGFueShpZHMgJWluJSByb3duYW1lcyhleHBfYWxsX2RuKSkpLCBdCmFsbEdPX3VwIDwtIGFsbEdPW3NhcHBseShhbGxHTyRHZW5lcywgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMoZXhwX2FsbF91cCkpKSwgXQoKY29tcEdPX2RlZyA8LSBhbGxHT19kZWdbYWxsR09fZGVnJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KGFsbEdPX2RlZyRHT19UZXJtcywgY29tcF9kZiRHT19UZXJtcyksXQpjb21wR09fZG4gPC0gYWxsR09fZG5bYWxsR09fZG4kR09fVGVybXMgJWluJSBpbnRlcnNlY3QoYWxsR09fZG4kR09fVGVybXMsIGNvbXBfZGYkR09fVGVybXMpLF0KY29tcEdPX3VwIDwtIGFsbEdPX3VwW2FsbEdPX3VwJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KGFsbEdPX3VwJEdPX1Rlcm1zLCBjb21wX2RmJEdPX1Rlcm1zKSxdCmZ1bmNHT19kZWcgPC0gYWxsR09fZGVnW2FsbEdPX2RlZyRHT19UZXJtcyAlaW4lIGludGVyc2VjdChhbGxHT19kZWckR09fVGVybXMsIGZ1bmNfZGYkR09fVGVybXMpLF0KZnVuY0dPX2RuIDwtIGFsbEdPX2RuW2FsbEdPX2RuJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KGFsbEdPX2RuJEdPX1Rlcm1zLCBmdW5jX2RmJEdPX1Rlcm1zKSxdCmZ1bmNHT191cCA8LSBhbGxHT191cFthbGxHT191cCRHT19UZXJtcyAlaW4lIGludGVyc2VjdChhbGxHT191cCRHT19UZXJtcywgZnVuY19kZiRHT19UZXJtcyksXQpwcm9jR09fZGVnIDwtIGFsbEdPX2RlZ1thbGxHT19kZWckR09fVGVybXMgJWluJSBpbnRlcnNlY3QoYWxsR09fZGVnJEdPX1Rlcm1zLCBwcm9jX2RmJEdPX1Rlcm1zKSxdCnByb2NHT19kbiA8LSBhbGxHT19kblthbGxHT19kbiRHT19UZXJtcyAlaW4lIGludGVyc2VjdChhbGxHT19kbiRHT19UZXJtcywgcHJvY19kZiRHT19UZXJtcyksXQpwcm9jR09fdXAgPC0gYWxsR09fdXBbYWxsR09fdXAkR09fVGVybXMgJWluJSBpbnRlcnNlY3QoYWxsR09fdXAkR09fVGVybXMsIHByb2NfZGYkR09fVGVybXMpLF0KCnRlbXBHT19kZWcgPC0gYWxsR09bc2FwcGx5KGFsbEdPJEdlbmVzLCBmdW5jdGlvbihpZHMpIGFueShpZHMgJWluJSByb3duYW1lcyhleHBfdGVtcF9kZWcpKSksIF0KdGVtcEdPX2RuIDwtIGFsbEdPW3NhcHBseShhbGxHTyRHZW5lcywgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMoZXhwX3RlbXBfZG4pKSksIF0KdGVtcEdPX3VwIDwtIGFsbEdPW3NhcHBseShhbGxHTyRHZW5lcywgZnVuY3Rpb24oaWRzKSBhbnkoaWRzICVpbiUgcm93bmFtZXMoZXhwX3RlbXBfdXApKSksIF0KY29tcEdPX2RlZ190ZW1wIDwtIHRlbXBHT19kZWdbdGVtcEdPX2RlZyRHT19UZXJtcyAlaW4lIGludGVyc2VjdCh0ZW1wR09fZGVnJEdPX1Rlcm1zLCBjb21wX2RmJEdPX1Rlcm1zKSxdCmNvbXBHT19kbl90ZW1wIDwtIHRlbXBHT19kblt0ZW1wR09fZG4kR09fVGVybXMgJWluJSBpbnRlcnNlY3QodGVtcEdPX2RuJEdPX1Rlcm1zLCBjb21wX2RmJEdPX1Rlcm1zKSxdCmNvbXBHT191cF90ZW1wIDwtIHRlbXBHT191cFt0ZW1wR09fdXAkR09fVGVybXMgJWluJSBpbnRlcnNlY3QodGVtcEdPX3VwJEdPX1Rlcm1zLCBjb21wX2RmJEdPX1Rlcm1zKSxdCmZ1bmNHT19kZWdfdGVtcCA8LSB0ZW1wR09fZGVnW3RlbXBHT19kZWckR09fVGVybXMgJWluJSBpbnRlcnNlY3QodGVtcEdPX2RlZyRHT19UZXJtcywgZnVuY19kZiRHT19UZXJtcyksXQpmdW5jR09fZG5fdGVtcCA8LSB0ZW1wR09fZG5bdGVtcEdPX2RuJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KHRlbXBHT19kbiRHT19UZXJtcywgZnVuY19kZiRHT19UZXJtcyksXQpmdW5jR09fdXBfdGVtcCA8LSB0ZW1wR09fdXBbdGVtcEdPX3VwJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KHRlbXBHT191cCRHT19UZXJtcywgZnVuY19kZiRHT19UZXJtcyksXQpwcm9jR09fZGVnX3RlbXAgPC0gdGVtcEdPX2RlZ1t0ZW1wR09fZGVnJEdPX1Rlcm1zICVpbiUgaW50ZXJzZWN0KHRlbXBHT19kZWckR09fVGVybXMsIHByb2NfZGYkR09fVGVybXMpLF0KcHJvY0dPX2RuX3RlbXAgPC0gdGVtcEdPX2RuW3RlbXBHT19kbiRHT19UZXJtcyAlaW4lIGludGVyc2VjdCh0ZW1wR09fZG4kR09fVGVybXMsIHByb2NfZGYkR09fVGVybXMpLF0KcHJvY0dPX3VwX3RlbXAgPC0gdGVtcEdPX3VwW3RlbXBHT191cCRHT19UZXJtcyAlaW4lIGludGVyc2VjdCh0ZW1wR09fdXAkR09fVGVybXMsIHByb2NfZGYkR09fVGVybXMpLF0KYGBgCgpgYGB7ciwgd2FybmluZz1GfQojcGxhc21hIG1lbWJyYW5lCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHd0X3VwX2FubiwgIkdPOjAwMDU4ODYiKQptYXBHTyhsZmNzX3d0LCBsZmNzX3RzLCB3dF9kbl9hbm4sICJHTzowMDA1ODg2IikKbWFwR08obGZjc193dCwgbGZjc190cywgdHNfdXBfYW5uLCAiR086MDAwNTg4NiIpCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHRzX2RuX2FubiwgIkdPOjAwMDU4ODYiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgY29udF91cF9hbm4sICJHTzowMDA1ODg2IikKbWFwR08obGZjc190ZW1wLCBsZmNzX2NvbnQsIGNvbnRfZG5fYW5uLCAiR086MDAwNTg4NiIpCm1hcEdPKGxmY3NfdGVtcCwgbGZjc19jb250LCB0ZW1wX3VwX2FubiwgIkdPOjAwMDU4ODYiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgdGVtcF9kbl9hbm4sICJHTzowMDA1ODg2IikKCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0KI21lbWJyYW5lCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHd0X3VwX2FubiwgIkdPOjAwMTYwMjAiKQptYXBHTyhsZmNzX3d0LCBsZmNzX3RzLCB3dF9kbl9hbm4sICJHTzowMDE2MDIwIikKbWFwR08obGZjc193dCwgbGZjc190cywgdHNfdXBfYW5uLCAiR086MDAxNjAyMCIpCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHRzX2RuX2FubiwgIkdPOjAwMTYwMjAiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgY29udF91cF9hbm4sICJHTzowMDE2MDIwIikKbWFwR08obGZjc190ZW1wLCBsZmNzX2NvbnQsIGNvbnRfZG5fYW5uLCAiR086MDAxNjAyMCIpCm1hcEdPKGxmY3NfdGVtcCwgbGZjc19jb250LCB0ZW1wX3VwX2FubiwgIkdPOjAwMTYwMjAiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgdGVtcF9kbl9hbm4sICJHTzowMDE2MDIwIikKCmBgYAoKYGBge3IsIHdhcm5pbmc9Rn0KI3ZhY3VvbGFyIG1lbWJyYW5lCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHd0X3VwX2FubiwgIkdPOjAwMDU3NzQiKQptYXBHTyhsZmNzX3d0LCBsZmNzX3RzLCB3dF9kbl9hbm4sICJHTzowMDA1Nzc0IikKbWFwR08obGZjc193dCwgbGZjc190cywgdHNfdXBfYW5uLCAiR086MDAwNTc3NCIpCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHRzX2RuX2FubiwgIkdPOjAwMDU3NzQiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgY29udF91cF9hbm4sICJHTzowMDA1Nzc0IikKbWFwR08obGZjc190ZW1wLCBsZmNzX2NvbnQsIGNvbnRfZG5fYW5uLCAiR086MDAwNTc3NCIpCm1hcEdPKGxmY3NfdGVtcCwgbGZjc19jb250LCB0ZW1wX3VwX2FubiwgIkdPOjAwMDU3NzQiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgdGVtcF9kbl9hbm4sICJHTzowMDA1Nzc0IikKCmBgYAoKCmBgYHtyLCB3YXJuaW5nPUZ9CiNwbGFudC10eXBlIGNlbGwgd2FsbAojZnJlZSByYWRpY2FscyBhbmQgdGlwIGdyb3d0aAptYXBHTyhsZmNzX3d0LCBsZmNzX3RzLCB3dF91cF9hbm4sICJHTzowMDA5NTA1IikKbWFwR08obGZjc193dCwgbGZjc190cywgd3RfZG5fYW5uLCAiR086MDAwOTUwNSIpCm1hcEdPKGxmY3Nfd3QsIGxmY3NfdHMsIHRzX3VwX2FubiwgIkdPOjAwMDk1MDUiKQptYXBHTyhsZmNzX3d0LCBsZmNzX3RzLCB0c19kbl9hbm4sICJHTzowMDA5NTA1IikKbWFwR08obGZjc190ZW1wLCBsZmNzX2NvbnQsIGNvbnRfdXBfYW5uLCAiR086MDAwOTUwNSIpCm1hcEdPKGxmY3NfdGVtcCwgbGZjc19jb250LCBjb250X2RuX2FubiwgIkdPOjAwMDk1MDUiKQptYXBHTyhsZmNzX3RlbXAsIGxmY3NfY29udCwgdGVtcF91cF9hbm4sICJHTzowMDA5NTA1IikKbWFwR08obGZjc190ZW1wLCBsZmNzX2NvbnQsIHRlbXBfZG5fYW5uLCAiR086MDAwOTUwNSIpCgpgYGAKCmBgYHtyfQpzaWdfdGVtcCA8LSBsZmNzX3RlbXBbYWJzKGxmY3NfdGVtcCRsb2cyRm9sZENoYW5nZSkgPiAxLF0KcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9wZXJveGlkYXNlLnBuZyIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDA0NjAxIikgI3Blcm94aWRhc2UgYWN0aXZpdHkKZGV2Lm9mZigpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vbGFjdG9wZXJveGlkYXNlLnBuZyIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMTQwODI1IikgI2xhY3RvcGVyb3hpZGFzZSBhY3Rpdml0eQpkZXYub2ZmKCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9veGlkYXRpdmVfc3RyZXNzLnBuZyIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDA2OTc5IikgI3Jlc3BvbnNlIHRvIG94aWRhdGl2ZSBzdHJlc3MKZGV2Lm9mZigpCnBuZyhmaWxlbmFtZT0ncGxvdHMvR08vY3ljbGluLnBuZycpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDMwMzMyIikgI2N5Y2xpbiBiaW5kaW5nCmRldi5vZmYoKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3JlZ19leHByZXNzaW9uLnBuZyIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDEwNDY4IikgI3JlZyBnZW5lIGV4cHJlc3Npb24KZGV2Lm9mZigpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vb3JnYW5pYy5wbmciKQptYXBHTyhzaWdfdGVtcCwgbGZjc19jb250LCBhbm5zLCAiR086MDAxMDAzMyIpICNyZXNwb25zZSB0byBvcmdhbmljIHN1YnN0YW5jZQpkZXYub2ZmKCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9HMV9TLnBuZyIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDAwMDgyIikgI0cxL1MKZGV2Lm9mZigpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vZXh0cmFjZWxsdWxhci5wbmciKQptYXBHTyhzaWdfdGVtcCwgbGZjc19jb250LCBhbm5zLCAiR086MDAwNTU3NiIpICNleHRyYWNlbGx1bGFyIHJlZ2lvbgpkZXYub2ZmKCkKYGBgCmBgYHtyfQoKd3QgPC0gYXMuZGF0YS5mcmFtZShsZmNzX3d0WywyXSkKdHMgPC0gYXMuZGF0YS5mcmFtZShsZmNzX3RzWywyXSkKY29udCA8LSBhcy5kYXRhLmZyYW1lKGxmY3NfY29udFssMl0pCnRlbXAgPC0gYXMuZGF0YS5mcmFtZShsZmNzX3RlbXBbLDJdKQoKcHJpbnQoaGVhZChjb250KSkKZGYxIDwtIG1lcmdlKHd0LCB0cywgYnk9InJvdy5uYW1lcyIpCmRmMiA8LSBtZXJnZShjb250LCB0ZW1wLCBieT0icm93Lm5hbWVzIikKZGYgPC0gbWVyZ2UoZGYxLCBkZjIsIGJ5PSJSb3cubmFtZXMiKQpyb3duYW1lcyhkZikgPC0gZGYkUm93Lm5hbWVzCmRmIDwtIGRmWywyOjVdCmNvbG5hbWVzKGRmKSA8LSBjKCJUUyIsICJXVCIsICIyMEMiLCAiMzJDIikKZGYgPC0gZGYgJT4lIGZpbHRlcl9hbGwoYW55X3ZhcnMoYWJzKC4pID4gMSkpCnByaW50KGhlYWQoZGYpKQpwbmcoZmlsZW5hbWU9ImhlYXRtYXBzL2hlYXRtYXBfYWxsLnBuZyIsIHdpZHRoPTQ4MCwgaGVpZ2h0PTEwMDApCnBoZWF0bWFwKGRmLCAKICAgICAgICAgdHJlZWhlaWdodF9yb3cgPSAwLAogICAgICAgICB0cmVlaGVpZ2h0X2NvbCA9IDAsCiAgICAgICAgIGNlbGx3aWR0aCA9IDYwLAogICAgICAgICBjZWxsaGVpZ2h0ID0gMC41LAogICAgICAgICBicmVha3MgPSBzZXEoZnJvbSA9IC0zLCB0byA9IDMsIGxlbmd0aCA9IDEwMSksIAogICAgICAgICBzaG93X3Jvd25hbWVzID0gRkFMU0UsCiAgICAgICAgIGZvbnRzaXplID0gMjApCmRldi5vZmYoKQpgYGAKCmBgYHtyfQoKbWFwR08oc2lnX3RlbXAsIGxmY3NfY29udCwgYW5ucywgIkdPOjAxNDA4MjUiKQptYXBHTyhzaWdfdGVtcCwgbGZjc19jb250LCBhbm5zLCAiR086MDAwNDYwMSIpCm1hcEdPKHNpZ190ZW1wLCBsZmNzX2NvbnQsIGFubnMsICJHTzowMDIwMDM3IikKYGBgCgpgYGB7cn0KbGlicmFyeShkcGx5cikKbGlicmFyeSh0aWR5cikKbGlicmFyeShjbHVzdGVyUHJvZmlsZXIpCmxpYnJhcnkoZW5yaWNocGxvdCkKdGVzdCA8LSBkYXRhLmZyYW1lKEdlbmUgPSBhbm5zJEdlbmUuTmFtZXMuLk9SRi4sIEdPX1Rlcm1zID0gYW5ucyRHZW5lLk9udG9sb2d5Li5jZWxsdWxhci5jb21wb25lbnQuKQpoZWFkKHRlc3QpCmdlbmVfZGYgPC0gdGVzdCAlPiUKICBzZXBhcmF0ZV9yb3dzKEdPX1Rlcm1zLCBzZXAgPSAiOyAiKSAlPiUKICBtdXRhdGUoR09fVGVybXMgPSB0cmltd3MoR09fVGVybXMpKQpyZXN1bHRfZGYgPC0gZ2VuZV9kZiAlPiUKICBncm91cF9ieShHT19UZXJtcykgJT4lCiAgc3VtbWFyaXplKEdlbmVzID0gbGlzdCh1bmlxdWUoR2VuZSkpKSAlPiUKICB1bmdyb3VwKCkKCmNvbXBfZGYgPC0gcmVzdWx0X2RmWy0xLF0KaGVhZChjb21wX2RmKQoKdGVzdCA8LSBkYXRhLmZyYW1lKEdlbmUgPSBhbm5zJEdlbmUuTmFtZXMuLk9SRi4sIEdPX1Rlcm1zID0gYW5ucyRHZW5lLk9udG9sb2d5Li5iaW9sb2dpY2FsLnByb2Nlc3MuKQpoZWFkKHRlc3QpCmdlbmVfZGYgPC0gdGVzdCAlPiUKICBzZXBhcmF0ZV9yb3dzKEdPX1Rlcm1zLCBzZXAgPSAiOyAiKSAlPiUKICBtdXRhdGUoR09fVGVybXMgPSB0cmltd3MoR09fVGVybXMpKQpyZXN1bHRfZGYgPC0gZ2VuZV9kZiAlPiUKICBncm91cF9ieShHT19UZXJtcykgJT4lCiAgc3VtbWFyaXplKEdlbmVzID0gbGlzdCh1bmlxdWUoR2VuZSkpKSAlPiUKICB1bmdyb3VwKCkKCnByb2NfZGYgPC0gcmVzdWx0X2RmWy0xLF0KaGVhZChwcm9jX2RmKQoKdGVzdCA8LSBkYXRhLmZyYW1lKEdlbmUgPSBhbm5zJEdlbmUuTmFtZXMuLk9SRi4sIEdPX1Rlcm1zID0gYW5ucyRHZW5lLk9udG9sb2d5Li5tb2xlY3VsYXIuZnVuY3Rpb24uKQpoZWFkKHRlc3QpCmdlbmVfZGYgPC0gdGVzdCAlPiUKICBzZXBhcmF0ZV9yb3dzKEdPX1Rlcm1zLCBzZXAgPSAiOyAiKSAlPiUKICBtdXRhdGUoR09fVGVybXMgPSB0cmltd3MoR09fVGVybXMpKQpyZXN1bHRfZGYgPC0gZ2VuZV9kZiAlPiUKICBncm91cF9ieShHT19UZXJtcykgJT4lCiAgc3VtbWFyaXplKEdlbmVzID0gbGlzdCh1bmlxdWUoR2VuZSkpKSAlPiUKICB1bmdyb3VwKCkKCmZ1bmNfZGYgPC0gcmVzdWx0X2RmWy0xLF0KaGVhZChmdW5jX2RmKQoKYGBgCgpgYGAge3J9Cnd0X3VwX2Z1bmMgPC0gZW5yaWNoZXIoZ2VuZSA9IHd0X3VwX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBmdW5jX2RmKQpoZWFkKHd0X3VwX2Z1bmMpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vd3RfdXBfZnVuYy5wbmciKQpiYXJwbG90KHd0X3VwX2Z1bmMsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IEZ1bmN0aW9uICh3dF91cCkiKQpkZXYub2ZmKCkKd3RfdXBfY29tcCA8LSBlbnJpY2hlcihnZW5lID0gd3RfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGNvbXBfZGYpCmhlYWQod3RfdXBfY29tcCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy93dF91cF9jb21wLnBuZyIpCmJhcnBsb3Qod3RfdXBfY29tcCwgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgQ29tcG9uZW50ICh3dF91cCkiKQpkZXYub2ZmKCkKd3RfdXBfcHJvYyA8LSBlbnJpY2hlcihnZW5lID0gd3RfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IHByb2NfZGYpCmhlYWQod3RfdXBfcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy93dF91cF9wcm9jLnBuZyIpCmJhcnBsb3Qod3RfdXBfcHJvYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgUHJvY2VzcyAod3RfdXApIikKZGV2Lm9mZigpCmBgYAoKYGBgIHtyfQp3dF9kbl9mdW5jIDwtIGVucmljaGVyKGdlbmUgPSB3dF9kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gZnVuY19kZikKaGVhZCh3dF9kbl9mdW5jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3d0X2RuX2Z1bmMucG5nIikKI2JhcnBsb3Qod3RfZG5fZnVuYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgRnVuY3Rpb24gKHd0X2RuKSIpCmRldi5vZmYoKQp3dF9kbl9jb21wIDwtIGVucmljaGVyKGdlbmUgPSB3dF9kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gY29tcF9kZikKaGVhZCh3dF9kbl9jb21wKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3d0X2RuX2NvbXAucG5nIikKI2JhcnBsb3Qod3RfZG5fY29tcCwgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgQ29tcG9uZW50ICh3dF9kbikiKQpkZXYub2ZmKCkKd3RfZG5fcHJvYyA8LSBlbnJpY2hlcihnZW5lID0gd3RfZG5fYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IHByb2NfZGYpCmhlYWQod3RfZG5fcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy93dF9kbl9wcm9jLnBuZyIpCiNiYXJwbG90KHd0X2RuX3Byb2MsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IFByb2Nlc3MgKHd0X2RuKSIpCmRldi5vZmYoKQpgYGAKCmBgYCB7cn0Kd3RfZnVuYyA8LSBlbnJpY2hlcihnZW5lID0gd3RfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGZ1bmNfZGYpCmhlYWQod3RfZnVuYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy93dF9mdW5jLnBuZyIpCmJhcnBsb3Qod3RfZnVuYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgRnVuY3Rpb24gKHd0KSIpCmRldi5vZmYoKQp3dF9jb21wIDwtIGVucmljaGVyKGdlbmUgPSB3dF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gY29tcF9kZikKaGVhZCh3dF9jb21wKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3d0X2NvbXAucG5nIikKYmFycGxvdCh3dF9jb21wLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBDb21wb25lbnQgKHd0KSIpCmRldi5vZmYoKQp3dF9wcm9jIDwtIGVucmljaGVyKGdlbmUgPSB3dF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gcHJvY19kZikKaGVhZCh3dF9wcm9jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3d0X3Byb2MucG5nIikKYmFycGxvdCh3dF9wcm9jLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBQcm9jZXNzICh3dCkiKQpkZXYub2ZmKCkKYGBgCgpgYGAge3J9CnRzX3VwX2Z1bmMgPC0gZW5yaWNoZXIoZ2VuZSA9IHRzX3VwX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBmdW5jX2RmKQpoZWFkKHRzX3VwX2Z1bmMpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdHNfdXBfZnVuYy5wbmciKQpiYXJwbG90KHRzX3VwX2Z1bmMsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IEZ1bmN0aW9uICh0c191cCkiKQpkZXYub2ZmKCkKdHNfdXBfY29tcCA8LSBlbnJpY2hlcihnZW5lID0gdHNfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGNvbXBfZGYpCmhlYWQodHNfdXBfY29tcCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy90c191cF9jb21wLnBuZyIpCmJhcnBsb3QodHNfdXBfY29tcCwgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgQ29tcG9uZW50ICh0c191cCkiKQpkZXYub2ZmKCkKdHNfdXBfcHJvYyA8LSBlbnJpY2hlcihnZW5lID0gdHNfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IHByb2NfZGYpCmhlYWQodHNfdXBfcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy90c191cF9wcm9jLnBuZyIpCmJhcnBsb3QodHNfdXBfcHJvYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgUHJvY2VzcyAodHNfdXApIikKZGV2Lm9mZigpCmBgYAoKYGBgIHtyfQp0c19kbl9mdW5jIDwtIGVucmljaGVyKGdlbmUgPSB0c19kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gZnVuY19kZikKaGVhZCh0c19kbl9mdW5jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RzX2RuX2Z1bmMucG5nIikKI2JhcnBsb3QodHNfZG5fZnVuYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgRnVuY3Rpb24gKHRzX2RuKSIpCmRldi5vZmYoKQp0c19kbl9jb21wIDwtIGVucmljaGVyKGdlbmUgPSB0c19kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gY29tcF9kZikKaGVhZCh0c19kbl9jb21wKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RzX2RuX2NvbXAucG5nIikKYmFycGxvdCh0c19kbl9jb21wLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBDb21wb25lbnQgKHRzX2RuKSIpCmRldi5vZmYoKQp0c19kbl9wcm9jIDwtIGVucmljaGVyKGdlbmUgPSB0c19kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gcHJvY19kZikKaGVhZCh0c19kbl9wcm9jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RzX2RuX3Byb2MucG5nIikKI2JhcnBsb3QodHNfZG5fcHJvYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgUHJvY2VzcyAodHNfZG4pIikKZGV2Lm9mZigpCmBgYAoKYGBgIHtyfQp0c19mdW5jIDwtIGVucmljaGVyKGdlbmUgPSB0c19hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gZnVuY19kZikKaGVhZCh0c19mdW5jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RzX2Z1bmMucG5nIikKYmFycGxvdCh0c19mdW5jLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBGdW5jdGlvbiAodHMpIikKZGV2Lm9mZigpCnRzX2NvbXAgPC0gZW5yaWNoZXIoZ2VuZSA9IHRzX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBjb21wX2RmKQpoZWFkKHRzX2NvbXApCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdHNfY29tcC5wbmciKQpiYXJwbG90KHRzX2RuX2NvbXAsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IENvbXBvbmVudCAodHMpIikKZGV2Lm9mZigpCnRzX3Byb2MgPC0gZW5yaWNoZXIoZ2VuZSA9IHRzX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBwcm9jX2RmKQpoZWFkKHRzX3Byb2MpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdHNfcHJvYy5wbmciKQpiYXJwbG90KHRzX3Byb2MsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IFByb2Nlc3MgKHRzKSIpCmRldi5vZmYoKQpgYGAKCmBgYCB7cn0KY29udF91cF9mdW5jIDwtIGVucmljaGVyKGdlbmUgPSBjb250X3VwX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBmdW5jX2RmKQpoZWFkKGNvbnRfdXBfZnVuYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9jb250X3VwX2Z1bmMucG5nIikKYmFycGxvdChjb250X3VwX2Z1bmMsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IEZ1bmN0aW9uIChjb250X3VwKSIpCmRldi5vZmYoKQpjb250X3VwX2NvbXAgPC0gZW5yaWNoZXIoZ2VuZSA9IGNvbnRfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGNvbXBfZGYpCmhlYWQoY29udF91cF9jb21wKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL2NvbnRfdXBfY29tcC5wbmciKQojYmFycGxvdChjb250X3VwX2NvbXAsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IENvbXBvbmVudCAoY29udF91cCkiKQpkZXYub2ZmKCkKY29udF91cF9wcm9jIDwtIGVucmljaGVyKGdlbmUgPSBjb250X3VwX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBwcm9jX2RmKQpoZWFkKGNvbnRfdXBfcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9jb250X3VwX3Byb2MucG5nIikKYmFycGxvdChjb250X3VwX3Byb2MsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IFByb2Nlc3MgKGNvbnRfdXApIikKZGV2Lm9mZigpCmBgYAoKYGBgIHtyfQpjb250X2RuX2Z1bmMgPC0gZW5yaWNoZXIoZ2VuZSA9IGNvbnRfZG5fYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGZ1bmNfZGYpCmhlYWQoY29udF9kbl9mdW5jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL2NvbnRfZG5fZnVuYy5wbmciKQpiYXJwbG90KGNvbnRfZG5fZnVuYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgRnVuY3Rpb24gKGNvbnRfZG4pIikKZGV2Lm9mZigpCmNvbnRfZG5fY29tcCA8LSBlbnJpY2hlcihnZW5lID0gY29udF9kbl9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gY29tcF9kZikKaGVhZChjb250X2RuX2NvbXApCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vY29udF9kbl9jb21wLnBuZyIpCiNiYXJwbG90KGNvbnRfZG5fY29tcCwgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgQ29tcG9uZW50IChjb250X2RuKSIpCmRldi5vZmYoKQpjb250X2RuX3Byb2MgPC0gZW5yaWNoZXIoZ2VuZSA9IGNvbnRfZG5fYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IHByb2NfZGYpCmhlYWQoY29udF9kbl9wcm9jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL2NvbnRfZG5fcHJvYy5wbmciKQpiYXJwbG90KGNvbnRfZG5fcHJvYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgUHJvY2VzcyAoY29udF9kbikiKQpkZXYub2ZmKCkKYGBgCgpgYGAge3J9CmNvbnRfZnVuYyA8LSBlbnJpY2hlcihnZW5lID0gY29udF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gZnVuY19kZikKaGVhZChjb250X2Z1bmMpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vY29udF9mdW5jLnBuZyIpCmJhcnBsb3QoY29udF9mdW5jLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBGdW5jdGlvbiAoY29udCkiKQpkZXYub2ZmKCkKY29udF9jb21wIDwtIGVucmljaGVyKGdlbmUgPSBjb250X2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBjb21wX2RmKQpoZWFkKGNvbnRfY29tcCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9jb250X2NvbXAucG5nIikKYmFycGxvdChjb250X2NvbXAsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IENvbXBvbmVudCAoY29udCkiKQpkZXYub2ZmKCkKY29udF9wcm9jIDwtIGVucmljaGVyKGdlbmUgPSBjb250X2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBwcm9jX2RmKQpoZWFkKGNvbnRfcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy9jb250X3Byb2MucG5nIikKYmFycGxvdChjb250X3Byb2MsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IFByb2Nlc3MgKGNvbnQpIikKZGV2Lm9mZigpCmBgYAoKYGBgIHtyfQp0ZW1wX3VwX2Z1bmMgPC0gZW5yaWNoZXIoZ2VuZSA9IHRlbXBfdXBfYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGZ1bmNfZGYpCmhlYWQodGVtcF91cF9mdW5jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RlbXBfdXBfZnVuYy5wbmciKQpiYXJwbG90KHRlbXBfdXBfZnVuYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgRnVuY3Rpb24gKHRlbXBfdXApIikKZGV2Lm9mZigpCnRlbXBfdXBfY29tcCA8LSBlbnJpY2hlcihnZW5lID0gdGVtcF91cF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gY29tcF9kZikKaGVhZCh0ZW1wX3VwX2NvbXApCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdGVtcF91cF9jb21wLnBuZyIpCmJhcnBsb3QodGVtcF91cF9jb21wLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBDb21wb25lbnQgKHRlbXBfdXApIikKZGV2Lm9mZigpCnRlbXBfdXBfcHJvYyA8LSBlbnJpY2hlcihnZW5lID0gdGVtcF91cF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gcHJvY19kZikKaGVhZCh0ZW1wX3VwX3Byb2MpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdGVtcF91cF9wcm9jLnBuZyIpCmJhcnBsb3QodGVtcF91cF9wcm9jLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBQcm9jZXNzICh0ZW1wX3VwKSIpCmRldi5vZmYoKQpgYGAKCmBgYCB7cn0KdGVtcF9kbl9mdW5jIDwtIGVucmljaGVyKGdlbmUgPSB0ZW1wX2RuX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBmdW5jX2RmKQpoZWFkKHRlbXBfZG5fZnVuYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy90ZW1wX2RuX2Z1bmMucG5nIikKYmFycGxvdCh0ZW1wX2RuX2Z1bmMsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IEZ1bmN0aW9uICh0ZW1wX2RuKSIpCmRldi5vZmYoKQp0ZW1wX2RuX2NvbXAgPC0gZW5yaWNoZXIoZ2VuZSA9IHRlbXBfZG5fYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IGNvbXBfZGYpCmhlYWQodGVtcF9kbl9jb21wKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RlbXBfZG5fY29tcC5wbmciKQpiYXJwbG90KHRlbXBfZG5fY29tcCwgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgQ29tcG9uZW50ICh0ZW1wX2RuKSIpCmRldi5vZmYoKQp0ZW1wX2RuX3Byb2MgPC0gZW5yaWNoZXIoZ2VuZSA9IHRlbXBfZG5fYW5uJEdlbmUuTmFtZXMuLk9SRi4sIFRFUk0yR0VORSA9IHByb2NfZGYpCmhlYWQodGVtcF9kbl9wcm9jKQpwbmcoZmlsZW5hbWU9InBsb3RzL0dPL3RlbXBfZG5fcHJvYy5wbmciKQpiYXJwbG90KHRlbXBfZG5fcHJvYywgdGl0bGU9IkdPIEVucmljaG1lbnQgYnkgUHJvY2VzcyAodGVtcF9kbikiKQpkZXYub2ZmKCkKYGBgCgpgYGAge3J9CnRlbXBfZnVuYyA8LSBlbnJpY2hlcihnZW5lID0gdGVtcF9hbm4kR2VuZS5OYW1lcy4uT1JGLiwgVEVSTTJHRU5FID0gZnVuY19kZiwgcHZhbHVlQ3V0b2ZmID0gMC4wNSkKaGVhZCh0ZW1wX2Z1bmMpCnBuZyhmaWxlbmFtZT0icGxvdHMvR08vdGVtcF9mdW5jLnBuZyIpCmJhcnBsb3QodGVtcF9mdW5jLCB0aXRsZT0iR08gRW5yaWNobWVudCBieSBGdW5jdGlvbiAodGVtcCkiKQpkZXYub2ZmKCkKdGVtcF9jb21wIDwtIGVucmljaGVyKGdlbmUgPSB0ZW1wX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBjb21wX2RmKQpoZWFkKHRlbXBfY29tcCkKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy90ZW1wX2NvbXAucG5nIikKYmFycGxvdCh0ZW1wX2RuX2NvbXAsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IENvbXBvbmVudCAodGVtcCkiKQpkZXYub2ZmKCkKdGVtcF9wcm9jIDwtIGVucmljaGVyKGdlbmUgPSB0ZW1wX2FubiRHZW5lLk5hbWVzLi5PUkYuLCBURVJNMkdFTkUgPSBwcm9jX2RmKQpoZWFkKHRlbXBfcHJvYykKcG5nKGZpbGVuYW1lPSJwbG90cy9HTy90ZW1wX3Byb2MucG5nIikKYmFycGxvdCh0ZW1wX3Byb2MsIHRpdGxlPSJHTyBFbnJpY2htZW50IGJ5IFByb2Nlc3MgKHRlbXApIikKZGV2Lm9mZigpCmBgYAo=