2016-04-07 12 views
0

私が間違っている.gbkファイルを持っている、と私はbiopythonを使用して、genbankファイルのシーケンスを新しいgenbankファイルに編集して保存するにはどうすればよいですか?

「Nuclotideの住所:正しいヌクレオチド」の形式は以下の修正リスト持っている私が開いて、正確に解析する方法を知っている

1:T 
2:C 
4:A 
63:A 
324:G 
etc... 

list(SeqIO.parse(sys.argv[1], "genbank"))[0].seq 

私は自分自身のヌクレオチド補正で置き換える方法を知る必要があります。私はdna_refseqはちょうど私が文字通りのマニュアルまたはオンラインのどこにでも、この特定のアクションを見つけることができない、ゲノム全体に

を構成リストしており、直感的に、これはその何かある

seq_records[0].seq = "".join(dna_refseq) 

を試してみましたbiopythonは可能でなければなりません。

答えて

1

Bio.Seqオブジェクトが予想される場所に文字列を割り当てています。私にとっては は、この作品:

from Bio import Seq 
from Bio import SeqIO 

my_entries = list(SeqIO.parse('my_file.gb', 'genbank')) 
my_entry = my_entries[0] 

# Make a new Seq object and assing to my_entry.seq. 'TTT' is just an example sequence 
my_entry.seq = Seq.Seq('TTT', my_entry.seq.alphabet) 

# Write back to file 
SeqIO.write(my_entries, 'my_updated_file.gb', 'genbank') 

をごジェンファイルにエントリが1つだけの場合は、SeqIO.readを使用して検討するかもしれない。また

my_entry = SeqIO.read('my_file.gb', 'genbank') 

my_entry.seq = Seq.Seq('TTT', my_entry.seq.alphabet) 
SeqIO.write(my_entry, 'my_updated_file.gb', 'genbank') 

、あなたは直接変更可能なシーケンスにシーケンスを変換して操作することができます直接:

from Bio import SeqIO 

my_entry = list(SeqIO.parse('my_file.gb', 'genbank'))[0] 
my_entry.seq = my_entry.seq.tomutable() 

my_entry.seq[0] = 'T' # Remember that Genbank position 1 is 0 in seq 
my_entry.seq[1] = 'C' 
.... 
SeqIO.write(my_entry, 'my_updated_file.gb', 'genbank') 
+0

「TTT」とは何ですか? – Tom

+0

そして私はどのようにジェンバンクに保存することに戻るでしょうか? – Tom

+0

@Tom: ''TTT''はシーケンスの単なる例です。あなたの場合は、ここで更新されたシーケンスを入れます。ファイルへの書き込みは 'SeqIO.write()'で行います。私は自分の答えを編集しました。 – Markus

関連する問題