From: John Stone (johns_at_ks.uiuc.edu)
Date: Wed Jan 03 2007 - 10:31:05 CST

Hi Cesar,
  Since I was out of town while you guys were discussing this,
can you send me an example structure, and the exact sequence of
commands which creates the badly formatted PDB file so I can double
check this against the current versions of the PDB plugin? I've never
seen this occur before, but anything is possible so having a test case
that should reproduce the problem will make this easy to test/fix if
necessary.

Thanks,
  John Stone
  vmd_at_ks.uiuc.edu

On Thu, Dec 28, 2006 at 07:16:45AM -0800, Justin Gullingsrud wrote:
> ---------- Forwarded message ----------
> From: Cesar Luis Avila <cavila_at_fbqf.unt.edu.ar>
> Date: Dec 28, 2006 5:58 AM
> Subject: Re: vmd-l: Writing pdb without chain identifier
> To: Justin Gullingsrud <justinrocks_at_gmail.com>
>
>
> Yes, it is from VMD 1.8.5 for linux. Perhaps it's a bug in the code. It
> only becomes evident when using more than 999 residues.
>
> Cesar
>
> Justin Gullingsrud escribió:
> >Hi,
> >
> >On 12/27/06, Cesar Luis Avila <cavila_at_fbqf.unt.edu.ar> wrote:
> >>Indeed this line was extracted from a pdb written by vmd, as pointed out
> >>before, with the command
> >>
> >>$selover writepdb $lseg.pdb
> >
> >I'm not sure I'm understanding you - are you saying that the
> >misformatted resid came from VMD? If so, could you tell me which
> >version of VMD you were using? Current versions of VMD appear to work
> >as I've described.
> >
> >Cheers,
> >Justin
> >
> >>
> >>Regards
> >>Cesar
> >>
> >>Justin Gullingsrud escribió:
> >>> Hi,
> >>>
> >>> On 12/26/06, Cesar Luis Avila <cavila_at_fbqf.unt.edu.ar> wrote:
> >>>> Hi Marcos,
> >>>> I have already tried that. What I get is
> >>>> atomselect set: 0 data items doesn't match 4 selected atoms.
> >>>>
> >>>> the problem with psfgen seems to be related to resid. For example
> >>>>
> >>>> ATOM 15806 SOD SOD X 2399 217.106 26.565 -44.457 1.00
> >>>> 0.00 M12
> >>>>
> >>>> is interpreted as resid 239 by psfgen during segment generation.
> >>So when
> >>>> it tries to read the coordinates you get
> >>>
> >>> This pdb line is misformatted: the resid should start one column to
> >>> the left of where it actually does. VMD (and psfgen) strictly follow
> >>> the pdb file format, which specifies exactly which columns each data
> >>> field is expected to occupy.
> >>>>
> >>>> Warning: failed to set coordinate for atom SOD SOD:239 M12
> >>>>
> >>>>
> >>>> What I have done is a perl command to remove the X and add a space
> >>after
> >>>> the resid number
> >>>>
> >>>> perl -pi -w -e 's/X(\s+\d+)/$1 /g;' *.pdb
> >>>
> >>> Your script has the effect of not only removing the X (which is
> >>> irrelevant to the problem, as Marcos pointed out), but also shifting
> >>> the resid one column to the left, which causes the resid to be read
> >>> the way you wanted to.
> >>>
> >>> Cheers,
> >>> Justin
> >>>
> >>>>
> >>>> Regards
> >>>> Cesar
> >>>>
> >>>>
> >>>> Marcos Sotomayor escribió:
> >>>> >
> >>>> > Hi Cesar,
> >>>> >
> >>>> > What about trying something like $selover set chain " " before
> >>writing
> >>>> > the pdb files?
> >>>> >
> >>>> > In any case, pdb files written by vmd should work fine with psfgen,
> >>>> > even if they have a chain identifier X... what error did you get
> >>when
> >>>> > using coordpdb?
> >>>> >
> >>>> > Marcos
> >>>> >
> >>>> > On Tue, 26 Dec 2006, Cesar Luis Avila wrote:
> >>>> >
> >>>> >> Dear all,
> >>>> >> I want to split a pdb into several segments for later use with
> >>>> >> psfgen. The problem that I am facing is that for each segment
> >>that I
> >>>> >> write into a new pdb, I get an additional X in the chain
> >>column. In
> >>>> >> the original pdb there were no chain identifiers. This results
> >>on a
> >>>> >> problem when reading the coordinates from the new pdb with
> >>coordpdb
> >>>> >> in psfgen.
> >>>> >>
> >>>> >> This is the script that I use to split the pdb
> >>>> >>
> >>>> >> set all [atomselect top all]
> >>>> >> set lseglist [lsort -unique [$all get segid]]
> >>>> >> foreach lseg $lseglist {
> >>>> >> set selover [atomselect top "segid $lseg"]
> >>>> >> $selover writepdb $lseg.pdb
> >>>> >> }
> >>>> >>
> >>>> >> A line from the original PDB file
> >>>> >>
> >>>> >> ATOM 26852 CLA CLA 2 31.223 -0.301 20.128 1.00
> >>>> >> 0.00 BCL
> >>>> >>
> >>>> >> The same line in the final PDB. Note that the chain identifier was
> >>>> >> added by vmd.
> >>>> >>
> >>>> >> ATOM 1 CLA CLA X 2 31.223 -0.301 20.128 1.00
> >>>> >> 0.00 BCL How may I instruct VMD to write pdb without chain
> >>>> >> identifier?
> >>>> >> Regards
> >>>> >> Cesar
> >>>> >>
> >>>> >
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
>
>
> --
> I speak of certain afternoons in early fall, waterfalls of
> immaterial gold, the transformation of the world, when everything
> loses its body, everything is held in suspense,
> and the light thinks, and each one of us feels himself thought by
> that reflective light, and for one long moment time dissolves, we are
> air once more...
> -- Octavio Paz, "I speak of the city"

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078