Open kain88-de opened 8 years ago
From what I see (http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#ENDMDL, http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#TER), the best is probably to have both.
When we implemented it we went with what the PDB standard said for multi frame files (i.e. NMR), which means MODEL records..
By the way, I am pretty sure that your PDB example is illegal format because I read HEADER and TITLE that there can only be one of these records and not have TITLE and HEADER records in each model; this is said explicitly under record types where HEADER is listed as a record of which only a single line may occur.
... so if the PDB "trajectory" was produced with MDAnalysis then that's a bug.
You guessed right. This is a PDB written by our PrimitivePDBWriter
. I'll check what exactly happens.
I think you can simply change the issue title and label it as defect.
Oliver Beckstein email: orbeckst@gmail.com
Am Feb 24, 2016 um 0:10 schrieb kain88-de notifications@github.com:
You guessed right. This is a PDB written by our PrimitivePDBWriter. I'll check what exactly happens.
— Reply to this email directly or view it on GitHub.
No please open another issue. The header thing has nothing to do with the frame separation.
This is a good bug if you want to get started contributing MDAnalysis. The Problem is that we only write a ENDMDL
record to distinguish between frames while we should write a ENDMDL
and TER
record.
This can be fixed in MDAnalysis/coordinates/PDB.py:PrimitivePDBWriter
I am working on this bug. What I understand is that the TER record should be written (before or after every ENDML, doesn't matter, right?)
It does matter that the TER is before the ENDMDL. The TER closes a chain and is part of that chain. ENDMDL closes a model, that contains one or several chains, everything that is part of the model should be between the MODEL and the ENDMDL records.
Since the TER issue is now fixed, is the bug solved?
Renamed the bug because it is about the TER
record to separate chains
Is this issue still relevant? I would like to try.
When we write a PDB file with multiple frames it is not possible to read the frames correctly using the BioPython PDBParser. We use
ENDMDL
to finish a frame but I have more commonly seen that others use aTER
to end a frame.I haven't checked yet what gromacs does when I convert a trajectory to PDB or what the BioPython writer produces.
To see what is wrong
The number of atoms should be 5.
test.pdb