获取TCGA中miRNA的ID转换文件(区分5p和)
2019-08-14 本文已影响35人
9d760c7ce737
没有涉及过microRNA的实验,所以一直没写过相关的帖子,这个星期开始,更新一下microRNA的帖子。
TCGA中的micoRNA,他的ID是这个样子的,
![](https://img.haomeiwen.com/i150203/3a4073fff369b359.png)
看起来很不和谐,但是,这种ID是可以区分出3p和5p的miRNA的。他的转换文件在这里。
以MIMAT0000062
为例
![](https://img.haomeiwen.com/i150203/5c80d769460d84c0.png)
输入一个名字后点击
GO
就进入以下界面:![](https://img.haomeiwen.com/i150203/469fc332e03d18da.png)
在这里,我们可以看到这个miRNA的全称是
hsa-let-7a-5p
,他还有个对应的3p miRNA。
如果想要获取所有人类的miRNA转换关系呢?
主页面有个Download
![](https://img.haomeiwen.com/i150203/3a50ed8310f9f208.png)
里面有个fasta文件可以下载
![](https://img.haomeiwen.com/i150203/8285ea0244626656.png)
下载完了之后打开Rstudio,新建项目,把fasta文件放入工作目录对应的文件夹
![](https://img.haomeiwen.com/i150203/d8c4ec6c214cedfb.png)
解压后就是
mature.fa
![](https://img.haomeiwen.com/i150203/1320fb036a879d95.png)
读取fasta文件,可以用Biostrings
这个R包。
用readDNAStringSet
这个函数读取,用names
函数获取注释
library("Biostrings")
fastaFile <- readDNAStringSet("mature.fa")
rdn = names(fastaFile)
现在rdn
是这个样子的
![](https://img.haomeiwen.com/i150203/297453dea429b0fa.png)
我们只要把它里面的对应关系提取出来即可,首先把它转换为数据框,就变成一列,然后用空格来裂解,选取就可以了,最终获取的是全部物种的,可以把人类的筛选出来。
dd1 <- data.frame(rdn) %>%
separate(rdn,into = c("miRNA_name","miRNA_ID","species"),sep = " ") %>%
filter(species=="Homo")
总共2656行。这样对应关系就找到了,通过限定species
还可以获取其他物种的,在这里没有意义,因为TCGA是人类的样本。
![](https://img.haomeiwen.com/i150203/dc996ae449685301.png)
还有什么方法呢,到现在我还没用过洲更和小洁介绍过的readLines
,这个函数可以一行行读取文件,读取的元素就是向量的一部分
rdn <- readLines("mature.fa")
速度是又快,结果也很好
![](https://img.haomeiwen.com/i150203/50b4b17a5a463ead.png)
这么规则的数据,提取出想要的元素,也很简单呢
dd2 <- data.frame(rdn) %>%
## 选取 ">"
filter(grepl(">",rdn)) %>%
## 去掉 ">"
separate(rdn,into = c("drop","rdn"),sep = ">") %>%
## 分栏
separate(rdn,into = c("miRNA_name","miRNA_ID","species"),sep = " ") %>%
## 选择目标栏
select(miRNA_name,miRNA_ID,species) %>%
## 选择人类
filter(species=="Homo")
得到的结果肯定是一抹一样
![](https://img.haomeiwen.com/i150203/0a77af449b88eeab.png)
这样TCGA的miRNA也可以转换了。
现在限制我们的是,没有数据嘛,那明天见。