Hello all:
I have both specific and general questions/problems directly relevant
or peripheral to implementing ensemble-averaged calculations.
1) What is the difference, if any, between potList.add vs.
potList.append?
2) For ensemble-averaging the NOEs, the script eginput/gb3_ensemble/
tor_cross_two_all.py gives values for an NOE term and an 'enoe' term.
Why are there two NOE potentials with the same data? The data
'hbond.tbl' is inputed twice, once using legacy XPLOR syntax and the
other using the Python interface. The enoe is added to the potList
immediately after inputting. But the AvePot function is only applied
to NOE (not enoe).
3) Is the correct way to implement the ensemble averaging to first
load the potentials as if it's a single-conformer simulation and
subsequently apply AvePot? I seem to get into trouble when I directly
load the restraints with AvePot (into a potList), getting errors that
say something along the lines of "XplorPot requires an Xplor
simulation." Where I'm going with this: how do I ensemble average
some terms and not others? Should I use functions like create_NOEPot
and protocol.initDihedrals to input the data, apply AvePot to the
potential terms I want ensemble averaged, and then append all of them
(ensemble-averaged and -nonaveraged) into a single potList?
4) I have a PDB that fails to generate a well-behaved PSF with the
following sequence:
from psfGen import pdbToPSF
protocol.initCoords(myPDB)
pdbToPSF(myPDB)
At least I think it fails; I get a crash with a "singular D matrix"
message. It's not a problem with the restraints; if I generate the
PDB and PSF from the sequence:
from psfGen import seqToPSF
seqToPSF(mySEQ)
protocol.genExtendedStructure("autogen%d.pdb" % seed)
then the calculation works as expected. Charles, the problematic PDB
is 1SPY. I can regenerate the error if you'd like clarification.
Thanks all,
Ryan