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

Oliver Beckstein obeckste at asu.edu
Fri Mar 27 01:52:51 CET 2020


Hi Paul,

Thank you for confirming (off list) that you will be able to mentor. I updated the project description https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support <https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support> 

This means we can now offer “Project 6: TNG Support” for GSoC.

I’ll loop you into the GSoC proposals.

Best,
Oliver

> On Mar 23, 2020, at 4:17 AM, Paul bauer <paul.bauer.q at gmail.com> wrote:
> 
> 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 <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 <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 <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 <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 <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 <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/ <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 <mailto:oliver.beckstein at asu.edu>>
>>>>>> https://becksteinlab.physics.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 <https://physics.asu.edu/content/oliver-beckstein>
>>>>>> Center for Biological Physics: https://cbp.asu.edu/content/oliver-beckstein <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 <http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List> before posting!
>>> 
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists <http://www.gromacs.org/Support/Mailing_Lists>
>>> 
>>> * For (un)subscribe requests visit
>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers <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/ <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 <https://physics.asu.edu/content/oliver-beckstein>
>> Center for Biological Physics: https://cbp.asu.edu/content/oliver-beckstein <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.


--
Oliver Beckstein, DPhil * 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

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


More information about the gromacs.org_gmx-developers mailing list