写在前面
做生信数据分析时,最常遇到的问题,仍然是文本处理。主要原因简单,我们永远不知道上一个人会给我们什么样的东西,而我们要的又常常不是他们给的。基于 GFF 提取 CDS全长,相关讨论很多,没想到今天还会遇其他问题。
「TBtools」提取的 CDS 序列 ID 很奇怪
有用户使用 TBtools 提取物种的 CDS 序列,得到的文件如下

简单来说,文件前面多了一堆标识符。这类文本常常会影响下游数据分析。当然,主要出现在 NCBI 下载的 GFF 中。我第一反应是用户是否选错标签,但看到 GFF3 文件后。

还是文件问题,似乎无解。用户提议,是否可以使用 locus tag。
但这个不行,因为 locus tag 本身是用来组织转录本为基因的,不是组织CDS为转录本全长CDS的。所以只能 Parent 或 transcript_id。我的第一反应是使用 GXF ID Rename。只是这个准备文件还是麻烦

几乎所有 ID 要去除的,其实是完全相同的 TAG。我们当然可以使用 GXF Pos & Info. Extract 得到信息文件,随后整理成两列。但这个似乎还是麻烦。最好的办法是直接文本替换。
于是我想起了 「Batch String Replace」,用户可以简单通过下述操作,完成修改

注意,制表符分隔。
rna-gnl\|WGS:JAEACU\|(\w+) $1

可以看到,已经调整好了。直接使用即可。
写在后面
「Batch String Replace」,事实上,写这个功能,我就没想着用它,只是后面似乎又很经常被使用。而我常常非常看到的功能,用的人反而不错,或许这就是:
有心栽桃桃不成,无心栽柳柳成荫。
网友评论