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

使用awk按跨列多模式条件删除GFF文件指定记录的实现问题

GFF注释文件过滤awk命令解决方案

核心错误原因

你之前将字段分隔符设为;会破坏GFF文件默认的9列制表符分隔结构,导致无法正常匹配第3列和最后一列的内容,所以筛选失效。

正确过滤命令

直接输出过滤后文件

awk 'BEGIN{FS="\t"} !($3 ~ /exon|guide_RNA|lnc_RNA|mRNA|snoRNA|snRNA|transcript/ && $9 ~ /gene=/ && $9 !~ /transcript_id=/) {print}' 你的输入文件.gff > 过滤后输出文件.gff

先验证待删除的行是否正确

如果需要先核对要删除的行是否符合预期,执行以下命令仅打印待删除行:

awk 'BEGIN{FS="\t"} $3 ~ /exon|guide_RNA|lnc_RNA|mRNA|snoRNA|snRNA|transcript/ && $9 ~ /gene=/ && $9 !~ /transcript_id=/ {print}' 你的输入文件.gff

注意事项

  • 匹配逻辑对大小写敏感,如果你的GFF文件中属性为大写开头的Gene=或Transcript_id=,自行修改正则中的字符串大小写即可。
  • 如果使用的是GFF3格式,属性分隔符为;加空格,本命令不需要额外调整,直接匹配字符串即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:06:00