MDAnalysis / mdanalysis

MDAnalysis is a Python library to analyze molecular dynamics simulations.
https://mdanalysis.org
Other
1.31k stars 650 forks source link

PDBWriter is not standard-compliant #2711

Open RMeli opened 4 years ago

RMeli commented 4 years ago

Following discussions in #2685 it is clear that the PDBWriter is not standard compliant. There are some records that are simply skipped instead of being assigned to default values (defined within the standard). Should we make PDBWriter standard-compliant?

Pros:

Cons:

orbeckst commented 4 years ago

I am generally in favor of standard compliance. But when it comes to PDB files, I think we need to acknowledge that they are often used by the typical MDA users in a different way from their intended purpose as a crystallography file format (yes, and now NMR, and EM and powder diffraction are shoe-horned into the same format).

There are records such as CRYST1 and HEADER/TITLE that are very useful/necessary for simulations. But others aren't. How many of our users need the SCALE records?

My initial reaction is that we should keep it reasonably lightweight and conform to standards for anything that we write/need but not include by default records that are not widely used in the simulation community (... what these records are might be matter of opinion but we can look at what other similar tools write out for "PDB").

We could go back to a "strict" or "standard" kwarg to add more of these outputs. I don't know how people feel about this, especially if it were to decrease the performance substantially.