首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有基因组序列的GBK文件的Biopython解析

没有基因组序列的GBK文件的Biopython解析
EN

Stack Overflow用户
提问于 2014-08-28 14:35:10
回答 1查看 675关注 0票数 0

我编写了一个脚本,它使用GenBank文件和Biopython从GBK文件的序列部分获取给定基因的序列,我的同事在他们的工作中使用该序列。

我们现在在一个新的数据集上遇到了一些问题,结果是下载的GBK文件没有包含序列(从NCBI的GenBank网站下载时很容易发生这种情况)。Biopython没有抛出错误,而是在使用record.seq[start:end]时返回很长的Ns序列。从一开始就抓住这个问题的最简单的方法是用错误消息停止脚本吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-01 11:13:29

对,我找到了办法。如果我计算序列中的Ns,并检查是否有长序列那么多,我知道序列丢失了:

代码语言:javascript
复制
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让我再次尝试检查序列类型,现在也起作用了:

代码语言:javascript
复制
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!")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25551480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档