<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello TNG people,<div class=""><br class=""></div><div class="">Apologies for the delayed reply.<br class=""><div class=""><br class=""></div><div class="">My take-away from your comments on the TNG library are:</div><div class=""><br class=""></div><div class="">1. TNG has all major features defined (although a more polished API might be desirable).</div><div class="">2. You consider the current C code in &nbsp;<a href="https://github.com/gromacs/tng" class="">https://github.com/gromacs/tng</a>&nbsp;as the reference implementation&nbsp;</div><div class="">3. More tests would be welcome.</div><div class="">4. At the moment there is no-one who is really looking after the code. (At least at a cursory glance, documentation is hard to find; &nbsp;presumably&nbsp;<a href="https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk" class="">https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk</a>&nbsp;&nbsp;is important as well as the JCC 2014 paper (and the 2011 one). )</div><div class="">5. You consider porting the existing C code to C++ would be the next important step so that at least Gromacs itself can move towards TNG adoption.</div><div class=""><br class=""></div><div class="">We can advertise the project as&nbsp;</div><div class=""><br class=""></div><div class="">1. Port existing TNG C code to C++</div><div class="">2. Write the API documentation &nbsp;(doxygen strings + minimal example for how to use the library)</div><div class="">3. Stretch goal: Create a Python wrapper (based on&nbsp;<a href="https://github.com/MDAnalysis/pytng" class="">https://github.com/MDAnalysis/pytng</a>&nbsp;or other approaches).</div><div class=""><br class=""></div><div class="">Questions:</div><div class=""><br class=""></div><div class="">Is this a realistic plan for a student with no previous experience with the specifics but knowledge of C/C++ &amp; python, for May 18 – Aug 10 (~3 months)?</div><div class=""><br class=""></div><div class="">@Paul: would you be able to co-mentor a student (primarily 1 and 2)?</div><div class=""><br class=""></div><div class="">@Magnus: would you be available for consultations – basically, replying to emails on whatever mailing list/issue tracker the conversation will happen?</div><div class=""><br class=""></div><div class="">Would you think that this would be worth everyone’s time? Mentors will be involved in choosing students so you won’t get someone that you don’t feel is suitable.</div><div class=""><br class=""></div><div class="">There’s no guarantee that this project will be chosen but we would see by March 31 (application deadline).&nbsp;</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Oliver</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 19, 2020, at 1:16 AM, Paul bauer &lt;<a href="mailto:paul.bauer.q@gmail.com" class="">paul.bauer.q@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello,<br class=""><br class="">I concur with Magnus that moving the TNG codebase to C++ would be a major win and make integration in e.g. GROMACS even better.<br class="">I can also see that I help with mentoring from the GROMACS side, to help with providing a smooth integration process.<br class=""><br class="">Cheers<br class=""><br class="">Paul<br class=""><br class="">On 19/03/2020 09:13, Magnus Lundborg wrote:<br class=""><blockquote type="cite" class="">Hi,<br class=""><br class="">As the main developer of the TNG API I'm happy to hear about this initiative as we needed more hands already from the beginning, and no-one has taken the development over since I moved on to other things.<br class=""><br class="">On 2020-03-18 21:17, David van der Spoel wrote:<br class=""><blockquote type="cite" class="">Den 2020-03-18 kl. 19:20, skrev Oliver Beckstein:<br class=""><blockquote type="cite" class="">Hello Gromacs Developers,<br class=""><br class="">As part of Google Summer of Code 2020 with MDAnalysis &lt;<a href="https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020" class="">https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020</a>&gt; we proposed a project to work on the TNG format. Originally the plan was to just make sure that MDAnalysis can work with TNG but after a chat with Erik at BPS (and in the spirit of the last MolSSI interoperability workshop) we thought that it would be more useful to take a step back and possibly work towards finalizing the TNG format &lt;<a href="https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support" class="">https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support</a>&gt;&nbsp;with the goal to make it usable in any MD analysis code (including MDAnalysis). The preliminary objectives would be:<br class=""></blockquote><br class="">Great initiative!<br class=""><br class=""><blockquote type="cite" class=""><br class="">&nbsp;1. Fully define the API and capabilities of TNG.<br class=""></blockquote>The existing functionality or would you add stuff that has been disccussed for a long time like energies and other data blocks?<br class=""></blockquote>As far as I know the API should be complete as it is, but perhaps not as polished as would be nice. Adding energies and other data blocks are more a matter of adding it in the software packages using the library. The only exception is that data block IDs are kept as a central repository in the library. But this is just to keep track of them and to avoid ID conflicts. As far as I remember, there is in principle nothing that prevents anyone from writing anything in TNG.<br class=""><blockquote type="cite" class=""><br class=""><blockquote type="cite" class="">&nbsp;2. Write documentation.<br class="">&nbsp;3. Write a reference library implementation (C or C++).<br class=""></blockquote>How would that be different from the existing implementation?<br class=""></blockquote>Yes, what is the difference between the existing API and library (in C)? There are plans to make it more C++ compliant. That could be a good project. A full rewrite to proper C++ would be even better. One problem since early on was that the API and ABI was promised to be fully backwards compatible. That makes a redesign harder and explains some of the "late add-ons".<br class=""><blockquote type="cite" class=""><br class=""><blockquote type="cite" class="">&nbsp;4. Write tests.<br class=""></blockquote></blockquote>There are some functionality tests in the TNG library, but more extensive unit tests would of course be good.<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">&nbsp;5. Bonus: Write Python bindings (see start in our pytng<br class="">&nbsp;&nbsp;&nbsp; &lt;<a href="https://github.com/MDAnalysis/pytng" class="">https://github.com/MDAnalysis/pytng</a>&gt; library) and integrate with<br class="">&nbsp;&nbsp;&nbsp; MDAnalysis<br class=""></blockquote><br class=""><blockquote type="cite" class=""><br class="">This project outline is not set in stone and we would be more than happy to adapt it according to your expert input.<br class=""><br class="">We have at least one promising candidate student who is interested in working on this project during 10 weeks this summer.<br class=""><br class="">We would need at least one knowledgable co-mentor from the GROMACS developer community who could commit to mentoring. See <a href="https://google.github.io/gsocguides/mentor/" class="">https://google.github.io/gsocguides/mentor/</a>&nbsp;what is expected of mentors. In short, you would be involved in selecting students, communicating with the student (primarily using mailing lists and issue trackers) on a near-daily basis, help with keeping the project on track, and evaluating the student for GSoC (midterm and final evaluation at pass/fail level). About 5h/week is a realistic minimum.<br class=""></blockquote></blockquote>I could hopefully clarify some things in the beginning of the project and possible during as well, but I'm afraid I cannot promise any regular co-mentoring.<br class=""><blockquote type="cite" class=""><blockquote type="cite" class=""><br class="">We completely understand that in the current global crisis, you might have more urgent things to do. But if you think that you could be a co-mentor for this project, please let us know soon because students have to write their applications; their deadline is March 31 but they can submit applications now and unless we have a GROMACS co-mentor we will not be offering the TNG project so students.<br class=""><br class="">Thank you!<br class=""><br class="">Oliver (for the MDAnalysis GSoC 2020 Mentors)<br class=""><br class=""><br class=""><br class="">-- <br class="">Oliver Beckstein, DPhil * <a href="mailto:oliver.beckstein@asu.edu" class="">oliver.beckstein@asu.edu</a> &lt;<a href="mailto:oliver.beckstein@asu.edu" class="">mailto:oliver.beckstein@asu.edu</a>&gt;<br class=""><a href="https://becksteinlab.physics.asu.edu/" class="">https://becksteinlab.physics.asu.edu/</a><br class=""><br class="">Associate Professor of Physics<br class="">Arizona State University<br class="">Center for Biological Physics and&nbsp;Department of Physics<br class="">Tempe, AZ 85287-1504<br class="">USA<br class=""><br class="">Office: PSF 348<br class="">Phone: +1 (480) 727-9765<br class="">FAX: +1 (480) 965-4669<br class=""><br class="">Department of Physics:&nbsp;https://physics.asu.edu/content/oliver-beckstein<br class="">Center for Biological Physics:&nbsp;https://cbp.asu.edu/content/oliver-beckstein<br class=""><br class=""><br class=""></blockquote><br class=""><br class=""></blockquote><br class=""></blockquote><br class="">-- <br class="">Paul Bauer, PhD<br class="">GROMACS Development Manager<br class="">KTH Stockholm, SciLifeLab<br class="">0046737308594<br class=""><br class="">-- <br class="">Gromacs Developers mailing list<br class=""><br class="">* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" class="">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br class=""><br class="">* Can't post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" class="">http://www.gromacs.org/Support/Mailing_Lists</a><br class=""><br class="">* For (un)subscribe requests visit<br class=""><a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" class="">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" class="">gmx-developers-request@gromacs.org</a>.<br class=""></div></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class="">--<br class="">Oliver Beckstein, DPhil *&nbsp;<a href="mailto:oliver.beckstein@asu.edu" class="">oliver.beckstein@asu.edu</a><br class=""><a href="https://becksteinlab.physics.asu.edu/" class="">https://becksteinlab.physics.asu.edu/</a><br class=""><br class="">Associate Professor of Physics<br class="">Arizona State University<br class="">Center for Biological Physics and&nbsp;Department of Physics<br class="">Tempe, AZ 85287-1504<br class="">USA<br class=""><br class="">Department of Physics:&nbsp;https://physics.asu.edu/content/oliver-beckstein<br class="">Center for Biological Physics:&nbsp;https://cbp.asu.edu/content/oliver-beckstein</div></div></div></div>
</div>
<br class=""></div></div></body></html>