0

次のコードを実行すると:

from Bio.SeqUtils import six_frame_translations

blah = six_frame_translations("ATCGATCGATCG")
print(blah)

次のエラーが表示されます。

File "C:\Python32\lib\site-packages\Bio\SeqUtils\__init__.py", line 263, in six_frame_translations
    frames[-(i+1)] = reverse(translate(anti[i:], genetic_code))
NameError: global name 'reverse' is not defined

私はPython 3.23、Biopython 1.59を使用しています

助言がありますか?ありがとう、

チャールズ

4

1 に答える 1

1

バグです。2011年8月11日より前は、SeqUtilsモジュールには機能がありましたreverse。バージョン1.54で非推奨になり、1.58で削除されました

ファイルからDEPRECATED

Bio.SeqUtilsの関数'reverse'は、リリース1.54で非推奨になり、リリース1.58で削除されました。代わりに、マイナス1のステップで文字列のsliceメソッドを使用してください。

したがって、でこの変換を行うことができなかったようsix_frame_translations()です。バグレポートをOBFRedmineサイトに送信するか、自分でパッチを適用して、GitHubのBiopythonリポジトリにプルリクエストを送信できます。

特に寛大な気分の場合は、この関数の障害を自動的に検出する単体テストを作成することを検討してください。これは、自分のような将来のユーザーに役立ちます。=)

于 2012-08-29T09:59:05.870 に答える