<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 7, 2014 at 8:34 AM, Roland Schulz <span dir="ltr">&lt;<a href="mailto:roland@utk.edu" target="_blank">roland@utk.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Mon, Jul 7, 2014 at 1:48 AM, Mark Abraham <span dir="ltr">&lt;<a href="mailto:mark.j.abraham@gmail.com" target="_blank">mark.j.abraham@gmail.com</a>&gt;</span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div>
<div dir="ltr">Hi,
<div><br>
</div>
<div>For some time, GROMACS has installed a collection of its headers and libraries in the hope that they might be useful to third parties. I&#39;m not aware of anybody actually doing so - please speak up if you know of any! All the derivative work of which I&#39;m
 aware is either a fork of the code, or a wrapper over an executable.</div></div></div></blockquote></div><div><a href="https://github.com/rolandschulz/2pt/tree/master/grompy" target="_blank">https://github.com/rolandschulz/2pt/tree/master/grompy</a> (only library not header - not an approach I would do again, the latest version (<a href="https://github.com/GromPy/GromPy" target="_blank">https://github.com/GromPy/GromPy</a>) uses a modified version to insert hooks into mdrun)<br>
</div></div></div></div></blockquote><div><br></div><div>OK, thanks. grompy seems like it would like it to be easy to write analysis tools. GromPy bundles patches to 4.0.7 that it seems to build itself, rather than using an installed version (even if modified). It does make more sophisticated use of GROMACS function calls than I was expecting to see! :-) I would suggest that a comprehensible do_md would make a more suitable vehicle for someone to implement GCMC.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>

</div><div><a href="http://www.votca.org/" target="_blank">http://www.votca.org/</a></div></div></div></div></blockquote><div><br></div><div>Its manual refers only to grompp and mdrun, along with another host of MD packages, so I&#39;m not yet sure it is a client of installed headers and libraries. Christoph&#39;s past contributions to GROMACS make it seem like it should be, though!</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">
<div>We already have some of our I/O functionality available as separate libraries. If we make our custom analysis functionality available, I&#39;d much rather do that as a Python extension, or as a contribution to a dedicated MD-analysis project. mdrun... might
 never achieve a better &quot;API&quot; than grompp.</div></div></div></blockquote><div><br></div></div><div>I think a Python API for the analysis library would be great. But I think the way we should do it, is wrap the API we have. Thus I don&#39;t think a Python extension is a reason against a C/C++ API but a reason for it.</div>
</div></div></div></blockquote><div><br></div><div>Sure, but the &quot;API&quot; we have seems like it is just a collection of everything that existed at some point. I&#39;m not against having a public, stable API, but I am against preserving the existing &quot;API&quot; if it delivers little value internally or externally, and is an impediment to building software that might later be able to get an API worth having.</div>
<div><span style="font-family:arial;font-size:small"> </span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Another huge advantage of a public API is that it helps to learn how modules work. For the analysis modules where Teemu did that one only needs to look a the user docu to understand how to use it.</div>
</div></blockquote><div><br></div><div>Yes, but having documentation for our modules (whether intended for third-party use or not) is distinct from requiring that we install lots of headers and worry about the ability and stability of code calling it. Whatever code we write will have its source available and can be used by someone, and it should be documented, and that code has an API (from a certain point of view). Those projects above that are using that internal API are going to get broken by our changes just like code depending on the stuff we currently install - which is why I see little value in installing it, or making a public/internal header distinction. This might change in the future.</div>
<div><br></div><div>Cheers,</div><div><br></div><div>Mark</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class="HOEnZb"><font color="#888888"><div class="gmail_extra">
</div><div class="gmail_extra">Roland<br clear="all"><div><br></div>-- <br>ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br><a href="tel:865-241-1537" value="+18652411537" target="_blank">865-241-1537</a>, ORNL PO BOX 2008 MS6309
</div></font></span></div>
<br>--<br>
Gromacs Developers mailing list<br>
<br>
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
<br>
* Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
<br>
* For (un)subscribe requests visit<br>
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
</blockquote></div><br></div></div>