微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用biopython查询fasta文件中的区域?

如何解决如何使用biopython查询fasta文件中的区域?

我有一个带有一些参考基因组的fasta文件。 我想根据染色体,起始索引和终止索引以字符串形式获取参考核苷酸。

我正在寻找一个代码中看起来像这样的函数

from Bio import SeqIO
p = '/path/to/refernce.fa'
seqs = SeqIO.parse(p.open(),'fasta')
string = seqs.query(id='chr7',start=10042,end=10252)

和字符串应类似于:'GGCTACGAACT ...'

我发现的所有内容都是如何遍历seqs,以及如何从NCBI中提取数据,这不是我想要的。 在biopython中执行此操作的正确方法是什么?

解决方法

AFAIK,biopython当前不具有此功能。对于使用索引的随机查找(请参见samtools faidx),您可能需要pysampyfaidx。这是一个使用pysam.FastaFile类的示例,它使您可以快速“获取”区域中的序列:

import pysam
ref = pysam.FastaFile('/path/to/reference.fa')
seq = ref.fetch('chr7',10042,10252)
print(seq)

或使用pyfaidx和'get_seq'方法:

from pyfaidx import Fasta
ref = Fasta('/path/to/reference.fa')
seq = ref.get_seq('chr7',10252)
print(seq)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。