美文网首页
07.id转换

07.id转换

作者: BassBassU | 来源:发表于2022-03-15 16:27 被阅读0次
总代码
strsplit('ENSG000000003.13','[.]')[[1]][1] #这一步只是举一行例子,把.?去掉
str_split(a$V1,'[.]', simplify=T) #用R包取ensenmble.id,simplify=T保证返回矩阵
#对应gene, gene_id, ensemble_id

先把对应的注释文件读到R中

strsplit('ENSG000000003.13','.')
[[1]]
 [1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

strsplit('ENSG000000003.13','[.]')
[[1]]
[1] "ENSG000000003" "13" 

#.不加[]代表任意字符,会把所有的东西都分隔开,所以要加[]表示只在[.]分割

strsplit('ENSG000000003.13','[.]')[[1]]
[1] "ENSG000000003" "13"  #这是第一个元素,是一个向量
#class(strsplit('ENSG000000003.13','[.]')[[1]])
#[1] "character"
#在向量里再取第一个元素,分割之后第一次取是把分割的都取出来,在取[1]才是想要的第一个

strsplit('ENSG000000003.13','[.]')[[1]][1]
[1] "ENSG000000003"

ENSG000000003.13是一个基因的符号,后面的.13代表更新,没有用,所以在转化的事后删掉。[具体有没有用可以打开基因id转换列表查一下]
基因id转换应该是一个列表,所以应该做一个循环,取出每一行进行转化
有专门的R包

str_split

str_split(a$V1,'[.]')
class(str_split(a$V1,'[.]'))
"charicater"

str_split(a$V1,'[.]', simplify=T)
class(str_split(a$V1,'[.]'), simplify=T)
"matrix"
str_split(a$V1,'[.]', simplify=T)[,1]
#只有转化成matrix才能取出基因转换列表的第一列
#取基因转换列表的第一列
用代码解决gene, ensembl_id, gene_id

类似于vlookup

b=merge(a, g2e, by="ensemble_id", all.x=T)
#all.x=T a里面的东西都保留,不因找不到对应的就把a里面的元素丢掉
#示例中a是自己DEGs的ensemble_id,g2e是ensemble_id还有gene_id,g2s是gene_id和gene
d=merge(b,g2s,by="gene_id", all.x=T)

特殊情况:有些基因可能关联不到

得到的对应基因需要调整为DEGs的顺序,上面的函数是用共有的那一列来排序
d=d[order(d$V1),]#按照最新合并了所有列的表格d中V1排序

特殊情况:新的到的表格d比a多了行,是因为有些基因出现几次

![微信图片_20220317125258.png](https://img.haomeiwen.com/i27773552/55e4f2f867cf10bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

table(d$ensemble_id)#了解每一个出现的频率
table(table(d$ensemble_id)>1)#挑选大于1次
table(d$ensemble_id)[table(d$ensemble_id)>1]
去重
d=d[!duplicated(d$V1),]
d=d[match(a$V1,d$V1),]#把a中V1的顺序放到d中V1的顺序,就是match函数
write.csv(d,"geneID2symbol.csv")

相关文章

  • 第三章 JavaScript中的数据间类型的转换

    数据的类型转换分为强制类型转换和非强制类型转换,强制类型转换也可以称为显示转换,非强制类型转换也可以称为隐式转换。...

  • js基础篇:类型转换

    1.显示转换:(1)转换Boolean:Boolean(需要转换的值);(2)转换数字用parseInt(需要转换...

  • js总结(2.转换)

    转换 1.隐式转换结论 2.显示转换/强制转换

  • 回顾Date.0402(类型转换、运算)

    类型转换 隐式转换 显式转换 转换为Boolean类型:Boolean(xxx) ; !!xxx 数字类型转换为布...

  • 四、SQL函数④(其他函数)

    类型转换 隐式转换:数据库系统自动将字符串类型转换为整数类型显式转换:使用类型转换函数转换。使用类型转换函数不仅可...

  • 学习记录

    类型转换as?类型转换,转换成功,返回一个可选类型,转换不成功返回nilas!类型转换,转换失败回报运行错误备注:...

  • C语言类型转换

    类型转换的方式 自动类型转换1.运算转换(规则:会把小类型转换为大类型) 2.赋值转换 强制类型转换格式:(类型)...

  • static_cast, dynamic_cast,const_

    1 转换类型 c++中的转换类型分为隐式转换和显示转换。 2 隐式转换 又称为标准转换,包括以下几种情况:1)算数...

  • ffmpeg分解与复用

    视频转换 视频转换不要音频 视频转换不要视频

  • 笔记2018-08-28

    类型转换 自动类型转换运算转换(编译器会自动把小类型转换为大类型) 赋值转换(将等号右边的类型转换为等号左边的类型...

网友评论

      本文标题:07.id转换

      本文链接:https://www.haomeiwen.com/subject/luchdrtx.html