您好,登錄后才能下訂單哦!
這篇文章主要介紹“r語言怎么實現manhattan圖”,在日常操作中,相信很多人在r語言怎么實現manhattan圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”r語言怎么實現manhattan圖”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、R-qqman包
R包就會涉及安裝,載入,如下:
安裝:install.packages('qqman')
載入:library(qqman)
head(gwasResults,3) #查看qqman提供qwas示例數據(gwasResult)
SNP CHR BP P
1 rs1 1 1 0.9148060
2 rs2 1 2 0.9370754
3 rs3 1 3 0.2861395
其中:SNP---snp名稱,CHR---染色體編號,BP---堿基位置,P---p值;
1)最簡單的manhattan:
manhattan(gwasResults)
2)加入標題、調整顏色、部分SNP高亮等細節
head(snpOfInterest) #查看內置高亮snp數據, snpOfInterest可自行設置
manhattan(gwasResults, col = c("blue4", "orange3"), main = "Results from simulated trait",genomewideline = FALSE, suggestiveline = FALSE,highlight = snpsOfInterest[1:10])
其中參數:
CHR3的綠色點來自snpsOfInterest,highlight參數控制;
藍色橫線由參數suggestiveline控制;
紅色橫線由參數genomewideline控制;
3)批量表示基因名
gwasResults[3057,1] <- "AA" #將最顯著的點,自定義,可看出改變
manhattan(gwasResults,suggestiveline =FALSE,genomewideline =FALSE,col=c("#FF6A6A","#43CD80","#EE7600"),annotatePval=0.05,annotateTop=TRUE)
其中: annotatePval可以設置p閾值,低于該值的散點將會在圖中被標記;annotateTop默認為True,即僅標記p值最小的點,所以該圖中各條染色體只有一個snp被標記,倘若annotateTop設置為False,則所有低于annotatePval的點均會被標記。
二、R-CMplot包
參數更多,圖更美觀;多表型manhattan圖繪制;circos狀展示;
1)沿用gwasResults數據:CMplot(gwasResults,plot.type="m",LOG10=TRUE,threshold=NULL,chr.den.col=NULL,file="jpg",memo="",dpi=300)
2)SNP的密度在圖下面展示(CMplot內置數據):
CMplot(pig60K, plot.type="m", LOG10=TRUE, ylim=NULL, threshold=c(1e-6,1e-4),threshold.lty=c(1,2), threshold.lwd=c(1,1), threshold.col=c("black","grey"),
amplify=TRUE,chr.den.col=c("darkgreen","yellow","red"),bin.size=1e6,signal.col=c("red","green"),signal.cex=c(1,1),signal.pch=c(19,19),file="jpg",memo="",dpi=300)
#parameter 'chr.den.col' is bigger than 1, SNP density that counts the number of SNP within given size('bin.size') will be plotted
3)多表型展示
CMplot(pig60K, plot.type="m", multracks=TRUE, threshold=c(1e-6,1e
4),threshold.lty=c(1,2),threshold.lwd=c(1,1), threshold.col=c("black","grey"), amplify=TRUE,bin.size=1e6,chr.den.col=c("darkgreen", "yellow", "red"), signal.col=c("red","green"),signal.cex=c(1,1),file="jpg",memo="",dpi=300)
4)circos狀展示
CMplot(pig60K,plot.type="c",chr.labels=paste("Chr",c(1:18,"X"),sep=""),r=0.4,cir.legend=TRUE,outward=FALSE,cir.legend.col="black",cir.chr.h=1.3,chr.den.col="black",file="jpg",memo="",dpi=300)
到此,關于“r語言怎么實現manhattan圖”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。