#include int main(int argc, char ** argv) {int i = 1, j = 1, k = 1;do {do {if (i != 5)printf(" ");j++;} while (j
創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),洪洞網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:洪洞等地區(qū)。洪洞做網(wǎng)站價(jià)格咨詢:18982081108
1 如果肯下功夫,可以通過R語言獲得基因本體論以及通路富集數(shù)據(jù)并將其可視化,所用的R包可以是GOSim(GO分析),或者clusterprofiler(GOKEGG)
2 cytoscape 的插件cluego可以傻瓜式實(shí)現(xiàn)通路的圖片展示,可以用來直接發(fā)文章(低分的至少可以)
3 關(guān)于GO和KEGG數(shù)據(jù)的獲得,上DAVID就好
查看GOplot內(nèi)示例數(shù)據(jù)的格式,對自己的數(shù)據(jù)做處理
觀察結(jié)論:
觀察自己的兩個(gè)數(shù)據(jù)表:
table.legend 設(shè)置為T時(shí)會顯示表格
本圖中表格和圖例是出圖后剪切拼合而成,沒有用R中的拼圖包
R語言基本數(shù)據(jù)分析
本文基于R語言進(jìn)行基本數(shù)據(jù)統(tǒng)計(jì)分析,包括基本作圖,線性擬合,邏輯回歸,bootstrap采樣和Anova方差分析的實(shí)現(xiàn)及應(yīng)用。
不多說,直接上代碼,代碼中有注釋。
1. 基本作圖(盒圖,qq圖)
#basic plot
boxplot(x)
qqplot(x,y)
2. 線性擬合
#linear regression
n = 10
x1 = rnorm(n)#variable 1
x2 = rnorm(n)#variable 2
y = rnorm(n)*3
mod = lm(y~x1+x2)
model.matrix(mod) #erect the matrix of mod
plot(mod) #plot residual and fitted of the solution, Q-Q plot and cook distance
summary(mod) #get the statistic information of the model
hatvalues(mod) #very important, for abnormal sample detection
3. 邏輯回歸
#logistic regression
x - c(0, 1, 2, 3, 4, 5)
y - c(0, 9, 21, 47, 60, 63) # the number of successes
n - 70 #the number of trails
z - n - y #the number of failures
b - cbind(y, z) # column bind
fitx - glm(b~x,family = binomial) # a particular type of generalized linear model
print(fitx)
plot(x,y,xlim=c(0,5),ylim=c(0,65)) #plot the points (x,y)
beta0 - fitx$coef[1]
beta1 - fitx$coef[2]
fn - function(x) n*exp(beta0+beta1*x)/(1+exp(beta0+beta1*x))
par(new=T)
curve(fn,0,5,ylim=c(0,60)) # plot the logistic regression curve
3. Bootstrap采樣
# bootstrap
# Application: 隨機(jī)采樣,獲取最大eigenvalue占所有eigenvalue和之比,并畫圖顯示distribution
dat = matrix(rnorm(100*5),100,5)
no.samples = 200 #sample 200 times
# theta = matrix(rep(0,no.samples*5),no.samples,5)
theta =rep(0,no.samples*5);
for (i in 1:no.samples)
{
j = sample(1:100,100,replace = TRUE)#get 100 samples each time
datrnd = dat[j,]; #select one row each time
lambda = princomp(datrnd)$sdev^2; #get eigenvalues
# theta[i,] = lambda;
theta[i] = lambda[1]/sum(lambda); #plot the ratio of the biggest eigenvalue
}
# hist(theta[1,]) #plot the histogram of the first(biggest) eigenvalue
hist(theta); #plot the percentage distribution of the biggest eigenvalue
sd(theta)#standard deviation of theta
#上面注釋掉的語句,可以全部去掉注釋并將其下一條語句注釋掉,完成畫最大eigenvalue分布的功能
4. ANOVA方差分析
#Application:判斷一個(gè)自變量是否有影響 (假設(shè)我們喂3種維他命給3頭豬,想看喂維他命有沒有用)
#
y = rnorm(9); #weight gain by pig(Yij, i is the treatment, j is the pig_id), 一般由用戶自行輸入
#y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)
Treatment - factor(c(1,2,3,1,2,3,1,2,3)) #each {1,2,3} is a group
mod = lm(y~Treatment) #linear regression
print(anova(mod))
#解釋:Df(degree of freedom)
#Sum Sq: deviance (within groups, and residuals) 總偏差和
# Mean Sq: variance (within groups, and residuals) 平均方差和
# compare the contribution given by Treatment and Residual
#F value: Mean Sq(Treatment)/Mean Sq(Residuals)
#Pr(F): p-value. 根據(jù)p-value決定是否接受Hypothesis H0:多個(gè)樣本總體均數(shù)相等(檢驗(yàn)水準(zhǔn)為0.05)
qqnorm(mod$residual) #plot the residual approximated by mod
#如果qqnorm of residual像一條直線,說明residual符合正態(tài)分布,也就是說Treatment帶來的contribution很小,也就是說Treatment無法帶來收益(多喂維他命少喂維他命沒區(qū)別)
如下面兩圖分別是
(左)用 y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)和
(右)y = rnorm(9);
的結(jié)果??梢娙绻o定豬吃維他命2后體重特別突出的數(shù)據(jù)結(jié)果后,qq圖種residual不在是一條直線,換句話說residual不再符合正態(tài)分布,i.e., 維他命對豬的體重有影響。
前面我給大家詳細(xì)介紹過
?GO簡介及GO富集結(jié)果解讀
?四種GO富集柱形圖、氣泡圖解讀
?GO富集分析四種風(fēng)格展示結(jié)果—柱形圖,氣泡圖
?KEGG富集分析—柱形圖,氣泡圖,通路圖
? DAVID GO和KEGG富集分析及結(jié)果可視化
也用視頻給大家介紹過
? GO和KEGG富集分析視頻講解
最近有粉絲反映說,利用clusterProfiler這個(gè)包繪制GO富集分析氣泡圖和柱形圖的時(shí)候,發(fā)現(xiàn)GO條目的名字都重疊在一起了。
氣泡圖
柱形圖
這個(gè)圖別說美觀了,簡直不忍直視。經(jīng)過我的認(rèn)真研究,發(fā)現(xiàn)跟R版本有關(guān)。前面我給大家展示的基本都是R 3.6.3做出來的圖。很多粉絲可能用的都是最新版本的R 4.1.2。
我們知道R的版本在不停的更新,相應(yīng)的R包也在不停的更新。我把繪制氣泡圖和柱形圖相關(guān)的函數(shù)拿出來認(rèn)真的研究了一下,終于發(fā)現(xiàn)的癥結(jié)所在。
dotplot這個(gè)函數(shù),多了個(gè) label_format 參數(shù)
我們來看看這個(gè)參數(shù)究竟是干什么用的,看看參數(shù)說明
label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters
原來這個(gè)參數(shù)默認(rèn)值是30,當(dāng)標(biāo)簽的長度大于30個(gè)字符就會被折疊,用多行來展示。既然問題找到了,我們就來調(diào)節(jié)一下這個(gè)參數(shù),把他設(shè)置成100,讓我們的標(biāo)簽可以一行展示。
是不是還是原來的配方,還是熟悉的味道
同樣的柱形圖,我們也能讓他恢復(fù)原來的容貌。
關(guān)于如何使用R做GO和KEGG富集分析,可參考下文
GO和KEGG富集分析視頻講解
ID轉(zhuǎn)換用到的是 bitr() 函數(shù),bitr()的使用方法:
org.Hs.eg.db包含有多種gene_name的類型
keytypes() :keytypes(x),查看注釋包中可以使用的類型
columns() :類似于keytypes(),針對org.Hs.eg.db兩個(gè)函數(shù)返回值一致
select() :select(x, keys, columns, keytype, ...) eg.
函數(shù)enrichGO()進(jìn)行GO富集分析,enrichGO()的使用方法:
舉例:
當(dāng)前題目:r語言做go分析的代碼,r語言做go和kegg富集分析圖
地址分享:http://aaarwkj.com/article32/dssppsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)