SQ NOTE:

All block can run

library(DESeq2)
library(ggplot2)
library(ComplexHeatmap)
library("org.Hs.eg.db")
ls
## HS_STAR_dir
## Homo_sapiens.GRCh38.109.gtf
## Homo_sapiens.GRCh38.dna_sm.primary_assembly.fa
## Sanbomics_RNAseq_video6.ipynb
## bams
## count.out
## count.out.summary
## count_table.csv
## deseq_results.csv
## deseq_workspace.RData
## diff_expr.Rmd
## diff_expr.html
## ensemble_key_mapper.csv
## fastq
## heatmap_v1.pdf
## heatmap_v1.png
## mapped
## ref
## rnaseq.Rproj
## simple_heatmap.png
## sratoolkit.3.0.2-ubuntu64
## sratoolkit.3.0.2-ubuntu64.tar
Counts <- read.delim("count_table.csv", header = TRUE, row.names = 1, sep = ",")
head(Counts)
##                 Ctr_s1 Ctr_s2 Ctr_s7 Ctr_s13 RS_s6 RS_s9 RS_s12 RS_s16
## ENSG00000160072    427    328    416     246   549   202    361    174
## ENSG00000279928      0      0      0       0     0     0      0      0
## ENSG00000228037      0      0      0       1     0     0      0      1
## ENSG00000142611     24      5     54      17    14     1     73     11
## ENSG00000284616      0      0      0       0     0     0      0      0
## ENSG00000157911    174    183    213     169   250   102    189    100
Counts <- Counts[which(rowSums(Counts)> 50),]
head(Counts)
##                 Ctr_s1 Ctr_s2 Ctr_s7 Ctr_s13 RS_s6 RS_s9 RS_s12 RS_s16
## ENSG00000160072    427    328    416     246   549   202    361    174
## ENSG00000142611     24      5     54      17    14     1     73     11
## ENSG00000157911    174    183    213     169   250   102    189    100
## ENSG00000269896      5      7      5      13    14     8     10      9
## ENSG00000142655    364    332    346     269   302   252    224    210
## ENSG00000171621    815   1174    630     605   660   568    533    359
condition <-  factor(c("C", "C", "C", "C", "S", "S", "S", "S"))
coldata <-  data.frame(row.names = colnames(Counts),condition)
coldata
##         condition
## Ctr_s1          C
## Ctr_s2          C
## Ctr_s7          C
## Ctr_s13         C
## RS_s6           S
## RS_s9           S
## RS_s12          S
## RS_s16          S
dds <- DESeqDataSetFromMatrix(countData = Counts, colData = coldata, design = ~condition)
dds <- DESeq(dds)
vsdata <- vst(dds, blind = FALSE)
plotPCA(vsdata, intgroup = "condition")+ geom_text(aes(label=name),vjust=2)

# plotPCA(vsdata, intgroup = "condition")+ geom_label(aes(label = colnames(vsdata)))
plotDispEsts(dds)

