首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字典中将解析的fasta文件写回fasta格式

从字典中将解析的fasta文件写回fasta格式
EN

Stack Overflow用户
提问于 2022-07-20 15:38:47
回答 1查看 66关注 0票数 0

我创建了一个解析Fasta文件的函数,因为我需要删除一些奇怪的字符。现在我有了一本字典,想把它转换成fasta格式。我对Fasta文件并不熟悉,所以我不知道该如何处理。

词典的格式如下:

代码语言:javascript
复制
{'NavAb:/1126': 'TNIVESSFFTKFIIYLIVLNGITMGLETSKTFMQSFGVYTTLFNQIVITIFTIEIILRIYVHRISFFKDPWSLFDFFVVAISLVPTSSGFEILRVLRVLRLFRLVTAVPQMRKI', 'Shaker:/1656': 'SSQAARVVAIISVFVILLSIVIFCLETLEDEVPDITDPFFLIETLCIIWFTFELTVRFLACPLNFCRDVMNVIDIIAIIPYFITTLNLLRVIRLVRVFRIFKLSRHSKGLQIL', .....

职能:

代码语言:javascript
复制
def parse_file(input_file):
parsed_seqs = {}
curr_seq_id = None
curr_seq = []
for line in newfile:
  line = line.strip()
  line = line.replace('-', '')
  if line.startswith(">"):
     if curr_seq_id is not None:
        parsed_seqs[curr_seq_id] = ''.join(curr_seq)
  curr_seq_id = line[1:]
  curr_seq = []
  continue

curr_seq.append(line)
parsed_seqs[curr_seq_id] = ''.join(curr_seq)
return parsed_seqs

newfile = open("file")
parsed_seqs = parse_file(newfile)
print(parsed_seqs)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-24 12:12:01

如果可以将现有库用于此任务,则可以使用黑云母

代码语言:javascript
复制
import biotite.sequence.io.fasta as fasta

seq_dict = {
    'NavAb:/1126': 'TNIVESSFFTKFIIYLIVLNGITMGLETSKTFMQSFGVYTTLFNQIVITIFTIEIILRIYVHRISFFKDPWSLFDFFVVAISLVPTSSGFEILRVLRVLRLFRLVTAVPQMRKI',
    'Shaker:/1656': 'SSQAARVVAIISVFVILLSIVIFCLETLEDEVPDITDPFFLIETLCIIWFTFELTVRFLACPLNFCRDVMNVIDIIAIIPYFITTLNLLRVIRLVRVFRIFKLSRHSKGLQIL'
}

fasta_file = fasta.FastaFile()
for header, seq_str in seq_dict.items():
    fasta_file[header] = seq_str
fasta_file.write("path/to/file.fasta")

path/to/file.fasta

代码语言:javascript
复制
>NavAb:/1126
TNIVESSFFTKFIIYLIVLNGITMGLETSKTFMQSFGVYTTLFNQIVITIFTIEIILRIYVHRISFFKDPWSLFDFFVVA
ISLVPTSSGFEILRVLRVLRLFRLVTAVPQMRKI
>Shaker:/1656
SSQAARVVAIISVFVILLSIVIFCLETLEDEVPDITDPFFLIETLCIIWFTFELTVRFLACPLNFCRDVMNVIDIIAIIP
YFITTLNLLRVIRLVRVFRIFKLSRHSKGLQIL

请注意,我属于这个包的开发人员。在许多其他包中也有解决方案,比如Biopython

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73054503

复制
相关文章

相似问题

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