• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      未分类

      • 首页
      • 博客
      • 未分类
      • R语言实现ID转换

      R语言实现ID转换

      • 发布者 一览
      • 分类 未分类
      • 日期 2020年2月7日
      • 评论 0评论

      参考:https://www.jianshu.com/p/7e77d19a0247

      a=read.table("ensembl.txt")

      对原ID进行分割

      str_split(a$V1,"[.]")#分割字符串,取a中叫V1的列,把去出列中的元素,根据点号进行分割,因为点号代表任何,所以按照其分割应该时加中括号

      把分割好的list文件转换为matrix

      unlist(str_split(a$V1,"[.]"))#list变为了字符串向量,但我们要得到的是matrix,才能通过[,1]对其进行取行列元素的操作unlist(str_split(a$V1,"[.]",simplify=T))#加入simplify=T,表示不返回list,文件变为matrix 

      取其中的第一列,得到ensemble_id

      a$ensemble_id=unlist(str_split(a$V1,"[.]",simplify=T))[,1]#[,1]为取第一列的意思,分离然后取出的目的是因为后面需要用到此元素

      a表变为了下图

      通过固定的包得到基因ID之间的固定关系,得到如下两个表(不用理解)

      library(org.Hs.eg.db)
      g2s=toTable(org.Hs.egSYMBOL)
      g2e=toTable(org.Hs.egENSEMBL)

      把三个表按照共有的元素先后拼接到一起

      b=merge(a,g2e,by="ensemble_id",all.x=T)#a和g2e按照相同的元素ensemble_id关联起来得到表b
      d=merge(b,g2s,by="gene_id",all.x=T)#b和g2s按照相同的元素gene_id关联起来得到表d

      把d的顺序调整得和a相同

      d=d[order(d$V1),]#把d按照V1列进行排序table(d$sensembl_id)[table(d$sensembl_id)>1]#因为d为拼接的表格,可一个对应几个的问题,所以V1数量多余a,要先把其中重复的去掉#table(d$sensembl_id)>1此命令意为sensembl_id列中计数大于1的#table(d$sensembl_id)[ ]表示对于sensembl_id列中元素计数进行挑选#table(d$sensembl_id)[table(d$sensembl_id)>1]的意义为挑选出计数中大于1的那些元素,意思重复的元素
      d=d[!duplicated(d$v1),]#!duplicated意味去掉重复的,从而把V1中所有的元素变成唯一
      
      d=d[match(a$V1,d$V1),]#a所在的顺序放到d这里来,match意为以a的顺序来排列d

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      一览

      上一篇文章

      听起来很霸气用起来并不难的支持向量机
      2020年2月7日

      下一篇文章

      豆花等了三天的菜,被别人拿走了...
      2020年2月8日

      你可能也喜欢

      2-1675088548
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      30 1月, 2023
      9-1675131201
      如何快速批量修改 Git 提交记录中的用户信息
      26 1月, 2023
      8-1678501786
      肿瘤细胞通过改变CD8+ T细胞中的丙酮酸利用和琥珀酸信号来调控抗肿瘤免疫应答。
      7 12月, 2022

      留言 取消回复

      要发表评论,您必须先登录。

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?