res <- results(dds, contrast = c("condition", "S", "C"))
head(res, 100)
## log2 fold change (MLE): condition S vs C 
## Wald test p-value: condition S vs C 
## DataFrame with 100 rows and 6 columns
##                  baseMean log2FoldChange     lfcSE       stat    pvalue
##                 <numeric>      <numeric> <numeric>  <numeric> <numeric>
## ENSG00000160072 320.76144      0.0945116  0.252136   0.374844  0.707777
## ENSG00000142611  23.79190      0.2328270  1.051377   0.221450  0.824742
## ENSG00000157911 166.60233      0.0300493  0.234862   0.127945  0.898193
## ENSG00000269896   9.15331      0.7004912  0.616870   1.135558  0.256142
## ENSG00000142655 282.67848     -0.0849087  0.169742  -0.500221  0.616919
## ...                   ...            ...       ...        ...       ...
## ENSG00000116652   7.14089     -0.8858524  0.706148 -1.2544852  0.209666
## ENSG00000123080 212.03083      0.0281466  0.845388  0.0332943  0.973440
## ENSG00000162415 144.12892     -1.6380016  1.352365 -1.2112130  0.225814
## ENSG00000162600 103.99734     -0.0871345  0.264999 -0.3288108  0.742299
## ENSG00000116704 393.05440     -0.1857103  0.165337 -1.1232263  0.261341
##                      padj
##                 <numeric>
## ENSG00000160072  0.999972
## ENSG00000142611  0.999972
## ENSG00000157911  0.999972
## ENSG00000269896  0.999972
## ENSG00000142655  0.999972
## ...                   ...
## ENSG00000116652  0.999972
## ENSG00000123080  0.999972
## ENSG00000162415  0.999972
## ENSG00000162600  0.999972
## ENSG00000116704  0.999972
sigs <- na.omit(res)
sigs <- sigs[sigs$padj<0.05,]
head(sigs)
## log2 fold change (MLE): condition S vs C 
## Wald test p-value: condition S vs C 
## DataFrame with 6 rows and 6 columns
##                  baseMean log2FoldChange     lfcSE      stat      pvalue
##                 <numeric>      <numeric> <numeric> <numeric>   <numeric>
## ENSG00000187513   24.8428        8.24555  2.192258   3.76121 1.69093e-04
## ENSG00000117586  107.9179        1.78389  0.316856   5.62997 1.80241e-08
## ENSG00000116833   91.4553       -6.87821  1.531651  -4.49072 7.09839e-06
## ENSG00000076356  928.9865        1.16780  0.290421   4.02106 5.79368e-05
## ENSG00000163131  287.7356       -4.51536  1.117169  -4.04178 5.30459e-05
## ENSG00000162631  183.4102       -2.26377  0.591434  -3.82759 1.29404e-04
##                        padj
##                   <numeric>
## ENSG00000187513 4.35492e-02
## ENSG00000117586 6.63691e-05
## ENSG00000116833 5.80846e-03
## ENSG00000076356 2.24566e-02
## ENSG00000163131 2.11166e-02
## ENSG00000162631 3.52962e-02
write.csv(sigs, file = "deseq_results.csv")
sigs.df <- as.data.frame(sigs)
sigs.df
##                     baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000187513    24.842817      8.2455463 2.1922583  3.761211 1.690927e-04
## ENSG00000117586   107.917887      1.7838924 0.3168565  5.629970 1.802407e-08
## ENSG00000116833    91.455271     -6.8782103 1.5316509 -4.490717 7.098391e-06
## ENSG00000076356   928.986546      1.1678009 0.2904212  4.021060 5.793685e-05
## ENSG00000163131   287.735602     -4.5153567 1.1171690 -4.041785 5.304587e-05
## ENSG00000162631   183.410224     -2.2637650 0.5914336 -3.827590 1.294043e-04
## ENSG00000198744   119.991977     -6.8833832 1.4042926 -4.901673 9.502392e-07
## ENSG00000162878   301.802640     -1.1358393 0.2749817 -4.130600 3.618176e-05
## ENSG00000144339    35.107660     -2.3716410 0.5550538 -4.272813 1.930225e-05
## ENSG00000054356   582.501835     -3.3550985 0.7490842 -4.478934 7.501678e-06
## ENSG00000132329    21.202591     -3.0482421 0.8091325 -3.767297 1.650248e-04
## ENSG00000230838    37.944119      3.5348079 0.7578334  4.664360 3.095790e-06
## ENSG00000249992  1244.723782     -1.3423225 0.2848203 -4.712875 2.442460e-06
## ENSG00000163814  4524.136684     -1.1329960 0.3034945 -3.733168 1.890861e-04
## ENSG00000144824  1476.120686      0.7133463 0.1877279  3.799895 1.447577e-04
## ENSG00000169908  3899.283386     -0.8328781 0.1973860 -4.219540 2.448017e-05
## ENSG00000187091   310.551761      1.1180388 0.2419186  4.621550 3.808829e-06
## ENSG00000180914   286.479525      2.0078388 0.4579873  4.384049 1.164937e-05
## ENSG00000014257    11.801649     -2.8642169 0.6759762 -4.237156 2.263688e-05
## ENSG00000132465    26.019250     -5.1460162 1.0252602 -5.019229 5.187921e-07
## ENSG00000182585    16.937912      3.8611512 0.7417983  5.205123 1.938683e-07
## ENSG00000145335    77.494623     -6.0460584 1.2741503 -4.745169 2.083324e-06
## ENSG00000168685   223.875685     -3.2385125 0.7620463 -4.249758 2.140016e-05
## ENSG00000164251   534.108683     -2.0516183 0.4613494 -4.446994 8.708023e-06
## ENSG00000087116  2559.534531      0.9927466 0.2513969  3.948922 7.850406e-05
## ENSG00000137393    33.534508     -1.8883355 0.4885849 -3.864908 1.111312e-04
## ENSG00000204516   202.811945     -1.0041799 0.2124972 -4.725616 2.294194e-06
## ENSG00000096696  2123.165152      3.2098065 0.8143076  3.941762 8.088533e-05
## ENSG00000153294    45.873201     -1.2854609 0.2789443 -4.608308 4.059599e-06
## ENSG00000236453    46.896053     -3.2448884 0.8083689 -4.014118 5.966840e-05
## ENSG00000106538   119.587441     -4.4774851 1.0820654 -4.137906 3.504894e-05
## ENSG00000155849    21.733514     -4.3170408 1.1247341 -3.838277 1.239008e-04
## ENSG00000147257    56.457614     -4.5844851 1.2200271 -3.757691 1.714883e-04
## ENSG00000147454   532.869373      0.7796797 0.1717052  4.540804 5.604006e-06
## ENSG00000134013 11729.859413      1.6790683 0.4354026  3.856358 1.150890e-04
## ENSG00000182307   574.513438     -0.7582305 0.1926540 -3.935711 8.295090e-05
## ENSG00000154529   139.785608      2.4259239 0.6228361  3.894964 9.821351e-05
## ENSG00000119138   567.942765     -0.5141100 0.1264319 -4.066298 4.776576e-05
## ENSG00000136859   613.762293     -1.5407371 0.3457842 -4.455777 8.358986e-06
## ENSG00000085117   184.930233     -2.9281334 0.7515344 -3.896207 9.771093e-05
## ENSG00000166435   126.001366      1.0854882 0.1811251  5.993030 2.059672e-09
## ENSG00000198873   967.588853      0.4597816 0.1164530  3.948216 7.873562e-05
## ENSG00000122861   967.121837     -2.2180058 0.5388474 -4.116204 3.851637e-05
## ENSG00000138207    42.798311      3.0999427 0.7611299  4.072817 4.644793e-05
## ENSG00000121350   215.319446      0.6024325 0.1363193  4.419275 9.903249e-06
## ENSG00000261105    15.376714      3.5524727 0.9231639  3.848150 1.190134e-04
## ENSG00000287996    18.668988     -5.5178831 0.9430348 -5.851198 4.880453e-09
## ENSG00000126803    35.497279     -1.3573021 0.3176217 -4.273329 1.925756e-05
## ENSG00000092068    98.691027     -1.2613041 0.3398805 -3.711022 2.064244e-04
## ENSG00000140285  1307.029130     -2.0405477 0.5094508 -4.005388 6.191587e-05
## ENSG00000140470    43.257016      4.0088132 1.0193568  3.932689 8.400090e-05
## ENSG00000108576    21.953834      3.0816911 0.6075381  5.072424 3.927796e-07
## ENSG00000273018     7.972867     -5.5396672 1.2467529 -4.443276 8.859938e-06
## ENSG00000128482    33.914751     -1.5595766 0.4040515 -3.859847 1.134583e-04
## ENSG00000204650    67.478869     -1.3810443 0.3141193 -4.396560 1.099798e-05
## ENSG00000291090     6.854849     -3.9852812 1.0695801 -3.726024 1.945238e-04
## ENSG00000178184    54.913501     -1.9964318 0.4664466 -4.280087 1.868203e-05
## ENSG00000167642    29.901220      4.1119585 1.0350463  3.972729 7.105387e-05
## ENSG00000100376   243.485165     -1.3551115 0.2482108 -5.459519 4.774266e-08
## ENSG00000241945    16.624100      3.8380065 0.6469946  5.932054 2.991685e-09
## ENSG00000160221    11.858286      3.8295830 0.7411537  5.167056 2.378095e-07
##                         padj
## ENSG00000187513 4.354916e-02
## ENSG00000117586 6.636915e-05
## ENSG00000116833 5.808456e-03
## ENSG00000076356 2.245663e-02
## ENSG00000163131 2.111656e-02
## ENSG00000162631 3.529622e-02
## ENSG00000198744 1.399607e-03
## ENSG00000162878 1.614912e-02
## ENSG00000144339 1.015367e-02
## ENSG00000054356 5.815379e-03
## ENSG00000132329 4.340448e-02
## ENSG00000230838 3.256993e-03
## ENSG00000249992 2.767308e-03
## ENSG00000163814 4.720423e-02
## ENSG00000144824 3.876611e-02
## ENSG00000169908 1.163124e-02
## ENSG00000187091 3.737114e-03
## ENSG00000180914 6.863341e-03
## ENSG00000014257 1.111395e-02
## ENSG00000132465 8.490321e-04
## ENSG00000182585 4.759144e-04
## ENSG00000145335 2.767308e-03
## ENSG00000168685 1.086907e-02
## ENSG00000164251 5.931728e-03
## ENSG00000087116 2.689672e-02
## ENSG00000137393 3.323816e-02
## ENSG00000204516 2.767308e-03
## ENSG00000096696 2.689672e-02
## ENSG00000153294 3.737114e-03
## ENSG00000236453 2.253477e-02
## ENSG00000106538 1.613237e-02
## ENSG00000155849 3.443273e-02
## ENSG00000147257 4.354916e-02
## ENSG00000147454 4.855377e-03
## ENSG00000134013 3.323816e-02
## ENSG00000182307 2.689672e-02
## ENSG00000154529 3.013722e-02
## ENSG00000119138 1.954283e-02
## ENSG00000136859 5.931728e-03
## ENSG00000085117 3.013722e-02
## ENSG00000166435 2.203226e-05
## ENSG00000198873 2.689672e-02
## ENSG00000122861 1.668552e-02
## ENSG00000138207 1.954283e-02
## ENSG00000121350 6.341955e-03
## ENSG00000261105 3.371055e-02
## ENSG00000287996 2.396140e-05
## ENSG00000126803 1.015367e-02
## ENSG00000092068 4.984303e-02
## ENSG00000140285 2.279897e-02
## ENSG00000140470 2.689672e-02
## ENSG00000108576 7.231564e-04
## ENSG00000273018 5.931728e-03
## ENSG00000128482 3.323816e-02
## ENSG00000204650 6.749549e-03
## ENSG00000291090 4.775235e-02
## ENSG00000178184 1.015367e-02
## ENSG00000167642 2.552567e-02
## ENSG00000100376 1.406403e-04
## ENSG00000241945 2.203226e-05
## ENSG00000160221 5.003851e-04
# set a filter is optional
# sigs.df <- sigs.df[(sigs.df$baseMean > 50) & (abs(sigs.df$log2FoldChange) > 1.2),]
sigs.df$symbol <- mapIds(org.Hs.eg.db, keys = rownames(sigs.df), keytype = "ENSEMBL", column = "SYMBOL") 
sigs.df
##                     baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000187513    24.842817      8.2455463 2.1922583  3.761211 1.690927e-04
## ENSG00000117586   107.917887      1.7838924 0.3168565  5.629970 1.802407e-08
## ENSG00000116833    91.455271     -6.8782103 1.5316509 -4.490717 7.098391e-06
## ENSG00000076356   928.986546      1.1678009 0.2904212  4.021060 5.793685e-05
## ENSG00000163131   287.735602     -4.5153567 1.1171690 -4.041785 5.304587e-05
## ENSG00000162631   183.410224     -2.2637650 0.5914336 -3.827590 1.294043e-04
## ENSG00000198744   119.991977     -6.8833832 1.4042926 -4.901673 9.502392e-07
## ENSG00000162878   301.802640     -1.1358393 0.2749817 -4.130600 3.618176e-05
## ENSG00000144339    35.107660     -2.3716410 0.5550538 -4.272813 1.930225e-05
## ENSG00000054356   582.501835     -3.3550985 0.7490842 -4.478934 7.501678e-06
## ENSG00000132329    21.202591     -3.0482421 0.8091325 -3.767297 1.650248e-04
## ENSG00000230838    37.944119      3.5348079 0.7578334  4.664360 3.095790e-06
## ENSG00000249992  1244.723782     -1.3423225 0.2848203 -4.712875 2.442460e-06
## ENSG00000163814  4524.136684     -1.1329960 0.3034945 -3.733168 1.890861e-04
## ENSG00000144824  1476.120686      0.7133463 0.1877279  3.799895 1.447577e-04
## ENSG00000169908  3899.283386     -0.8328781 0.1973860 -4.219540 2.448017e-05
## ENSG00000187091   310.551761      1.1180388 0.2419186  4.621550 3.808829e-06
## ENSG00000180914   286.479525      2.0078388 0.4579873  4.384049 1.164937e-05
## ENSG00000014257    11.801649     -2.8642169 0.6759762 -4.237156 2.263688e-05
## ENSG00000132465    26.019250     -5.1460162 1.0252602 -5.019229 5.187921e-07
## ENSG00000182585    16.937912      3.8611512 0.7417983  5.205123 1.938683e-07
## ENSG00000145335    77.494623     -6.0460584 1.2741503 -4.745169 2.083324e-06
## ENSG00000168685   223.875685     -3.2385125 0.7620463 -4.249758 2.140016e-05
## ENSG00000164251   534.108683     -2.0516183 0.4613494 -4.446994 8.708023e-06
## ENSG00000087116  2559.534531      0.9927466 0.2513969  3.948922 7.850406e-05
## ENSG00000137393    33.534508     -1.8883355 0.4885849 -3.864908 1.111312e-04
## ENSG00000204516   202.811945     -1.0041799 0.2124972 -4.725616 2.294194e-06
## ENSG00000096696  2123.165152      3.2098065 0.8143076  3.941762 8.088533e-05
## ENSG00000153294    45.873201     -1.2854609 0.2789443 -4.608308 4.059599e-06
## ENSG00000236453    46.896053     -3.2448884 0.8083689 -4.014118 5.966840e-05
## ENSG00000106538   119.587441     -4.4774851 1.0820654 -4.137906 3.504894e-05
## ENSG00000155849    21.733514     -4.3170408 1.1247341 -3.838277 1.239008e-04
## ENSG00000147257    56.457614     -4.5844851 1.2200271 -3.757691 1.714883e-04
## ENSG00000147454   532.869373      0.7796797 0.1717052  4.540804 5.604006e-06
## ENSG00000134013 11729.859413      1.6790683 0.4354026  3.856358 1.150890e-04
## ENSG00000182307   574.513438     -0.7582305 0.1926540 -3.935711 8.295090e-05
## ENSG00000154529   139.785608      2.4259239 0.6228361  3.894964 9.821351e-05
## ENSG00000119138   567.942765     -0.5141100 0.1264319 -4.066298 4.776576e-05
## ENSG00000136859   613.762293     -1.5407371 0.3457842 -4.455777 8.358986e-06
## ENSG00000085117   184.930233     -2.9281334 0.7515344 -3.896207 9.771093e-05
## ENSG00000166435   126.001366      1.0854882 0.1811251  5.993030 2.059672e-09
## ENSG00000198873   967.588853      0.4597816 0.1164530  3.948216 7.873562e-05
## ENSG00000122861   967.121837     -2.2180058 0.5388474 -4.116204 3.851637e-05
## ENSG00000138207    42.798311      3.0999427 0.7611299  4.072817 4.644793e-05
## ENSG00000121350   215.319446      0.6024325 0.1363193  4.419275 9.903249e-06
## ENSG00000261105    15.376714      3.5524727 0.9231639  3.848150 1.190134e-04
## ENSG00000287996    18.668988     -5.5178831 0.9430348 -5.851198 4.880453e-09
## ENSG00000126803    35.497279     -1.3573021 0.3176217 -4.273329 1.925756e-05
## ENSG00000092068    98.691027     -1.2613041 0.3398805 -3.711022 2.064244e-04
## ENSG00000140285  1307.029130     -2.0405477 0.5094508 -4.005388 6.191587e-05
## ENSG00000140470    43.257016      4.0088132 1.0193568  3.932689 8.400090e-05
## ENSG00000108576    21.953834      3.0816911 0.6075381  5.072424 3.927796e-07
## ENSG00000273018     7.972867     -5.5396672 1.2467529 -4.443276 8.859938e-06
## ENSG00000128482    33.914751     -1.5595766 0.4040515 -3.859847 1.134583e-04
## ENSG00000204650    67.478869     -1.3810443 0.3141193 -4.396560 1.099798e-05
## ENSG00000291090     6.854849     -3.9852812 1.0695801 -3.726024 1.945238e-04
## ENSG00000178184    54.913501     -1.9964318 0.4664466 -4.280087 1.868203e-05
## ENSG00000167642    29.901220      4.1119585 1.0350463  3.972729 7.105387e-05
## ENSG00000100376   243.485165     -1.3551115 0.2482108 -5.459519 4.774266e-08
## ENSG00000241945    16.624100      3.8380065 0.6469946  5.932054 2.991685e-09
## ENSG00000160221    11.858286      3.8295830 0.7411537  5.167056 2.378095e-07
##                         padj    symbol
## ENSG00000187513 4.354916e-02      GJA4
## ENSG00000117586 6.636915e-05    TNFSF4
## ENSG00000116833 5.808456e-03     NR5A2
## ENSG00000076356 2.245663e-02    PLXNA2
## ENSG00000163131 2.111656e-02      CTSS
## ENSG00000162631 3.529622e-02     NTNG1
## ENSG00000198744 1.399607e-03  MTCO3P12
## ENSG00000162878 1.614912e-02     PKDCC
## ENSG00000144339 1.015367e-02    TMEFF2
## ENSG00000054356 5.815379e-03     PTPRN
## ENSG00000132329 4.340448e-02     RAMP1
## ENSG00000230838 3.256993e-03 LINC01614
## ENSG00000249992 2.767308e-03   TMEM158
## ENSG00000163814 4.720423e-02     CDCP1
## ENSG00000144824 3.876611e-02    PHLDB2
## ENSG00000169908 1.163124e-02    TM4SF1
## ENSG00000187091 3.737114e-03     PLCD1
## ENSG00000180914 6.863341e-03      OXTR
## ENSG00000014257 1.111395e-02      ACP3
## ENSG00000132465 8.490321e-04    JCHAIN
## ENSG00000182585 4.759144e-04      EPGN
## ENSG00000145335 2.767308e-03      SNCA
## ENSG00000168685 1.086907e-02      IL7R
## ENSG00000164251 5.931728e-03     F2RL1
## ENSG00000087116 2.689672e-02   ADAMTS2
## ENSG00000137393 3.323816e-02   RNF144B
## ENSG00000204516 2.767308e-03      MICB
## ENSG00000096696 2.689672e-02       DSP
## ENSG00000153294 3.737114e-03    ADGRF4
## ENSG00000236453 2.253477e-02      <NA>
## ENSG00000106538 1.613237e-02   RARRES2
## ENSG00000155849 3.443273e-02     ELMO1
## ENSG00000147257 4.354916e-02      GPC3
## ENSG00000147454 4.855377e-03  SLC25A37
## ENSG00000134013 3.323816e-02     LOXL2
## ENSG00000182307 2.689672e-02   C8orf33
## ENSG00000154529 3.013722e-02  CNTNAP3B
## ENSG00000119138 1.954283e-02      KLF9
## ENSG00000136859 5.931728e-03   ANGPTL2
## ENSG00000085117 3.013722e-02      CD82
## ENSG00000166435 2.203226e-05     XRRA1
## ENSG00000198873 2.689672e-02      GRK5
## ENSG00000122861 1.668552e-02      PLAU
## ENSG00000138207 1.954283e-02      RBP4
## ENSG00000121350 6.341955e-03   PYROXD1
## ENSG00000261105 3.371055e-02  LMO7-AS1
## ENSG00000287996 2.396140e-05      <NA>
## ENSG00000126803 1.015367e-02     HSPA2
## ENSG00000092068 4.984303e-02    SLC7A8
## ENSG00000140285 2.279897e-02      FGF7
## ENSG00000140470 2.689672e-02  ADAMTS17
## ENSG00000108576 7.231564e-04    SLC6A4
## ENSG00000273018 5.931728e-03   FAM106A
## ENSG00000128482 3.323816e-02    RNF112
## ENSG00000204650 6.749549e-03 LINC02210
## ENSG00000291090 4.775235e-02      <NA>
## ENSG00000178184 1.015367e-02    PARD6G
## ENSG00000167642 2.552567e-02    SPINT2
## ENSG00000100376 1.406403e-04   FAM118A
## ENSG00000241945 2.203226e-05      PWP2
## ENSG00000160221 5.003851e-04     GATD3
mat <- counts(dds, normalized = T)[rownames(sigs.df),]
mat.z <- t(apply(mat, 1, scale))
colnames(mat.z) <- rownames(coldata)
mat.z
##                      Ctr_s1      Ctr_s2      Ctr_s7     Ctr_s13       RS_s6
## ENSG00000187513 -0.53390969 -0.53390969 -0.53390969 -0.53390969  1.97294286
## ENSG00000117586 -0.93991508 -0.61602859 -1.01384340 -0.80454210 -0.05109491
## ENSG00000116833  2.36333821  0.38919437 -0.45124583 -0.45837166 -0.46489894
## ENSG00000076356 -0.32972220 -0.93532312 -0.72459294 -1.17132466  1.22592980
## ENSG00000163131  0.58611704  2.29590457 -0.48201437 -0.49517994 -0.46931566
## ENSG00000162631  1.75275345 -0.34935008  1.12805234  0.40949604 -0.97805604
## ENSG00000198744  1.14519483  2.00779525 -0.51495335 -0.51960557 -0.52365352
## ENSG00000162878  0.14096034  1.20452216  1.43228507  0.49779997 -1.03618650
## ENSG00000144339  1.24264050  1.80328716 -0.37234003  0.17096428 -0.68052573
## ENSG00000054356  0.19785195  2.39673854 -0.43436327 -0.16505469 -0.45011870
## ENSG00000132329 -0.33864954 -0.13546766  0.47052149  2.30421527 -0.59019318
## ENSG00000230838 -0.74166204 -0.67095896 -0.60269355 -0.69498860  0.57260423
## ENSG00000249992  1.11376072  0.47027382 -0.23420351  1.73529297 -0.84693447
## ENSG00000163814  0.79134182  1.46517167 -0.11847441  1.01754669 -1.20626766
## ENSG00000144824 -0.40713988 -0.70840591 -0.96857577 -1.05602308  0.76567492
## ENSG00000169908  1.43371644  0.64756937  0.38895329  0.90978613 -0.17797172
## ENSG00000187091 -0.93831242 -1.06934077 -0.70926495 -0.54021732  1.27203695
## ENSG00000180914 -0.58920496 -0.68409801 -0.74471724 -0.61412055  0.27363306
## ENSG00000014257  1.15598892  1.59929029  0.43851743  0.16724335 -0.71134235
## ENSG00000132465  1.45334702 -0.22990702 -0.38663275  1.73903963 -0.66278780
## ENSG00000182585 -0.85194984 -0.66726873 -0.93377131 -0.98437895  1.11614969
## ENSG00000145335  0.70527739  2.24684661 -0.46540957 -0.47580085 -0.50130744
## ENSG00000168685  0.09551537  2.41963187 -0.41965263 -0.16948451 -0.51270136
## ENSG00000164251  1.34865193 -0.06240734  0.66858637  1.33044977 -0.45854198
## ENSG00000087116 -1.13002496 -1.50874839 -0.35333968 -0.46906323  0.86915682
## ENSG00000137393  0.47985999  1.08372183  0.93303660  1.00149305 -1.08004435
## ENSG00000204516  1.34801928  1.25523837  0.82747025 -0.07371315 -0.73809646
## ENSG00000096696 -0.53251342 -0.48176487 -0.43793748 -0.41088822  0.21343057
## ENSG00000153294  1.06361116  1.10499403  0.29164536  1.11063829 -0.63310557
## ENSG00000236453  0.50570056  2.26627870 -0.09631936 -0.21611802 -0.55792454
## ENSG00000106538 -0.40913187  2.46035476 -0.09849627 -0.32101684 -0.38468953
## ENSG00000155849  0.35644813  2.35889797 -0.32807386 -0.27576359 -0.56444333
## ENSG00000147257 -0.60942160 -0.34907534  1.66893358  1.55881582 -0.59076903
## ENSG00000147454 -0.79416469 -1.39611264 -0.50979399 -0.76803669  1.08043146
## ENSG00000134013 -0.64247076 -0.75779689 -0.73631455 -0.42355638 -0.48336395
## ENSG00000182307  0.62478308  0.79178891  0.23891919  1.63504944 -1.25141446
## ENSG00000154529 -0.36319534 -0.76664214 -0.72091774 -0.80866731  1.79123037
## ENSG00000119138  0.21694835  1.30754752  1.20947187  0.71493564 -0.44712167
## ENSG00000136859  1.52017355 -0.08796441  0.59387660  1.20650722 -0.67753257
## ENSG00000085117 -0.56025860  2.28932996  0.02247387  0.45799610 -0.65277923
## ENSG00000166435 -0.91178564 -0.88845228 -0.73302335 -1.05988577  0.44710907
## ENSG00000198873 -0.91115240 -0.68270089 -1.02680580 -0.74118008  0.40099866
## ENSG00000122861  1.73309368 -0.42750016  0.16644674  1.31520838 -0.79008625
## ENSG00000138207 -0.62997906 -0.47097984 -0.57879728 -0.50529400 -0.05442631
## ENSG00000121350 -1.06269299 -1.09452026 -0.86391452 -0.56202311  0.47760324
## ENSG00000261105 -0.56850408 -0.62793527 -0.47842898 -0.57652140  0.47350098
## ENSG00000287996  1.30740946  0.61261539  0.45987480  1.21300890 -0.85141589
## ENSG00000126803  0.62006932  1.14314570  1.25751394  0.54493707 -0.90317272
## ENSG00000092068  0.21938888  0.79250376 -0.09916691  2.00890720 -0.94719858
## ENSG00000140285  0.95659346  1.97693295 -0.61752954  0.28163359 -0.63427062
## ENSG00000140470 -0.58520522 -0.65221855 -0.48896389 -0.68084573  2.08596481
## ENSG00000108576 -0.72228522 -0.87415297 -0.65067586 -0.77129963  0.65168549
## ENSG00000273018  1.59175949  1.09763393 -0.10815409  0.71828904 -0.85669292
## ENSG00000128482  1.67632860  0.98325299 -0.12219770  0.67835139 -0.83262277
## ENSG00000204650  0.81327506  0.28296359  1.04148121  1.31375392 -1.11591959
## ENSG00000291090  1.81103062  1.02078743  0.01478665  0.34062552 -0.80030530
## ENSG00000178184 -0.10991692  1.81023717  0.23891238  1.09599940 -0.79005448
## ENSG00000167642 -0.53495486 -0.61107317 -0.61275360 -0.55952159  1.44065822
## ENSG00000100376  0.37350881  0.05037276  1.15885227  1.68138493 -0.69842009
## ENSG00000241945 -0.87618949 -0.95982135 -0.74943537 -0.95141867  1.49321372
## ENSG00000160221 -0.96050450 -0.71143214 -0.95087806 -0.93563061  0.53770998
##                       RS_s9      RS_s12     RS_s16
## ENSG00000187513  1.19670395 -0.53390969 -0.5000984
## ENSG00000117586  0.85601470  1.39783702  1.1715724
## ENSG00000116833 -0.46911242 -0.46400074 -0.4449030
## ENSG00000076356  1.45910939 -0.19462442  0.6705481
## ENSG00000163131 -0.46200961 -0.49636428 -0.4771378
## ENSG00000162631 -0.94261237 -0.51330728 -0.5069761
## ENSG00000198744 -0.52245618 -0.53392502 -0.5383964
## ENSG00000162878 -1.06082912 -0.17910648 -0.9994454
## ENSG00000144339 -0.76558203 -0.63184242 -0.7666017
## ENSG00000054356 -0.54008015 -0.47694259 -0.5280311
## ENSG00000132329 -0.65022198 -0.49115831 -0.5690461
## ENSG00000230838  1.96151642  0.78183487 -0.6056524
## ENSG00000249992 -0.87241786 -0.85782807 -0.5079436
## ENSG00000163814 -0.99809123 -0.84570031 -0.1055266
## ENSG00000144824  1.79073853 -0.10543833  0.6891695
## ENSG00000169908 -0.96700377 -1.31954188 -0.9155078
## ENSG00000187091 -0.09463063  0.59741740  1.4823117
## ENSG00000180914  2.11188356  0.70972518 -0.4631010
## ENSG00000014257 -0.98156744 -0.72252913 -0.9456011
## ENSG00000132465 -0.65324593 -0.65818188 -0.6016313
## ENSG00000182585  1.56203156  0.46352084  0.2956667
## ENSG00000145335 -0.49403616 -0.49779755 -0.5177724
## ENSG00000168685 -0.42874739 -0.49764576 -0.4869156
## ENSG00000164251 -0.72891705 -0.95370004 -1.1441217
## ENSG00000087116  0.94765285  1.04173106  0.6026355
## ENSG00000137393 -0.17924787 -1.21148118 -1.0273381
## ENSG00000204516 -0.86504778 -0.66962499 -1.0842455
## ENSG00000096696  2.40651794 -0.36383341 -0.3930111
## ENSG00000153294 -0.90687974 -0.86779179 -1.1631117
## ENSG00000236453 -0.73764627 -0.48337707 -0.6805940
## ENSG00000106538 -0.41945791 -0.40507556 -0.4224868
## ENSG00000155849 -0.45876295 -0.58661491 -0.5016875
## ENSG00000147257 -0.53999073 -0.60682860 -0.5316641
## ENSG00000147454  0.21919396  1.04028009  1.1282025
## ENSG00000134013  0.53727982  0.35074511  2.1554776
## ENSG00000182307 -0.95118502 -0.23603528 -0.8519059
## ENSG00000154529  1.29559636  0.03954724 -0.4669514
## ENSG00000119138 -1.14475309 -1.06012486 -0.7969038
## ENSG00000136859 -1.19402401 -0.50440486 -0.8566315
## ENSG00000085117 -0.54014074 -0.49880001 -0.5178213
## ENSG00000166435  0.66765979  1.20949853  1.2688797
## ENSG00000198873  1.58297831  0.19690958  1.1809526
## ENSG00000122861 -0.92019113 -0.58962648 -0.4873448
## ENSG00000138207  2.36922745 -0.35328272  0.2235318
## ENSG00000121350  1.19639850  0.70100874  1.2081404
## ENSG00000261105  2.31371219 -0.27812360 -0.2576998
## ENSG00000287996 -0.87435252 -0.93357006 -0.9335701
## ENSG00000126803 -1.28590957 -0.60565277 -0.7709310
## ENSG00000092068 -0.81617592 -0.43054501 -0.7277134
## ENSG00000140285 -0.64143502 -0.78038630 -0.5415385
## ENSG00000140470  0.97800160 -0.27303227 -0.3837008
## ENSG00000108576  0.22934668  0.08523138  2.0521501
## ENSG00000273018 -0.72944962 -0.85669292 -0.8566929
## ENSG00000128482 -0.76909026 -0.52350745 -1.0905148
## ENSG00000204650 -0.27238215 -1.02546919 -1.0377028
## ENSG00000291090 -0.90926505 -0.77707808 -0.7005818
## ENSG00000178184 -0.44555841 -0.82686123 -0.9727579
## ENSG00000167642  1.77155453 -0.58559608 -0.3083134
## ENSG00000100376 -0.85501294 -0.80103224 -0.9096535
## ENSG00000241945  0.72051489  0.99323843  0.3298978
## ENSG00000160221  0.71596719  1.56104198  0.7437262
h <- Heatmap(mat.z, cluster_rows = T, cluster_columns = T, column_labels = colnames(mat.z), name = "Z-score", row_labels = sigs.df[rownames(mat.z),]$symbol)
h

