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

使用AWK将另一文件的匹配字符串追加到FASTA序列头部ID

解决FASTA序列头部追加描述信息的问题

可以用以下awk命令实现需求:

awk 'NR==FNR {sub(/^>/,""); split($0,a,/[[:space:]]+/); desc[a[1]] = substr($0, length(a[1])+2); next} /^>/ {if ($0 in desc) print $0, desc[substr($0,2)]; else print; next} 1' File_2 File_1

命令逻辑说明

  • 先处理File_2(NR==FNR阶段):
    • 移除行首的>符号
    • 以空格为分隔符拆分行内容,提取ID和对应描述文本
    • 将ID作为数组键、描述作为对应值存入数组desc
  • 再处理File_1:
    • 遇到以>开头的头部行时,提取ID(去掉行首>),检查是否存在于desc数组中
      • 存在则输出原头部内容+匹配到的描述
      • 不存在则直接输出原头部
    • 非头部的序列行直接原样输出

示例验证

File_1 内容:

>id1
agcataattaat
>id2
gccatataatgg
>id3
gccaaattaggg
>id4
ataatttagccc

File_2 内容:

>id2   descriptionXYZ
>id4   description3E4

执行命令后输出结果:

>id1
agcataattaat
>id2 descriptionXYZ
gccatataatgg
>id3
gccaaattaggg
>id4 description3E4
ataatttagccc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:27:13