From 4412e203b68afc57646aacbe020fd3193f6176fe Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Tue, 10 Jul 2018 10:46:58 -0500 Subject: [PATCH] Fixed PDB writer to correctly include system dimensions and to write the segname to the pdb --- arbdmodel.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arbdmodel.py b/arbdmodel.py index 0b0a9a1..b5f1edf 100644 --- a/arbdmodel.py +++ b/arbdmodel.py @@ -442,14 +442,17 @@ class PdbModel(Transformable, Parent): self._updateParticleOrder() with open(filename,'w') as fh: ## Write header - fh.write("CRYST1 {:>5f} {:>5f} {:>5f} 90.00 90.00 90.00 P 1 1\n".format( *self.dimensions )) + fh.write("CRYST1{:>9.3f}{:>9.3f}{:>9.3f} 90.00 90.00 90.00 P 1 1\n".format( *self.dimensions )) ## Write coordinates - # formatString = "ATOM {:>5d} {:^4.4s}{:1.1s}{:3.3s} {:1.1s}{:>5.5s} {:8.3f}{:8.3f}{:8.3f}{:6.2f}{:6.2f}{:2.2s}{:2f}\n" - formatString = "ATOM {:>6.6s} {:^4.4s}{:1.1s}{:3.3s} {:1.1s}{:>5.5s} {:8.8s}{:8.8s}{:8.8s}{:6.2f}{:6.2f}{:2.2s}{:2f}\n" + formatString = "ATOM {:>6.6s} {:^4.4s}{:1.1s}{:3.3s} {:1.1s}{:>5.5s} {:8.8s}{:8.8s}{:8.8s}{:6.2f}{:6.2f}{:2.2s}{:2d}{:>6s}\n" for p in self.particles: ## http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#ATOM idx = p.idx+1 + try: + segname = p.segname + except: + segname = "A" try: resname = p.resname except: @@ -484,7 +487,7 @@ class PdbModel(Transformable, Parent): resid = "{:<4d}".format(resid) fh.write( formatString.format( - idx, name, "", resname, chain, resid, x, y, z, occ, beta, "", charge )) + idx, name, "", resname, chain, resid, x, y, z, occ, beta, "", charge, segname )) return def writePsf(self, filename): -- GitLab