png('simple_heatmap.png', res = 250, width = 1000, height = 1500)
print(h)
dev.off()

To make a complex heatmap

df <- as.data.frame(sigs)
df
##                     baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000187513    24.842817      8.2455463 2.1922583  3.761211 1.690927e-04
## ENSG00000117586   107.917887      1.7838924 0.3168565  5.629970 1.802407e-08
## ENSG00000116833    91.455271     -6.8782103 1.5316509 -4.490717 7.098391e-06
## ENSG00000076356   928.986546      1.1678009 0.2904212  4.021060 5.793685e-05
## ENSG00000163131   287.735602     -4.5153567 1.1171690 -4.041785 5.304587e-05
## ENSG00000162631   183.410224     -2.2637650 0.5914336 -3.827590 1.294043e-04
## ENSG00000198744   119.991977     -6.8833832 1.4042926 -4.901673 9.502392e-07
## ENSG00000162878   301.802640     -1.1358393 0.2749817 -4.130600 3.618176e-05
## ENSG00000144339    35.107660     -2.3716410 0.5550538 -4.272813 1.930225e-05
## ENSG00000054356   582.501835     -3.3550985 0.7490842 -4.478934 7.501678e-06
## ENSG00000132329    21.202591     -3.0482421 0.8091325 -3.767297 1.650248e-04
## ENSG00000230838    37.944119      3.5348079 0.7578334  4.664360 3.095790e-06
## ENSG00000249992  1244.723782     -1.3423225 0.2848203 -4.712875 2.442460e-06
## ENSG00000163814  4524.136684     -1.1329960 0.3034945 -3.733168 1.890861e-04
## ENSG00000144824  1476.120686      0.7133463 0.1877279  3.799895 1.447577e-04
## ENSG00000169908  3899.283386     -0.8328781 0.1973860 -4.219540 2.448017e-05
## ENSG00000187091   310.551761      1.1180388 0.2419186  4.621550 3.808829e-06
## ENSG00000180914   286.479525      2.0078388 0.4579873  4.384049 1.164937e-05
## ENSG00000014257    11.801649     -2.8642169 0.6759762 -4.237156 2.263688e-05
## ENSG00000132465    26.019250     -5.1460162 1.0252602 -5.019229 5.187921e-07
## ENSG00000182585    16.937912      3.8611512 0.7417983  5.205123 1.938683e-07
## ENSG00000145335    77.494623     -6.0460584 1.2741503 -4.745169 2.083324e-06
## ENSG00000168685   223.875685     -3.2385125 0.7620463 -4.249758 2.140016e-05
## ENSG00000164251   534.108683     -2.0516183 0.4613494 -4.446994 8.708023e-06
## ENSG00000087116  2559.534531      0.9927466 0.2513969  3.948922 7.850406e-05
## ENSG00000137393    33.534508     -1.8883355 0.4885849 -3.864908 1.111312e-04
## ENSG00000204516   202.811945     -1.0041799 0.2124972 -4.725616 2.294194e-06
## ENSG00000096696  2123.165152      3.2098065 0.8143076  3.941762 8.088533e-05
## ENSG00000153294    45.873201     -1.2854609 0.2789443 -4.608308 4.059599e-06
## ENSG00000236453    46.896053     -3.2448884 0.8083689 -4.014118 5.966840e-05
## ENSG00000106538   119.587441     -4.4774851 1.0820654 -4.137906 3.504894e-05
## ENSG00000155849    21.733514     -4.3170408 1.1247341 -3.838277 1.239008e-04
## ENSG00000147257    56.457614     -4.5844851 1.2200271 -3.757691 1.714883e-04
## ENSG00000147454   532.869373      0.7796797 0.1717052  4.540804 5.604006e-06
## ENSG00000134013 11729.859413      1.6790683 0.4354026  3.856358 1.150890e-04
## ENSG00000182307   574.513438     -0.7582305 0.1926540 -3.935711 8.295090e-05
## ENSG00000154529   139.785608      2.4259239 0.6228361  3.894964 9.821351e-05
## ENSG00000119138   567.942765     -0.5141100 0.1264319 -4.066298 4.776576e-05
## ENSG00000136859   613.762293     -1.5407371 0.3457842 -4.455777 8.358986e-06
## ENSG00000085117   184.930233     -2.9281334 0.7515344 -3.896207 9.771093e-05
## ENSG00000166435   126.001366      1.0854882 0.1811251  5.993030 2.059672e-09
## ENSG00000198873   967.588853      0.4597816 0.1164530  3.948216 7.873562e-05
## ENSG00000122861   967.121837     -2.2180058 0.5388474 -4.116204 3.851637e-05
## ENSG00000138207    42.798311      3.0999427 0.7611299  4.072817 4.644793e-05
## ENSG00000121350   215.319446      0.6024325 0.1363193  4.419275 9.903249e-06
## ENSG00000261105    15.376714      3.5524727 0.9231639  3.848150 1.190134e-04
## ENSG00000287996    18.668988     -5.5178831 0.9430348 -5.851198 4.880453e-09
## ENSG00000126803    35.497279     -1.3573021 0.3176217 -4.273329 1.925756e-05
## ENSG00000092068    98.691027     -1.2613041 0.3398805 -3.711022 2.064244e-04
## ENSG00000140285  1307.029130     -2.0405477 0.5094508 -4.005388 6.191587e-05
## ENSG00000140470    43.257016      4.0088132 1.0193568  3.932689 8.400090e-05
## ENSG00000108576    21.953834      3.0816911 0.6075381  5.072424 3.927796e-07
## ENSG00000273018     7.972867     -5.5396672 1.2467529 -4.443276 8.859938e-06
## ENSG00000128482    33.914751     -1.5595766 0.4040515 -3.859847 1.134583e-04
## ENSG00000204650    67.478869     -1.3810443 0.3141193 -4.396560 1.099798e-05
## ENSG00000291090     6.854849     -3.9852812 1.0695801 -3.726024 1.945238e-04
## ENSG00000178184    54.913501     -1.9964318 0.4664466 -4.280087 1.868203e-05
## ENSG00000167642    29.901220      4.1119585 1.0350463  3.972729 7.105387e-05
## ENSG00000100376   243.485165     -1.3551115 0.2482108 -5.459519 4.774266e-08
## ENSG00000241945    16.624100      3.8380065 0.6469946  5.932054 2.991685e-09
## ENSG00000160221    11.858286      3.8295830 0.7411537  5.167056 2.378095e-07
##                         padj
## ENSG00000187513 4.354916e-02
## ENSG00000117586 6.636915e-05
## ENSG00000116833 5.808456e-03
## ENSG00000076356 2.245663e-02
## ENSG00000163131 2.111656e-02
## ENSG00000162631 3.529622e-02
## ENSG00000198744 1.399607e-03
## ENSG00000162878 1.614912e-02
## ENSG00000144339 1.015367e-02
## ENSG00000054356 5.815379e-03
## ENSG00000132329 4.340448e-02
## ENSG00000230838 3.256993e-03
## ENSG00000249992 2.767308e-03
## ENSG00000163814 4.720423e-02
## ENSG00000144824 3.876611e-02
## ENSG00000169908 1.163124e-02
## ENSG00000187091 3.737114e-03
## ENSG00000180914 6.863341e-03
## ENSG00000014257 1.111395e-02
## ENSG00000132465 8.490321e-04
## ENSG00000182585 4.759144e-04
## ENSG00000145335 2.767308e-03
## ENSG00000168685 1.086907e-02
## ENSG00000164251 5.931728e-03
## ENSG00000087116 2.689672e-02
## ENSG00000137393 3.323816e-02
## ENSG00000204516 2.767308e-03
## ENSG00000096696 2.689672e-02
## ENSG00000153294 3.737114e-03
## ENSG00000236453 2.253477e-02
## ENSG00000106538 1.613237e-02
## ENSG00000155849 3.443273e-02
## ENSG00000147257 4.354916e-02
## ENSG00000147454 4.855377e-03
## ENSG00000134013 3.323816e-02
## ENSG00000182307 2.689672e-02
## ENSG00000154529 3.013722e-02
## ENSG00000119138 1.954283e-02
## ENSG00000136859 5.931728e-03
## ENSG00000085117 3.013722e-02
## ENSG00000166435 2.203226e-05
## ENSG00000198873 2.689672e-02
## ENSG00000122861 1.668552e-02
## ENSG00000138207 1.954283e-02
## ENSG00000121350 6.341955e-03
## ENSG00000261105 3.371055e-02
## ENSG00000287996 2.396140e-05
## ENSG00000126803 1.015367e-02
## ENSG00000092068 4.984303e-02
## ENSG00000140285 2.279897e-02
## ENSG00000140470 2.689672e-02
## ENSG00000108576 7.231564e-04
## ENSG00000273018 5.931728e-03
## ENSG00000128482 3.323816e-02
## ENSG00000204650 6.749549e-03
## ENSG00000291090 4.775235e-02
## ENSG00000178184 1.015367e-02
## ENSG00000167642 2.552567e-02
## ENSG00000100376 1.406403e-04
## ENSG00000241945 2.203226e-05
## ENSG00000160221 5.003851e-04
ensembl_map <- read.csv('ensemble_key_mapper.csv', header = TRUE)
head(ensembl_map, 100)
##                   X          X0
## 1   ENSG00000183908      LRRC55
## 2   ENSG00000262081      IL9RP4
## 3   ENSG00000250483     PPM1AP1
## 4   ENSG00000284465     TAF11L7
## 5   ENSG00000136267        DGKB
## 6   ENSG00000233733      H2AZP6
## 7   ENSG00000255552      LY6G6E
## 8   ENSG00000250166   C2CD5-AS1
## 9   ENSG00000223212    RNU4-74P
## 10  ENSG00000228219     NPM1P30
## 11  ENSG00000252810   RNU6-345P
## 12  ENSG00000206172        HBA1
## 13  ENSG00000238210        ETDA
## 14  ENSG00000229325   ACAP2-IT1
## 15  ENSG00000081059        TCF7
## 16  ENSG00000206728       Y_RNA
## 17  ENSG00000233827      CCNQP1
## 18  ENSG00000278524     MIR6810
## 19  ENSG00000122033       MTIF3
## 20  ENSG00000248449    PCDHGB8P
## 21  ENSG00000171222      SCAND1
## 22  ENSG00000207123       Y_RNA
## 23  ENSG00000147408  CSGALNACT1
## 24  ENSG00000226388      ELL2P4
## 25  ENSG00000062524         LTK
## 26  ENSG00000213018    PABPN1P1
## 27  ENSG00000254312    MRPL57P7
## 28  ENSG00000215883      CYB5RL
## 29  ENSG00000207864      MIR27B
## 30  ENSG00000215005     HSPD1P7
## 31  ENSG00000225416   RPL36AP28
## 32  ENSG00000269136    BRI3BPP1
## 33  ENSG00000233860 SHROOM3-AS1
## 34  ENSG00000266187   RN7SL480P
## 35  ENSG00000132967     HMGB1P5
## 36  ENSG00000232467     TMA16P2
## 37  ENSG00000276712     MIR7111
## 38  ENSG00000111325      OGFOD2
## 39  ENSG00000102309        PIN4
## 40  ENSG00000069329       VPS35
## 41  ENSG00000171612    SLC25A33
## 42  ENSG00000224411   HSP90AA2P
## 43  ENSG00000184961    RPL7AP49
## 44  ENSG00000130054       NALF2
## 45  ENSG00000163424       TEX55
## 46  ENSG00000188629      ZNF177
## 47  ENSG00000236946  HNRNPA1P70
## 48  ENSG00000148019       CEP78
## 49  ENSG00000188460     ACTBP11
## 50  ENSG00000182372        CLN8
## 51  ENSG00000073861       TBX21
## 52  ENSG00000231332    OOEP-AS1
## 53  ENSG00000252246    RNA5SP92
## 54  ENSG00000144655      CSRNP1
## 55  ENSG00000106028       SSBP1
## 56  ENSG00000252377   RNU6-504P
## 57  ENSG00000222327   RNU6-855P
## 58  ENSG00000136628       EPRS1
## 59  ENSG00000254843      XIAPP2
## 60  ENSG00000162437      RAVER2
## 61  ENSG00000199203       Y_RNA
## 62  ENSG00000072041     SLC6A15
## 63  ENSG00000149609   C20orf144
## 64  ENSG00000248483      POU5F2
## 65  ENSG00000200677     SNORD18
## 66  ENSG00000087086         FTL
## 67  ENSG00000277613          U6
## 68  ENSG00000120688        WBP4
## 69  ENSG00000126500       FLRT1
## 70  ENSG00000240666     MME-AS1
## 71  ENSG00000134709       HOOK1
## 72  ENSG00000232951      IPO7P1
## 73  ENSG00000127993       RBM48
## 74  ENSG00000285866   LINC02852
## 75  ENSG00000121892       PDS5A
## 76  ENSG00000180867     PDIA3P1
## 77  ENSG00000139767       SRRM4
## 78  ENSG00000143369        ECM1
## 79  ENSG00000109519      GRPEL1
## 80  ENSG00000138777        PPA2
## 81  ENSG00000217566     TDGF1P4
## 82  ENSG00000163939       PBRM1
## 83  ENSG00000232203   SLC25A6P2
## 84  ENSG00000161896       IP6K3
## 85  ENSG00000239684    PTGER4P3
## 86  ENSG00000253982    CLN8-AS1
## 87  ENSG00000104218       CSPP1
## 88  ENSG00000176043     RPL36P3
## 89  ENSG00000271465    SQSTM1P1
## 90  ENSG00000261303    GOLGA6GP
## 91  ENSG00000241007   SEPTIN7P6
## 92  ENSG00000252294   RNU6-589P
## 93  ENSG00000078070       MCCC1
## 94  ENSG00000230921    HAO2-IT1
## 95  ENSG00000227336   LINC00434
## 96  ENSG00000183629     GOLGA8G
## 97  ENSG00000163564      PYHIN1
## 98  ENSG00000252514    RNU7-53P
## 99  ENSG00000186113      OR5D14
## 100 ENSG00000154813        DPH3
# the 'ensemble_key_mapper.csv' file was created by the 'Sanbomics_RNAseq_video6' file
keys <- ensembl_map$X
values <- ensembl_map$X0
l <- list()
for (i in 1:length(keys)){
  l[keys[i]] <- values[i]
}
# l
# for non-mapped labels
no_values <- setdiff(rownames(df), keys)
for (i in 1:length(no_values)){
  l[no_values[i]] <- 'NA'
}
df$symbol <- unlist(l[rownames(df)], use.names = FALSE)
df.top <- df[(df$padj < 0.05) & (df$baseMean > 50) & (abs(df$log2FoldChange) >1.2), ]
df.top
##                    baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000117586   107.91789       1.783892 0.3168565  5.629970 1.802407e-08
## ENSG00000116833    91.45527      -6.878210 1.5316509 -4.490717 7.098391e-06
## ENSG00000163131   287.73560      -4.515357 1.1171690 -4.041785 5.304587e-05
## ENSG00000162631   183.41022      -2.263765 0.5914336 -3.827590 1.294043e-04
## ENSG00000198744   119.99198      -6.883383 1.4042926 -4.901673 9.502392e-07
## ENSG00000054356   582.50184      -3.355099 0.7490842 -4.478934 7.501678e-06
## ENSG00000249992  1244.72378      -1.342323 0.2848203 -4.712875 2.442460e-06
## ENSG00000180914   286.47952       2.007839 0.4579873  4.384049 1.164937e-05
## ENSG00000145335    77.49462      -6.046058 1.2741503 -4.745169 2.083324e-06
## ENSG00000168685   223.87569      -3.238513 0.7620463 -4.249758 2.140016e-05
## ENSG00000164251   534.10868      -2.051618 0.4613494 -4.446994 8.708023e-06
## ENSG00000096696  2123.16515       3.209807 0.8143076  3.941762 8.088533e-05
## ENSG00000106538   119.58744      -4.477485 1.0820654 -4.137906 3.504894e-05
## ENSG00000147257    56.45761      -4.584485 1.2200271 -3.757691 1.714883e-04
## ENSG00000134013 11729.85941       1.679068 0.4354026  3.856358 1.150890e-04
## ENSG00000154529   139.78561       2.425924 0.6228361  3.894964 9.821351e-05
## ENSG00000136859   613.76229      -1.540737 0.3457842 -4.455777 8.358986e-06
## ENSG00000085117   184.93023      -2.928133 0.7515344 -3.896207 9.771093e-05
## ENSG00000122861   967.12184      -2.218006 0.5388474 -4.116204 3.851637e-05
## ENSG00000092068    98.69103      -1.261304 0.3398805 -3.711022 2.064244e-04
## ENSG00000140285  1307.02913      -2.040548 0.5094508 -4.005388 6.191587e-05
## ENSG00000204650    67.47887      -1.381044 0.3141193 -4.396560 1.099798e-05
## ENSG00000178184    54.91350      -1.996432 0.4664466 -4.280087 1.868203e-05
## ENSG00000100376   243.48517      -1.355112 0.2482108 -5.459519 4.774266e-08
##                         padj    symbol
## ENSG00000117586 6.636915e-05    TNFSF4
## ENSG00000116833 5.808456e-03     NR5A2
## ENSG00000163131 2.111656e-02      CTSS
## ENSG00000162631 3.529622e-02     NTNG1
## ENSG00000198744 1.399607e-03  MTCO3P12
## ENSG00000054356 5.815379e-03     PTPRN
## ENSG00000249992 2.767308e-03   TMEM158
## ENSG00000180914 6.863341e-03      OXTR
## ENSG00000145335 2.767308e-03      SNCA
## ENSG00000168685 1.086907e-02      IL7R
## ENSG00000164251 5.931728e-03     F2RL1
## ENSG00000096696 2.689672e-02       DSP
## ENSG00000106538 1.613237e-02   RARRES2
## ENSG00000147257 4.354916e-02      GPC3
## ENSG00000134013 3.323816e-02     LOXL2
## ENSG00000154529 3.013722e-02  CNTNAP3B
## ENSG00000136859 5.931728e-03   ANGPTL2
## ENSG00000085117 3.013722e-02      CD82
## ENSG00000122861 1.668552e-02      PLAU
## ENSG00000092068 4.984303e-02    SLC7A8
## ENSG00000140285 2.279897e-02      FGF7
## ENSG00000204650 6.749549e-03 LINC02210
## ENSG00000178184 1.015367e-02    PARD6G
## ENSG00000100376 1.406403e-04   FAM118A
df.top <- df.top[order(df.top$log2FoldChange, decreasing = TRUE),]
df.top
##                    baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000096696  2123.16515       3.209807 0.8143076  3.941762 8.088533e-05
## ENSG00000154529   139.78561       2.425924 0.6228361  3.894964 9.821351e-05
## ENSG00000180914   286.47952       2.007839 0.4579873  4.384049 1.164937e-05
## ENSG00000117586   107.91789       1.783892 0.3168565  5.629970 1.802407e-08
## ENSG00000134013 11729.85941       1.679068 0.4354026  3.856358 1.150890e-04
## ENSG00000092068    98.69103      -1.261304 0.3398805 -3.711022 2.064244e-04
## ENSG00000249992  1244.72378      -1.342323 0.2848203 -4.712875 2.442460e-06
## ENSG00000100376   243.48517      -1.355112 0.2482108 -5.459519 4.774266e-08
## ENSG00000204650    67.47887      -1.381044 0.3141193 -4.396560 1.099798e-05
## ENSG00000136859   613.76229      -1.540737 0.3457842 -4.455777 8.358986e-06
## ENSG00000178184    54.91350      -1.996432 0.4664466 -4.280087 1.868203e-05
## ENSG00000140285  1307.02913      -2.040548 0.5094508 -4.005388 6.191587e-05
## ENSG00000164251   534.10868      -2.051618 0.4613494 -4.446994 8.708023e-06
## ENSG00000122861   967.12184      -2.218006 0.5388474 -4.116204 3.851637e-05
## ENSG00000162631   183.41022      -2.263765 0.5914336 -3.827590 1.294043e-04
## ENSG00000085117   184.93023      -2.928133 0.7515344 -3.896207 9.771093e-05
## ENSG00000168685   223.87569      -3.238513 0.7620463 -4.249758 2.140016e-05
## ENSG00000054356   582.50184      -3.355099 0.7490842 -4.478934 7.501678e-06
## ENSG00000106538   119.58744      -4.477485 1.0820654 -4.137906 3.504894e-05
## ENSG00000163131   287.73560      -4.515357 1.1171690 -4.041785 5.304587e-05
## ENSG00000147257    56.45761      -4.584485 1.2200271 -3.757691 1.714883e-04
## ENSG00000145335    77.49462      -6.046058 1.2741503 -4.745169 2.083324e-06
## ENSG00000116833    91.45527      -6.878210 1.5316509 -4.490717 7.098391e-06
## ENSG00000198744   119.99198      -6.883383 1.4042926 -4.901673 9.502392e-07
##                         padj    symbol
## ENSG00000096696 2.689672e-02       DSP
## ENSG00000154529 3.013722e-02  CNTNAP3B
## ENSG00000180914 6.863341e-03      OXTR
## ENSG00000117586 6.636915e-05    TNFSF4
## ENSG00000134013 3.323816e-02     LOXL2
## ENSG00000092068 4.984303e-02    SLC7A8
## ENSG00000249992 2.767308e-03   TMEM158
## ENSG00000100376 1.406403e-04   FAM118A
## ENSG00000204650 6.749549e-03 LINC02210
## ENSG00000136859 5.931728e-03   ANGPTL2
## ENSG00000178184 1.015367e-02    PARD6G
## ENSG00000140285 2.279897e-02      FGF7
## ENSG00000164251 5.931728e-03     F2RL1
## ENSG00000122861 1.668552e-02      PLAU
## ENSG00000162631 3.529622e-02     NTNG1
## ENSG00000085117 3.013722e-02      CD82
## ENSG00000168685 1.086907e-02      IL7R
## ENSG00000054356 5.815379e-03     PTPRN
## ENSG00000106538 1.613237e-02   RARRES2
## ENSG00000163131 2.111656e-02      CTSS
## ENSG00000147257 4.354916e-02      GPC3
## ENSG00000145335 2.767308e-03      SNCA
## ENSG00000116833 5.808456e-03     NR5A2
## ENSG00000198744 1.399607e-03  MTCO3P12
rlog_out <- rlog(dds, blind=FALSE) #get nomalized count data fro dds object
mat <- assay(rlog_out)[rownames(df.top), rownames(coldata)]
colnames(mat) <- rownames(coldata)
base_mean <- rowMeans(mat)
mat.scaled <- t(apply(mat, 1, scale))
colnames(mat.scaled) <- colnames(mat)
# assay(rlog_out)[rownames(df.top), rownames(coldata)] #inspect only
num_keep <- 24 
rows_keep <- c(seq(1:num_keep), seq((nrow(mat.scaled)-num_keep), nrow(mat.scaled)))
df.top
##                    baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000096696  2123.16515       3.209807 0.8143076  3.941762 8.088533e-05
## ENSG00000154529   139.78561       2.425924 0.6228361  3.894964 9.821351e-05
## ENSG00000180914   286.47952       2.007839 0.4579873  4.384049 1.164937e-05
## ENSG00000117586   107.91789       1.783892 0.3168565  5.629970 1.802407e-08
## ENSG00000134013 11729.85941       1.679068 0.4354026  3.856358 1.150890e-04
## ENSG00000092068    98.69103      -1.261304 0.3398805 -3.711022 2.064244e-04
## ENSG00000249992  1244.72378      -1.342323 0.2848203 -4.712875 2.442460e-06
## ENSG00000100376   243.48517      -1.355112 0.2482108 -5.459519 4.774266e-08
## ENSG00000204650    67.47887      -1.381044 0.3141193 -4.396560 1.099798e-05
## ENSG00000136859   613.76229      -1.540737 0.3457842 -4.455777 8.358986e-06
## ENSG00000178184    54.91350      -1.996432 0.4664466 -4.280087 1.868203e-05
## ENSG00000140285  1307.02913      -2.040548 0.5094508 -4.005388 6.191587e-05
## ENSG00000164251   534.10868      -2.051618 0.4613494 -4.446994 8.708023e-06
## ENSG00000122861   967.12184      -2.218006 0.5388474 -4.116204 3.851637e-05
## ENSG00000162631   183.41022      -2.263765 0.5914336 -3.827590 1.294043e-04
## ENSG00000085117   184.93023      -2.928133 0.7515344 -3.896207 9.771093e-05
## ENSG00000168685   223.87569      -3.238513 0.7620463 -4.249758 2.140016e-05
## ENSG00000054356   582.50184      -3.355099 0.7490842 -4.478934 7.501678e-06
## ENSG00000106538   119.58744      -4.477485 1.0820654 -4.137906 3.504894e-05
## ENSG00000163131   287.73560      -4.515357 1.1171690 -4.041785 5.304587e-05
## ENSG00000147257    56.45761      -4.584485 1.2200271 -3.757691 1.714883e-04
## ENSG00000145335    77.49462      -6.046058 1.2741503 -4.745169 2.083324e-06
## ENSG00000116833    91.45527      -6.878210 1.5316509 -4.490717 7.098391e-06
## ENSG00000198744   119.99198      -6.883383 1.4042926 -4.901673 9.502392e-07
##                         padj    symbol
## ENSG00000096696 2.689672e-02       DSP
## ENSG00000154529 3.013722e-02  CNTNAP3B
## ENSG00000180914 6.863341e-03      OXTR
## ENSG00000117586 6.636915e-05    TNFSF4
## ENSG00000134013 3.323816e-02     LOXL2
## ENSG00000092068 4.984303e-02    SLC7A8
## ENSG00000249992 2.767308e-03   TMEM158
## ENSG00000100376 1.406403e-04   FAM118A
## ENSG00000204650 6.749549e-03 LINC02210
## ENSG00000136859 5.931728e-03   ANGPTL2
## ENSG00000178184 1.015367e-02    PARD6G
## ENSG00000140285 2.279897e-02      FGF7
## ENSG00000164251 5.931728e-03     F2RL1
## ENSG00000122861 1.668552e-02      PLAU
## ENSG00000162631 3.529622e-02     NTNG1
## ENSG00000085117 3.013722e-02      CD82
## ENSG00000168685 1.086907e-02      IL7R
## ENSG00000054356 5.815379e-03     PTPRN
## ENSG00000106538 1.613237e-02   RARRES2
## ENSG00000163131 2.111656e-02      CTSS
## ENSG00000147257 4.354916e-02      GPC3
## ENSG00000145335 2.767308e-03      SNCA
## ENSG00000116833 5.808456e-03     NR5A2
## ENSG00000198744 1.399607e-03  MTCO3P12
l2_val <- as.matrix(df.top[rows_keep,]$log2FoldChange)
colnames(l2_val) <- "logFC"
mean <- as.matrix(df.top[rows_keep,]$baseMean)
colnames(mean) <- "AveExpr"
df.top
##                    baseMean log2FoldChange     lfcSE      stat       pvalue
## ENSG00000096696  2123.16515       3.209807 0.8143076  3.941762 8.088533e-05
## ENSG00000154529   139.78561       2.425924 0.6228361  3.894964 9.821351e-05
## ENSG00000180914   286.47952       2.007839 0.4579873  4.384049 1.164937e-05
## ENSG00000117586   107.91789       1.783892 0.3168565  5.629970 1.802407e-08
## ENSG00000134013 11729.85941       1.679068 0.4354026  3.856358 1.150890e-04
## ENSG00000092068    98.69103      -1.261304 0.3398805 -3.711022 2.064244e-04
## ENSG00000249992  1244.72378      -1.342323 0.2848203 -4.712875 2.442460e-06
## ENSG00000100376   243.48517      -1.355112 0.2482108 -5.459519 4.774266e-08
## ENSG00000204650    67.47887      -1.381044 0.3141193 -4.396560 1.099798e-05
## ENSG00000136859   613.76229      -1.540737 0.3457842 -4.455777 8.358986e-06
## ENSG00000178184    54.91350      -1.996432 0.4664466 -4.280087 1.868203e-05
## ENSG00000140285  1307.02913      -2.040548 0.5094508 -4.005388 6.191587e-05
## ENSG00000164251   534.10868      -2.051618 0.4613494 -4.446994 8.708023e-06
## ENSG00000122861   967.12184      -2.218006 0.5388474 -4.116204 3.851637e-05
## ENSG00000162631   183.41022      -2.263765 0.5914336 -3.827590 1.294043e-04
## ENSG00000085117   184.93023      -2.928133 0.7515344 -3.896207 9.771093e-05
## ENSG00000168685   223.87569      -3.238513 0.7620463 -4.249758 2.140016e-05
## ENSG00000054356   582.50184      -3.355099 0.7490842 -4.478934 7.501678e-06
## ENSG00000106538   119.58744      -4.477485 1.0820654 -4.137906 3.504894e-05
## ENSG00000163131   287.73560      -4.515357 1.1171690 -4.041785 5.304587e-05
## ENSG00000147257    56.45761      -4.584485 1.2200271 -3.757691 1.714883e-04
## ENSG00000145335    77.49462      -6.046058 1.2741503 -4.745169 2.083324e-06
## ENSG00000116833    91.45527      -6.878210 1.5316509 -4.490717 7.098391e-06
## ENSG00000198744   119.99198      -6.883383 1.4042926 -4.901673 9.502392e-07
##                         padj    symbol
## ENSG00000096696 2.689672e-02       DSP
## ENSG00000154529 3.013722e-02  CNTNAP3B
## ENSG00000180914 6.863341e-03      OXTR
## ENSG00000117586 6.636915e-05    TNFSF4
## ENSG00000134013 3.323816e-02     LOXL2
## ENSG00000092068 4.984303e-02    SLC7A8
## ENSG00000249992 2.767308e-03   TMEM158
## ENSG00000100376 1.406403e-04   FAM118A
## ENSG00000204650 6.749549e-03 LINC02210
## ENSG00000136859 5.931728e-03   ANGPTL2
## ENSG00000178184 1.015367e-02    PARD6G
## ENSG00000140285 2.279897e-02      FGF7
## ENSG00000164251 5.931728e-03     F2RL1
## ENSG00000122861 1.668552e-02      PLAU
## ENSG00000162631 3.529622e-02     NTNG1
## ENSG00000085117 3.013722e-02      CD82
## ENSG00000168685 1.086907e-02      IL7R
## ENSG00000054356 5.815379e-03     PTPRN
## ENSG00000106538 1.613237e-02   RARRES2
## ENSG00000163131 2.111656e-02      CTSS
## ENSG00000147257 4.354916e-02      GPC3
## ENSG00000145335 2.767308e-03      SNCA
## ENSG00000116833 5.808456e-03     NR5A2
## ENSG00000198744 1.399607e-03  MTCO3P12
library(ComplexHeatmap)
library(RColorBrewer)
library(circlize)
# col1 <- brewer.pal(9, "YlGnBu")
#map values between b/w/r for min and max l2 values
col_logFC <- colorRamp2(c(min(l2_val), 0, max(l2_val)), c("blue", "white", "red"))
# map between 0% quantile and 75% quantile of mean values
col_AveExpr <- colorRamp2(c(quantile(mean)[1], quantile(mean)[4]), c("white", "red"))
ha <- HeatmapAnnotation(summary = anno_summary(gp = gpar(fill = 2), height = unit(2, "cm")))

