よし、方法を見つけた。シーケンス内の N を数え、シーケンスの長さと同じ数があるかどうかを確認すると、シーケンスが欠落していることがわかります。
import sys
from Bio import SeqIO
for seq_record in SeqIO.parse("sequence.gb", "genbank"):
sequence = seq_record.seq
if len(sequence) == sequence.count("N"):
sys.exit("There seems to be no sequence in your GenBank file!")
Bio.Seq.UnknownSeq
空のシーケンスは実際のシーケンスではなく であるため、代わりにシーケンスタイプをチェックするソリューションをBio.Seq.Seq
お勧めします。誰かがその方向で何かを提案できるとありがたいです。
アップデート
@xbello でもう一度シーケンス タイプを確認してもらいましたが、これも機能するようになりました。
import sys, Bio
from Bio import SeqIO
for seq_record in SeqIO.parse("sequence.gb", "genbank"):
sequence = seq_record.seq
if isinstance(sequence, Bio.Seq.UnknownSeq):
sys.exit("There seems to be no sequence in your GenBank file!")