Introduction
目前主流的表达谱芯片有两类:
(1)cDNA microarray:将100~5,000bp的cDNA固载到介质上 (例如玻璃),Stanford开发设计,通常为双通道
(2) DNA chips: 将寡核苷酸探针 (25bp) 合成到芯片上,Affymetrix开发设计,通常为单通道
一般来说根据实验要求,我们会选择不同类型的芯片:
(1)单通道(Single Channel):一次检验一种状态
(2)双通道(Dual Channel):差异表达基因的筛选
单通道实验结果重复性更好,使得比较不同样品之间各种基因表达的相对比例比较可靠。在进行多个芯片比较时,只需要设置对照即可。
而双通道重复性相对较差,只能进行两个样品之间的比较,芯片之间的比较并不可靠。
一般来说表达谱芯片数据的分析流程如下:

在进行数据处理与分析的时候,我们一般会使用R。
获取原始数据
NCBI的GEO数据库为我们提供了丰富的基因芯片数据,在经费有限或者只是想要初步了解自己感兴趣的问题时,我们可以先寻找一下GEO平台是否有合适的数据进行分析。
许多肿瘤药物在临床中应用中都存在耐药性的问题。肿瘤耐药性的机制主要有:
(1)DNA修复能力增强
(2)P-糖蛋白降低细胞内药物浓度
(3)谷胱甘肽S-转移酶代谢抗癌药物
(4)其他机制:拓扑异构酶II、蛋白激酶C等
紫杉醇是现在常用的抗癌药物,然而紫杉醇也面临着耐药性的作用,本次通过分析基因芯片数据初探乳腺癌中紫杉醇可能的耐药机制。
首先在GEO中搜索‘paclitaxel resistance’,经过筛选选择GSE28784进行后续分析。

link:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE28784
由于我们使用的并非自己的数据,所以对实验设计并不清楚。
因此我们必须认真阅读该summary和overall design。

其次,我们关注Platforms,即使用什么芯片,因为不同的芯片使用了不同的探针,我们需要知道芯片的探针信息才能对应到相应的基因。在本实验中,使用的是GPL96 [HG-U133A] Affymetrix Human Genome U133A Array。
一共有9个样本,分别是:MDA-MB-231_Verapamel_Rep1~Rep3,MDA-MB-231_Docetaxel_Rep1~Rep3,MDA-MB-231_Paclitaxel_Rep1~Rep3
GEO数据库为我们提供了GEO2R在线分析工具,你可以在NCBI线上平台对你的数据有一个初步的了解。
这里我们需要说明的是,有时候作者不仅提交了原始数据,也会提交处理后的数据。我们可以通过GEO2R进行判断。
在本例中,我们通过GEO2R查看各样本数据的时候发现各个样本的均值基本相同,说明数据已经进行过处理。当你不是一个专业的生物信息分析人员时,你可以偷懒直接使用别人处理过后的数据进行后续的分析。这时候你只需要下载GSM系列文件即可。

当然,使用别人处理的数据存在很大的风险。你并不了解处理数据的人,也不知道他们具体的处理流程,也许在这个过程中会剔除你所关注的信息。因此你可以下载Supplementary file中提供的原始文件(Affymetrix公司为.cel格式), 自己从头进行处理、分析。

另外我们还需要知道平台的信息,我们可以点击platform中的超链接:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL96
点击‘Download full table’
读取芯片数据
我们只关注紫杉醇Paclitaxel,因此我们只需选取其中的6个样本:
GSM712682 MDA-MB-231_Verapamel_Rep1
GSM712683 MDA-MB-231_Verapamel_Rep2
GSM712684 MDA-MB-231_Verapamel_Rep3
GSM712688 MDA-MB-231_Paclitaxel_Rep1
GSM712689 MDA-MB-231_Paclitaxel_Rep2
GSM712690 MDA-MB-231_Paclitaxel_Rep3
下载得到GSE28784_RAW.tar文件,解压缩后得到一系列‘GSM7126xx.CEL.gz’文件,进一步将上述6个GSM号解压缩,并手动编辑一个txt文件描述这些文件的信息。

然后我们可以下载affy等包,由于R的版本可能会出现以下错误:
package ‘affy’ is not available (for R version 3.4.1)
你可以通过以下方法下载:
source("http://bioconductor.org/biocLite.R")
biocLite("affy")
接着我们开始读取芯片数据:
library(affy)
pd=read.table('Paclitaxel.txt',header=TRUE,row.names=1)
a=ReadAffy(filenames = row.names(pd),phenoData = pd, verbose = TRUE)
成功读取芯片的原始数据。

网友评论