I've changed the source an added values for max and and Q1-Q3 (25%,
50% and 75% quantiles). The source is changed but it is coming with
the next release ...
You should have a file with all p values. The file name ends
".segment.pValues.txt". First line has following column names TAB
delimited:
"chrom","pos","Estimate","Std. Error","z value","Pr(>|z|)","Estimate
corrected","Std. Error corrected","z value corrected","Pr(>|z|)
corrected","sign. cov. infl.","peak"
# Load the file:
values = read.table(file =
"yourFilename.segment.pValues.txt",header=TRUE,stringsAsFactors=FALSE)
# Run following commands:
the_peaks = unique(as.integer(values[,"peak"]))
return_table = rep(NA,max(the_peaks,na.rm=TRUE)*13)
dim(return_table) = c(max(the_peaks,na.rm=TRUE),13)
colnames(return_table) =
c("chrom","start","end","min_uncorr","min_corr","max_uncorr","max_corr","Q1_uncorr","Q1_corr","Q2_uncorr","Q2_corr","Q3_uncorr","Q3_corr")
for(i in the_peaks)
{
if(
is.na(i))
next
which_belong = which(values[,"peak"]==i)
return_table[i,"chrom"] = values[which_belong[1],"chrom"]
return_table[i,"start"] =
values[min(which_belong,na.rm=TRUE),"pos"]
return_table[i,"end"] =
values[max(which_belong,na.rm=TRUE),"pos"]
return_table[i,"min_uncorr"]=
min(as.double(values[which_belong,"Pr(>|z|)"]),na.rm=TRUE)
return_table[i,"min_corr"] =
max(as.double(values[which_belong,"Pr(>|z|) corrected"]),na.rm=TRUE)
return_table[i,"max_uncorr"]=
min(as.double(values[which_belong,"Pr(>|z|)"]),na.rm=TRUE)
return_table[i,"max_corr"] =
max(as.double(values[which_belong,"Pr(>|z|) corrected"]),na.rm=TRUE)
Q_uncorr =
quantile(as.double(values[which_belong,"Pr(>|
z|)"]),probs=c(0.25,0.5,0.75),na.rm=TRUE)
Q_corr =
quantile(as.double(values[which_belong,"Pr(>|z|)
corrected"]),probs=c(0.25,0.5,0.75),na.rm=TRUE)
return_table[i,"Q1_uncorr"] = Q_uncorr[1]
return_table[i,"Q1_corr"] = Q_corr[1]
return_table[i,"Q2_uncorr"] = Q_uncorr[2]
return_table[i,"Q2_corr"] = Q_corr[2]
return_table[i,"Q3_uncorr"] = Q_uncorr[3]
return_table[i,"Q3_corr"] = Q_corr[3]
}
#write the results:
write.table(return_table, file = "yourFilename.peaks.txt", append =
FALSE, quote = FALSE,sep = "\t",eol = "\n", na = "NA", dec =
".",row.names = FALSE,col.names = TRUE)