<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Hello Oliver,<br>
<br>
I can see what I can do for mentoring, but would need to make sure
I understand the guidelines from GSoC better.<br>
<br>
I think having a polished version on TNG would be quite helpful
not just for core GROMACS but also for our interoperability with
other packages, so this should definitely be worth my time.<br>
One thing that concerns me is that we usually have quite a long
lag time for code contributions coming from external people or new
team members, so porting the whole code to C++ might not be done
in the given time span, but it should be possible to get patches
at least to the point of being reviewed here.<br>
<br>
Let's see if this gets chosen in the end!<br>
<br>
Cheers<br>
<br>
Paul<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 22/03/2020 23:14, Oliver Beckstein
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:1E80D50B-D10C-4539-9710-0639FE6C5B1F@asu.edu">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
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 <a
href="https://github.com/gromacs/tng" class=""
moz-do-not-send="true">https://github.com/gromacs/tng</a> as
the reference implementation </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; presumably <a
href="https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk"
class="" moz-do-not-send="true">https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk</a> 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 </div>
<div class=""><br class="">
</div>
<div class="">1. Port existing TNG C code to C++</div>
<div class="">2. Write the API documentation (doxygen strings +
minimal example for how to use the library)</div>
<div class="">3. Stretch goal: Create a Python wrapper (based
on <a href="https://github.com/MDAnalysis/pytng" class=""
moz-do-not-send="true">https://github.com/MDAnalysis/pytng</a> 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++
& 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). </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 <<a
href="mailto:paul.bauer.q@gmail.com" class=""
moz-do-not-send="true">paul.bauer.q@gmail.com</a>>
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 <<a
href="https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020"
class="" moz-do-not-send="true">https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020</a>>
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 <<a
href="https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support"
class="" moz-do-not-send="true">https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support</a>> 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="">
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=""> 2. Write
documentation.<br class="">
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=""> 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=""> 5. Bonus: Write
Python bindings (see start in our pytng<br
class="">
<<a
href="https://github.com/MDAnalysis/pytng"
class="" moz-do-not-send="true">https://github.com/MDAnalysis/pytng</a>>
library) and integrate with<br class="">
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="" moz-do-not-send="true">https://google.github.io/gsocguides/mentor/</a> 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="" moz-do-not-send="true">oliver.beckstein@asu.edu</a>
<<a href="mailto:oliver.beckstein@asu.edu"
class="" moz-do-not-send="true">mailto:oliver.beckstein@asu.edu</a>><br
class="">
<a href="https://becksteinlab.physics.asu.edu/"
class="" moz-do-not-send="true">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 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: <a class="moz-txt-link-freetext" href="https://physics.asu.edu/content/oliver-beckstein">https://physics.asu.edu/content/oliver-beckstein</a><br
class="">
Center for Biological
Physics: <a class="moz-txt-link-freetext" href="https://cbp.asu.edu/content/oliver-beckstein">https://cbp.asu.edu/content/oliver-beckstein</a><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="" moz-do-not-send="true">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="" moz-do-not-send="true">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="" moz-do-not-send="true">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="" moz-do-not-send="true">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 * <a
href="mailto:oliver.beckstein@asu.edu" class=""
moz-do-not-send="true">oliver.beckstein@asu.edu</a><br
class="">
<a href="https://becksteinlab.physics.asu.edu/"
class="" moz-do-not-send="true">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 Department of
Physics<br class="">
Tempe, AZ 85287-1504<br class="">
USA<br class="">
<br class="">
Department of
Physics: <a class="moz-txt-link-freetext" href="https://physics.asu.edu/content/oliver-beckstein">https://physics.asu.edu/content/oliver-beckstein</a><br
class="">
Center for Biological
Physics: <a class="moz-txt-link-freetext" href="https://cbp.asu.edu/content/oliver-beckstein">https://cbp.asu.edu/content/oliver-beckstein</a></div>
</div>
</div>
</div>
</div>
<br class="">
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
<p><br>
</p>
<pre class="moz-signature" cols="72">--
Paul Bauer, PhD
GROMACS Development Manager
KTH Stockholm, SciLifeLab
0046737308594</pre>
</body>
</html>