[gmx-developers] looking for co-mentor for GSoC 2020: TNG format

Paul bauer paul.bauer.q at gmail.com
Mon Mar 23 12:17:27 CET 2020


Hello Oliver,

I can see what I can do for mentoring, but would need to make sure I 
understand the guidelines from GSoC better.

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.
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.

Let's see if this gets chosen in the end!

Cheers

Paul

On 22/03/2020 23:14, Oliver Beckstein wrote:
> Hello TNG people,
>
> Apologies for the delayed reply.
>
> My take-away from your comments on the TNG library are:
>
> 1. TNG has all major features defined (although a more polished API 
> might be desirable).
> 2. You consider the current C code in 
> https://github.com/gromacs/tng as the reference implementation
> 3. More tests would be welcome.
> 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 
> https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk  is 
> important as well as the JCC 2014 paper (and the 2011 one). )
> 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.
>
> We can advertise the project as
>
> 1. Port existing TNG C code to C++
> 2. Write the API documentation  (doxygen strings + minimal example for 
> how to use the library)
> 3. Stretch goal: Create a Python wrapper (based on 
> https://github.com/MDAnalysis/pytng or other approaches).
>
> Questions:
>
> 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)?
>
> @Paul: would you be able to co-mentor a student (primarily 1 and 2)?
>
> @Magnus: would you be available for consultations – basically, 
> replying to emails on whatever mailing list/issue tracker the 
> conversation will happen?
>
> 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.
>
> There’s no guarantee that this project will be chosen but we would see 
> by March 31 (application deadline).
>
>
> Oliver
>
>
>
>
>
>> On Mar 19, 2020, at 1:16 AM, Paul bauer <paul.bauer.q at gmail.com 
>> <mailto:paul.bauer.q at gmail.com>> wrote:
>>
>> Hello,
>>
>> 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.
>> I can also see that I help with mentoring from the GROMACS side, to 
>> help with providing a smooth integration process.
>>
>> Cheers
>>
>> Paul
>>
>> On 19/03/2020 09:13, Magnus Lundborg wrote:
>>> Hi,
>>>
>>> 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.
>>>
>>> On 2020-03-18 21:17, David van der Spoel wrote:
>>>> Den 2020-03-18 kl. 19:20, skrev Oliver Beckstein:
>>>>> Hello Gromacs Developers,
>>>>>
>>>>> As part of Google Summer of Code 2020 with MDAnalysis 
>>>>> <https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020> 
>>>>> 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 
>>>>> <https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support> with 
>>>>> the goal to make it usable in any MD analysis code (including 
>>>>> MDAnalysis). The preliminary objectives would be:
>>>>
>>>> Great initiative!
>>>>
>>>>>
>>>>>  1. Fully define the API and capabilities of TNG.
>>>> The existing functionality or would you add stuff that has been 
>>>> disccussed for a long time like energies and other data blocks?
>>> 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.
>>>>
>>>>>  2. Write documentation.
>>>>>  3. Write a reference library implementation (C or C++).
>>>> How would that be different from the existing implementation?
>>> 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".
>>>>
>>>>>  4. Write tests.
>>> There are some functionality tests in the TNG library, but more 
>>> extensive unit tests would of course be good.
>>>>>  5. Bonus: Write Python bindings (see start in our pytng
>>>>>     <https://github.com/MDAnalysis/pytng> library) and integrate with
>>>>>     MDAnalysis
>>>>
>>>>>
>>>>> This project outline is not set in stone and we would be more than 
>>>>> happy to adapt it according to your expert input.
>>>>>
>>>>> We have at least one promising candidate student who is interested 
>>>>> in working on this project during 10 weeks this summer.
>>>>>
>>>>> We would need at least one knowledgable co-mentor from the GROMACS 
>>>>> developer community who could commit to mentoring. See 
>>>>> https://google.github.io/gsocguides/mentor/ 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.
>>> 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.
>>>>>
>>>>> 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.
>>>>>
>>>>> Thank you!
>>>>>
>>>>> Oliver (for the MDAnalysis GSoC 2020 Mentors)
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Oliver Beckstein, DPhil * oliver.beckstein at asu.edu 
>>>>> <mailto:oliver.beckstein at asu.edu> <mailto:oliver.beckstein at asu.edu>
>>>>> https://becksteinlab.physics.asu.edu/
>>>>>
>>>>> Associate Professor of Physics
>>>>> Arizona State University
>>>>> Center for Biological Physics and Department of Physics
>>>>> Tempe, AZ 85287-1504
>>>>> USA
>>>>>
>>>>> Office: PSF 348
>>>>> Phone: +1 (480) 727-9765
>>>>> FAX: +1 (480) 965-4669
>>>>>
>>>>> Department of 
>>>>> Physics: https://physics.asu.edu/content/oliver-beckstein
>>>>> Center for Biological 
>>>>> Physics: https://cbp.asu.edu/content/oliver-beckstein
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>> -- 
>> Paul Bauer, PhD
>> GROMACS Development Manager
>> KTH Stockholm, SciLifeLab
>> 0046737308594
>>
>> -- 
>> Gromacs Developers mailing list
>>
>> * Please search the archive at 
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List 
>> before posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers 
>> or send a mail to gmx-developers-request at gromacs.org 
>> <mailto:gmx-developers-request at gromacs.org>.
>
>
> --
> Oliver Beckstein, DPhil * oliver.beckstein at asu.edu 
> <mailto:oliver.beckstein at asu.edu>
> https://becksteinlab.physics.asu.edu/
>
> Associate Professor of Physics
> Arizona State University
> Center for Biological Physics and Department of Physics
> Tempe, AZ 85287-1504
> USA
>
> Department of Physics: https://physics.asu.edu/content/oliver-beckstein
> Center for Biological 
> Physics: https://cbp.asu.edu/content/oliver-beckstein
>
>

-- 
Paul Bauer, PhD
GROMACS Development Manager
KTH Stockholm, SciLifeLab
0046737308594

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20200323/ae23dca8/attachment-0001.html>


More information about the gromacs.org_gmx-developers mailing list