Dear Charles, I am wondering whether you or anyone has an example of refining an ensemble with Lipari-Szabo order parameters? The capability seems to be there in xplor-nih (see OrderPot in python help files) but has anyone used it? A test case would be helpful if it exists.
with best regards and many thanks, Matthias Buck Assistant Professor Physiology & Biophysics Department Case Western Reserve Univ. Medical School, E646 2109 Adelbert Road Cleveland, Ohio, 44106 fax 216-368-1693 phone 216-368-8651 e-mail [email protected] http://mbalster.cwru.edu/ ----- Original Message ----- From: <[email protected]> To: "RMB Hoffman" <[email protected]> Cc: <[email protected]> Sent: Wednesday, June 28, 2006 2:53 PM Subject: Re: [Xplor-nih] ensemble averaging and pdbToPSF problems > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > Hi Ryan-- > >> >> 1) What is the difference, if any, between potList.add vs. >> potList.append? > > There is no difference. I now prefer append, because it's the name used > for Python lists. > >> >> 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). > > There are two distinct potential terms. The AvePot version restrains > each individual ensemble member to obey the noe restraints, while the > ensemble term applies ensures that the ensemble average distances are > restrained. There is no reason the XplorPot was used instead of an NOE > pot- either is fine. > >> >> 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? > > The potential term must support ensemble averaging in order to use it > with the EnsembleSimulation- XplorPot does not, which is why you get > those errors. All you can do with non-ensemble aware terms is to > ensemble-average the resulting energies using AvePot. The easiest way to > use AvePot is > AvePot(OtherPot,args) > where OtherPot is some other (probably non-ensemble-aware term like > XplorPot), and args are the arguments usually passed to the potential > term's constructor. Hence: > AvePot(XplorPot,"BOND") > will instantiate an ensemble-averaged bond energy term. > > You can also ensemble average terms which have previously been created > from the underlying (non-ensemble) Simulation: > > from noePotTools import create_NOEPot > rawHB = create_NOEPot("noe-HB","hbond.tbl",esim=xplor.simulation) > noeHB = AvePot(rawHB) > > but here you must be very careful which Simulation the averaged term is > referencing. Constrast that line with > > noe = create_NOEPot("noe","noe.tbl") > > which creates an energy term to restraint the ensemble-averaged NOE > restraints. > > You can use noeHB and noe together in ensemble refinement. rawHB should > not be used except in construction of noeHB. > > >> >> 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. > > The message is from the IVM, probably because all the coordinates are > undefined... > > The sequence should be: > > from psfGen import pdbToPSF > pdbToPSF(myPDB) > protocol.initCoords(myPDB) > > You may still have some uninitialized atom positions in the PDB file, so > you might try protocol.addUnknownAtoms() in that case. > > best regards-- > Charles > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.3 (GNU/Linux) > Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/> > > iD8DBQFEotAePK2zrJwS/lYRAp2wAJoCeBzkgnnLW9gGI4KtwpCGcGPHRACcCLlY > C08yAWHE+KNLGLY8q/a87Z8= > =g52M > -----END PGP SIGNATURE----- > _______________________________________________ > Xplor-nih mailing list > [email protected] > http://dcb.cit.nih.gov/mailman/listinfo/xplor-nih
