美文网首页
转录组不求人系列(三):PCA分析及CNS级别作图

转录组不求人系列(三):PCA分析及CNS级别作图

作者: KS科研分享与服务 | 来源:发表于2021-12-22 08:54 被阅读0次

    从这节开始,就逐渐涉及转录组的基本可视化了,我们的可视化要做到CNS级别的图,争取做好分析,一步到位,让您有真正的收获!

    PCA(主成分分析),具体的原理就不说了,自行百度。简单理解,PCA就是降维,将多维数据在2为平面理解和可视化。在转录组中的作用则是可以看出样本组间是否有差异,或者样本的一致性。组间差异大则两组分的开,反之则是差别不是很大。

    示例数据用上节下载的GSE125424芯片数据表达矩阵,读入数据,并对数据进行初步的处理。

    
    setwd("F:/生物信息学")
    A <- read.table("GSE125424_series_matrix.txt",header = T,
                    row.names = 1,sep = "\t",comment.char = "!")#这里注意,下载的芯片数据开有结尾包含有注释行,都是以!开头,所以要去除这些行
    data <- t(A)#PCA分析需要将表达矩阵转置  
    
    图片

    PCA分析很简单,只需要一个函数就可以搞定。prcomp()就可以,然后导出分析结果。

    
    ###PCA分析
    data.pca <- prcomp(data, scale. = T)  #这是后续作图的文件
    #输出特征向量
    write.table(data.pca$rotation, file="PC.xls", quote=F, sep = "\t")
    #输出新表
    write.table(predict(data.pca), file="newTab.xls", quote=F, sep = "\t")
    #输出PC比重
    pca.sum=summary(data.pca)
    write.table(pca.sum$importance, file="importance.xls", quote=F, sep = "\t")
    

    接着就是PCA分析结果的可视化了,这里我们提供了两种方法。

    1、factoextra包

    加载包:

    library(factoextra)
    

    设置分组:

    group=c(rep("Control",3),rep("Test",3))
    

    可视化,由于factoextra是ggplot2的,所以在画完图后可以用ggplot2的方式进行修饰。

    fviz_pca_ind(data.pca,
                 col.ind=group,
                 mean.point=F,
                 addEllipses = T, 
                 legend.title="Groups",
                 ellipse.type="confidence",
                 ellipse.level=0.9,
                 palette = c("#CC3333", "#339999"))+ #Cell配色哦
      theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))#加个边框
    
    图片

    结果很完美,非常满意!

    2、ggbiplot包

    看这包的名字就知道和ggplot2脱不了干系,先安装:

    
    library(devtools)
    install_github("vqv/ggbiplot")
    library(ggbiplot)
    

    画图,画图数据和上一个一样:

    ggbiplot(data.pca,obs.scale = 1,var.scale = 1,
             groups = group,ellipse = T,var.axes = F) +
      scale_color_brewer(palette = "Set1")  +
      theme(legend.direction = 'horizontal',legend.position = 'top') +
      geom_vline(xintercept = c(0), linetype = 6,color = "black") +
      geom_hline(yintercept = c(0),linetype = 6,color = "black") +
      theme_bw() + theme(panel.grid = element_line(colour = NA))
    
    图片

    同样看起来非常完美,赏心悦目有没有!

    PCA分析和作图就是这么简单,你学会了吗?

    这里不得不提一个问题,PCA分析适用于小样本的分析,对于大样本,可能效果不是很明显,所以需要其他的降维方法,那就是下节的内容---UMAP分析及其可视化!

    请多多支持,点赞+关注!更多精彩等着你!

    相关文章

      网友评论

          本文标题:转录组不求人系列(三):PCA分析及CNS级别作图

          本文链接:https://www.haomeiwen.com/subject/nmgtqrtx.html