Closed kexul closed 2 years ago
Thanks for this. As you say, the online AMBER format guide (here) implies that 3I8
should be used. I'm surprised that pymol
doesn't just try to read the data irrespective of the format, since it is just an integer regardless.
I'll update this now.
Actually, I believe that the AMBER format page might be incorrect and pymol
should actually read 10I8
as we use. Indeed, Parmed
write this format too. See here (search for SOLVENT_POINTERS
.)
Maybe not, since the actual Parmed code says otherwise.
I'm surprised that pymol doesn't just try to read the data irrespective of the format, since it is just an integer regardless.
When I modify the extension of the file from .prm7
to .parm7
, the topology file could be loaded by pymol directly by load somd.parm7
, interesting :)
It looks like AMBER might have change the format between the parm/top and prm7 format. Looking more closely at the Parmed
code I see that they also have another parser where they use 10I8
.
It looks like AMBER might have change the format between the parm/top and prm7 format.
Thanks! Just tried load somd.prm7, somd, 0, parm7
and it works! 🤗
Using ParmEd
and saving to both the .parmtop
and .parm7
extension gives a SOLVENT_POINTERS
record using the 3I8
format. I'm not sure the reason for the inconsistency in their code, or what would trigger the writing of 10I8
records instead. (The parser using 10I8
has been updated much more recently.
The full AMBER specification manual also states 3I8
, so I'm going to go with that as the canonical reference.
Dear Sire developers: Recently I found that pymol cannot load the topology file generated by Sire when using the command:
load somd.prm7, somd, 0, top
, which raised an error:It was caused by these lines in the topology file
which should be written by this line: https://github.com/michellab/Sire/blob/3a664356096964546df3108c889c6b7117bd7709/corelib/src/libs/SireIO/amberprm.cpp#L3338
I found that Amber suggests a format of
3I8
in their manual forSOLVENT_POINTERS
, should we use that format instead?