Hi Charles, Thanks for the reply.
Instead of going through route of writing the force gradients and energy computations, I think it would less bug-free if I just update the alignment tensors of the RDC's at every step by using my in-house code. So the pseudo-atoms would still be there but instead of letting XPLOR change the orientation, Da, Rh I would make my custom potential update them. So the proposed plan of working was to 1). PotList would have the custom potential first and then the RDC's are appended to it. 2). The calculateEnergyAndDerivatives() function of the custom potential would compute the alignment tensors for all the RDC's and update the orientation, Da, Rh of the pseudo-atoms connected to a RDC's. 3). The RDC's then can compute the potential based on the alignment tensor computed in step #2. For this to work, XPLOR should not change the orientation, Da, Rh of the alignment tensors. So would (rdc.oTensor,engine) [fixRh] do that? Please let me know what you think of this method. Thanks santhosh On Mon, Sep 30, 2013 at 7:56 PM, Charles Schwieters <char...@schwieters.org>wrote: > > Hello Santhosh-- > > > > > We want to implement a custom potential for an ensemble based simulation. > > While implementing the methods I have some questions and would want to > > clarify that. > > > > This is a long email and I apologize for the length but I tried my best > to > > keep the questions clear. > > > > The potential I am writing is a very simple one : This potential does not > > compute any energies or changes the derivatives. It simply updates the > > alignment tensors of RDC's and the weights assigned to individual > members of > > the ensemble. [We want to test something apart from the pseudo-atom > approach > > implemented in XPLOR]. > > Well, if you want to evaluate an energy based on RDCs, you will need > to evaluate a gradient. I think you want a modern implementation of > > Sass, H.-J., Musco, G., Stahl, S.J., Wingfield, P.T., and Grzesiek, S., > ``An easy way to include weak alignment constraints into NMR > structure calculations", J. Biomol. NMR 21, 275-280 (2001). > > > > > I am attaching a very simple skeleton class of the custom potential. > > > > Question 1: How to obtain the instantaneous atomic co-ordinates of the > > members of the ensemble ? > > Answer (please confirm) : > > > > esim.members(memberIndex).atomPosArr() would contain the instantaneous > atomic > > positions of all the members of the ensemble. Is there an easy way to > convert > > cdsVector obtained from that method call to a list? [The documentation > says a > > slice of [:] would do it but in my case it resulted in another cdsVector. > > > > You can get a list by calling > > list(esim.members(memberIndex).atomPosArr()) > > > Question 2: Is there any specified order in which the potentials are > > computed? Suppose potList is the container for all the potential terms, > > potList.append(term1), potList.append(term2) are the two potentials > added. Is > > it guaranteed that term1 derivatives and energy calls are done before > term2? > > This is important because the custom potential should be called before > any > > RDCpots or NOEpots as they would have updated the tensors and weights > which > > would be used by the other potentials > > They are evaluated in the order in which they are added. > > > > > I have tried to use analyze(potList) but I think that sorts the energy > terms > > in alphabetical order before computing energies. > > It sorts the terms before printing output. > > > > > Question 3: I do not want XPLOR to compute alignment tensors as the > custom > > potential does it. So would a statement like configIVM_fixDa > > (rdc.oTensor,engine) [fixRh] ensure that? Essentially I want to skip > XPLOR's > > alignment tensor computation but change the alignment tensors by the > custom > > potential. > > You really want to get rid of the pseudo atoms as they will serve no > purpose in your potential term. > > best regards-- > Charles >
_______________________________________________ Xplor-nih mailing list Xplor-nih@cake.cit.nih.gov http://cake.cit.nih.gov/mailman/listinfo/xplor-nih