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

Linux下提取VCF文件指定字段计算后生成新CSV列的方法

VCF字段提取计算实现方案

直接用awk完成处理,不需要额外安装工具,命令如下:

awk '
BEGIN {
    FS = "\t"
    OFS = "\t"
    print "DP", "Ratio"
}
/^#/ { next }
{
    split($9, fmt, ":")
    for (i in fmt) {
        if (fmt[i] == "AD") ad_idx = i
        if (fmt[i] == "DP") dp_idx = i
    }
    split($NF, sample, ":")
    split(sample[ad_idx], ad, ",")
    dp = sample[dp_idx]
    ratio = sprintf("%.2f", ad[2]/(ad[1]+ad[2]))
    print dp, ratio
}
' input.vcf > output.csv

使用说明

  • 自动跳过VCF所有#开头的头注释行,第一行输出要求的DP、Ratio表头
  • 自动识别FORMAT列中AD、DP的位置,不依赖固定字段顺序,适配不同格式的VCF文件
  • 严格按照给定公式计算比值,结果固定保留两位小数,输出为制表符分隔的CSV格式
  • 针对给出的样例数据,按公式四舍五入计算的结果如下,如果需要调整截断规则,修改sprintf的格式参数即可:
    DP      Ratio
    3154    0.36
    883     0.40
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 11:51:24