get_peak_blocks_graph <- function(dataA, simmat, adjacencyfromsimilarity,
time_step = 3, max.rt.diff = 5, outloc, column.rm.index = NA,
cor.thresh = NA, cormethod = "pearson", networktype = "unsigned",
num_nodes = 2) {
# fname<-'/Users/karanuppal/Documents/Emory/JonesLab/Projects/NIST_QSTD_60K/apLCMS_with_xMSanalyzer_merged_data/apLCMS_feature_list_at_p1_U_p2cor0.7_CV100.txt'
# setwd('/Users/karanuppal/Documents/Emory/JonesLab/Projects/NIST_QSTD_60K/apLCMS_with_xMSanalyzer_merged_data/')
# fname<-'/Users/karanuppal/Documents/Emory/JonesLab/Projects/NIST_QSTD_60K/XCMS/xcmsCW_snthresh3step0.1mzdiff-0.001max50bw10ppm10.txt'
# setwd('/Users/karanuppal/Documents/Emory/JonesLab/Projects/NIST_QSTD_60K/XCMS/')
# setwd(outloc)
# time_step<-3
# dataA<-read.table(fname,sep='\t',header=TRUE)
# dataexpA_comp<-dataA
# 1:3,6:11
if (is.na(column.rm.index) == FALSE) {
dataA <- dataA[, -c(column.rm.index)]
}
cnames <- colnames(dataA)
cnames[1] <- "mz"
cnames[2] <- "time"
colnames(dataA) <- as.character(cnames)
data_m <- t(dataA)
feat_inf <- paste(dataA[, 1], dataA[, 2], sep = "_")
sample.col.start <- 2
if (FALSE) {
if (cormethod == "pearson") {
ADJdataOne <- adjacency(data_m, type = "signed hybrid",
power = 1, corOptions = "use = 'p'")
} else {
ADJdataOne <- adjacency(data_m, type = "signed hybrid",
power = 1, corOptions = "use = 'p',method='spearman'")
}
}
powers = c(c(1:10), seq(from = 12, to = 20, by = 2))
if (adjacencyfromsimilarity == FALSE) {
sft = pickSoftThreshold(data = data_m, dataIsExpr = TRUE,
powerVector = powers, verbose = 0)
power_val = sft$powerEstimate
if (is.na(power_val) == TRUE) {
power_val = 6
}
if (cormethod == "pearson") {
ADJdataOne <- adjacency(datExpr = data_m, type = networktype,
power = power_val, corOptions = "use = 'p'")
} else {
ADJdataOne <- adjacency(datExpr = data_m, type = networktype,
power = power_val, corOptions = "use = 'p',method='spearman'")
}
} else {
sft = sft = pickSoftThreshold.fromSimilarity(similarity = simmat,
powerVector = powers, verbose = 0)
power_val = sft$powerEstimate
if (is.na(power_val) == TRUE) {
power_val = 6
}
ADJdataOne <- adjacency.fromSimilarity(similarity = simmat,
power = power_val, type = networktype)
}
# cormat<-cor2pcor(cormat)
if (is.na(cor.thresh) == FALSE) {
ADJdataOne[ADJdataOne < cor.thresh] <- 0
ADJdataOne[ADJdataOne >= cor.thresh] <- 1
}
# rownames(ADJdataOne) <- sample(letters,
# nrow(ADJdataOne)) colnames(ADJdataOne) <-
# seq(ncol(ADJdataOne))
g1 <- graph.adjacency(ADJdataOne, weighted = TRUE, mode = "undirected")
# summary(g1)
s1 <- E(g1)
e1 <- get.edgelist(g1)
l1 <- levels(as.factor(e1[, 1]))
set1 <- new("list")
for (l2 in 1:length(l1)) {
# set1[l2]<-e1[which(e1[,1]==l1[l2]),2]
set1[[l2]] <- (e1[which(e1[, 1] == l1[l2]), 2])
set1[[l2]] <- as.numeric(gsub(set1[[l2]], pattern = "V",
replacement = ""))
}
cor_groups <- set1
cor_group_list <- {
}
cor_groups_clust <- new("list")
#
for (m in 1:length(cor_groups)) {
# cor_groups_clust[[m]]<-unique(cor_groups[[m]])
if ((m %in% cor_group_list) == FALSE) {
for (n in (m + 1):length(cor_groups)) {
if (n > length(cor_groups)) {
break
}
com1 <- intersect(cor_groups[[m]], cor_groups[[n]])
if (length(com1) > 0) {
cor_groups[[m]] <- c(cor_groups[[m]], cor_groups[[n]])
cor_group_list <- c(cor_group_list, n)
cor_groups[[n]] <- c(0)
}
}
cor_groups[[m]] <- unique(cor_groups[[m]])
}
}
if (length(cor_group_list) > 0) {
cor_groups <- cor_groups[-cor_group_list]
}
diffmat <- {
}
# cor_groups<-cor_groups_clust
levelAnum <- 1
diffmat <- lapply(1:length(cor_groups), function(m) {
if ((m %in% cor_group_list) == FALSE)
if (cor_groups[[m]] != 0) {
levelAnum <- m
cur_group_ind <- unique(cor_groups[[m]])
cur_group_ind <- as.numeric(gsub(cur_group_ind,
pattern = "V", replacement = ""))
cur_group <- dataA[cur_group_ind, ]
cur_group <- cbind(levelAnum, cur_group)
# diffmat<-rbind(diffmat,cur_group)
return(cur_group)
# levelAnum<-levelAnum+1
}
})
diffmat <- do.call(rbind, diffmat)
diffmat <- as.data.frame(diffmat)
mod_list <- diffmat$levelAnum
t1 <- table(mod_list)
mod_names <- names(t1)
# mod_names<-as.numeric(mod_names)
time_mult_fact <- 1
time_mult_fact <- 1
diffmatC <- {
}
dataA <- cbind(data_mzrt, dataA)
dataA <- as.data.frame(dataA)
d1 <- density(dataA$time, bw = "nrd", from = min(dataA$time),
to = (10 + max(dataA$time, na.rm = TRUE)))
# time_step<-3
time_step <- abs(d1$x[1] - d1$x[time_step + 1])
t1 <- d1$x
time_step <- 1 * time_step
diffmatB <- {
}
for (i in 1:length(mod_names)) {
# groupB_res<-sapply(1:length(mod_names),function(i){
groupA_num <- mod_names[i]
subdata <- dataA[which(moduleLabels == groupA_num),
]
# subdata<-dataA[which(m1==groupA_num),]
subdata <- subdata[order(subdata$time), ]
groupB <- group_by_rt(subdata, time_step, max.rt.diff = max.rt.diff,
groupnum = groupA_num)
diffmatB <- rbind(diffmatB, groupB)
}
return(diffmatB)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.