I am traying ot use xtb/crest plugin with Avogradro (1.99 on Ubuntu 24).
Is there a way to force the use of multiple cores?
Related to this the plugin “Run…” command does not seem to work, whatever command I give, while the “Energy”, “Optimize”, etc. buttons do work (1-coer only).
Any help is appreciated!
Thanks
Rino
Hi! Glad to hear you’re interested in the plugin and that you’ve at least got it up and running!
Not in the version you’ve got – but I actually added running in parallel a couple of weeks ago! I had been waiting to collect more changes before a new release, but now you’ve asked about it, I’ve just released v0.6.0, which includes it.
@ghutchis Would you mind refreshing the plugin repos again if it’s not yet running automatically?
Once the new version comes through you should be able to download it from the plugin manager. If you don’t want to wait till then you can manually install it by getting it from the plugin’s releases page on GitHub.
The way I have implemented it, it should auto-detect the number of threads available and instruct xtb/crest to use a sensible number that leaves at least one left over. Let me know if it doesn’t work as expected.
Doesn’t seem to work for me either actually. I’ll have a look into it.
Out of interest, what did you want to use Run for? Just to add the parallel option?
Hi @matterhorn103 I was looking for your reply!
Yes, I hoped that with “Run…” command I could circumvent the parallellization issue by using -T option like:
crest -gfn2 -T 4
but in the future it might be useful for other xtb/crest options as well.
For the manual installiation, is it enough to extract the tar.gz in the previous avo_txb directory?
Yep, just get rid of all the old files and put in the new ones. It’ll pick up your config and you shouldn’t need to reinstall the xtb/crest binaries either.
Note that you can also now explicitly set the number of threads you want to use in the avo_xtb configuration dialog, if you want to increase or decrease it from the default (~75% of available).
Quick question since I haven’t looked at the new version yet. Does it add the crest micro-solvation feature? Like can I use the plugin to add a water or two to a molecule?
Not yet but it’s high on the To-Do list. The reason I did the overhaul going into v0.5 was that it’s now easy for me to add new runtypes, so I’ll look to add it in the next few weeks.
Reaction path finding (xtb) is the other thing I was keen to implement next.
One stumbling back for both is that I don’t know how I’d add an acceptable interface for selecting two geometries (solute and solvent for solvation, start and end for reaction paths). Asking the user to put them in separate layers would work I guess but seems a bit clunky.
I have some initial code for a conformers / coordinates window, so if you store “energies” as a list in CJSON properties, it should get picked up. There’s also a bit of code to pick this out of an xtb or crest XYZ file.
This is actually another use-case where I think it would be nice if instead of Molecules / Layers panes we had Files / Geometries / Layers panes. Where Files is what Molecules currently is (different CJSON files), and Geometries is the set of 3D coordinates arrays (what’s currently only accessible as “frames” in the Animation Tool).
Yeah could do, just might swell the package size a bit and it sort of duplicates the files that Avogadro already comes with. I’ll have a think on that. Maybe I can reuse the Avogadro ones. Could Avogadro maybe set AVOGADRO_PREFIX_DIR or something in the environment the Python scripts get executed in?
That’s an option, sure.
Perfect! The plugin already returns the energies array, so hopefully that’ll work right off the bat.
The plugin gets passed the charge and multiplicity of the molecule by Avogadro, so to have the plugin run calculations with a charge other than 0 you need to set it in the main Avogadro interface.
To do this easily you need a version of Avogadro more recent than 2024-11-22, which is when @ghutchis merged the code to enable it.
If you have a recent enough version, you can edit the charge and multiplicity in the Molecular Properties Dialog, found under Analysis > Properties > Molecular.
On older versions of Avogadro the only real way to do it is to save your molecule as CJSON, open the CJSON file in a text editor, change the field properties.totalCharge from the default 0 to whatever you want it to be, save it, then reopen the file in Avogadro.
Which packaging format of Avogadro do you have? From apt or the Flatpak or the AppImage?
Thanks for the reply. I got it by apt one week ago, I only see “version 1.99.00” with no date in the about window. Analysis > Properties > Molecular has no editable fields. I will edit the cjson file as suggested!
Rino
Fair enough. Yeah, the normal distro packages are only ever the stable releases. If you’d like the latest functionality your best options are either the nightly AppImage or the beta Flatpak (see the install page).
I have a problem with qcg and crest, I tried to reproduce the examples on crest-lab.github.io but I always get an error message like: #0 0xced1d0 in ??? #1 0xced479 in ??? #2 0xcee587 in ??? #3 0x845de4 in __strucrd_MOD_rdxmol
at /home/runner/work/crest/crest/src/strucreader.f90:1028 #4 0x846c83 in strucrd_MOD_rdcoord
at /home/runner/work/crest/crest/src/strucreader.f90:936 #5 0x6a94d3 in qcg_grow
at /home/runner/work/crest/crest/src/qcg/solvtool.f90:661 #6 0x6b3e68 in crest_solvtool
at /home/runner/work/crest/crest/src/qcg/solvtool.f90:87 #7 0x40e52b in crest
at /home/runner/work/crest/crest/src/crest_main.f90:261 #8 0x408f7e in main
at /home/runner/work/crest/crest/src/crest_main.f90:26
This is possibly a permission issue (my user has not the permission to write in /home/runner/…), so my question is how to chnage the working (runner) directory.
Thanks
I made the directory writable by everyone but the error is still there. It only occurs with qcg, any other xtb/crest calculation I tried so far works properly.