在做水稻的转录组时,遇到了这个问题:
ERROR: failed to find the gene identifier attribute in the 9th column of the provided GTF file
在网上搜索了这个问题,相关的问答里有提出一些解决方法,但让人看得稀里糊涂。逐一尝试了以后,发现都不适用,还是解决不了这个问题。
最后在TBtools问答群里得到了热心解答,包括了以下三种方法:
- 用gffread或gtftk软件整理一下注释文件格式
- 在TBtools用gxf fix功能整理注释文件格式
- 用MSU的水稻注释版本
分别试了1、3两种方法,都完美解决了这个报错。
总结下来,问题出在GFF/GTF格式上。
01 格式
1.GFF(general feature format ): 通用特征格式,格式由每个特征一行组成,每行包含9 列数据,以及可选的轨道定义行;
2.GTF(gene transfer format ): 通用传输格式,与GFF版本2相同。
02 功能
1.GFF用来注释基因组;
2.GTF用来注释基因,比如基因在染色体上的位置(coordinate)及这段区间的其他信息;
3.GTF文件和GFF文件都是由9列信息组成,并且这两种文件的前8列基本上是相同的,最后一列信息显示不一致。
GTF的第九列,通常为:
gene_id "At1g00001"; transcript_id "At1g00001.1";
而GFF的第九列,通常还可以增加一些其他信息,通过分号分割:
ID=mrna001;Name=abc
ID=exon1;Parent=mrna001
ID=exon2;Parent=mrna001
所以,就是要用gffread软件,把.gff3格式的注释文件,转换成.gtf格式,操作如下:
conda install -c bioconda gffread # 安装软件
gffread genome.gff3 -T -o genome.gtf # gff与gtf转化
在解决这个问题的过程中,学到的最关键的方法就是:
如果在网上搜索了个把小时,依旧没有搜到想要的答案,就可以停下来,问一问同行和前辈,这样会更高效且能打开思路!
互联网不是万能的,Chat-GPT也不是...