Bug #917

PDB information lost with trjconv

Added by Teemu Murtola almost 9 years ago. Updated over 6 years ago.

analysis tools
Target version:
Affected version - extra info:
Affected version:


If one gives a PDB file as input to trjconv, PDB-specific information such as insertion codes, occupancies and beta factors are not written to the output. Instead, the output always contains 1.0 occupancy and 0.0 beta factor. This is because the pdbinfo field in the t_atoms structure is not initialized/propagated properly.

Related issues

Related to GROMACS - Bug #916: PDB information not accessible in selectionsClosed04/12/2012

Associated revisions

Revision 43a02a47 (diff)
Added by Erik Lindahl over 6 years ago

Enable 4-letter resname in PDB output, keeps more pdbinfo.

This still fully adheres to the PDB standard since column 21
is not used by the standard. All common programs (PyMol, VMD, etc)
understand the 4-letter format, and programs that only read three
letters will still read the same filename as they used to. In
particular, this conserves most residue names during pdb<->gro
format conversions. We have also killed the non-standard
wide pdb format to avoid writing broken PDB files.

Fixes #725. Refs #917.

Change-Id: I9b6b8f2e191acdfb65ca2b5d96f39249cd71ea98

Revision 8a6e4217 (diff)
Added by Erik Lindahl over 6 years ago

Improve PDB I/O (keep occupancy, b-factor, element)

Retain the extra PDB info such as occupancy, b-factors,
and element name columns with trjconv when providing a
PDB structure file. If you use a TPR file, we still
write the (given atomnumbers being present).
However, we deliberately don't store the pdbinfo in the
TPR file since that is a specification for a particular
experiment, rather than something that's valid in the

Fixes #917, #1307.

Change-Id: I80cb8f5a250ba094fe81f32c58b4eb0298164053


#1 Updated by Roland Schulz about 8 years ago

  • Priority changed from Normal to Low

#2 Updated by Erik Lindahl over 6 years ago

  • Status changed from New to Fix uploaded
  • Affected version set to 5.0

Mostly fixed by .

This now works fine if we use a PDB file for the -s argument to trjconv (and always with PDB input to editconf).

However, after some deliberation I decided we do not want to embed the pdbinfo in the binary topology (so it can be extracted and used when we use a TPR file for the -s argument to trjconv). To a smaller part this was lazyness (it would require a new TPR version and recreating all reference files), but the main reason is that it would be a misrepresentation: In particular the occupancy and b-factors represent properties in the experiment, but not the simulation we are doing - there the occupancy is always 1.0, and the b-factor is a varying property we can calculate. If we embed this in the TPR file we would later generate PDB output that had completely incorrect occupancy and b-factors, and I think that is worse than the minor inconvenience of having to use a PDB file as -s argument reference for the handful of cases where we absolutely want it.

#3 Updated by Teemu Murtola over 6 years ago

  • Status changed from Fix uploaded to Resolved
  • Assignee changed from David van der Spoel to Erik Lindahl
  • Target version set to 5.0

#4 Updated by Mark Abraham over 6 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF