Support Firefly (PC-GAMESS) and GAMESS-US trajectories

61 views
Skip to first unread message

Alexey Nesternko

unread,
Mar 13, 2015, 6:01:41 AM3/13/15
to mdnalys...@googlegroups.com
Good morning!

We have made MDAnalysis module for reading Firefly/GAMESS trajectories for our needs. Is it possible to include them into distributive? Of course Firefly/GAMESS is not "MD" but during ab initio topology construction it is very important to have trajectories calculated with QM and repeat them in MD. I mean trajectories of energy minimization, sadpoint search, potential energy surface scan or relaxed surface scan. What do you think about it?

Richard Gowers

unread,
Mar 13, 2015, 7:20:36 AM3/13/15
to mdnalys...@googlegroups.com
Hi Alexey

From the current development version (soon to be 0.9) it should be possible to include the modules by supplying the classes that read them as keyword arguments to Universe creation.  The only requirement is that they subclass the base classes of these readers.  So your code could look something like this

from MDAnalysis.coordinates.base import Reader
from MDAnalysis.topology.base import TopologyReader
import MDAnalysis as mda

class FireflyReader(Reader):
   
# your code that reader timesteps (coordinates)

class FireflyTopology(TopologyReader):
   
# your code that reads topology information

u
= mda.Universe(topologyfile, trajectoryfile, topology_format=FireflyTopology, format=FireflyReader)


So that should work as a temporary fix...

Then going forward to include them permanently in the package you'd just create a clone of MDAnalysis, include the classes you'd created above as submodules of coordinates and topology respectively and raise an Issue asking to merge the clone.  The links below should explain all the details of this.

http://pythonhosted.org/MDAnalysis/documentation_pages/coordinates/init.html#trajectory-api

https://code.google.com/p/mdanalysis/wiki/ContributingCode

Hope that help
Richard

Oliver Beckstein

unread,
Mar 13, 2015, 7:38:04 PM3/13/15
to mdnalys...@googlegroups.com
Hi Alexey,

Just to add to what Richard already said: We're definitely interested in adding new formats. After all, MDAnalysis is an open source software project and we are striving to be inclusive and provide a code base that is of use to a broad community. The name "MD" in the name is really more historical – of course you can use MDAnalysis for any particle-based simulations, including Monte Carlo and the movement of nuclei in QM. (But "ParticleBasedSimulationAnalysis" is really too long to type ;-) ).

I would wait with your contribution until we have released 0.9.0 in a few days. After that, we are going to move MDAnalysis from Google Code to GitHub and then it will also be easier to fork and send pull requests. We'll then provide updated instructions on how to contribute code. So: please have a little bit of patience and then email again – especially, if you don't hear anything from us in a while: we won't mind at all being reminded that we wanted to incorporate your contribution ;-).

Thanks,
Oliver

On 13 Mar, 2015, at 03:01, Alexey Nesternko wrote:

> We have made MDAnalysis module for reading Firefly/GAMESS trajectories for our needs. Is it possible to include them into distributive? Of course Firefly/GAMESS is not "MD" but during ab initio topology construction it is very important to have trajectories calculated with QM and repeat them in MD. I mean trajectories of energy minimization, sadpoint search, potential energy surface scan or relaxed surface scan. What do you think about it?



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

Alexey Nesternko

unread,
Mar 20, 2015, 2:23:43 PM3/20/15
to mdnalys...@googlegroups.com
Before all, excuse me for stupid questions because it is my first try in participating in open-source projects. I have made clone and commit changes into "develop" branch of it: https://code.google.com/r/comconadin-gamess-mda/source/list?name=develop
Were it correct manipulations?

I've created GMSReader class that reads output files of GAMESS and add it to coordinates/__init__. Then I've created TestCase class in corresponding testing file and add GAMESS datafiles into the directory.

Should I create Topology reader for GAMESS output? I do not understand the aim of it, because GAMESS output have no information except atom names, atom elements, and coordinates. For my purposes I simply convert GAMESS log into XYZ with babel and then work with it.

What is my next step?

суббота, 14 марта 2015 г., 2:38:04 UTC+3 пользователь Oliver Beckstein написал:

Oliver Beckstein

unread,
Mar 20, 2015, 10:15:17 PM3/20/15
to mdnalys...@googlegroups.com

Am Mar 20, 2015 um 11:23 schrieb Alexey Nesternko <comco...@gmail.com>:

Before all, excuse me for stupid questions because it is my first try in participating in open-source projects. I have made clone and commit changes into "develop" branch of it: https://code.google.com/r/comconadin-gamess-mda/source/list?name=develop
Were it correct manipulations?

