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

如何使用awk、grep等工具筛选打印头部含|K的FASTA序列

实现方法

你要处理的是标准多段FASTA格式序列,优先推荐兼容性更强、不受序列长度限制的awk命令实现,命令如下:

awk 'BEGIN{RS=""; ORS="\n\n"} /^>.*\|K/' your_sequence_file.fasta

命令参数说明:

  • BEGIN{RS=""}:将输入记录分隔符设置为空字符串,awk会自动按空行分割每个独立的序列条目,不管单条序列有多少行都能完整识别
  • ORS="\n\n":设置输出记录分隔符为两个换行,保证输出的符合要求的条目之间也保留原有的空行分隔格式
  • /^>.*\|K/:匹配所有以>开头、且序列头部包含|K的条目,匹配成功就会自动输出整条序列的全部内容

如果你使用的是GNU grep,也可以用以下命令临时快速筛选:

grep -v '^$' your_sequence_file.fasta | grep -A 9999 '>.*|K' | grep -v '^--$'

说明:

  • 命令先去掉所有空行,再用-A参数打印匹配行之后最多9999行内容,只要单条序列行数不超过9999就能正常输出,grep -v '^--$'是用来去掉grep多段匹配时默认插入的分隔线
  • 该方法局限性在于如果单条序列行数超过-A参数设置的阈值就会出现内容截断,因此更推荐使用awk方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:36:04