我有一个 vcf 文件 (file.vcf) 和几个(HA1.txt, HA1.txt, HA2.txt,...,HA28.txt)
包含各个 ID 的填充文件。
每个总体文件如下所示(每一行都是一个人):
$ cat HA1.txt
QQ48_SD1A-37
ED19_SD1A40-3_357
TT335_SD1A-20
HH356_SD1A-7
Q029B_SD1A38
HT73_SD1A-28
HT288_SD1A-24
Q004B_SD1A-1
Q027_SD1A-4
Q096_SD1A-40
我想提取每个人群中每个人的覆盖深度。如何运行此命令:grep -v "^#" file.vcf | cut -f 10 | cut -d ':' -f2
对于人口文件中的每个人并将每个人口的输出保存在单独的文件中?
我对每个群体的期望输出如下所示:
. 6 4 6 . 5 . 10 . 7 .
. 9 16 8 3 8 . 16 9 22 .
. 8 11 8 . 8 . 16 8 18 .
6 20 12 20 12 28 3 24 4 26 14
6 25 15 24 13 32 3 25 3 25 15
每一列都是一个人!
答案1
for file in *; do grep '[pattern]' "$file" | cut -f 10 | cut -d ':' -f2 > "$file.output"; done