Spectra status

On Mon, Mar 30, 2009 at 1:06 PM, Jonas Baltrusaitis jasius_1@yahoo.com wrote:

Suggestions on spectral part:

Well, my neighbors upstairs were moving furniture until 4AM today, so
I knocked out quite a few of these requests last night. Just as FYI,
here’s what should make it into the release later today:

  1. let user type in a number where it says scale. Have a total 5
    digits after on scale (e.g. 0.9632, this is a common scaling factor)

I got rid of the slider/lineedit and replaced it with a 5 decimal
spinbox. I kinda miss the slider, though, and may put it back in.

  1. Add absorbance

Y-axis is configurable to do absorbance or transmittance now.

  1. being able to change fonts

Still todo. Size is still configurable though :wink:

  1. being able to move words transmittance and wavenumber on the
    spectrum, also superscript Cm-1

I’m working with Qt to figure this one out. Apparently the
QPainter::drawText() calls ignore html tags. Maybe we’ll come up with
a reasonable workaround until they can fix that.

  1. being able to add broadening to calculated peaks. this it very
    important. broaden them Gaussian or Lorentzian and change the FWHM
    of the broadening at will with a slider

Still waiting on some feedback: Should the peaks be superimposed or
discrete?

  1. zoom onto particular region of the spectrum by dragging a mouse over the spectrum and zooming back to the full spectrum

This is implemented along with much, much more. Thanks to my neighbors, the
plotwidget now natively supports the following actions:

  • Right click + drag to move around in the plot
  • Scroll to zoom in/out around a particular region
  • Middle click and drag to draw a rectangle to zoom to
  • Double left click to restore a “default” plot limit.

On a completely unrelated note, a customization of visualization
should be added, e.g. user should be able to adjust colors and
representation of atoms and save it as his/her own scheme. I come up
on that a lot when one journal needs black and white images and the
other in color. Saved customizable schemes would help a lot.

Still todo.

Dave

Wow… Impressive. I will get back to you on broadening, as promised. Let me know when you would like to try other spectroscopic data.

I am still waiting for mt newbish C++ project related with Avogadro

Question to all: what about software packages that can’t be used with OpenBabel, such as ORCA or NWChem?

Jonas

— On Wed, 4/1/09, David Lonie loniedavid@gmail.com wrote:

From: David Lonie loniedavid@gmail.com
Subject: Spectra status
To: jasius_1@yahoo.com, avogadro-devel@lists.sourceforge.net
Date: Wednesday, April 1, 2009, 7:49 AM
On Mon, Mar 30, 2009 at 1:06 PM, Jonas Baltrusaitis
jasius_1@yahoo.com wrote:

Suggestions on spectral part:

Well, my neighbors upstairs were moving furniture until 4AM
today, so
I knocked out quite a few of these requests last night.
Just as FYI,
here’s what should make it into the release later
today:

  1. let user type in a number where it says scale. Have
    a total 5
    digits after on scale (e.g. 0.9632, this is a common
    scaling factor)

I got rid of the slider/lineedit and replaced it with a 5
decimal
spinbox. I kinda miss the slider, though, and may put it
back in.

  1. Add absorbance

Y-axis is configurable to do absorbance or transmittance
now.

  1. being able to change fonts

Still todo. Size is still configurable though :wink:

  1. being able to move words transmittance and
    wavenumber on the
    spectrum, also superscript Cm-1

I’m working with Qt to figure this one out. Apparently
the
QPainter::drawText() calls ignore html tags. Maybe
we’ll come up with
a reasonable workaround until they can fix that.

  1. being able to add broadening to calculated peaks.
    this it very
    important. broaden them Gaussian or Lorentzian and
    change the FWHM
    of the broadening at will with a slider

Still waiting on some feedback: Should the peaks be
superimposed or
discrete?

  1. zoom onto particular region of the spectrum by
    dragging a mouse over the spectrum and zooming back to the
    full spectrum

This is implemented along with much, much more. Thanks to
my neighbors, the
plotwidget now natively supports the following actions:

  • Right click + drag to move around in the plot
  • Scroll to zoom in/out around a particular region
  • Middle click and drag to draw a rectangle to zoom to
  • Double left click to restore a “default” plot
    limit.

On a completely unrelated note, a customization of
visualization
should be added, e.g. user should be able to adjust
colors and
representation of atoms and save it as his/her own
scheme. I come up
on that a lot when one journal needs black and white
images and the
other in color. Saved customizable schemes would help a
lot.

Still todo.

Dave

Jonas Baltrusaitis wrote:

Wow… Impressive. I will get back to you on broadening, as promised. Let me know when you would like to try other spectroscopic data.

I am still waiting for mt newbish C++ project related with Avogadro

Question to all: what about software packages that can’t be used with OpenBabel, such as ORCA or NWChem?

With regards to packages that can’t be used with OpenBabel support would
need to be added to OpenBabel/Avogadro. Unless you know of a suitably
licensed library that can read their file formats. If you understand the
file formats and want to learn C++ that could be a great place to start.

You could copy the Gaussian simple input extension and adapt it to
generate input. You could copy one of the existing OpenBabel format
plugins and adapt it to read in geometries etc.

On Apr 1, 2009, at 11:17 AM, Jonas Baltrusaitis wrote:

Question to all: what about software packages that can’t be used
with OpenBabel, such as ORCA or NWChem?

Who says that NWChem can’t be used with Open Babel? (Hint, look under
“N”)
http://openbabel.org/wiki/Category:Formats

As for other software packages… you implement some import/export
code in Open Babel and you’re all set. It’s honestly pretty easy in
most cases to modify something like GAMESS or Gaussian or MOPAC import
to support another quantum package.

And if you don’t want to wait for the next Open Babel release, we can
bundle the new format with Avogadro in the meantime.

Cheers,
-Geoff

I swear it wasn’t there before

Is there an easy way to implement not the final structure visualization, but also all geometry optimization steps, multijob steps etc?

— On Wed, 4/1/09, Geoffrey Hutchison geoff.hutchison@gmail.com wrote:

From: Geoffrey Hutchison geoff.hutchison@gmail.com
Subject: Re: [Avogadro-devel] Spectra status
To: jasius_1@yahoo.com
Cc: avogadro-devel@lists.sourceforge.net, “David Lonie” loniedavid@gmail.com
Date: Wednesday, April 1, 2009, 9:06 AM
On Apr 1, 2009, at 11:17 AM, Jonas Baltrusaitis wrote:

Question to all: what about software packages that
can’t be used with OpenBabel, such as ORCA or NWChem?

Who says that NWChem can’t be used with Open Babel?
(Hint, look under “N”)
http://openbabel.org/wiki/Category:Formats

As for other software packages… you implement some
import/export code in Open Babel and you’re all set.
It’s honestly pretty easy in most cases to modify
something like GAMESS or Gaussian or MOPAC import to support
another quantum package.

And if you don’t want to wait for the next Open Babel
release, we can bundle the new format with Avogadro in the
meantime.

Cheers,
-Geoff

On Wed, Apr 01, 2009 at 11:24:57AM -0400, Marcus D. Hanwell wrote:

You could copy the Gaussian simple input extension and adapt it to
generate input.

BTW, before this gets adopted for all kinds of QM packages, I’d like to
at least propose an alternative route:

Make OpenBabel and the relevant formats understand the parameters
currently used in the input deck generator, and just call OB to export a
file. That way, the GUI could even be format agnostic (except for the
preview maybe, if it is feasable to pipe/put the OB output into the
preview for each change).

Michael

Michael Banck wrote:

On Wed, Apr 01, 2009 at 11:24:57AM -0400, Marcus D. Hanwell wrote:

You could copy the Gaussian simple input extension and adapt it to
generate input.

BTW, before this gets adopted for all kinds of QM packages, I’d like to
at least propose an alternative route:

Make OpenBabel and the relevant formats understand the parameters
currently used in the input deck generator, and just call OB to export a
file. That way, the GUI could even be format agnostic (except for the
preview maybe, if it is feasable to pipe/put the OB output into the
preview for each change).

I am open to ideas, but when I looked at this it did not look feasible.
I was thinking of making a base class that would do some of the work and
then just adapting the rest. The issue we have is that the different
quantum packages vary so much, and we talked about this at the quantum
chemistry conference I attended in Daresbury.

I am willing to put some time into coming up with a reasonable base
class, but I think that each dialog will likely need to be designed for
the quantum package in question. There is no uniformity and so trying to
impose one dialog seems unlikely to be successful. Especially if we are
considering going from STO/semi-empirical, to GTO to plane wave.

It could be worth surveying what is currently available, and how those
packages achieved what they did. I have looked at a few of them already.
Part of it is also finding people with time who are using these packages
and know them…

On Wed, Apr 01, 2009 at 02:23:46PM -0400, Marcus D. Hanwell wrote:

There is no uniformity and so trying to impose one dialog seems
unlikely to be successful. Especially if we are considering going from
STO/semi-empirical, to GTO to plane wave.

True, semi-empirical, QM and plane wave might be different kind of
things - but at least among the various QM packages some level of
uniformity can be achieved. So maybe having two or three “modes” might
be fine.

The level of uniformity would likely be useful up until around
grad-level (being european, I never can tell exactly what that is, but
oh well). Once you’re doing your Ph.D., you likely hand-craft/
post-process your input files for the tougher cases.

Michael

On Wed, Apr 1, 2009 at 9:49 AM, David Lonie loniedavid@gmail.com wrote:

On Mon, Mar 30, 2009 at 1:06 PM, Jonas Baltrusaitis jasius_1@yahoo.com wrote:

Suggestions on spectral part:

  1. being able to change fonts

Still todo. Size is still configurable though :wink:

Now done with a QFontDialog. It is now possible to label the plot with
wingdings, if you so desire :slight_smile:

  1. being able to move words transmittance and wavenumber on the
    spectrum, also superscript Cm-1

I’m working with Qt to figure this one out. Apparently the
QPainter::drawText() calls ignore html tags. Maybe we’ll come up with
a reasonable workaround until they can fix that.

I’ve got a suggestion for this from qt, to manually call
QLabel::render() within the QFrame instead of using drawText() with
the painter. This will take a rather in-depth rewrite of the
plotwidget code, I’ll probably not get to it until later.

  1. being able to add broadening to calculated peaks. this it very
    important. broaden them Gaussian or Lorentzian and change the FWHM
    of the broadening at will with a slider

Still waiting on some feedback: Should the peaks be superimposed or
discrete?

Done in my fork – gaussian superposition of the peaks with adjustable
FWHMs from 0->1000 cm^-1. Let me know if this is what you were looking
for when you get a chance to test it.

Dave

Whenever I get a exe file from somebody. But I can wait

— On Wed, 4/1/09, David Lonie loniedavid@gmail.com wrote:

From: David Lonie loniedavid@gmail.com
Subject: Re: Spectra status
To: jasius_1@yahoo.com, avogadro-devel@lists.sourceforge.net
Date: Wednesday, April 1, 2009, 6:38 PM
On Wed, Apr 1, 2009 at 9:49 AM, David Lonie
loniedavid@gmail.com wrote:

On Mon, Mar 30, 2009 at 1:06 PM, Jonas Baltrusaitis
jasius_1@yahoo.com wrote:

Suggestions on spectral part:

  1. being able to change fonts

Still todo. Size is still configurable though :wink:

Now done with a QFontDialog. It is now possible to label
the plot with
wingdings, if you so desire :slight_smile:

  1. being able to move words transmittance and
    wavenumber on the
    spectrum, also superscript Cm-1

I’m working with Qt to figure this one out.
Apparently the
QPainter::drawText() calls ignore html tags. Maybe
we’ll come up with
a reasonable workaround until they can fix that.

I’ve got a suggestion for this from qt, to manually
call
QLabel::render() within the QFrame instead of using
drawText() with
the painter. This will take a rather in-depth rewrite of
the
plotwidget code, I’ll probably not get to it until
later.

  1. being able to add broadening to calculated
    peaks. this it very
    important. broaden them Gaussian or Lorentzian and
    change the FWHM
    of the broadening at will with a slider

Still waiting on some feedback: Should the peaks be
superimposed or
discrete?

Done in my fork – gaussian superposition of the peaks with
adjustable
FWHMs from 0->1000 cm^-1. Let me know if this is what
you were looking
for when you get a chance to test it.

Dave

On Wed, Apr 1, 2009 at 9:15 PM, Jonas Baltrusaitis jasius_1@yahoo.com wrote:

Whenever I get a exe file from somebody. But I can wait

I’m actually taking the plunge and trying to get MS visual studio to
work on my XP vm, so I may be able to get one to you in the next day
or so, if no one beats me to it :slight_smile:

Dave