h1 <- Heatmap(mat.scaled[rows_keep,], cluster_rows = F, column_labels = colnames(mat.scaled), name = "Z-score", cluster_columns = T)

h2 <- Heatmap(l2_val, row_labels = df.top$symbol[rows_keep], cluster_rows = F, name = "logFC", top_annotation = ha, col = col_logFC, cell_fun = function(j, i, x, y, w, h, col){
  grid.text(round(l2_val[i, j],2), x, y)
}) 

h3 <- Heatmap(mean, row_labels = df.top$symbol[rows_keep], cluster_rows = F, name = "AveExpr", col = col_AveExpr, cell_fun = function(j, i, x, y, w, h, col){
  grid.text(round(mean[i,j],2), x,y)
})

h <- h1+h2+h3
h

png("./heatmap_v1.png", res = 300, width = 3000, height = 5500)
print(h)
dev.off()
## png 
##   2
pdf("./heatmap_v1.pdf", width = 6, height = 9, pointsize = 6 )
print(h)
dev.off()
sessionInfo()
## R version 4.2.0 (2022-04-22 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19044)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=English_United States.utf8 
## [2] LC_CTYPE=English_United States.utf8   
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.utf8    
## 
## attached base packages:
## [1] grid      stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] circlize_0.4.15             RColorBrewer_1.1-3         
##  [3] org.Hs.eg.db_3.15.0         AnnotationDbi_1.58.0       
##  [5] ComplexHeatmap_2.12.1       ggplot2_3.3.6              
##  [7] DESeq2_1.36.0               SummarizedExperiment_1.26.1
##  [9] Biobase_2.56.0              MatrixGenerics_1.8.1       
## [11] matrixStats_0.62.0          GenomicRanges_1.48.0       
## [13] GenomeInfoDb_1.32.2         IRanges_2.30.0             
## [15] S4Vectors_0.34.0            BiocGenerics_0.42.0        
## 
## loaded via a namespace (and not attached):
##  [1] bitops_1.0-7           bit64_4.0.5            doParallel_1.0.17     
##  [4] httr_1.4.3             tools_4.2.0            bslib_0.3.1           
##  [7] utf8_1.2.2             R6_2.5.1               DBI_1.1.3             
## [10] colorspace_2.0-3       GetoptLong_1.0.5       withr_2.5.0           
## [13] tidyselect_1.1.2       bit_4.0.4              compiler_4.2.0        
## [16] cli_3.3.0              Cairo_1.5-15           DelayedArray_0.22.0   
## [19] labeling_0.4.2         sass_0.4.1             scales_1.2.0          
## [22] genefilter_1.78.0      stringr_1.4.0          digest_0.6.29         
## [25] rmarkdown_2.14         XVector_0.36.0         pkgconfig_2.0.3       
## [28] htmltools_0.5.2        highr_0.9              fastmap_1.1.0         
## [31] rlang_1.0.3            GlobalOptions_0.1.2    rstudioapi_0.13       
## [34] RSQLite_2.2.14         farver_2.1.0           shape_1.4.6           
## [37] jquerylib_0.1.4        generics_0.1.2         jsonlite_1.8.0        
## [40] BiocParallel_1.30.3    dplyr_1.0.9            RCurl_1.98-1.6        
## [43] magrittr_2.0.3         GenomeInfoDbData_1.2.8 Matrix_1.5-3          
## [46] Rcpp_1.0.8.3           munsell_0.5.0          fansi_1.0.3           
## [49] lifecycle_1.0.1        stringi_1.7.6          yaml_2.3.5            
## [52] zlibbioc_1.42.0        blob_1.2.3             parallel_4.2.0        
## [55] crayon_1.5.1           lattice_0.20-45        Biostrings_2.64.0     
## [58] splines_4.2.0          annotate_1.74.0        KEGGREST_1.36.2       
## [61] locfit_1.5-9.5         knitr_1.39             pillar_1.7.0          
## [64] rjson_0.2.21           geneplotter_1.74.0     codetools_0.2-18      
## [67] XML_3.99-0.10          glue_1.6.2             evaluate_0.15         
## [70] png_0.1-7              vctrs_0.4.1            foreach_1.5.2         
## [73] gtable_0.3.0           purrr_0.3.4            clue_0.3-62           
## [76] assertthat_0.2.1       cachem_1.0.6           xfun_0.31             
## [79] xtable_1.8-4           survival_3.3-1         tibble_3.1.7          
## [82] iterators_1.0.14       memoise_2.0.1          cluster_2.1.3         
## [85] ellipsis_0.3.2