簡體   English   中英

如何使用 awk 和 sed 編輯 ID 列以包含 vcf 文件中的特定文本

[英]How to edit ID column to contain specific text in vcf file using awk and sed

我有一個 vcf 文件。 我需要更新我的 vcf 文件中的 ID 列。 這是我的 vcf 文件的樣子: 在此處輸入圖像描述

0797 NA20798 NA20799 NA20800 NA20801 NA20802 NA20803 NA20804 NA20805 NA20806 NA20807 NA20808 NA20809 NA20810 NA20811 NA20812 NA20813 NA20814 NA20815 NA20816 NA20819 NA20826 NA20828

chr22 16050408.T C 100 PASS AA=.;AC=134;AF=0.06;AFR_AF=0.1;AMR_AF=0.05;AN=2184;ASN_AF=0.04;AVGPOST=0.9799;DAF_GLOBAL=.;ERATE=0.0046;EUR_AF=0.06 ;GERP=.;LDAF=0.0649;RSQ=0.8652;SNPSOURCE=LOWCOV;THETA=0.0149;VT=SNP;ANNOTATION_CLASS=ACTIVE_CHROM;CELL=GM12878;CHROM_STATE=13 GT。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0|0 0|1 0|1 0|0 0|1 0|1 0|0 0|0 0|0 0|0 0|1 0|0 0|0 0|0 0|0 0|0 0| 0 0|0 0|0 0|0 0|1 0|0 0|0 0|0 0|0 0|0 0|0 0|1 0|1 0|1 0|0 0|0 0|1 0 |1 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0| 0 0|0 0|0 0|0 0|0 0|1 0|1 0|0 0|0 0|1 0|0 0|1 0|0 0|0 0|0 0|0 0|0 0 |0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0| 0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0|0 0 |0 0|0 0|0 0|1 0|0 0|0 0|0 0|0 0|0 0|0 0|1 0|0 0|0 0|0 0|0 0|0 0|1 0|1 0|1 0|0 0|1 0|1 0|1 0|1 0|1 0|0 0|1 0|1 0|0 0|0 0|0 0|0 0|0 0| 0 0|1 0|0 0|1 0|1 0|1 0|1 0|1 0|0 0|0 0|0 0|0 0|0 0|0

現在我想更新表示為“.”的 ID 列。 通過 chr22_16050408_T_C_b37 所以我的 vcf 文件中的每個 ID 列應該看起來像 chr{no.}_position_refallele_altallele_b37。

我嘗試使用以下命令,但它現在給了我答案。

awk 'NR>1 {print $1""$2""$3""$4"_b37"}' genotype_chr22_filtered_dosage1.txt

output 文件應該是這樣的:對於 ID 列:chr22_16050408_T_C_b37

這是 bcftools annotate 的工作。

bcftools annotate --set-id '%CHROM\_%POS\_%REF\_%ALT'  in.vcf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM