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

如何使用Bash筛选Gene B突变并统计排序突变类型出现次数

解决TSV文件中基因B的突变类型统计问题

问题场景

现有一个包含基因突变信息的TSV文件,数据如下:

GeneMutations
AMissense
BMissense
BDeletion
CDeletion
DDeletion
BSilent
BDeletion

需要完成以下操作:

  • 筛选出Gene B对应的突变行
  • 统计独特的突变类型
  • 统计每种突变类型的出现次数并排序

期望输出:

Deletion 2  
Missense 1  
Silent 1  

原命令问题分析

尝试的命令无法达成需求:

awk '$1 == B' filename | cut -f2 | sort | uniq | wc -l

问题点:

  1. awk中字符串比较时,B需加双引号,否则会被识别为变量而非字符串常量
  2. 最终用wc -l仅能输出独特突变类型的数量,无法得到每种类型的具体出现次数,不符合要求

正确命令及解释

使用以下命令可完成所有需求:

awk '$1=="B"{n[$2]++} END{ for(m in n)print m,n[m] }' filename | sort

命令拆解说明:

  1. awk '$1=="B"{n[$2]++}':遍历TSV文件,当第一列值为"B"时,以第二列的突变类型为键,在数组n中对应计数加1
  2. END{ for(m in n)print m,n[m] }:文件遍历完成后,输出每个突变类型及其对应的出现次数
  3. | sort:对输出结果按突变类型名称排序,与期望输出顺序匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:55:02