0

私はBiopythonを初めて使用し、DNA Fastaファイルを変換して、出力を新しいファイルに書き込みたいだけです。簡単だと思いましたが、スクリプトを動作させることができません。
これが私の試みです:

#!/usr/bin/env python
import sys
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC

in = open(sys.argv[1],'r')
out = open(sys.argv[2],'w')

messenger_rna = Seq(in, IUPAC.unambiguous_rna)
out = messenger_rna.translate()

out.close()
in.close()

誰かが私が間違っていることを知っていますか?

4

1 に答える 1

3

などが何であるかはわかりませんが、ファイルの扱いが間違っていると確信しています。

特に

out = open(sys.argv[2],'w')
out = messenger_rna.translate()
out.close()

私には間違っているようです。

真ん中の線を

out.write(messenger_rna.translate())

それが文字列の場合、何.translate()が返されますか。

さらに最適化されたバージョン:

#!/usr/bin/env python

import sys
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC

with open(sys.argv[1],'r') as infile: # for auto-closing
    messenger_rna = Seq(infile, IUPAC.unambiguous_rna)
    # if Seq() takes a string rather than a file, do infile.read() instead.

with open(sys.argv[2],'w') as outfile:
    outfile.write(messenger_rna.translate())
于 2012-12-06T13:01:23.333 に答える