最近有同学向我反映想要大规模替换基因ID实在太难。今天为大家提供SPDE的解决方案。顺便唠叨一句,SPDE是我在生信实践过程中遇到问题以及解决问题的产物,如果有些问题我觉得大家可能普遍遇到,基本会给大家提供一键式的解决方法,如果有些不常遇到则有可能需要通过几个功能的组合来实现,当然这就需要同学们对SPDE足够熟悉,但请大家坚信一点儿,SPDE基本可以为大家解决超过80%的生信问题,剩下一些则主要涉及组学拼接组装等方面的问题,这些现在都在想办法解决,所以请大家持续关注,在未来版本中会向大家逐一讲解。好,下面言归正传。
想要批量替换ID,所用到的核心功能就是批量替换功能,这个功能在文件操作模块:
①输入的是你想要对其内容进行替换的文件,比如你想要将A文件中的ARF关键词替换为GRF,那么①放入的就是A文件;②是你需要进行替换的关键词,这里包括两种模式,如果只是单个关键词替换,比如ARF变GRF,那么②你填入的内容应该是ARF,GRF(注意要在英文状态下),第二种模式是多个关键词的同时替换,这种更适用于两个基因序列文件中基因ID的转换,方法是打开excel,第一列是要替换的对象,第二列是以什么内容对其进行替换,如下:
保存的时候我们仍然选择以制表符格式进行保存。在SPDE中一旦你用到与excel相关的操作保存成制表符是一定没有问题的。
将保存好的文件就放到②,然后③填入的是保存的路径(当然,还是要注意路径里不要有空格),在这里别忘记对文件命名。然后点击运行就好了。这是核心功能介绍,那么接下来要解决的问题是替换文件如何批量生成:
这个功能在Alignment/hmmer模块中。可以算是有三种方式吧:第一个是如果你的文件是fasta格式的DNA文件且你并不知道两个文件的序列方向是否一致(也就是两个文件中的序列是否都是正链上的序列或者是否都是负链上的序列),这个时候你使用的是blastn功能(具体的使用方法参考本文集之前的介绍);第二种是它确实是DNA的文件且你知道它们都是正链序列(这种情况常见于从网上下载的基因组的cds文件,大家细心观察会发现这个文件序列一般都是从ATG开始的~),这个时候可以考虑使用diamond-blast功能;第三种是蛋白序列文件,这个时候建议大家使用diamond-blast比对。对为什么会有第二种方式的解释:diamond是最新推出的算法,它的速度快且输出的文件格式比较好整理。
后续的操作是,如果使用的是blastn,那么你需要使用文件操作模块中的提取最佳比对结果的功能:
①放的是blastn比对的结果,②是保存位置以及命名。然后箭头所示的按钮,SPDE就会自动将比对结果中最好的那一对比对给你提取出来,之后用excel打开把不需要的行和内容删除即可得到两个文件序列ID的对应关系。
而如果你使用的是diamond比对则在比对结果里展示的就是最佳的,但仍然需要注意一个问题,如果一个文件里有两条序列对应了另外一个文件里的同一条序列,那么这个时候软件已经无能为力了,需要同学们根据自己的判断对内容进行一个取舍。当然,虽然洋洋洒洒写了这么多,真的操作起来还是很快的~有操作上的其他问题可以给我留言