<div class="gmail_quote">On Tue, Oct 5, 2010 at 4:02 PM, Axel Kohlmeyer <span dir="ltr">&lt;<a href="mailto:akohlmey@cmm.chem.upenn.edu">akohlmey@cmm.chem.upenn.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
martin,<br>
<br>
some general remarks. i&#39;ll try to be short, if you want, we can discuss<br>
more off-list, as this is really not so much of a development list issue.<br>
<br>
i suspect you are trying to put the horse before the cart here.<br>
before trying to find out the technical details, you should think<br>
(and discuss with your colleagues) some fundamental issues.<br>
<br>
what you describe would work only reasonably well for a peptide<br>
in vacuum (or implicit solvent). are you sure this is a useful piece<br>
of information? usually peptides are studies immersed in a solvent<br>
and then suddenly you cannot just move things around, as you<br>
would have to move the solvent as well (to make room). and on<br>
top of that, the useful information is the &quot;free energy&quot; i.e. some average<br>
that includes information about the statistical relevance (entropy)<br>
of the conformation you are looking at. there is plenty of literature<br>
on a variety of methods to map out free energy landscapes.<br>
<br>
if this is not a concern, you should still consider your approach.<br>
as was mentioned, using some external scripting is straightforward<br>
and will help you focus on implementing your method and testing<br>
its correctness, and then i would first try it on a simplified &quot;toy&quot; code,<br>
before trying to integrate something into a code base as large as<br>
gromacs. you have to be sure about what you need for your method,<br>
so that the only problems of merging are technical issues of understanding<br>
gromacs. otherwise you will be constantly confused by what is the<br>
origin of failures: your method? your implementation? or your integration<br>
into gromacs? if you don&#39;t have any practical experience in running<br>
an MD code and being able to tell whether it works correctly or not,<br>
how would you expect to be able to modify it correctly? large packages<br>
have lots of subtle issues and classical force field calculations have<br>
some surprises of their own and thus need some practice for the users<br>
until they are confident in judging its outcome.<br></blockquote><div><br></div><div>I am doing preliminary work now to assess whether or not the approaches I mentioned are feasible. I very much appreciate the comments from all of you and I will certainly discuss them with my contacts.</div>
<div><br></div><div>Thanks a lot,</div><div>Martin.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
cheers,<br>
     axel.<br>
<div><div></div><div class="h5"><br>
<br>
On Tue, Oct 5, 2010 at 7:20 AM, Martin Kamp Jensen<br>
&lt;<a href="mailto:martin.kamp.jensen@gmail.com">martin.kamp.jensen@gmail.com</a>&gt; wrote:<br>
&gt; Hello,<br>
&gt; I would like to manipulate the conformation of a peptide inside of GROMACS.<br>
&gt; More specifically, I want to add a method on the same level as do_steep,<br>
&gt; do_nm, etc. (in mdlib/minimize.c) that repeatedly looks up the energy value<br>
&gt; and in between changes the conformation of a peptide by changing the<br>
&gt; dihedral angles. To be honest, I am overwhelmed by the data structures and<br>
&gt; where to begin. I have looked<br>
&gt; at <a href="http://www.gromacs.org/Developer_Zone/Programming_Guide/Data_Structures" target="_blank">http://www.gromacs.org/Developer_Zone/Programming_Guide/Data_Structures</a><br>
&gt; without any luck.<br>
&gt; I am a computer science student that is about to do my master&#39;s thesis. That<br>
&gt; plan is to, among other things, investigate the energy landscapes for<br>
&gt; (small) peptides and create barrier trees. I will need to use the energy<br>
&gt; function of GROMACS as a &quot;black box&quot;, but of course I need to know how to<br>
&gt; integrate with it. I have no knowledge of biochemistry :) (My contacts do,<br>
&gt; of course...)<br>
&gt; My goals are as follows.<br>
&gt; 1) Find as many local minima as possible in the energy landscape of a<br>
&gt; (small) peptide. This could probably be implemented in an external program<br>
&gt; that calls GROMACS multiple times as the energy minimization features<br>
&gt; promise to find a local mimima close to the starting conformation. Another<br>
&gt; possibility would be to integrate this functionality in GROMACS and then<br>
&gt; maybe write the local minima to a trajectory file and read them in later for<br>
&gt; use in 2). (How to know that I found all the local minima/the search is<br>
&gt; converged will be one of my challenges.)<br>
&gt; 2) Find a way to &quot;connect&quot; pairs of local minima, i.e., what is the lowest<br>
&gt; barrier connecting a pair of local minima. This is to be done using<br>
&gt; heuristics to change one conformation to another (change the dihedral<br>
&gt; angels) step by step. (Of course, the heuristics will be another one of my<br>
&gt; challenges.) However, to do this, I will need to call the energy function<br>
&gt; (evaluate_energy in mdlib/minimize.c) each time I change a conformation to<br>
&gt; guide the heuristics. I am aware that changing the conformation after<br>
&gt; GROMACS (mdrun) has parsed the binary run input file will probably remove<br>
&gt; the possibility of using MPI because data has been distributed in some<br>
&gt; specific way (maybe it is also a problem when using multiple threads on the<br>
&gt; same machine). I will just have to accept that for now and then maybe in the<br>
&gt; future look into the possibility of redistributing data after changing a<br>
&gt; conformation. However, right now I do not even know how to change the<br>
&gt; conformation/the dihedral angles...<br>
&gt; So, in conclusion, I have some computer science challenges which will be my<br>
&gt; focus, but I cannot get to them without some knowledge of GROMACS. I hope<br>
&gt; someone will be able to give me some pointers.<br>
&gt; Regards,<br>
&gt; Martin.<br>
</div></div>&gt; --<br>
<div class="im">&gt; gmx-developers mailing list<br>
&gt; <a href="mailto:gmx-developers@gromacs.org">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">gmx-developers-request@gromacs.org</a>.<br>
&gt;<br>
<br>
<br>
<br>
</div><font color="#888888">--<br>
Dr. Axel Kohlmeyer    <a href="mailto:akohlmey@gmail.com">akohlmey@gmail.com</a><br>
<a href="http://sites.google.com/site/akohlmey/" target="_blank">http://sites.google.com/site/akohlmey/</a><br>
<br>
Institute for Computational Molecular Science<br>
Temple University, Philadelphia PA, USA.<br>
</font><div><div></div><div class="h5">--<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>