Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

outline and topics #2

Closed
orbeckst opened this issue May 13, 2016 · 17 comments
Closed

outline and topics #2

orbeckst opened this issue May 13, 2016 · 17 comments

Comments

@orbeckst
Copy link
Member

Suggestions for topics to be addressed in the proceedings paper #1.

Note that this paper should not be an in-depth view of MDAnalysis but rather a big picture "advertisement". Primarily, it should introduce the library to a wider audience and quickly allow a reader to answer the questions

  • Is MDAnalysis applicable to my problems?
  • Should I (or one of my students) give it a try?
  • What are advantages of using MDAnalysis? What might I be able to do with it that would be difficult or impossible otherwise?
@kain88-de
Copy link
Member

A good topic is that we can to unusual things to build simulation setups. I for example use it to setup large artificial proteins that are made up of smaller ones, the merge function is great for that. A colleague recently wanted to change the velocities in a trr, we have one of the few tools to do this.

@richardjgowers
Copy link
Member

I think it'd be good to emphasise how fast you can prototype analysis compared to compiled languages. The total time to do analysis is time writing + time running, so while it will run slower it's much faster to write and faster overall. It might be cool to show an example of building up a certain analysis, maybe something like an RDF, then averaging over a trajectory is then another 2-3 lines on top of this. Or maybe something that shows off the inbuilt distance + angle functions which do PBC too, so a 2d probability contour map

Might be cheeky as it's not hit develop yet, but the 363 topology system where a Parser can define whatever it likes and we metaprogram this into the AtomGroup class. Similarly the Selection system where you can define new selections like here

Another good point is the format agnostic/transferability of it too. Repeatability of analysis, sharing analysis methods, open science etc

@kain88-de
Copy link
Member

We can also show of other packages that have been build on top of MDAnalysis like Encore and MDSynthesis. Both are a good example how MDAnalysis can be used to build general analysis tools.

@kain88-de
Copy link
Member

I've just look again at the old paper. In it's core it lists a number of possible uses for MDAnalysis. @orbeckst did you think of doing the same style again for this paper with updated examples? I thought about adding the contact analysis again, especially since it is now very very flexible with the newest release.

@orbeckst
Copy link
Member Author

On 17 May, 2016, at 13:53, kain88-de notifications@github.com wrote:

I've just look again at the old paper. In it's core it lists a number of possible uses for MDAnalysis. @orbeckst did you think of doing the same style again for this paper with updated examples? I thought about adding the contact analysis again, especially since it is now very very flexible with the newest release.

For the SciPy proceedings I was thinking 2-3 pages max. Very roughly:

  • Big picture overview.
  • What the OO layer looks like and how it relates to the data.
  • Examples of use:
    • “basic” selections and trajectory access and manipulation
    • analysis (contacts would be a great example – do you want to write 2 paragraphs and a figure?).
  • Showing that we can use it already for big systems (which will be even better after 363).
  • Showing interactive use in Jupyter notebooks with nglview and pandas.

After 0.16.0 and heading for 1.0 we should be thinking about a proper and longer MDAnalysis paper.

Oliver Beckstein * orbeckst@gmx.net
skype: orbeckst * orbeckst@gmail.com

@kain88-de
Copy link
Member

It might be cool to show an example of building up a certain analysis

That is a good idea. I thought we could show how to calculate an RMSD for a single configuration and extend this to an RMSD for a simulation using only a sub selection. In the end we introduce the analysis pacakge which overs convenience functions for this.

A good thing to display is also the selection functions. I think the spherical and cylindrical selections are unique to MDA and interesting to others.

To show that we want to allow for flexibility I think we can show of the new Contacts class. That one allows do a lot with only minimal changes to the code. As an example I would show how to use the Contacts class to setup a q1q2 analysis and then refer to the function that exists already for this.

@richardjgowers
Copy link
Member

Since this is a scipy specific paper, maybe it'd be interesting to contrast
the old list of Atom to new (363) system?

On Tue, 17 May 2016 22:04 Oliver Beckstein, notifications@github.com
wrote:

On 17 May, 2016, at 13:53, kain88-de notifications@github.com wrote:

I've just look again at the old paper. In it's core it lists a number of
possible uses for MDAnalysis. @orbeckst did you think of doing the same
style again for this paper with updated examples? I thought about adding
the contact analysis again, especially since it is now very very flexible
with the newest release.

For the SciPy proceedings I was thinking 2-3 pages max. Very roughly:

  • Big picture overview.
  • What the OO layer looks like and how it relates to the data.
  • Examples of use:
  • “basic” selections and trajectory access and manipulation
  • analysis (contacts would be a great example – do you want to write 2
    paragraphs and a figure?).
  • Showing that we can use it already for big systems (which will be even
    better after 363).
  • Showing interactive use in Jupyter notebooks with nglview and pandas.

After 0.16.0 and heading for 1.0 we should be thinking about a proper and
longer MDAnalysis paper.

Oliver Beckstein * orbeckst@gmx.net
skype: orbeckst * orbeckst@gmail.com


You are receiving this because you commented.

Reply to this email directly or view it on GitHub
#2 (comment)

@richardjgowers
Copy link
Member

Which I guess we can file under the big system bullet point.

On Tue, 17 May 2016 22:15 Richard Gowers, richardjgowers@gmail.com wrote:

Since this is a scipy specific paper, maybe it'd be interesting to
contrast the old list of Atom to new (363) system?

On Tue, 17 May 2016 22:04 Oliver Beckstein, notifications@github.com
wrote:

On 17 May, 2016, at 13:53, kain88-de notifications@github.com wrote:

I've just look again at the old paper. In it's core it lists a number
of possible uses for MDAnalysis. @orbeckst did you think of doing the same
style again for this paper with updated examples? I thought about adding
the contact analysis again, especially since it is now very very flexible
with the newest release.

For the SciPy proceedings I was thinking 2-3 pages max. Very roughly:

  • Big picture overview.
  • What the OO layer looks like and how it relates to the data.
  • Examples of use:
  • “basic” selections and trajectory access and manipulation
  • analysis (contacts would be a great example – do you want to write 2
    paragraphs and a figure?).
  • Showing that we can use it already for big systems (which will be even
    better after 363).
  • Showing interactive use in Jupyter notebooks with nglview and pandas.

After 0.16.0 and heading for 1.0 we should be thinking about a proper and
longer MDAnalysis paper.

Oliver Beckstein * orbeckst@gmx.net
skype: orbeckst * orbeckst@gmail.com


You are receiving this because you commented.

Reply to this email directly or view it on GitHub
#2 (comment)

@orbeckst
Copy link
Member Author

On 17 May, 2016, at 14:15, Richard Gowers notifications@github.com wrote:

Since this is a scipy specific paper, maybe it'd be interesting to contrast
the old list of Atom to new (363) system?

I like this idea – basically “We learned that better data structures are important” (and not OO at all cost).

@richardjgowers can you have a crack at this (maybe with input from @dotsdl): Topology system before/after.

Oliver Beckstein * orbeckst@gmx.net
skype: orbeckst * orbeckst@gmail.com

@tylerjereddy
Copy link
Member

Obviously, my virus work is thematically relevant to big systems and involved a direct contribution to scipy itself (scipy.spatial.SphericalVoronoi coming in 0.18.0) with coordinate / trajectory data exposed by MDAnalysis. As that is a few years work I'm working on it as a separate technical paper (analysis code: https://github.com/tylerjereddy/viral_voronoi_analysis) but I suppose the viruses could be briefly mentioned as successful big system use cases if you want (and even bigger ones are coming...).

@mnmelo
Copy link
Member

mnmelo commented May 19, 2016

I second all the ideas put forth so far, and really underscore the applicability to big systems. Our plasma membrane simulations would have been impossible to analyze without the scalability MDAnalysis offers.

I recall talking to Jean Helie about this at the BPS two years ago and he also remarked his work would not be possible without MDAnalysis (and the then recently introduced indexing of gromacs trajectories).

@dotsdl
Copy link
Member

dotsdl commented May 19, 2016

@orbeckst happy to help @richardjgowers on this kind of section if desired. I think it's a good fit for the technical details for MDAnalysis' performance, and it's totally necessary for doing anything reasonable with ~10M atom systems.

@kain88-de
Copy link
Member

@MDAnalysis/coredevs I will write 2-3 paragaphs about the analysis module and our current approach to unify the interface with AnalysisBase. As an example I will use the new Contacts where I can also empathize that we try to make standard analysis methods easy while providing flexible API to extend them, here I can go into the q1q2 analysis which just uses this flexibility.

@orbeckst
Copy link
Member Author

I also want to mention a bit about the development process and how we interact with users:

  • using ten2eleven (based on 2to3) to make API breaks bearable for users (i.e., we care for our users and consider them)
  • CI, >3500 tests, 80% coverage (and >92% for core)
  • active developer community on GitHub
  • lots of docs
  • helpful mailing lists and issue tracker

@kain88-de
Copy link
Member

should the new topology section be under a more general 'outlook' where we lay out the plans for the future until 1.0?

@orbeckst
Copy link
Member Author

On 23 May, 2016, at 14:36, kain88-de notifications@github.com wrote:

should the new topology section be under a more general ‘outlook' where we lay out the plans for the future until 1.0?

Start writing it as if this is the current state. It’s pretty annoying if the paper is outdated in two months…

We can always shift it around a little bit and add qualifiers when polishing it.

Oliver Beckstein * orbeckst@gmx.net
skype: orbeckst * orbeckst@gmail.com

@richardjgowers
Copy link
Member

Ok I'm going to write something on basic usage and selections

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants