私はゲノム内の遺伝的要素を検出するTEBreakというプログラムを実行しようとしています。ただし、実行するたびに、次の警告メッセージが表示されます。
警告:lastdb -4G /tmp/tebreak.concat.fa.b745d57e-0363-4bab-9a48-2aebf31ffd25.fa /tmp/tebreak.concat.fa.b745d57e-0363-4bab-9a48-2aebf31
警告:/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
。
文書によると、2つの理由があるかもしれません。
os.path.exists(path)
True
パスが既存のパスを参照している場合に返されます。道または開かれたファイル記述子。False
壊れたシンボリックリンクを返します。一部のプラットフォームでは、要求されたファイルに対する実行権限が付与されていない場合、パスが実際に存在していても関数が返されることがありますFalse
。os.stat()
1)あなた*.db
と*.tis
ファイルに一貫したシンボリックリンクがあることを確認してください。
2)上記のファイルの読み取り/実行権限を確認してください。