You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何匹配字典键值对并将Fasta序列导出至对应命名文件?

解决Fasta序列按分组导出到独立文件的问题

需求目标

匹配Fasta信息中的序列数据,将序列名称与序列内容导出至独立文件。需将dict_1的键与dict_2的值进行匹配,生成以dict_2的键为文件名的文件,文件内包含对应的dict_1条目(序列标识+序列内容)。

现有数据

  • dict_1:键为序列标识(如NODE_XXX),值为对应氨基酸序列;
  • dict_2:键为文件命名标识,值为序列标识列表。

问题描述

编写循环代码时无法完成匹配验证与内容输出,无法实现预期的文件生成效果。

预期输出

例如生成MGs27_5k_1_D5.txt文件,内容为Fasta格式的对应序列。

解决方案

以下Python代码实现了匹配逻辑与文件写入功能,可满足需求:

def fileWrite(fileName, nodeName, fileContents):
    print(f'正在将>{nodeName} {fileContents} 写入 {fileName + ".txt"}')
    file=open( fileName + ".txt",'w+')
    file.write('>'+nodeName+'\n')
    file.write(fileContents+'\n')
    file.close()
    
for k2,v2 in dict2.items():
    for k1 in dict1:
        if k1 in v2:
            fileWrite(k2,k1,dict1[k1])

代码说明

  • fileWrite函数负责创建目标文件,并按Fasta格式写入序列标识和对应的序列内容;
  • 外层循环遍历dict_2的每个分组(键为文件名,值为该文件需要包含的序列标识列表);
  • 内层循环检查dict_1中的每个序列标识是否属于当前分组,匹配成功则调用fileWrite生成对应文件。

内容的提问来源于stack exchange,提问作者Katie S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:57:11