背景:
在运行fusion gene的鉴定流程时,发现一直运行不出来结果,最后排查到应该是makeblastdb这个程序报错。但是利用重定向输出过运行过程中的信息,但是发现该程序的报错并不会被记录到日志文件中,只能够打印在运行的屏幕上。
报错的具体信息:
Error:(803.7)Blast-def-line-set.E.seqid.E.local.str
Bad char [0x9]in Visiblestring at byte 252

解决办法:
方法1:首先去网上搜索了相应的问题,但是结果较少,只有三个帖子中提及了该报错。根据帖子的内容,说是序列有非法的字符,因此尝试用命令清理数据:
cat my_file.fasta | perl -ne 's/[^\x00-\x7F]+/ /g; print;' > tmp.fasta ## 由于在准备数据时,就对自己的数据进行了清理,因此该方法对我不奏效
方法2:上述方法尝试后,发现并不起作用。由于用到蛋白质序列文件是从网上下载的,因此在这块选择重新跑蛋白质序列。用gffread软件,利用基因组序列文件和注释文件,最终生成蛋白质序列文件。新生成的文件在makeblastdb时,能够正常使用。
参考教程:
https://github.com/uw-ipd/RoseTTAFold2NA/issues/98
https://github.com/tseemann/abricate/issues/77
https://www.biostars.org/p/252419/