探针注释文件中没有基因名字怎么办?(二)
文件 没有 怎么办 注释 基因 名字 探针
2023-06-13 09:13:01 时间
前面给大家介绍了,如果从GEO数据库下载的芯片数据,配套的☞探针注释文件中没有基因名字怎么办?有小伙伴用上次讲到的AnnoProbe这个R包去注释GPL16686这个芯片平台就报错了,看来这个包也不是万能的。我们先来看看GPL16686的注释文件长什么样
从这个表中我们可以看到有,染色体上的坐标,正负链,还有GB_ACC。其实这个GB_ACC就是基因的转录本ID号了,它的全称是gene bank accession。如果你点击这里的GB_ACC,例如(NR_046018)就能跳转到相应的NCBI网页
你就可以看到这个基因的名字叫DDX11L1,有人说那我就一个一个去点不就可以得到每一探针对应的基因名字了吗?这也是一种方法,但是应该是最后不得已才会这么做。因为这里的探针有50000+个。了解小编的人都知道,小编一直奉行,“能有代码解决的问题,绝对不手动去做”。
接下来,小编就来用R解决这个问题。其实本质上就是一个ID转换问题,我们知道ID转换需要有一个map文件,里面包含不同ID之间的对应关系。这个map文件我们可以从UCSC这个网站上下载得到。
下面是下载地址
http://hgdownload.soe.ucsc.edu/goldenPath/hg38/database/
这里提供各种各样的文件,我们需要下载的是refGene.txt.gz这个文件。
下面是refGene.txt.gz这个文件的结构,里面包含了我们需要的两种ID号,分别在第2列和第13列
有了这个文件,接下来我们就可以用R代码来做ID转换了,给我们的探针注释文件加上一列gene symbol
#读入refGene.txt文件
anno=read.table("refGene.txt",sep="\t")
#提取第2列和第13列,分别为GB_ACC和gene symbol
anno=anno[,c(2,13)]
#给这两列命名
names(anno)=c("acc","symbol")
#去重复
anno=unique(anno)
#将GB_ACC设置成行名
rownames(anno)=anno$acc
#读取探针注释文件内容
probe=read.table("GPL16686.txt",header=T,sep="\t",comment.char = "#",stringsAsFactors = F)
#通过GB_ACC获取对应的gene symbol
symbol=as.character(anno[probe$GB_ACC,"symbol"])
#将NA转换成空
symbol[is.na(symbol)]=""
#将gene symbol这一列加入到原来的探针注释文件中
probe$symbol=symbol
#保存包含gene symbol的探针的注释文件
write.table(file="GPL16686_with_symbol.txt",probe,quote=F,sep="\t",row.names=F)
得到的结果如下,最后一列就是我们用R加上去的gene名字
相关文章
- pycharm创建flask项目没有子文件夹和app文件_python flask框架
- linux镜像文件没有gho,【iso文件中没有gho文件】iso变gho_iso文件里没有gho-系统城…
- 【小程序】微信小程序开发在app.json中新建页面时报[ WXML 文件编译错误] (env: Windows,mp,1.06.2206090; lib: 2.25.0)
- navicat导入sql文件成功但没有表_mysql读取excel
- 怎样修改hosts文件权限_修改host显示没有权限怎么办
- 6种绕过Waf的另类木马文件攻击方法,简单易上手,总有一种适合你!
- 从Linux下载文件到Windows没有换行问题详解程序员
- Linux中没有rc.local文件的完美解决方法
- Java文件读写操作具体代码实现详解编程语言
- MyEclipse项目名有红叉,但文件中没有红叉的解决方法详解编程语言
- JSP Response.containsHeader()方法:判断指定名字的HTTP文件头是否已经存在
- wordpress如何解决Cookie没有HttpOnly标志-发现robots.txt文件-X-Frame-Options头未设置
- Linux下FTP拷贝文件的简单方法(linuxftp拷贝)
- 挖掘Linux文件:从零开始(查找linux文件)
- 如何在 Linux 的 Nautilus 文件管理器中以管理员身份打开文件和文件夹
- Linux系统提示:没有找到该文件,请检查路径或重新安装(linux没有那个文件)
- Linux 如何实现局域网文件传输?(linux局域网传文件)
- 文件Linux 打包WAR文件:自动化部署系统开发必备技能(linux生成war)
- C盘找不到Oracle文件(c盘下面没有oracle)
- MySQL下载中,为什么只有文件而没有安装程序(mysql下载只有文件)
- Oracle数据库三个控制文件的作用(oracle三个控制文件)
- 用js实现多域名不同文件的调用方法
- asp下用fso生成js文件的代码
- php遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- php.ini文件配置好后,zend路径也全部配置正确,但是phpinfo()还显示没有zend信息
- java按指定编码写入和读取文件内容的类分享
- PHP多个文件上传到服务器实例