Closed orbeckst closed 8 years ago
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.
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
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.
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.
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:
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
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.
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 https://github.com/MDAnalysis/scipy_proceedings/issues/2#issuecomment-219853541
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 https://github.com/MDAnalysis/scipy_proceedings/issues/2#issuecomment-219853541
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
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...).
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).
@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.
@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.
I also want to mention a bit about the development process and how we interact with users:
ten2eleven
(based on 2to3
) to make API breaks bearable for users (i.e., we care for our users and consider them)should the new topology section be under a more general 'outlook' where we lay out the plans for the future until 1.0?
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
Ok I'm going to write something on basic usage and selections
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