基于基因组数据文件和注释文件,利用gffread命令生成蛋白质序列文件时,出现了下面报错信息:
# 提取蛋白质的输入命令:
gffread R.vialii
.gff -g R.vialii
.fasta -y R.vialii
.protein.fa
# 报错信息:
Warning: couldn't find fasta record for 'GWHCAXW00000027'!
Error: no genomic sequence available (check -g option!)
但是通过提取基因组文件和注释文件中的染色体名称后,发现两个文件中都有 'GWHCAXW00000027' 这一条染色体的相关信息,并不存在序列确实的文件。重新运行该命令后依旧会报错。
后续发现,gffread命令会在中途生成一个 .fai 的索引文件,在这个索引文件中包含了所有的染色体信息。但是第一次使用gffread的时候,生成的文件少了一条序列,所以后续的反复尝试都是基于这个文件进行的,所以重新运行后也一直在报错。

解决办法:删掉之前生成的索引文件,再重新运行gffread就可以了。总结,后续使用gffread报错时,应首先去检查索引文件是否正确。