我正在尝试运行一个名为 TEBreak 的程序,它可以检测基因组内的遗传元件。但是,每当我运行它时,我都会遇到此警告消息:
警告:无法lastdb -4G /tmp/tebreak.concat.fa.b745d57e-0363-4bab-9a48-2aebf31ffd25.fa /tmp/tebreak.concat.fa.b745d57e-0363-4bab-9a48-2aebf31ffd25.fa
警告:/tmp/tebreak.concat.fa.b745d57e-0363-4bab-9a48-2aebf31ffd25.fa 没有lastdb 索引
这到底意味着什么?这是临时文件或lastdb 的问题吗?
该程序的 python 脚本的链接在这里:https://github.com/adamewing/tebreak/blob/master/tebreak/tebreak.py
我在脚本中搜索了错误消息:
我确实联系了该程序的作者,他提出了这样的建议:
Lastdb 问题可能是由于缺少先决条件造成的,抱歉,有几个先决条件...尝试单独运行“lastdb”以查看它是否在系统上。
我已经检查并安装了lastdb,但我找不到版本信息 - 这会有所不同吗?
任何人都可以阐明这个错误,以及我可以采取哪些措施来纠正它。
答案1
发生错误的原因是Python的os.path.exists(path)
函数返回False
。
根据文档,可能有两个原因:
os.path.exists(path)
True
如果路径引用现有路径则返回小路或打开的文件描述符。返回False
损坏的符号链接。在某些平台上,False
如果未授予os.stat()
在请求的文件上执行的权限,则该函数可能会返回,即使路径实际存在。
1)检查你的*.db
和*.tis
文件是否有一致的符号链接
2)检查上述文件的读/执行权限