Perfect!
Changing from
protocol.loadPDB( glob.glob(inputStructures)[0]
to
protocol.initCoords(glob.glob(inputStructures)[0])
was the fix I needed!
If my collaborators want to try explicit solvent refinement I would follow
similar approach but use the wrefine.py script and use parallhdg5.3.pro.new &
topallhdg5.3.pro.new in /toppar/waterRef to generate my cyclic .psf files?
Does the LtoD patch work for these force fields also?
Thanks!
Matt
___________________________
Matthew D. Shortridge, PhD
Research Associate
University of Washington
Department of Chemistry
http://depts.washington.edu/varani2/
From: Charles Schwieters <[email protected]>
Sent: Monday, June 5, 2017 10:15 AM
To: Matthew D Shortridge
Cc: [email protected]
Subject: Re: [Xplor-nih] water refine cyclic peptides
Hello Matth--
>
> This appears to have worked, however, my second issue is when I load
> the files into the 'refine_eefx.py' script. If I simply run the
> script as per the /eginput/gb1_rdc/refine_eefx.py example by loading
> the output files from refine.py with the command
>
> ==> inputStructures="refine_*.sa"
>
> the script fails with the error
>
> ==> "SystemError: xplor-nih error: error reading restraint: selection
> string resid 1 and name HN selects no atoms"
This likely means that a restraint (probably a distance restraint)
refers to an atom which doesn't exist. Likely, residue 1 doesn't have
an atom named HN - perhaps the cyclic patching process didn't work
correctly.
>
> Reading through my .out file it appears to trace back to the line
>
> ==> # load PDB to generate PSF
> ==> import glob
> ==> protocol.loadPDB( glob.glob(inputStructures)[0],
> ==> deleteUnknownAtoms=True )
>
> This part of the code appears to be removing atoms on my N and C
> terminus because my sequences are head to tail cyclic and leads to my
> missing atom error above.
>
> To get around this issue, I thought I could simply generate a new
> cyclic .psf file using the eefx2.par force fields and loading this
> .psf file into the refine_eefx.py script by adding the lines
>
Right- you need a custom PSF in this case.
> ==> import protocol
> ==> protocol.initStruct("circ_eefx.psf")
> ==> inputStructures="refine_*.sa" # refine each structure with
> implicit solvent
>
>
> I was happy when this appeared to have worked; my circ_eefx.psf file
> loads and the refine_eefx.py script will run. Sadly however, I end up
> with a lot of missing and broken bonds along with the atoms in the
> generated pdb files are scattered all over the place. I assume this
> issue is related to a duplication error between my manually upload
> circ_eefx.psf file and the IMPORT GLOB command trying to generate a
> new .psf file for each of the refine.sa structures??? Is there a
> better way I could load my correct psf file to get rid of this issue
> and maintain all my bonds?
>
>
Do you have both protocol.loadPDB, and protocol.initStruct? If you
load a psf file with initStruct, you should initialize coordinate with
protocol.initCoords(glob.glob(inputStructures)[0])
and not call protocol.loadPDB, as the later tries to generate PSF
information before loading coordinates.
best regards--
Charles
_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih