setwd('/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure5_Conservation/Comparisons/Killifish_aging_RNAseq/Brain/')
options(stringsAsFactors = F)
library(DESeq2)
library(pheatmap)
library('pvclust')
my.data <- read.csv("2017-05-15_Brain_Nfur_aging_kallisto_mapping.txt", sep = "\t", header = T)
# sum read over genes (to not have results over transcripts for DEseq2)
my.data.per.gene <- aggregate(my.data[,6:30],by=list(my.data$ENS_GID),FUN=sum) # 24724
# round counts (DESeq needs integers)
my.data.per.gene[,2:26] <- round(my.data.per.gene[,2:26])
rownames(my.data.per.gene) <- my.data.per.gene$Group.1
colnames(my.data.per.gene)[1] <- 'GeneName'
# get the genes with no reads out
my.null <- which(apply(my.data.per.gene[,2:26], 1, sum) <= 5) # see deseq2 vignetter
my.filtered.matrix <- my.data.per.gene[-my.null,2:26] # 24131 genes
# age in weeks
my.age <- rep(c(5, 12,20,27,39), each = 5)
# design matrix
dataDesign = data.frame( row.names = colnames( my.filtered.matrix ),
age = my.age)
# get matrix using age as a modeling covariate
dds <- DESeqDataSetFromMatrix(countData = my.filtered.matrix,
colData = dataDesign,
design = ~ age)
# run DESeq normalizations and export results
dds.deseq <- DESeq(dds)
res <- results(dds.deseq, name = "age") # added the name of the tested variable
# parse sample names
my.sample.names <- paste(my.age,"w",1:25, sep = "")
# normalized expression value
tissue.cts <- log2( counts(dds.deseq, normalize = TRUE) + 0.01)
colnames(tissue.cts) <- my.sample.names
# do MDS analysis
mds.result <- cmdscale(1-cor(tissue.cts,method="spearman"), k = 2, eig = FALSE, add = FALSE, x.ret = FALSE)
x <- mds.result[, 1]
y <- mds.result[, 2]
my.palette <- colorRampPalette(c("coral","blueviolet","dodgerblue"))(5)
my.colors <- c(rep(my.palette[1],5), rep(my.palette[2],5),rep(my.palette[3],5),rep(my.palette[4],5),rep(my.palette[5],5))
my.mds.out <- paste(Sys.Date(),"killifish_Brain_aging_analysis_MDS_plot.pdf", sep ="_")
res <- res[!is.na(res$padj),]
my.orthology <- read.csv('/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure5_Conservation/Pathway_enrichment/Orthology/BestHits_nfur-mmus_1e-3.txt', sep = "\t", header = F)
get_first <- function (vec) {
return(vec[1])
}
my.mouse.names <- unlist(lapply(strsplit(my.orthology$V2,"|",fixed = T),get_first))
length(my.mouse.names)
my.orth.table <- data.frame(cbind(my.nfur.names,my.mouse.names))
colnames(my.orth.table) <- c("Nfur_Symbol","Mouse_Symbol")
my.nfur.names <- unlist(lapply(strsplit(my.orthology$V1,"|",fixed = T),get_first))
my.nfur.names <- unlist(lapply(strsplit(my.orthology$V1,"|",fixed = T),get_first))
# length(my.nfur.names)
# [1] 21073
my.mouse.names <- unlist(lapply(strsplit(my.orthology$V2,"|",fixed = T),get_first))
length(my.mouse.names)
# [1] 21073
my.orth.table <- data.frame(cbind(my.nfur.names,my.mouse.names))
colnames(my.orth.table) <- c("Nfur_Symbol","Mouse_Symbol")
load("/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure3_Machine_learning/Feature_extraction/Feature_folders/RNAseq_DEseq2_results/RNA_seq_result_cereb_2015-11-19.RData")
my.brain.nfur.process <- res
my.brain.nfur.process$Nfur_Symbol <- rownames(my.brain.nfur.process)
my.cereb.RNAseq.process[[1]]$Mouse_Symbol <- rownames(my.cereb.RNAseq.process[[1]])
#setwd('/Volumes/MyBook_3/BD_aging_project/Public_datasets/Killifish_aging_RNAseq/Brain_files_for_BB//kallisto_results')
setwd('/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure5_Conservation/Comparisons/Killifish_aging_RNAseq/Brain/')
options(stringsAsFactors = F)
# 2017-05-15
# analyze Fish Brain RNAseq
# using param's kallisto runs
library(DESeq2)
library(pheatmap)
library('pvclust')
options(stringsAsFactors=F)
library(bitops)
# compare to mouse brain results
# get ortholog names
# use Param's BLAST results
my.orthology <- read.csv('/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure5_Conservation/Pathway_enrichment/Orthology/BestHits_nfur-mmus_1e-3.txt', sep = "\t", header = F)
get_first <- function (vec) {
return(vec[1])
}
my.nfur.names <- unlist(lapply(strsplit(my.orthology$V1,"|",fixed = T),get_first))
# length(my.nfur.names)
# [1] 21073
my.mouse.names <- unlist(lapply(strsplit(my.orthology$V2,"|",fixed = T),get_first))
length(my.mouse.names)
# [1] 21073
my.orth.table <- data.frame(cbind(my.nfur.names,my.mouse.names))
colnames(my.orth.table) <- c("Nfur_Symbol","Mouse_Symbol")
load("/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure5_Conservation/Comparisons/Killifish_aging_RNAseq/Brain/Output/2017-05-15_Killifish_RNAseq_aging__statistics.RData")
my.brain.nfur.process <- res
my.brain.nfur.process$Nfur_Symbol <- rownames(my.brain.nfur.process)
load("/Users/benayoun/Dropbox/Manuscripts_and_Publications/2018_aging_epigenomics_data_description/Aging_omics_paper/Github_folder/Figure3_Machine_learning/Feature_extraction/Feature_folders/RNAseq_DEseq2_results/RNA_seq_result_cereb_2015-11-19.RData")
my.cereb.RNAseq.process[[1]]$Mouse_Symbol <- rownames(my.cereb.RNAseq.process[[1]])
my.brain.merge1 <- merge(data.frame(my.brain.nfur.process),my.orth.table)
my.brain.merge2 <- merge(data.frame(my.cereb.RNAseq.process[[1]]),my.brain.merge1, by='Mouse_Symbol')
my.mouse.sig <- my.brain.merge2$padj.x < 0.05 # 897
sum(my.mouse.sig)
my.nfur.sig <- my.brain.merge2$padj.y < 0.05 # 5404
my.both.sig <- bitAnd(my.mouse.sig,my.nfur.sig)>0 # 319
test.mouse.neg <- wilcox.test(my.brain.merge2$log2FoldChange.y[my.mouse.sig & (my.brain.merge2$log2FoldChange.x <0)], alternative = "less")
test.mouse.pos <- wilcox.test(my.brain.merge2$log2FoldChange.y[my.mouse.sig & (my.brain.merge2$log2FoldChange.x >0)], alternative = "greater")
pdf(paste(Sys.Date(),"LogFC_of_mouse_orthologs_brain_Nfur.pdf",sep="_"))
boxplot(my.brain.merge2$log2FoldChange.y[my.mouse.sig & (my.brain.merge2$log2FoldChange.x <0)],
my.brain.merge2$log2FoldChange.y[my.mouse.sig & (my.brain.merge2$log2FoldChange.x >0)],
names = c("Mouse Ortholog Down","Mouse Ortholog Up"),
ylab = "nfur brain aging log2FC per y",
ylim = c(-0.08,0.08), col = c("cadetblue2","brown1"),
main = "brain (Nfur)"
)
text(1,0.07,signif(test.mouse.neg$p.value, digits = 3))
text(2,0.07,signif(test.mouse.pos$p.value, digits = 3))
abline(h=0,lty="dashed", col = "red", lwd = 2)
dev.off()
