- 论坛徽章:
- 0
|
这样的 pyrabactin.pdb:
ATOM 3000 C1 FRG 188 24.108 28.400 33.892 1.00 0.00 C
ATOM 3001 C6 FRG 188 23.879 29.616 34.515 1.00 0.00 C
ATOM 3002 C5 FRG 188 23.931 29.754 35.893 1.00 0.00 C
ATOM 3003 C4 FRG 188 24.224 28.704 36.743 1.00 0.00 C
ATOM 3004 S FRG 188 24.283 29.002 38.303 1.00 0.00 S
ATOM 3005 N1 FRG 188 25.786 28.704 38.792 1.00 0.00 N
ATOM 3006 C11 FRG 188 26.878 29.641 38.602 1.00 0.00 C
ATOM 3007 C12 FRG 188 27.776 29.168 37.461 1.00 0.00 C
ATOM 3008 N2 FRG 188 28.851 29.891 37.076 1.00 0.00 N
ATOM 3009 C13 FRG 188 29.663 29.504 36.081 1.00 0.00 C
ATOM 3010 C14 FRG 188 29.428 28.322 35.392 1.00 0.00 C
ATOM 3011 C15 FRG 188 28.340 27.564 35.770 1.00 0.00 C
ATOM 3012 C16 FRG 188 27.517 27.979 36.807 1.00 0.00 C
ATOM 3013 H13 FRG 188 26.665 27.367 37.106 1.00 0.00 H
ATOM 3014 H12 FRG 188 28.125 26.630 35.250 1.00 0.00 H
ATOM 3015 H11 FRG 188 30.082 28.004 34.580 1.00 0.00 H
ATOM 3016 H10 FRG 188 30.517 30.124 35.811 1.00 0.00 H
ATOM 3017 H8 FRG 188 26.473 30.623 38.358 1.00 0.00 H
ATOM 3018 H9 FRG 188 27.463 29.705 39.519 1.00 0.00 H
ATOM 3019 H1 FRG 188 25.725 28.533 39.848 1.00 0.00 H
ATOM 3020 O1 FRG 188 23.377 28.141 38.995 1.00 0.00 O
ATOM 3021 O2 FRG 188 23.950 30.378 38.546 1.00 0.00 O
ATOM 3022 H2 FRG 188 23.733 30.735 36.327 1.00 0.00 H
ATOM 3023 H3 FRG 188 23.651 30.489 33.904 1.00 0.00 H
ATOM 3024 Br FRG 188 23.980 28.288 32.005 1.00 0.00 B
ATOM 3025 C2 FRG 188 24.431 27.206 34.715 1.00 0.00 C
ATOM 3026 C3 FRG 188 24.486 27.362 36.179 1.00 0.00 C
ATOM 3027 C7 FRG 188 24.771 26.256 36.957 1.00 0.00 C
ATOM 3028 H4 FRG 188 24.812 26.348 38.042 1.00 0.00 H
我想给这样的 C S N Br ..... 按照出现的次数重新编号,希望能得到这样的结果
ATOM 3000 C1 FRG 188 24.108 28.400 33.892 1.00 0.00 C
ATOM 3001 C2 FRG 188 23.879 29.616 34.515 1.00 0.00 C
ATOM 3002 C3 FRG 188 23.931 29.754 35.893 1.00 0.00 C
ATOM 3003 C4 FRG 188 24.224 28.704 36.743 1.00 0.00 C
ATOM 3004 S1 FRG 188 24.283 29.002 38.303 1.00 0.00 S
ATOM 3005 N1 FRG 188 25.786 28.704 38.792 1.00 0.00 N
ATOM 3006 C5 FRG 188 26.878 29.641 38.602 1.00 0.00 C
ATOM 3007 C6 FRG 188 27.776 29.168 37.461 1.00 0.00 C
ATOM 3008 N2 FRG 188 28.851 29.891 37.076 1.00 0.00 N
ATOM 3009 C13 FRG 188 29.663 29.504 36.081 1.00 0.00 C
ATOM 3010 C7 FRG 188 29.428 28.322 35.392 1.00 0.00 C
ATOM 3011 C8 FRG 188 28.340 27.564 35.770 1.00 0.00 C
ATOM 3012 C9 FRG 188 27.517 27.979 36.807 1.00 0.00 C
ATOM 3013 H1 FRG 188 26.665 27.367 37.106 1.00 0.00 H
ATOM 3014 H2 FRG 188 28.125 26.630 35.250 1.00 0.00 H
ATOM 3015 H3 FRG 188 30.082 28.004 34.580 1.00 0.00 H
ATOM 3016 H4 FRG 188 30.517 30.124 35.811 1.00 0.00 H
ATOM 3017 H5 FRG 188 26.473 30.623 38.358 1.00 0.00 H
ATOM 3018 H6 FRG 188 27.463 29.705 39.519 1.00 0.00 H
ATOM 3019 H7 FRG 188 25.725 28.533 39.848 1.00 0.00 H
ATOM 3020 O1 FRG 188 23.377 28.141 38.995 1.00 0.00 O
ATOM 3021 O2 FRG 188 23.950 30.378 38.546 1.00 0.00 O
ATOM 3022 H8 FRG 188 23.733 30.735 36.327 1.00 0.00 H
ATOM 3023 H9 FRG 188 23.651 30.489 33.904 1.00 0.00 H
ATOM 3024 Br1 FRG 188 23.980 28.288 32.005 1.00 0.00 B
ATOM 3025 C14 FRG 188 24.431 27.206 34.715 1.00 0.00 C
ATOM 3026 C15 FRG 188 24.486 27.362 36.179 1.00 0.00 C
ATOM 3027 C16 FRG 188 24.771 26.256 36.957 1.00 0.00 C
ATOM 3028 H10 FRG 188 24.812 26.348 38.042 1.00 0.00 H
我写了这样的脚本
#!/usr/bin/perl -w
chomp(my $date=`date`);
$^I=".bak";
my @filename="pyrabactin.pdb";
foreach(@filename){
$ARGV[0]=$_;
my(%atom,$a,$b);
while (<>){
if(/^ATOM\s+\d+\s+([A-Za-z]+)\d+\s+FRG/){
$a=$1;
$atom{$a}++;
$b=$atom{$a}." "x(2-length($atom{$a}));
s/^(ATOM\s+\d+\s+[^\d])(\d*)/$1$b/;
}
print ;
}
}
怎么会有问题呢.....Br原本后面无数字的双原子的没有编号,而且S原本没有编号的也没编上,还出现了排列发生变化,不齐整.....请教各位大神帮助,如果表述不清晰,请看代码....本屌水平有限
|
|