今日のDBCLS
統計解析ソフト「R」での立廻り 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを完成させました.
### mCGrate関数 mCGrate <- function(dat, begin=0, end=48129895, window.size=1000000) { dat.CG <- dat[dat$class == "CG", ] # classがCGの行のみを選択 separators <- seq(begin, end, window.size) # 区切りを作る separators : [begin, begin + window.size, begin + 2*window.size, ...] mapply(function(sep) { # sepにseparatorsの要素を順次あてはめて、下の4行を実行 window <- dat.CG[ sep < dat.CG$position & dat.CG$position < sep + window.size, ] # ウィンドウへ切り出し rate <- sum(window$mc) / sum(window$h) # メチル化率の割り算 if (is.nan(rate)) NA else rate # 分母が0だとNaNになるが、これをNAに変換 }, separators) } ### ファイルの読み込み・メチル化率の計算 ADS <- mCGrate(read.csv("ADS", sep = "\t")) ADS_adipose <- mCGrate(read.csv("ADS-adipose", sep = "\t")) ADS_iPSC <- mCGrate(read.csv("ADS-iPSC", sep = "\t")) FF_iPSC_19.11 <- mCGrate(read.csv("FF-iPSC-19.11", sep = "\t")) FF_iPSC_19.11_BMP4 <- mCGrate(read.csv("FF-iPSC-19.11-BMP4", sep = "\t")) FF_iPSC_19.7 <- mCGrate(read.csv("FF-iPSC-19.7", sep = "\t")) FF_iPSC_6.9 <- mCGrate(read.csv("FF-iPSC-6.9", sep = "\t")) FF <- mCGrate(read.csv("FF", sep = "\t")) H1 <- mCGrate(read.csv("H1", sep = "\t")) H1_BMP4 <- mCGrate(read.csv("H1-BMP4", sep = "\t")) H9 <- mCGrate(read.csv("H9", sep = "\t")) IMR90 <- mCGrate(read.csv("IMR90", sep = "\t")) IMR90_iPSC <- mCGrate(read.csv("IMR90-iPSC", sep = "\t")) ### それぞれのメチル化率の列ベクトルを結合して行列に dat <- cbind(ADS, ADS_adipose, ADS_iPSC, FF_iPSC_19.11, FF_iPSC_19.11_BMP4, FF_iPSC_19.7, FF_iPSC_6.9, FF, H1, H1_BMP4, H9, IMR90, IMR90_iPSC) ### 1 - 相関係数を距離として階層的クラスタリング・樹状図の描画 plot(hclust(as.dist(1 - cor(dat, use="complete.obs"))))