Cavenfish / autogamess

This is a python module for automating Raman calculations using GAMESS(us).
MIT License
9 stars 8 forks source link

Using openbabel to parse a structure #18

Closed shivupa closed 5 years ago

shivupa commented 5 years ago

I updated the notebook to illustrate how to use openbabel to parse a molecule. For a molecule parsed like this you will have to run in C1 since there isn't a way to detect the symmetry group (that I know of). You'll have to wrap this stuff in a function and deal with filetypes that aren't understood, but otherwise I think this should work.

2 minor things: the docstring for newproject is somewhat confusing as the initial coords dict actually has coordinates and point group not just coordinates.

In the examples folder you included the ipython notebook and csv and all the files generated by gamess/autogamess. I think it would be cleaner to only include the ipython notebook and csv. (The new notebook has added plotting so consider updating it to this one. If you do you'll need to add a h2o.xyz file).

Cavenfish commented 5 years ago

@shivupa I believe it would serve no purpose to include in openbabel for initial geometry making if it can only handle C1 point group. Most users will prefer to use higher symmetry groups, which will result in them needing to still pass the unique symmetry specific atom coordinates and point group symmetry. Which defeats the point of the openbabel integration.

In terms of the confusion on initial_coords_dict I can change the name but I believe the documentation is what is more important for comprehension of the parameter. Is the explanation in the README about initial_coords_dict needing improvement? I will try to expand on it a bit more, please let me know if there is anything in it that still remains unclear.

shivupa commented 5 years ago

I think your commit addresses what I was confused about.

I also should clarify some points of the openbabel integration. If you include openbabel, it allows you to load structures saved as say xyz, but openbabel doesn't detect symmetry groups which is why you would need to run in C1 right now. However you could later on integrate something like https://github.com/mcodev31/libmsym to detect point group symmetries of molecules that are read in and equivalent atoms. This could be more trouble than its worth. This isn't essential but IMO would be easier for the user.