At first glance this looks all good and you used the latest develop, which should make merging easy. 


I've created GMSReader class that reads output files of GAMESS and add it to coordinates/__init__. Then I've created TestCase class in corresponding testing file and add GAMESS datafiles into the directory.

Good!


Should I create Topology reader for GAMESS output? I do not understand the aim of it, because GAMESS output have no information except atom names, atom elements, and coordinates. For my purposes I simply convert GAMESS log into XYZ with babel and then work with it.

It's convenient to also have the topology parser because otherwise one needs to supply a PDB or XYZ. 

Richard just added a XYZ Topology parser which just gets the list of atoms but that's enough for most cases. 


What is my next step?

Add a simple topology reader. 

The Richard can create a feature branch from your clone and we'll do a code review. You'll the have a look at the comments, fix what needs fixing, and then we merge into develop (and soon 0.9.1)

Oliver



суббота, 14 марта 2015 г., 2:38:04 UTC+3 пользователь Oliver Beckstein написал:
Hi Alexey,

Just to add to what Richard already said: We're definitely interested in adding new formats. After all, MDAnalysis is an open source software project and we are striving to be inclusive and provide a code base that is of use to a broad community. The name "MD" in the name is really more historical – of course you can use MDAnalysis for any particle-based simulations, including Monte Carlo and the movement of nuclei in QM. (But "ParticleBasedSimulationAnalysis" is really too long to type ;-) ).

I would wait with your contribution until we have released 0.9.0 in a few days. After that, we are going to move MDAnalysis from Google Code to GitHub and then it will also be easier to fork and send pull requests. We'll then provide updated instructions on how to contribute code. So: please have a little bit of patience and then email again – especially, if you don't hear anything from us in a while: we won't mind at all being reminded that we wanted to incorporate your contribution ;-).

Thanks,
Oliver

On 13 Mar, 2015, at 03:01, Alexey Nesternko wrote:

> We have made MDAnalysis module for reading Firefly/GAMESS trajectories for our needs. Is it possible to include them into distributive? Of course Firefly/GAMESS is not "MD" but during ab initio topology construction it is very important to have trajectories calculated with QM and repeat them in MD. I mean trajectories of energy minimization, sadpoint search, potential energy surface scan or relaxed surface scan. What do you think about it?



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

--
You received this message because you are subscribed to the Google Groups "MDnalysis-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mdnalysis-dev...@googlegroups.com.
To post to this group, send email to mdnalys...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mdnalysis-devel/708287d8-aeab-4d64-b3c7-08a1a5c25b3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Richard Gowers

unread,
Mar 22, 2015, 1:34:26 PM3/22/15
to mdnalys...@googlegroups.com
Ok I've created the feature branch and done a quick review, looks good, only a few things need fixing.

https://code.google.com/p/mdanalysis/source/list?name=feature-GAMESS_Reader

Richard

Richard Gowers

unread,
Mar 26, 2015, 1:26:03 PM3/26/15
to mdnalys...@googlegroups.com
Ok this has now been merged into develop, Firefly / GAMESS is now officially supported in MDAnalysis!

Alexey Nesternko

unread,
Mar 26, 2015, 5:33:53 PM3/26/15
to mdnalys...@googlegroups.com
It means that my code corrections were all right? ohh.. Thanks for including our code and for code reviews! There are some things that should be done, e.g. switch between symmetry element and symmetry assembly. I'll do it later.

четверг, 26 марта 2015 г., 20:26:03 UTC+3 пользователь Richard Gowers написал:

Oliver Beckstein

unread,
Mar 26, 2015, 6:08:40 PM3/26/15
to mdnalys...@googlegroups.com
Alexey,

Thanks for contributing (and thanks to Richard for managing the merge).

On 26 Mar, 2015, at 14:33, Alexey Nesternko wrote:

> It means that my code corrections were all right? ohh.. Thanks for including our code and for code reviews! There are some things that should be done, e.g. switch between symmetry element and symmetry assembly. I'll do it later.

If you already know that something should be added, file an enhancement in the Issue Tracker and assign it to yourself (– you should be able to do this, I added you to https://code.google.com/p/mdanalysis/people/list as a Contributor). In this way, it won't get forgotten and importantly, other people can already see what needs to be done.

If a bug is found in that part of the code then we will likely assign issues to you and ask you to fix it.

Oliver

>
> четверг, 26 марта 2015 г., 20:26:03 UTC+3 пользователь Richard Gowers написал:
>> Ok this has now been merged into develop, Firefly / GAMESS is now officially supported in MDAnalysis!
>
Reply all
Reply to author
Forward
0 new messages