91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言怎么繪制MA圖

發布時間:2022-01-20 10:58:41 來源:億速云 閱讀:556 作者:iii 欄目:開發技術

這篇文章主要介紹“R語言怎么繪制MA圖”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“R語言怎么繪制MA圖”文章能幫助大家解決問題。

MA plot即M-versus-A plot,在芯片數據處理出現之前也稱為Bland-Altman plot,是由發明者名字命名的,而MA plot是對M與A作圖而得名,M是minus的縮寫,代表兩個值之差,A是add的縮寫,代表兩個值之和。有研究者也把MA plot稱為Ratio-Intensity (RI) plots,同時MA也正好是micro-array的簡寫。

MA圖簡介

MA圖主要應用在基因組數據可視化方面,實現數據分布情況的展示。早期主要應用于DNA芯片數據,現在常用于高通量測序數據中基因差異表達分析結果的展示。

M一般做Y軸,A一般做X軸。

M常對應差異表達分析獲得的差異對比組之間基因表達變化log2FC。

A可以利用差異對比組的FPKM進行計算,以R和G來表示差異對比組的話,可以取R組基因的平均FPKM和G組基因的平均FPKM進行計算。

MA圖繪制

首先準備數據:

第一列為基因ID,*_FPKM為樣品FPKM值(列名必須包含"FPKM"),第四列為FDR,第五列為log2FC,第六列為基因上下調信息。

然后,我們使用R語言來繪制MA圖,代碼如下:

### load library
require(ggplot2)
library(RColorBrewer)
library(getopt)
mycol<-brewer.pal(9, "Set1")
# load library

args <-commandArgs(TRUE)
# check args length
if( length(args) != 2 ) {
    print(args)
    usage()
    stop("the length of args != 6")
}

plot_MA <- function(log10exp=NULL, log2FC=NULL, FDR=NULL, Significant=NULL,
        xlab="log10(FPKM)", ylab="log2(FC)", main="MA plot") {
    # check args
    # check null
    if( is.null(log2FC) ) stop("log2FC is NULL")
    if( is.null(FDR) ) stop("FDR is NULL")
    if( is.null(Significant) ) stop("Significant is NULL")
    # check length
    len <- c(length(log10exp), length(log2FC), length(FDR))
    if( len[1] != len[2] ) 
        stop(paste("length(log10exp) != length(log2FC): ", len[1], " != ", len[2], sep=""))
    if( len[2] != len[3] ) 
        stop(paste("length(log2FC) != length(FDR): ", len[2], " != ", len[3], sep=""))
    if( len[1] == 0 ) stop("length(log2FC) == 0")

    # plot
    Significant<-factor(Significant,levels=c("up","down","normal"))
    p <- qplot(log10exp, log2FC, xlab=xlab, ylab=ylab, main=main, size=I(0.7), colour=Significant)
    p <- p+ scale_color_manual(values = c("up"=mycol[1],"normal"=mycol[2],"down"=mycol[3]))
    p<-p+theme_bw()+ theme(  
            panel.grid=element_blank(), 
            axis.text.x=element_text(colour="black"),
            axis.text.y=element_text(colour="black"),
            panel.border=element_rect(colour = "black"),
            legend.key = element_blank(),
            legend.title = element_blank())
    # return
    return(p)
}

ori_data <- read.delim(args[1], row.names = 1, header=TRUE,check.names =F)
colnames(ori_data)<-read.delim(args[1], row.names = 1, header=F,check.names =F,stringsAsFactors=F,nrows=1)
f <- grepl("FPKM",colnames(ori_data))
print(f)
fpkm <- ori_data[ , f] 
log2FC <- ori_data[ , "log2FC"] 
FDR <- ori_data[ ,"FDR"] 
significant <- ori_data[ , "regulated"] 
significant<-as.factor(significant)
print(" MA plot")
# MA plot
ma <- plot_MA(log10exp=log10(rowMeans(fpkm)), log2FC=log2FC, FDR=FDR, Significant=significant )

png(filename=paste(args[2],".png",sep=""), height = 3000, width = 3000, res = 500, units = "px")
print(ma)
dev.off()

pdf(file=paste(args[2],".pdf",sep=""), height = 15, width = 15)
print(ma)
dev.off()

腳本運行命令:

Rscript plot_MA.R  ref_trans_full_table.xls  MA

其中ref_trans_full_table.xls是輸入文件,MA是輸出圖片的名稱前綴。

關于“R語言怎么繪制MA圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇左市| 康马县| 道真| 上饶市| 中西区| 图木舒克市| 昔阳县| 剑川县| 衡阳县| 石楼县| 越西县| 兴宁市| 麦盖提县| 临邑县| 富平县| 牙克石市| 姜堰市| 犍为县| 和田县| 临江市| 定远县| 锡林郭勒盟| 色达县| 大埔县| 庆安县| 抚松县| 静海县| 巴楚县| 九寨沟县| 于都县| 长岭县| 崇左市| 安阳市| 铁岭市| 珲春市| 阜城县| 牟定县| 常州市| 旬邑县| 浮梁县| 镇原县|