Re: [AMBER] LEaP Error

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Mon, 1 Dec 2014 16:01:12 -0700

Hi,

I'm not able to reproduce your error, at least not with a PDB I have
with ~128k atoms and cpptraj V14.22. First I convert the Amber
topology/restart to PDB like so from the command line:

$ ~/Amber/amber14/bin/cpptraj -p 2RH1.parm7 -y 2RH1.rst7 -x cpptraj.pdb

Then I load both the original parm and the cpptraj-converted PDB to
check that the number of atoms/residues etc. are the same:

> parm 2RH1.parm7
Reading '2RH1.parm7' as Amber Topology
> parm cpptraj.pdb
Reading 'cpptraj.pdb' as PDB File
cpptraj.pdb: determining bond info from distances.
Warning: cpptraj.pdb: Determining default bond distances from element types.
> list parm

PARAMETER FILES:
 0: '2RH1.parm7', 128580 atoms, 40914 res, box: Orthogonal, 40473 mol,
40472 solvent
 1: 'cpptraj.pdb', 128580 atoms, 40914 res, box: None, 40473 mol, 40472 solvent

I am also able to load this PDB (cpptraj.pdb) into LEaP with no
issues, and I can use it to generate a new topology with the exact
same number of atoms/residues.

On Mon, Dec 1, 2014 at 3:21 PM, Aronica, Pietro
<pietro.aronica07.imperial.ac.uk> wrote:
> Turns out that the error wasn't so hard to spot after all. When extracting a pdb with cpptraj, it has problems when the number exceeds the width of the column. Once we reach 99999 atoms, it numbers the next one 1 (so 100001) effectively skipping 100000.

It's not skipping anything - the same atoms and residues are present.
Since using the serial number 100000, which is more than 5 characters,
would break the PDB format, cpptraj resets the atom count to 1; ambpdb
does the same thing except it resets the count to 0 instead of 1 (the
same is true for residues with the limit being 9999). You can argue
which behavior is better, but technically neither is correct since I
believe the standard says entries with > 99,999 atoms need to be
divided among multiple models (not sure that's official). Bottom line
is that the PDB format doesn't work well for systems larger than
99,999 atoms, and things like CONECT records will probably break for
these systems.

So there are no missing residues or atoms with cpptraj PDB output.
However, please still feel free to send me your file (off-list) if you
want me to double check. Thanks,

-Dan

 Same with residue numbers once we reach 9999, the next one being
residue 10001. I have gone back and checked my older pdbs
automatically generated with cpptraj and realised that this had been
happening constantly when the residue count exceeds 9999. I guess it
was never an issue because beyond residue 696 those are all waters
anyway, and LEaP did not seem to care the "missing" residue 10000 (and
20000, and so on). This seems to become problematic when it is also
"missing" an atom and CONECT records are involved.
> I don't know if this was a known issue for cpptraj or if it's just a fluke on my part.
> Pietro
>
>
> -----Original Message-----
> From: amber-bounces.ambermd.org [mailto:amber-bounces.ambermd.org] On Behalf Of Aronica, Pietro
> Sent: 01 December 2014 22:00
> To: AMBER Mailing List
> Subject: Re: [AMBER] LEaP Error
>
> After searching, I have determined that the source of the error is probably within cpptraj rather than LEaP.
> The CONECT records at the end of the file look something like this:
>
> CONECT 323 1404
> CONECT 2195 3168
> CONECT 3615 4612
> CONECT 4286 5057
> CONECT 4420 5083
> CONECT 5328 6325
> CONECT 5999 6770
> CONECT 6133 6796
> CONECT 7224 8305
> CONECT 910410077
> END
>
> They are generated automatically by a script of mine that calculates CYX pairs and appends it to the PDB file. The atom numbers in these CONECT records are all correct and they work perfectly if the number of atoms is underneath 100000. Specifically, in this case, it is the first line that causes problems. If that one is present, this error is shown:
>
> Bond: maximum coordination exceeded on .R<WAT 30678>.A<H2 3>
> -- setting atoms pert=true overrides default limits ATOMS NOT BONDED: .R<WAT 30678>.A<H2 3> .R<CYX 96>.A<SG 8> !FATAL ERROR----------------------------------------
> !FATAL: In file [atom.c], line 445
> !FATAL: Message: bondAtomProblem found
> !
> !ABORTING.
>
> followed by a crash to command line. If that one line is omitted, the pdb loads fine.
> The SG on CYX96 is atom 1404, which should be bound to the SG on CYX22, which is atom 323. I don't know why it's trying to bond it to H2 on WAT30678, but this is probably due to the faulty pdb. Extracting the pdb with cpptraj (simple trajin restart/trajout pdb) from the final restart file (which contains 100799 atoms, as per header) gives a pdb with 100800 atoms and 30840 residues, whereas the prmtop had 100799 and 30837. This does not occur if the pdb size is underneath 100000. Extracting the pdb with ambpdb gives a pdb with the correct number of atoms and residues, and works fine with those CONECT records.
>
> I can go through the faulty pdb and try to figure out where the extra atom and three extra residues come from, but I was hoping at this point there'd be a solution that doesn't involve me poring over hundreds of thousands of lines of pdb file.
>
> Pietro
> ________________________________________
> From: David A Case [case.biomaps.rutgers.edu]
> Sent: 01 December 2014 12:36
> To: AMBER Mailing List
> Subject: Re: [AMBER] LEaP Error
>
> On Mon, Dec 01, 2014, Aronica, Pietro wrote:
>
>> I'm having problems with LEaP. It has problems loading some perfectly
>> fine pdb files, because, I suspect, they have more than 100000 atoms.
>> In particular, I think it is misinterpreting the CONECT data of the
>> disulphide bridges, trying to link cysteines to water molecules and
>> crashing out after having an ATOMS NOT BONDED fatal error.
>
> We need more information than this. There is no particular reason why leap should fail with systems larger than 100000 atoms. Do the CONECT records go beyond that limit? PDB files allocate six digits for the atom number, so generally only have problems with more than a million atoms.
>
> There may well be instances where LEaP messes up parsing of CONECT data.
> You will probably have to post a file that illustrates the problem. Be sure that you have converted CYS residues to CYX.
>
> ....dac
>
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber



-- 
-------------------------
Daniel R. Roe, PhD
Department of Medicinal Chemistry
University of Utah
30 South 2000 East, Room 307
Salt Lake City, UT 84112-5820
http://home.chpc.utah.edu/~cheatham/
(801) 587-9652
(801) 585-6208 (Fax)
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Dec 01 2014 - 15:30:02 PST
Custom Search