各フレームの最初のstart_codonを見つける方法。下のコードで、私はすべてstart_codonの位置を与えています。fastaの最初のORFのみを検索して表示する
DNA = "ACCACACACCATATAATGATATATAGGAAATG"
print(DNA.find("ATG"))
プリントアウト15
を、インデックス付けていることに注意してください:あなたはDNAの文字列を持っていて、「ATG」は、配列の最初の発生を検索したい場合は
from Bio.SeqRecord import SeqRecord
from Bio import SeqIO
def test(seq, start, stop):
start = ["ATG"]
start_codon_index = 0
for frame in range(0,3):
for i in range(frame, len(seq), 3):
current_codon = seq[i:i+3]
if current_codon in start:
start_codons.append(start_codon_index)
return start_codons
f = open("a.fa","r")
start = ["ATG"]
for record in SeqIO.parse(f,"fasta"):
seq=record.seq
name=record.id
start_codons=test(seq, start, stop)
print name, start_codons
あなたの質問は何ですか? – Humbalan