在 bed 和 vcf 相交后解析出基因名称

Parse out gene name after bed and vcf intersect

我正在寻找根据床坐标和 vcf 位置之间的交集向 vcf 文件添加新的 'GENE_ID' 列。 'GENE_ID' 已经作为床文件中的第 4 列存在。基本上我需要知道如何将 bed 文件中的基因名称列 (GENE_ID) 保存到新的 vcf 文件中!

此外,我想知道如何从多个 vcf 和 bed 文件中获取结果 运行。

假设bed文件如下:

> coord.bed
chr7    71335   73335   ENSG00000232325
chr7    75538   77538   ENSG00000242611
chr7    144930  146930  ENSG00000242474
chr7    148097  150278  ENSG00000240859
chr7    148862  150966  ENSG00000242474
chr7    151179  153179  ENSG00000240859
chr7    164472  166472  ENSG00000261795
chr7    173420  175420  ENSG00000239715

和vcf文件的前三列:

#CHROM   POS          ID 
7       72339   7_31439_T_A_b37
7       75999   7_31504_G_A_b37
7       146125   7_34713_A_C_b37
7       149978   7_34918_C_T_b37
7       174401   7_35119_G_A_b37

所需的输出:

#CHROM   POS           ID               GENE_ID
7       72339   7_31439_T_A_b37     ENSG00000232325  
7       75999   7_31504_G_A_b37     ENSG00000242611   
7       146125   7_34713_A_C_b37    ENSG00000242474
7       150478   7_34918_C_T_b37    ENSG00000242474 
7       174401   7_35119_G_A_b37    ENSG00000239715

如有任何建议,我将不胜感激!

这是 bedtools 的一种方式。 awk 暂时向 bedtools 提供正确的格式并打印所需的最终结果。

% bedtools intersect\
   -a <(awk -v OFS="\t" '{print "chr",,,}' vcf)\
   -b <(awk -v OFS="\t" '{print ,,,}' bed)\
   -wb | awk -v OFS="\t" '{print substr(,4,length()-3),,,}'
7   72339   7_31439_T_A_b37 ENSG00000232325
7   75999   7_31504_G_A_b37 ENSG00000242611
7   146125  7_34713_A_C_b37 ENSG00000242474
7   149978  7_34918_C_T_b37 ENSG00000240859
7   149978  7_34918_C_T_b37 ENSG00000242474
7   174401  7_35119_G_A_b37 ENSG00000239715

多个文件见bedtools intersect --help

Note: -b may be followed with multiple databases and/or wildcard (*) character(s).

bedtools v2.28.0

数据

% cat bed
chr7 71335   73335   ENSG00000232325
chr7 75538   77538   ENSG00000242611
chr7 144930  146930  ENSG00000242474
chr7 148097  150278  ENSG00000240859
chr7 148862  150966  ENSG00000242474
chr7 151179  153179  ENSG00000240859
chr7 164472  166472  ENSG00000261795
chr7 173420  175420  ENSG00000239715

% cat vcf
7  72339   7_31439_T_A_b37
7  75999   7_31504_G_A_b37
7  146125  7_34713_A_C_b37
7  149978  7_34918_C_T_b37
7  174401  7_35119_G_A_b37