Dear Amber developers,
There is a bug in command savepdb in leap. I found the following lines in
leap src:
if (r->pdb.atom.serial_num > 99999)
atom_overflow = 1;
if (r->pdb.atom.residue.seq_num > 9999)
residue_overflow = 1;
if (atom_overflow && !residue_overflow) {
fmt =
"ATOM %6d%-4s%C%-3s %C%4d%C %8.3f%8.3f%8.3f%6.2f%6.2f
%3D";
} else if (!atom_overflow && residue_overflow) {
fmt =
"ATOM %5d %-4s%C%-3s %C%5d%C %8.3f%8.3f%8.3f%6.2f%6.2f
%3D";
} else if (atom_overflow && residue_overflow) {
fmt =
"ATOM %6d%-4s%C%-3s %C%5d%C %8.3f%8.3f%8.3f%6.2f%6.2f
%3D";
}
It has considered the overflow of residue sequence number. However, it can
only handle residue number < 100000.
I am currently working on a large RNA molecule. After adding the solvent
box, the maximum residue number arrives at 197778.
When the structure was opened by vmd, only a small number of water
molecules could be shown. So I looked at the pdb file and found that the
positions of some (most) coordinates are wrong, starting from residue
100000. Shown here:
ATOM 308933 O WAT 99999 9.731 -99.684 -65.426 1.00 0.00
ATOM 308934 H1 WAT 99999 9.662-100.625 -65.587 1.00 0.00
ATOM 308935 H2 WAT 99999 10.493 -99.593 -64.854 1.00 0.00
TER
ATOM 308936 O WAT 100000 10.761-106.876 -65.199 1.00 0.00
ATOM 308937 H1 WAT 100000 11.138-107.749 -65.312 1.00 0.00
ATOM 308938 H2 WAT 100000 10.663-106.541 -66.090 1.00 0.00
You can see that the coordinates have been shifted to the right by one
column. The code above cannot handle this situation when the residue number
>= 100000.
It only affects the saved pdb file. The rst file saved by saveamberparm is
fine.
Ye Mei, Prof., Dr.
State Key Laboratory of Precision Spectroscopy
East China Normal University
Shanghai 200062 China
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Nov 01 2023 - 19:00:02 PDT