Agreed. People are most welcome to create whatever they wish, but no new functionality will go in the official 4.5 or 4.6 branches.<div><br></div><div>And while I&#39;m here, any new functionality for 5.0 will have to be prepared to deal with the fact that there will be plenty of API changes going on while we transition to C++. If any new functionality causes problems and its author is not around or unable to help fix it, then that functionality won&#39;t make 5.0 either. That might well apply to features from the 4.x era and existing new stuff in master branch too! Our resources are very stretched, and we can&#39;t promise to maintain everything that&#39;s ever been done. The good news is that version control means nothing is ever truly gone, if someone comes along who wants to put work into it. :-)<div>
<br></div><div>Cheers,</div><div><br></div><div>Mark<br><br><div class="gmail_quote">On Tue, Feb 26, 2013 at 6:47 PM, Shirts, Michael (mrs5pt) <span dir="ltr">&lt;<a href="mailto:mrs5pt@eservices.virginia.edu" target="_blank">mrs5pt@eservices.virginia.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don&#39;t know that we want to add any functionality into 4.6 at this point --<br>
that&#39;s not what minor versions are for.  In terms of getting REST2 into 5.0,<br>
I&#39;m happy to make sure we have the conversation so that REST2 easily fits<br>
into the general formalism for 5.0.  It SHOULD be very simple to put in if<br>
we organize things properly.<br>
<br>
The best way to do this, Francesco, is for you to outline a list of what<br>
would need to be changed/added as a feature for 5.0 at<br>
<a href="http://redmine.gromacs.org/" target="_blank">http://redmine.gromacs.org/</a>, and we can start having the conversation there.<br>
<div class="im"><br>
Best,<br>
~~~~~~~~~~~~<br>
Michael Shirts<br>
Assistant Professor<br>
Department of Chemical Engineering<br>
University of Virginia<br>
<a href="mailto:michael.shirts@virginia.edu">michael.shirts@virginia.edu</a><br>
<a href="tel:%28434%29-243-1821" value="+14342431821">(434)-243-1821</a><br>
<br>
<br>
&gt; From: francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com">francesco.oteri@gmail.com</a>&gt;<br>
</div>&gt; Date: Tue, 26 Feb 2013 18:41:19 +0100<br>
&gt; To: &quot;<a href="mailto:michael.shirts@virginia.edu">michael.shirts@virginia.edu</a>&quot; &lt;<a href="mailto:michael.shirts@virginia.edu">michael.shirts@virginia.edu</a>&gt;, Discussion<br>
<div class="HOEnZb"><div class="h5">&gt; list for GROMACS development &lt;<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a>&gt;<br>
&gt; Subject: Re: [gmx-developers] calculating poteintial energy into do_md()<br>
&gt;<br>
&gt; Hi gromacs developers,<br>
&gt; after the mail exchange we had, I succeeded in the implementation and<br>
&gt; testing of REST2.<br>
&gt; I adopted the following strategy:<br>
&gt; 1) From a normal .top file, N .top are generated. In each one the<br>
&gt; forcefield are resscaled according to the REST2 method<br>
&gt; 2) The replica exchange is run with a modified version of mdrun. The<br>
&gt; modifications are:<br>
&gt;     -- The temperature of the different replicas are not cecked<br>
&gt;     -- As suggested by  Mark Abraham, the energetic test  Va(Xb) + Vb(Xa) -<br>
&gt; Va(Xa) - Vb(Xb) is evaluated in two steps Initially, replica A evaluates<br>
&gt; Vb(Xa), Va(Xa) and replica B Va(Xb),Vb(Xb), then the result is sent to the<br>
&gt;     master of the replicas in order to decide the different exchange<br>
&gt;<br>
&gt;<br>
&gt; As far as I understood, implementing REST2 is in the roadmap of gromacs5,<br>
&gt; so if the community agrees and nobody is already in charge, I can send a<br>
&gt; patch for gromacs4.5.5 and, possibly for gromacs4.6, as well as the script<br>
&gt; to obtain the different topologies on the website as user contribution.<br>
&gt; Later I can work to implement REST2 in gromacs5 in a less dirty way.<br>
&gt;<br>
&gt; Let me know what you think,<br>
&gt; Francesco<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2012/7/17 francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com">francesco.oteri@gmail.com</a>&gt;<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2012/7/16 Shirts, Michael (mrs5pt) &lt;<a href="mailto:mrs5pt@eservices.virginia.edu">mrs5pt@eservices.virginia.edu</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; That sounds reasonable.  I think the plan will be, then:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 4.6: a good explanation of how to set up REST2 using lambda values<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I agree, but in my opinion you should say something regarding the<br>
&gt;&gt; performance drop<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 5.0: an implementation of REST2 (or some variant -- why does it have to be<br>
&gt;&gt;&gt; sqrt(T_0/T_B) scaling that&#39;s best?)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I don&#39;t know. You shoul ask the authors :) I guess it is the most<br>
&gt;&gt; convenient because when T_B=T_0<br>
&gt;&gt; sqrt(T_0/T_B)  = 1 so you have an unmodified Hemiltonian, so you can use<br>
&gt;&gt; this replica for data analysis<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;  that is just as fast as normal replica<br>
&gt;&gt;<br>
&gt;&gt;&gt; exchange simulations. It will probably still be build on the lambda<br>
&gt;&gt;&gt; machinery for ease of coding, but might be toggleable by a simple mdp<br>
&gt;&gt;&gt; switch.  If not, it will be well explained in the documentation.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Best,<br>
&gt;&gt;&gt; ~~~~~~~~~~~~<br>
&gt;&gt;&gt; Michael Shirts<br>
&gt;&gt;&gt; Assistant Professor<br>
&gt;&gt;&gt; Department of Chemical Engineering<br>
&gt;&gt;&gt; University of Virginia<br>
&gt;&gt;&gt; <a href="mailto:michael.shirts@virginia.edu">michael.shirts@virginia.edu</a><br>
&gt;&gt;&gt; <a href="tel:%28434%29-243-1821" value="+14342431821">(434)-243-1821</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; From: francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com">francesco.oteri@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; Reply-To: Discussion list for GROMACS development &lt;<br>
&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a>&gt;<br>
&gt;&gt;&gt;&gt; Date: Mon, 16 Jul 2012 19:50:13 +0200<br>
&gt;&gt;&gt;&gt; To: Discussion list for GROMACS development &lt;<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Subject: Re: [gmx-developers] calculating poteintial energy into do_md()<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hi Michael,<br>
&gt;&gt;&gt;&gt; I agree with you respect the recoding. But performance difference is of<br>
&gt;&gt;&gt; 2x.<br>
&gt;&gt;&gt;&gt; I started inserting the features in 4.5.5  thursday and within today or<br>
&gt;&gt;&gt;&gt; tomorrow<br>
&gt;&gt;&gt;&gt; I will end. I plan one day of debug. So totally 4-5gg...I will get back<br>
&gt;&gt;&gt;&gt; these<br>
&gt;&gt;&gt;&gt; days as performance improvement :)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Of course, implementing seriously this features will take more time both<br>
&gt;&gt;&gt;&gt; for coding<br>
&gt;&gt;&gt;&gt; and testing. But right now I am not planning to do it seriously.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Maybe later when 4.6 will be out and if it will give me problem.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se">hess@kth.se</a>&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;  On 07/16/2012 06:08 PM, francesco oteri wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se">hess@kth.se</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  Using lambda scaling for non-bonded interactions is going to be very<br>
&gt;&gt;&gt;&gt;&gt;&gt; slow.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;  If it is done with the actual implementation, you are right. But if<br>
&gt;&gt;&gt;&gt;&gt; mdrun recognize rest2=yes thzn it rescales the<br>
&gt;&gt;&gt;&gt;&gt; parameters at teh beginning. Then a normal MD run goes.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; But this would scale the protein-protein non-bonded interactions with<br>
&gt;&gt;&gt;&gt;&gt;&gt; lambda^2.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;  Why? computing charge-charge interaction is:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;  S*qi*S*qj = (S^2 )*qi*qj<br>
&gt;&gt;&gt;&gt;&gt; but S=sqrt(Bi/B)<br>
&gt;&gt;&gt;&gt;&gt; so what I obtain is:<br>
&gt;&gt;&gt;&gt;&gt; (Bi/B)* qi*qj<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;  That is exactly what I want: rescaling by (Bi/B) protein-protein<br>
&gt;&gt;&gt;&gt;&gt; interactions<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;   Ah, sorry, that works indeed.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Berk<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  Is that what you want?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Berk<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On 07/16/2012 05:06 PM, francesco oteri wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; In the paper they just say that non bonded rescaling is obtained<br>
&gt;&gt;&gt;&gt;&gt;&gt; rescaling<br>
&gt;&gt;&gt;&gt;&gt;&gt; LG epsilon by Bi/B and the protein charges by sqrt(Bi/B).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  I did simulation using the lambda approach and I qualitatively<br>
&gt;&gt;&gt;&gt;&gt;&gt; reproduced<br>
&gt;&gt;&gt;&gt;&gt;&gt; the results.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  Just to give my contribution, I think the most efficient way to<br>
&gt;&gt;&gt;&gt;&gt;&gt; implement REST2<br>
&gt;&gt;&gt;&gt;&gt;&gt; is using the lambda approach as follows:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  1) in .mdp introducing a new keyword like rest2 = yes/no<br>
&gt;&gt;&gt;&gt;&gt;&gt; 2) using the init_lambda value to rescale the parameters at the<br>
&gt;&gt;&gt; bootstrap<br>
&gt;&gt;&gt;&gt;&gt;&gt; of md<br>
&gt;&gt;&gt;&gt;&gt;&gt;    (es. in do_md or init_replica_exchange).<br>
&gt;&gt;&gt;&gt;&gt;&gt; 3) running the code as normal MD and swapping the states<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  Since point 1 implies modification of grompp and point 2 requires the<br>
&gt;&gt;&gt;&gt;&gt;&gt; knowledge of<br>
&gt;&gt;&gt;&gt;&gt;&gt; the data structure,  I am just implementing point 3 while point 2 is<br>
&gt;&gt;&gt;&gt;&gt;&gt; demanded to external<br>
&gt;&gt;&gt;&gt;&gt;&gt; scripts.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  Francesco<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se">hess@kth.se</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 07/16/2012 04:42 PM, Shirts, Michael (mrs5pt) wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; One question, since better REST2 is one item on the todo list for<br>
&gt;&gt;&gt; 5.0,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and I<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; want to be thinking about the possibilities.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; For solute-solvent energy rescaling, how does one calculate the<br>
&gt;&gt;&gt; changes<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; solute-solvent energy without doing multiple PME calls to decompose<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; electrostatic energy?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;m guessing that by since your are load multiple topologies of the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; system,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; for each of those topologies, you can explicitly write new nonbonded<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; pairwise parameter terms between the water and protein.  This is a<br>
&gt;&gt;&gt; pain<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; do (need new ij terms for every parameter pair) but straightforward<br>
&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; end to automate.  Is this how your are planning to do it?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Without PME, then it&#39;s straightforward to decompose into<br>
&gt;&gt;&gt; solute-solvent<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; energy / solute-solute / solvent-solvent electrostatics, though for<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; adding<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; long term to Gromacs, we&#39;d want to support PME.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;  No, even without PME this is not straightforward.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Using a plain cut-off&#39;s for electrostatics is horrible, so I&#39;d say<br>
&gt;&gt;&gt; you<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; want to use reaction-field.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; But with reaction-filed the correction terms are non pair-wise, as<br>
&gt;&gt;&gt; with<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; PME.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Berk<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Best,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ~~~~~~~~~~~~<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Michael Shirts<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Assistant Professor<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Department of Chemical Engineering<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; University of Virginia<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:michael.shirts@virginia.edu">michael.shirts@virginia.edu</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="tel:%28434%29-243-1821" value="+14342431821">(434)-243-1821</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;    From: francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com">francesco.oteri@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Reply-To: Discussion list for GROMACS development &lt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Date: Mon, 16 Jul 2012 16:13:16 +0200<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; To: Discussion list for GROMACS development &lt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Subject: Re: [gmx-developers] calculating poteintial energy into<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; do_md()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2012/7/16 Mark Abraham &lt;<a href="mailto:Mark.Abraham@anu.edu.au">Mark.Abraham@anu.edu.au</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;    On 16/07/2012 10:59 PM, francesco oteri wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; what I am trying to do is implementing the REST2 tecnique [1]<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The goal is enanching the conforlational sampling splitting the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; system in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; two parts: solvent and solute.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The two groups have a different APPARENT temperature because the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; bonded<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; interaction within the solute atoms are rescaled by a factor Bi/B<br>
&gt;&gt;&gt; (<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Bi=1/Ti*Kb,  Ti = apparent temperature for the i-th replica,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; B=Boltzmann<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; constant) and the  protein-water interactions are rescaled by<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; sqrt(Bi/B).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; So the system temperature, regulated by the thermostat, is equal<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; along the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; different replicas but the dynamic of the different replicas<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; changes becaus of the different Boltzmann factor.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; To implement the tecnique, the naive approach (adopted in [2]) is:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 1) Generating N-different topology (N= number of replicas).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2) Removing same check at the beginning of the Replica Exchange<br>
&gt;&gt;&gt; code,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; order to run N replicas with equal run parameters (temperature,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; pression,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; ecc. ecc.)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 3) Changing the acceptance ratio formula.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   This approach has been developped for gmx4.0.3 but I need to use<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; gmx4.5.5 because it has a native implementation of the CHARMM<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; force-field.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Since the code between the two versions is different I am trying<br>
&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; figure<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; out how to reinvent the wheel.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   As shown in [3] and adopted in [2] the same result can be<br>
&gt;&gt;&gt; obtained<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; using<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the lamda dynamics in gromacs.In this case, only one topology has<br>
&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; be<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; generated. The state A correspond to the replica at the lowest<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; apparent<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; temperature, while the state B represents the highest temperature<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; replica.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Intermediate replicas are generated changing the init_lambda<br>
&gt;&gt;&gt; value.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   What has been found, this approach results in slowest run.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   So, right now I got stuck at the point 3. In fact  to find:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   delta = B( Va(Xb) + Vb(Xa) - Va(Xa) - Vb(Xb))<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   I need to calculate Va(Xb) and Vb(Xa)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Va(Xb) is determined by the potential of replica a and the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; coordinates of<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; replica b, so it is most effectively evaluated on the processor<br>
&gt;&gt;&gt; that<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; has<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the coordinates of replica b. If the topology is the same at the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; replicas a<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and b, then can Va(Xb) be computed by replica b by rescaling<br>
&gt;&gt;&gt; suitably<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; quantities that contributed to Vb(Xb), based on the knowledge that<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; replica<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; a is the exchange partner? Then the quantities that are exchanged<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; before<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the test are Va(Xb) and Vb(Xa). Should be as fast as regular REMD.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; This is my idea, indeed<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; gmx-developers mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt;&gt;&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt;&gt;&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Cordiali saluti, Dr.Oteri Francesco<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; gmx-developers mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt;&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt;&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; gmx-developers mailing list<br>
&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Cordiali saluti, Dr.Oteri Francesco<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Cordiali saluti, Dr.Oteri Francesco<br>
<br>
--<br>
gmx-developers mailing list<br>
<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
<a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
Please don&#39;t post (un)subscribe requests to the list. Use the<br>
www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
</div></div></blockquote></div><br></div></div>