我正在使用以下多列格式的文本文件
ATOM 1 N MET A 1 24.950 5.224 -5.601 1.00 30.01 N
ATOM 2 CA MET A 1 24.822 3.740 -5.655 1.00 30.25 C
ATOM 3 C MET A 1 23.719 3.091 -4.771 1.00 28.98 C
ATOM 4 O MET A 1 23.417 1.937 -4.989 1.00 28.27 O
ATOM 5 CB MET A 1 26.187 3.043 -5.448 1.00 31.03 C
ATOM 6 CG MET A 1 26.869 3.182 -4.084 1.00 32.21 C
ATOM 7 SD MET A 1 28.713 3.095 -4.227 1.00 34.63 S
ATOM 8 CE MET A 1 29.205 3.597 -2.564 1.00 33.32 C
ATOM 9 N LYS A 2 23.111 3.804 -3.818 1.00 27.78 N
ATOM 10 CA LYS A 2 21.869 3.310 -3.188 1.00 27.21 C
ATOM 11 C LYS A 2 20.671 4.237 -3.440 1.00 26.27 C
ATOM 12 O LYS A 2 20.787 5.445 -3.300 1.00 25.96 O
ATOM 13 CB LYS A 2 22.027 3.091 -1.684 1.00 27.32 C
ATOM 14 CG LYS A 2 20.820 2.362 -1.065 1.00 27.75 C
ATOM 15 CD LYS A 2 20.953 2.147 0.439 1.00 28.18 C
ATOM 16 CE LYS A 2 19.928 1.130 0.938 1.00 29.30 C
ATOM 17 NZ LYS A 2 20.083 0.809 2.386 1.00 30.36 N1+
ATOM 18 N PHE A 3 19.528 3.658 -3.808 1.00 24.92 N
ATOM 19 CA PHE A 3 18.306 4.421 -4.054 1.00 24.39 C
ATOM 20 C PHE A 3 17.161 3.823 -3.246 1.00 24.12 C
ATOM 21 O PHE A 3 16.991 2.597 -3.202 1.00 23.77 O
ATOM 22 CB PHE A 3 17.940 4.222 -5.535 1.00 23.83 C
ATOM 23 CG PHE A 3 19.003 4.968 -6.434 1.00 23.81 C
ATOM 24 CD1 PHE A 3 19.132 6.337 -6.585 1.00 23.27 C
ATOM 25 CD2 PHE A 3 19.876 4.135 -7.129 1.00 23.46 C
ATOM 26 CE1 PHE A 3 20.110 6.868 -7.412 1.00 23.22 C
ATOM 27 CE2 PHE A 3 20.862 4.660 -7.952 1.00 23.19 C
ATOM 28 CZ PHE A 3 20.975 6.027 -8.102 1.00 23.07 C
TER
ATOM 1755 C1 4XB B 224 -2.316 -11.723 -8.228 1.00 13.30 C
ATOM 1756 C2 4XB B 224 -3.173 -10.657 -8.950 1.00 14.61 C
ATOM 1757 O2 4XB B 224 -4.557 -11.027 -8.952 1.00 16.65 O
ATOM 1758 C3 4XB B 224 -2.726 -10.237 -10.411 1.00 14.12 C
ATOM 1759 O3 4XB B 224 -3.502 -9.178 -10.953 1.00 16.48 O
ATOM 1760 C4 4XB B 224 -1.249 -9.979 -10.435 1.00 10.48 C
ATOM 1761 O4 4XB B 224 -0.865 -9.856 -11.797 1.00 8.86 O
ATOM 1762 C5 4XB B 224 -0.606 -11.154 -9.841 1.00 11.33 C
ATOM 1763 O5 4XB B 224 -0.960 -11.228 -8.458 1.00 11.66 O
我需要打印在TER(第一列)之前出现的最后一个残基的编号(在第六列中定义为数字)。
在该示例中,预期输出应为3(下一个字符串上TER之前的第6列的最后一个数字)。
我尝试使用以下AWK计数器对残留物进行计数,但是该计数器对所有残留物的数量进行计数(因此旨在在到达第一列的TERM时将其停止)
awk '{ a[$4 $6 FILENAME]++ }
END {
for (i in a) { b[substr(i,1,3)]++ }
for (i in b)
{
total+=b[i]
}
printf "\nTotal no:of residues - %d\n", total
}' file.pdb
答案 0 :(得分:1)
DisplayMode.primaryOverlay
如果这还不是您所需要的,那么请编辑您的问题以阐明您的要求,并提供一个更实际但最小的示例,其中包含简洁,可测试的示例输入和预期输出。