<div dir="ltr">Hi gromacs developers,<div>after the mail exchange we had, I succeeded in the implementation and testing of REST2.</div><div style>I adopted the following strategy:</div><div style>1) From a normal .top file, N .top are generated. In each one the forcefield are resscaled according to the REST2 method</div>
<div style>2) The replica exchange is run with a modified version of mdrun. The modifications are:</div><div style>    -- The temperature of the different replicas are not cecked </div><div style>    -- As suggested by  Mark Abraham, the energetic test  Va(Xb) + Vb(Xa) - Va(Xa) - Vb(Xb) is evaluated in two steps Initially, replica A evaluates Vb(Xa), Va(Xa) and replica B Va(Xb),Vb(Xb), then the result is sent to the     master of the replicas in order to decide the different exchange</div>
<div style><br></div><div style><br></div><div style>As far as I understood, implementing REST2 is in the roadmap of gromacs5, so if the community agrees and nobody is already in charge, I can send a patch for gromacs4.5.5 and, possibly for gromacs4.6, as well as the script to obtain the different topologies on the website as user contribution. Later I can work to implement REST2 in gromacs5 in a less dirty way.</div>
<div style><br></div><div style>Let me know what you think,</div><div style>Francesco</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2012/7/17 francesco oteri <span dir="ltr">&lt;<a href="mailto:francesco.oteri@gmail.com" target="_blank">francesco.oteri@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote">2012/7/16 Shirts, Michael (mrs5pt) <span dir="ltr">&lt;<a href="mailto:mrs5pt@eservices.virginia.edu" target="_blank">mrs5pt@eservices.virginia.edu</a>&gt;</span><div class="im">
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That sounds reasonable.  I think the plan will be, then:<br>
<br>
4.6: a good explanation of how to set up REST2 using lambda values<br></blockquote><div><br></div></div><div>I agree, but in my opinion you should say something regarding the performance drop</div><div class="im"><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
5.0: an implementation of REST2 (or some variant -- why does it have to be<br>
sqrt(T_0/T_B) scaling that&#39;s best?)</blockquote><div> </div></div><div>I don&#39;t know. You shoul ask the authors :) I guess it is the most convenient because when T_B=T_0</div><div>sqrt(T_0/T_B)  = 1 so you have an unmodified Hemiltonian, so you can use this replica for data analysis</div>
<div><div class="h5">
<div><br></div><div><br></div><div> that is just as fast as normal replica</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
exchange simulations. It will probably still be build on the lambda<br>
machinery for ease of coding, but might be toggleable by a simple mdp<br>
switch.  If not, it will be well explained in the documentation.<br>
<div><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" target="_blank">michael.shirts@virginia.edu</a><br>
(434)-243-1821<br>
<br>
<br>
&gt; From: francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com" target="_blank">francesco.oteri@gmail.com</a>&gt;<br>
&gt; Reply-To: Discussion list for GROMACS development &lt;<a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a>&gt;<br>
</div>&gt; Date: Mon, 16 Jul 2012 19:50:13 +0200<br>
<div><div>&gt; To: Discussion list for GROMACS development &lt;<a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a>&gt;<br>
&gt; Subject: Re: [gmx-developers] calculating poteintial energy into do_md()<br>
&gt;<br>
&gt; Hi Michael,<br>
&gt; I agree with you respect the recoding. But performance difference is of 2x.<br>
&gt; I started inserting the features in 4.5.5  thursday and within today or<br>
&gt; tomorrow<br>
&gt; I will end. I plan one day of debug. So totally 4-5gg...I will get back<br>
&gt; these<br>
&gt; days as performance improvement :)<br>
&gt;<br>
&gt; Of course, implementing seriously this features will take more time both<br>
&gt; for coding<br>
&gt; and testing. But right now I am not planning to do it seriously.<br>
&gt;<br>
&gt; Maybe later when 4.6 will be out and if it will give me problem.<br>
&gt;<br>
&gt;<br>
&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se" target="_blank">hess@kth.se</a>&gt;<br>
&gt;<br>
&gt;&gt;  On 07/16/2012 06:08 PM, francesco oteri wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se" target="_blank">hess@kth.se</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;  Using lambda scaling for non-bonded interactions is going to be very<br>
&gt;&gt;&gt; slow.<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;  If it is done with the actual implementation, you are right. But if<br>
&gt;&gt; mdrun recognize rest2=yes thzn it rescales the<br>
&gt;&gt; parameters at teh beginning. Then a normal MD run goes.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; But this would scale the protein-protein non-bonded interactions with<br>
&gt;&gt;&gt; lambda^2.<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;  Why? computing charge-charge interaction is:<br>
&gt;&gt;<br>
&gt;&gt;  S*qi*S*qj = (S^2 )*qi*qj<br>
&gt;&gt; but S=sqrt(Bi/B)<br>
&gt;&gt; so what I obtain is:<br>
&gt;&gt; (Bi/B)* qi*qj<br>
&gt;&gt;<br>
&gt;&gt;  That is exactly what I want: rescaling by (Bi/B) protein-protein<br>
&gt;&gt; interactions<br>
&gt;&gt;<br>
&gt;&gt;   Ah, sorry, that works indeed.<br>
&gt;&gt;<br>
&gt;&gt; Cheers,<br>
&gt;&gt;<br>
&gt;&gt; Berk<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;  Is that what you want?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Berk<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 07/16/2012 05:06 PM, francesco oteri wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In the paper they just say that non bonded rescaling is obtained<br>
&gt;&gt;&gt; rescaling<br>
&gt;&gt;&gt; LG epsilon by Bi/B and the protein charges by sqrt(Bi/B).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  I did simulation using the lambda approach and I qualitatively<br>
&gt;&gt;&gt; reproduced<br>
&gt;&gt;&gt; the results.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  Just to give my contribution, I think the most efficient way to<br>
&gt;&gt;&gt; implement REST2<br>
&gt;&gt;&gt; is using the lambda approach as follows:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  1) in .mdp introducing a new keyword like rest2 = yes/no<br>
&gt;&gt;&gt; 2) using the init_lambda value to rescale the parameters at the bootstrap<br>
&gt;&gt;&gt; of md<br>
&gt;&gt;&gt;    (es. in do_md or init_replica_exchange).<br>
&gt;&gt;&gt; 3) running the code as normal MD and swapping the states<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  Since point 1 implies modification of grompp and point 2 requires the<br>
&gt;&gt;&gt; knowledge of<br>
&gt;&gt;&gt; the data structure,  I am just implementing point 3 while point 2 is<br>
&gt;&gt;&gt; demanded to external<br>
&gt;&gt;&gt; scripts.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  Francesco<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2012/7/16 Berk Hess &lt;<a href="mailto:hess@kth.se" target="_blank">hess@kth.se</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 07/16/2012 04:42 PM, Shirts, Michael (mrs5pt) wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; One question, since better REST2 is one item on the todo list for 5.0,<br>
&gt;&gt;&gt;&gt;&gt; and I<br>
&gt;&gt;&gt;&gt;&gt; want to be thinking about the possibilities.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; For solute-solvent energy rescaling, how does one calculate the changes<br>
&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt; solute-solvent energy without doing multiple PME calls to decompose the<br>
&gt;&gt;&gt;&gt;&gt; electrostatic energy?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&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; system,<br>
&gt;&gt;&gt;&gt;&gt; for each of those topologies, you can explicitly write new nonbonded<br>
&gt;&gt;&gt;&gt;&gt; pairwise parameter terms between the water and protein.  This is a pain<br>
&gt;&gt;&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt; do (need new ij terms for every parameter pair) but straightforward in<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; end to automate.  Is this how your are planning to do it?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Without PME, then it&#39;s straightforward to decompose into solute-solvent<br>
&gt;&gt;&gt;&gt;&gt; energy / solute-solute / solvent-solvent electrostatics, though for<br>
&gt;&gt;&gt;&gt;&gt; adding<br>
&gt;&gt;&gt;&gt;&gt; long term to Gromacs, we&#39;d want to support PME.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;  No, even without PME this is not straightforward.<br>
&gt;&gt;&gt;&gt; Using a plain cut-off&#39;s for electrostatics is horrible, so I&#39;d say you<br>
&gt;&gt;&gt;&gt; want to use reaction-field.<br>
&gt;&gt;&gt;&gt; But with reaction-filed the correction terms are non pair-wise, as with<br>
&gt;&gt;&gt;&gt; PME.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Berk<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Best,<br>
&gt;&gt;&gt;&gt;&gt; ~~~~~~~~~~~~<br>
&gt;&gt;&gt;&gt;&gt; Michael Shirts<br>
&gt;&gt;&gt;&gt;&gt; Assistant Professor<br>
&gt;&gt;&gt;&gt;&gt; Department of Chemical Engineering<br>
&gt;&gt;&gt;&gt;&gt; University of Virginia<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:michael.shirts@virginia.edu" target="_blank">michael.shirts@virginia.edu</a><br>
&gt;&gt;&gt;&gt;&gt; (434)-243-1821<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;    From: francesco oteri &lt;<a href="mailto:francesco.oteri@gmail.com" target="_blank">francesco.oteri@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Reply-To: Discussion list for GROMACS development &lt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Date: Mon, 16 Jul 2012 16:13:16 +0200<br>
&gt;&gt;&gt;&gt;&gt;&gt; To: Discussion list for GROMACS development &lt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Subject: Re: [gmx-developers] calculating poteintial energy into<br>
&gt;&gt;&gt;&gt;&gt;&gt; do_md()<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; 2012/7/16 Mark Abraham &lt;<a href="mailto:Mark.Abraham@anu.edu.au" target="_blank">Mark.Abraham@anu.edu.au</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;    On 16/07/2012 10:59 PM, francesco oteri wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&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; The goal is enanching the conforlational sampling splitting the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; system in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; two parts: solvent and solute.<br>
&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; bonded<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; interaction within the solute atoms are rescaled by a factor Bi/B (<br>
&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; B=Boltzmann<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; constant) and the  protein-water interactions are rescaled by<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; sqrt(Bi/B).<br>
&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; along the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; different replicas but the dynamic of the different replicas<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; changes becaus of the different Boltzmann factor.<br>
&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; 1) Generating N-different topology (N= number of replicas).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2) Removing same check at the beginning of the Replica Exchange code,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; in<br>
&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; pression,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; ecc. ecc.)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 3) Changing the acceptance ratio formula.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&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; gmx4.5.5 because it has a native implementation of the CHARMM<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; force-field.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Since the code between the two versions is different I am trying to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; figure<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; out how to reinvent the wheel.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;   As shown in [3] and adopted in [2] the same result can be obtained<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; using<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the lamda dynamics in gromacs.In this case, only one topology has to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; be<br>
&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; apparent<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; temperature, while the state B represents the highest temperature<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; replica.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Intermediate replicas are generated changing the init_lambda value.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&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;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&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;<br>
&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;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;   I need to calculate Va(Xb) and Vb(Xa)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&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; coordinates of<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; replica b, so it is most effectively evaluated on the processor that<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; has<br>
&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; replicas a<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; and b, then can Va(Xb) be computed by replica b by rescaling suitably<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the<br>
&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; replica<br>
&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; before<br>
&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;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; This is my idea, indeed<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; gmx-developers mailing list<br>
&gt;&gt; <a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a><br>
&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; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Cordiali saluti, Dr.Oteri Francesco<br>
&gt; --<br>
&gt; gmx-developers mailing list<br>
&gt; <a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a><br>
&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
<br>
--<br>
gmx-developers mailing list<br>
<a href="mailto:gmx-developers@gromacs.org" target="_blank">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" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
</div></div></blockquote></div></div></div><div class="HOEnZb"><div class="h5"><br><br clear="all"><div><br></div>-- <br>Cordiali saluti, Dr.Oteri Francesco<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Cordiali saluti, Dr.Oteri Francesco
</div>