基因芯片分析流程

array数据的读取

读取array数据首先确定一下测序平台和数据系列,然后用相应的包读取基因表达芯片数据-CEL格式文件并处理成表达矩阵。 affy包(Affymetrix 平台)处理的芯片平台一般是hgu 95系列和133系列;oligo包(Affymetrix 平台)能够处理affymetrix公司的Gene ST arrays,例如[HuGene-1_1-st] Affymetrix Human Gene 1.1 ST Array;Illumina平台,则可以使用beadarray或lumi

对array的一些介绍: 1.http://homer.ucsd.edu/homer/basicTutorial/affymetrix.html

2.https://qiubio.com/new/book/chapter-03/#%E7%AC%AC%E4%BA%8C%E7%AB%A0-%E5%9F%BA%E5%9B%A0%E8%8A%AF%E7%89%87%E5%88%86%E6%9E%90chapter-1-microarray-analysis

Affy 分析array

source("https://bioconductor.org/biocLite.R")
biocLite("affy")
biocLite("hgu133plus2.db")#注释文件
library(affy)
library("hgu133plus2.db")
读取CEL文件
#读取CEL文件
celFiles <- list.celfiles(path = "/yourdataPATH/", full.names=TRUE)
data.affy <- ReadAffy(filenames = celFiles)
data.affy
标准化
#Normalize data with RMA
data.rma <- rma(data.affy)
获取表达矩阵
expr.rma <- exprs(data.rma) # format as table
对探针进行注释
# Convert gene names
Annot <- data.frame(REFSEQ=sapply(contents(hgu133plus2REFSEQ), paste, collapse=", "),
                    SYMBOL=sapply(contents(hgu133plus2SYMBOL), paste, collapse=", "),
                    DESC = sapply(contents(hgu133plus2GENENAME), paste, collapse=", ")  )
# Merge data frames together (like a database table join)
all <- merge(Annot, expr.rma, by.x=0, by.y=0, all = TRUE)
#remove probe ID,gene REFSEQ and DESC and NA 
all<-all[,c(-1:-2,-4)]
all<-all[which(all[,1] != "NA"),]
#use mean of probe ID as gene expression
all<-aggregate(.~SYMBOL,all,mean)
#change transcript ID to gene symbol in rownames
rownames(all)<-all$SYMBOL

后续差异分析分析参考limma包

oligo分析array

source("https://bioconductor.org/biocLite.R")
biocLite("oligo")
library("oligo")
library("oligo")
#文件位置
data.dir <- "../../../test/GSE81580_RAW-2/"
##CEL文件读取
celfiles <- list.files(data.dir, "\\CEL.gz$")
data.raw <- read.celfiles(filenames = file.path(data.dir, celfiles))
#表达量计算
data.eset <- oligo::rma(data.raw)  #含背景处理、归一化和表达量计算
data.exprs <- exprs(data.eset)  #提取表达量矩阵
write.csv(data.exprs,"../../../test/GSE81580expr.csv")
对探针进行注释

获取array对应的注释R包。可以通过ALL来查询

biocLite("ALL")
library(ALL)
show(data.raw)

以及一些查询和下载注释文件的网址: 注释文件下载https://www.thermofisher.com/cn/zh/home/life-science/microarray-analysis/microarray-data-analysis/genechip-array-annotation-files.html

http://www.affymetrix.com/support/technical/byproduct.affx?product=mo_trans_assay

各物种注释包查询:https://blog.csdn.net/weixin_40739969/article/details/103186027

参考: https://bioconductor.org/packages/release/bioc/vignettes/oligo/inst/doc/oug.pdf http://bioinfo.au.tsinghua.edu.cn/member/cye/ref/Microarray.pdf https://y570pc.github.io/%E4%BD%BF%E7%94%A8oligo%E5%8C%85%E5%A4%84%E7%90%86%E5%9F%BA%E5%9B%A0%E8%8A%AF%E7%89%87%E6%95%B0%E6%8D%AE/ https://blog.csdn.net/tommyhechina/article/details/80409983

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pandas的一些小知识

    生信编程日常
  • R中t()转置后为什么会变成字符型数据

    数值型数据全部变成了字符型,怎么回事?其实是因为cluster那一列数据并不是数值型,而是字符型。因为这一列代表某一群细胞,如cluster0.所以才会出现这个...

    生信编程日常
  • 根据某列相同元素求和

    下面是一个需要计算相同基因的exon的长度的文件,即根据相同的基因,先计算基因的起点到终点的距离,再对相同的基因的的exon距离求和

    生信编程日常
  • 使用脚手架应用做单元测试

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Jerry Wang
  • 采用HTML5之"data-"机制自由提供数据

    周末总是过得很快,又到了跟代码亲密接触的日子,我在北京向各位问好,今天我分享一点关于前端的东西,HTML5之标签"data-*"自定义属性的值传递。     ...

    赵小忠
  • 使用 Python 实现几种常见的排序算法

    冒泡排序是最为基础的排序算法,其核心思想就是相邻元素两两比较,把较大的元素放到后面,在一轮比较完成之后,最大的元素就位于最后一个位置了,就好像是气泡,慢慢的浮出...

    周萝卜
  • 讲讲切比雪夫定理

    前面讲了大数定理,讲了中心极限定理,有读者留言让讲讲切比雪夫定理,安排。这一篇就来讲讲切比雪夫定理。

    张俊红
  • C++ string实现

    作为C++从业者,我相信都会被考察过实现简单的string类,包括构造、析构、拷贝构造以及赋值拷贝等,因为这能够很好的考察面试者的C++基本功。借看《剑指off...

    evenleo
  • pandas的一些小知识

    生信编程日常
  • [半zz]迅雷笔试题

    用户1130771

扫码关注云+社区

领取腾讯云代金券