I’d like to ask about Avogadro2 extensions and priorities.
Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It offers flexible rendering and a powerful plugin architecture. The code in this repository is a rewrite of Avogadro with. Avogadro 2 is a chemical editor and visualization application, it is also a set of reusable software libraries written in C using principles of modularity for maximum reuse. The development of the first generation Avogadro application and library is documented in our paper, and this remains the preferred method of citation at present.
In Avogadro 1, plugins were loaded in alphabetical order (sorted by the filesystem) and then the extension provided an ordered list of commands. This meant that the extension basically was responsible for building out a menu in-order. (I’m thinking for example of the Molecular Mechanics submenu.)
In Avogadro v2, it’s very hard to do this. Menu items are sorted alphabetically and/or by priority. But since nothing has priority set right now, things jump to the top.
I’m thinking for example of cut/copy/paste.
Every OS has standardized on the order of cut-copy-paste. Of course this isn’t in alphabetical order.
So right now, in Avogadro v2, you get “Copy - Cut - Paste”.
I’m happy to patch the behavior (and revert back to Avogadro v1 strategy of each plugin providing an ordered list). Was there a reason for this design?
Thanks,
-Geoff
Dear All,
Currently, I make use of avogadro2 on my desktop which is running Ubuntu 20.04. The binaries are from the deb packages supplied by avogadro and libavogadro2-1.
Avogadro Chemistry Software
I have noticed that the “Quantum–>Input generators” pull down is absent. I have also noticed that the “plugin downloader” does not work either, but I think this a separate issue (I think it’s putting them in the wrong location).
Anyway, I manually moved the scripts to the expected location: ~/.local/share/OpenChemistry/Avogadro/inputGenerators
but this did not work. I also note that a few people may also be experiencing this too:
Avogadro's Law
Anything that’s not a script will get ignored. On launch, it will go through the files and track which ones it can run. We decided not to restrict extensions because someone might want to write in Shell or Ruby or Julia or whatever. The point of downloading is that you can update those scripts without needing a new release of Avogadro. The versions you downloaded are likely slightly newer than in the last released version. I don’t remember offhand if there’s something new, but I think PySCF wa…
For the Mac, should that directory exist already with the binary install of Avogadro2? I checked Library/Application Support for both the system and my user account and neither had an OpenChemistry folder. Manually creating the folders and placing the various .py files there didn’t seem to help Avogadro2 to find them.
So, to investigate, I compiled avogadro2 from source, from the git repo:
This worked; I was able see “Quantum–>Input generators” and all the input generators. So… my attention turned to the compilation and packaging that Ubuntu was using.
Next, I compiled the src debian packages (https://launchpad.net/ubuntu/+source/avogadrolibs/1.93.0-3 and https://launchpad.net/ubuntu/+source/avogadro/1.93.0-1) and installed the generated debs. I, again, saw the original problem.
Now, I suspect there is a bug with the packaging process (the actual compile processes are in ./debian/rules in this file ).
I also notice that from the terminal, the deb binary does not report looking for the input generator (see 'Checking for “foo” … '):
But, the version compiled from the git source, does:
My current theory is the absence of avogadrogenerators in the deb package building process could be the issue and somehow prevents the final binary from searching fro input generators. This is just speculation at the moment…
Avogadro 2 Download
I am still working my way through the related code, but I just wanted to document what I had found thus far.
What do you think?
Thanks,
Mark