如何成为专业的生信人,那就是搞到质量高的测序数据。在各大测序数据库中,作者往往不会将自己整理好的数据直接上传,而是放一个raw data。那我们下载下来是无法直接使用的,需要进行专业处理拿到基因表达矩阵。今天分享一个GEO数据库上载录的于2020年发表的人RNA-seq测序数据,并教大家如何处理。

图片

演示数据获取网址如下

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE114517

(1)可以发现作者这里仅提供了两个文件:一个是处理好的差异分析csv文件,这作者好的有点离谱;一个是原始数据压缩包,这才是基本操作。

图片

小贴士:在GEO 数据库的下载栏中,FTP 和 HTTP 是两种用于下载数据的协议。

1.FTP(File Transfer Protocol):通过FTP 下载数据时,会提供一个 FTP 地址,用户可以通过工具连接到 GEO 的服务器并下载文件。适合大文件或批量下载。需要使用支持 FTP 的客户端(如 FileZilla)或命令行工具(如 wget)进行下载。

2.HTTP(Hypertext Transfer Protocol):点击链接即可在浏览器中直接下载文件。

3.custom和http是一种下载格式,只是custom支持单样本数据下载。

(2)那我们这里直接去下载处理好的差异分析csv文件,看看文件长什么样子,是不是我们想要的。结果根本打不开这个文件,真是资本家啊。

图片

(3)只能改道去下载原始数据压缩包。点击http,下载全部数据。

图片

(4)将下载的压缩包进行解压缩

图片

(5)点击进入文件,发现每个样本的txt单独压缩成文件。

图片

(6)一一打开这些文件后,发现这些txt格式一致:第一行是基因的ENSG名称,第二行是FPKM。下面我们要做的就是合并这些文件,形成一个第一行是样本,第一列是基因名,其余是基因表达值的基因表达矩阵。

图片

(7)运行下述代码即可获得基因表达矩阵,注意设置R语言路径为解压后的GSE114517_RAW文件夹。

图片

(8)运行代码后将获得基因表达矩阵的csv文件接着运行R代码对基因名进行转换。

图片

(9)打开代码运行后保存的文件,可以看到样本名称已经分开,并依次填充到后面单元格,与基因表达值一一对应;基因探针为第一列。现在只需要手动删除第一行,并将A2单元格NA改成Gene Symbol。

图片

(10)现在使用R将基因探针对应成基因名称

图片

(11)上面获得的基因转换内容复制并插入表达矩阵中,并用函数索引进行基因的填充替换。黄色为原基因探针,橙色为复制内容,GENE栏为将要填充的基因探针对应的基因。

图片

(12)非常重要的步骤!另外,需要注意,原始GEO下载的数据中基因名称后面有小数,那是更新的版本号。需要要选中A列,运行函数=MID(A2,1,15))仅取前15位数字,CTRL+D进行填充,这样就可以获得正确的ENSG了然后复制插入正确ENSG列,格式仅数字,再删去原先两列。而R语言处理基因名称转换时候,我们已经用代码处理过了,只需要按代码运行转换基因名称时就不会报错。

图片

(13)使用VLOOKUP函数进行基因名称的转换,公式:

=VLOOKUP(A:A,B:D,2,FALSE)

然后选中这一列CTRL+D进行填充,补全公式。

图片

(14)将GENE这一栏复制为仅数值插入右侧。

图片

(15)删除前5列即可得到完整的基因表达矩阵。

图片

(16)将GENE栏按升序排列。

图片

(17)下拉到基因名为N/A的地方并删除。出现基因为N/A的原因是由于基因探针与GENE名称的对应关系在不断变化,或者每个测序公司有非公用探针。这种时候只能忽略这些值,或者更新自己的R包,或者联系文章作者。

图片

(18)最后,将样本名更改成正常和疾病。回到GEO数据库中查看每个样本代表的是正常还是疾病。可以发现Cont是正常,PD代表发病。

图片

(19)在基因表达矩阵中更改样本信息。

图片

(20新建一个CSV文件,将样本信息归组,用于后续差异基因分析用。

图片

(21)按照R代码运行,以 logFC 为 1、 P.Value 为 0.05 为筛选目标进行差异基因分析。

图片

(22)保存后的差异基因中注明了每个基因是上调还是下调。

图片

(23)利用差异基因绘制火山图。

图片

(24)火山图展示图。

图片

(25)在火山图上添加基因。

图片

(26)读入基因表达矩阵,绘制热图。

图片

(27)热图展示图。

图片

(28)利用差异基因进行功能富集分析。可以使用上调、下调、上调+下调或自定义基因进行分析。将需要分析的基因按图所示的格式保存为CSV文件。

图片

(29)运行代码分析GO/KEGG。

图片

(30)GO/KEGG功能富集分析展示图。

图片

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