Avogadro Manuscript

Hi Geoff,

On Wed, May 16, 2012 at 9:07 PM, Geoffrey Hutchison geoff.hutchison@gmail.com wrote:

We’re currently finishing up a manuscript on Avogadro, to be submitted as part of an upcoming special topic “issue” of J. Cheminformatics. I realized last night, that in submitting to an open access journal, we can let everyone see the article before, during, and after submission:

https://github.com/avogadropaper/avogadropaper/raw/master/AvogadroPaper/AvogadroPaper.pdf

Some feedback; it’s a nice read:

  • in the reference section, many of the cited webpage do not author(s)
    yet. Those should be added. E.g. “55. OpenSMILES 2012,
    [http://opensmiles.org/].” This is a specification, much more than a
    random webpage. BMC allows authors on webpages, and is the right thing
    to do.
  • intro: Jmol is with a lower case ‘m’
  • in section 5 you should explain why Avogadro stuck with GPL, when Qt
    moved to LGPL, because the text now seems to suggest the latter is
    better and you were forced into GPL when Qt still had that license.
  • ‘OpenGL 1.1 and below is used in most of the rendering code, and so
    Avogadro can be used even on modest, older computer systems." Remove
    ’modest’; that has nothing to do with an older OpenGL version, and
    instead suggests that OpenGL is the only way to get something to work
    in structure viz on older machines, which is incorrect. A second
    aspect is of OpenGL… there are plenty of new but crappy ThinkPads
    around which only have a mobile graphics processor. I have one, and it
    really sucks, and makes Avogadro very slow on my laptop (surfaces are
    impossible, but even default rotation is awkward…). Bottom line:
    there is new hardware too without proper hardware accelleration, so
    even the ‘older computer systems’ in that statement is incorrect.
    Maybe just update to “computers without modern accellerated graphics”.
  • and to balance things, OpenGL also makes Avagadro more crash-prone
    (and fairly, with just 2 minutes of working with it, it crashed again,
    though I could not reproduce it in the next 2 minutes)
  • fig 10: explain the coloring in the caption
  • “Other requirements (if compiling): CMake 2.6+” Should Qt, OB, …
    not be listed here too?
  • “Any restrictions to use by non-academics: None” That’s a BMC thing,
    but obviously non-academics do have restrictions too: they are equally
    copy-lefted like anyone else :slight_smile:

What about a scripting language, like Jmol and Bioclipse have?

Grtz,

Egon


Dr E.L. Willighagen
Postdoctoral Researcher
Department of Bioinformatics - BiGCaT
Maastricht University (http://www.bigcat.unimaas.nl/)
Homepage: http://egonw.github.com/
LinkedIn: http://se.linkedin.com/in/egonw
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers

Some feedback; it’s a nice read:

Drat. Now I can’t use you as a reviewer. :wink:

  • in the reference section, many of the cited webpage do not author(s)
    yet. Those should be added. E.g. “55. OpenSMILES 2012,
    [http://opensmiles.org/].” This is a specification, much more than a
    random webpage. BMC allows authors on webpages, and is the right thing
    to do.

It’s a good idea. I’ll have to look through all contributors to the specification.

  • in section 5 you should explain why Avogadro stuck with GPL, when Qt
    moved to LGPL, because the text now seems to suggest the latter is
    better and you were forced into GPL when Qt still had that license.

Good point. As you’re aware, the restriction is on Open Babel. This is one incentive for the MolCore and ChemKit pushes, and I think it’s fair to state that Avogadro 2.0 will be released under the BSD license.

aspect is of OpenGL… there are plenty of new but crappy ThinkPads
around which only have a mobile graphics processor. I have one, and it
really sucks, and makes Avogadro very slow on my laptop (surfaces are
impossible, but even default rotation is awkward…).

I appreciate your suggestions here, but I’m curious about your performance issues. As you know, I use Mac, and many of my students use Windows. My group has several of these “slow” integrated GPUs and have good performance.

I know you’re using Linux, but what driver are you using?

  • and to balance things, OpenGL also makes Avagadro more crash-prone
    (and fairly, with just 2 minutes of working with it, it crashed again,
    though I could not reproduce it in the next 2 minutes)

One issue we’ve identified with OpenGL is the existence of different “pipelines.” Most of the tutorials out there for OpenGL, and indeed many other viewer programs use an older pipeline, rather than uploading shapes onto the GPU. The latter strategy is used by modern games. So better performance is found in this modern pipeline, and this aspect of the card and driver are more heavily tested.

But is this Avogadro’s crash because the driver has a bug? I’m happy to look at crash logs and stack traces, but 90% of these “random” crashes turn out to be the drafting.

  • fig 10: explain the coloring in the caption
  • “Other requirements (if compiling): CMake 2.6+” Should Qt, OB, …
    not be listed here too?

Good points.

  • “Any restrictions to use by non-academics: None” That’s a BMC thing,
    but obviously non-academics do have restrictions too: they are equally
    copy-lefted like anyone else :slight_smile:

Do you have a suggestion for wording?

What about a scripting language, like Jmol and Bioclipse have?

You can script Avogadro using Python. I’m investigating use of JavaScript through QtScript, but there are cases of Python extensions – it’s probably worth us linking to a few of these.

Thanks,
-Geoff

On Thu, May 17, 2012 at 4:22 PM, Geoffrey Hutchison geoff.hutchison@gmail.com wrote:

Some feedback; it’s a nice read:

Drat. Now I can’t use you as a reviewer. :wink:

:slight_smile:

  • in the reference section, many of the cited webpage do not author(s)
    yet. Those should be added. E.g. “55. OpenSMILES 2012,
    [http://opensmiles.org/].” This is a specification, much more than a
    random webpage. BMC allows authors on webpages, and is the right thing
    to do.

It’s a good idea. I’ll have to look through all contributors to the specification.

It applies to several webpage / references…

  • in section 5 you should explain why Avogadro stuck with GPL, when Qt
    moved to LGPL, because the text now seems to suggest the latter is
    better and you were forced into GPL when Qt still had that license.

Good point. As you’re aware, the restriction is on Open Babel. This is one incentive for the MolCore and ChemKit pushes, and I think it’s fair to state that Avogadro 2.0 will be released under the BSD license.

OK. I thoughts so, but the next did not say much about strong
dependencies in that part… But nothing wrong with clarifying such
things in the paper, IMHO.

aspect is of OpenGL… there are plenty of new but crappy ThinkPads
around which only have a mobile graphics processor. I have one, and it
really sucks, and makes Avogadro very slow on my laptop (surfaces are
impossible, but even default rotation is awkward…).

I appreciate your suggestions here, but I’m curious about your performance issues. As you know, I use Mac, and many of my students use Windows. My group has several of these “slow” integrated GPUs and have good performance. I know you’re using Linux, but what driver are you using?

Fair point, indeed. It’s running ‘i915’… that’s kind of something I
miss in Debian GNU/Linux… clear suggestions on what less free but
better performing modules I can use.

  • and to balance things, OpenGL also makes Avagadro more crash-prone
    (and fairly, with just 2 minutes of working with it, it crashed again,
    though I could not reproduce it in the next 2 minutes)

One issue we’ve identified with OpenGL is the existence of different “pipelines.” Most of the tutorials out there for OpenGL, and indeed many other viewer programs use an older pipeline, rather than uploading shapes onto the GPU. The latter strategy is used by modern games. So better performance is found in this modern pipeline, and this aspect of the card and driver are more heavily tested.

But is this Avogadro’s crash because the driver has a bug? I’m happy to look at crash logs and stack traces, but 90% of these “random” crashes turn out to be the drafting.

Dunno, unfortunately :frowning: The command line only said ‘Segmentation
fault’… how do I turn on debugging?

  • fig 10: explain the coloring in the caption
  • “Other requirements (if compiling): CMake 2.6+” Should Qt, OB, …
    not be listed here too?

Good points.

  • “Any restrictions to use by non-academics: None” That’s a BMC thing,
    but obviously non-academics do have restrictions too: they are equally
    copy-lefted like anyone else :slight_smile:

Do you have a suggestion for wording?

This is something I should pick up with Kuras and Bailey… “None
additional” or “No specific”?

What about a scripting language, like Jmol and Bioclipse have?

You can script Avogadro using Python. I’m investigating use of JavaScript through QtScript, but there are cases of Python extensions – it’s probably worth us linking to a few of these.

Yeah, I saw the Python binding… but I could not find how to use that
via the GUI… if that is possible, then I would certainly mention
that in the paper.

Egon


Dr E.L. Willighagen
Postdoctoral Researcher
Department of Bioinformatics - BiGCaT
Maastricht University (http://www.bigcat.unimaas.nl/)
Homepage: http://egonw.github.com/
LinkedIn: http://se.linkedin.com/in/egonw
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers

It applies to several webpage / references…

Done.

OK. I thoughts so, but the next did not say much about strong
dependencies in that part… But nothing wrong with clarifying such
things in the paper, IMHO.

Done.

Fair point, indeed. It’s running ‘i915’… that’s kind of something I
miss in Debian GNU/Linux… clear suggestions on what less free but
better performing modules I can use.

Dunno. A quick search turns up:
https://launchpad.net/~glasen/+archive/intel-driver

Dunno, unfortunately :frowning: The command line only said ‘Segmentation
fault’… how do I turn on debugging?

ulimit -c unlimited # dump core files
gdb /path/to/binary core

This is something I should pick up with Kuras and Bailey… “None
additional” or “No specific”?

Ok, I went with “none additional,” which seems appropriate. Thanks!

Yeah, I saw the Python binding… but I could not find how to use that
via the GUI… if that is possible, then I would certainly mention
that in the paper.

If Python is enabled, there will be a Python terminal window:
http://avogadro.openmolecules.net/wiki/Tutorials:Console

I’ve added this to the paper. Thanks for the suggestions!

-Geoff

Hi!

Nice paper. Egon already raised the point I had in mind - GPL vs BSD
licensing discussion (seemed unfinished, I have missed the reasoning
which led to the push for BSD, sounded like intent to close Avogadro and
sell it).

C , 2012-05-17 17:08 +0200, Egon Willighagen rakstīja:

Fair point, indeed. It’s running ‘i915’… that’s kind of something I
miss in Debian GNU/Linux… clear suggestions on what less free but
better performing modules I can use.

For better or worse, Intel works very closely to upstreams for their
graphics drivers. They don’t have proprietary binary blobs. The best
performance is offered by their newest drivers with SNA (sandybridge
acceleration architecture; works also for older generation GPUs despite
the name). The downside is that to get the newest intel drivers all
graphics stack has to be updated, that includes kernel, libdrm, mesa, X
server and xf86-video-intel (with SNA enabled).

I’m not familiar with the state of Debian in this respect. I’m using
Gentoo with linux 3.3, xorg-server 1.12 and the rest of the components
building from git. I think most of the SNA work was merged in mesa 8.0
and xf86-video-intel 2.18 (since mesa 8.0 intel driver supports OpenGL
v3.0, not sure if for all generations tough), at least Debian unstable
seems to have them.

I have Intel Sandybridge CPU with iGPU and I would say that it performs
reasonably well. For graphically heavier tasks (applications) I’m using
discrete Nvidia GPU through Bumblebee (I have one of those Optimus
laptops with Intel iGPU and Nvidia dGPU). At this point stability is the
bigger issue, performance for Intel will improve with time and also for
Optimus will improve even further with Prime project.

As for Avogadro’s crashyness, in my experience it is not uncommon at
all. The biggest problems have been with automatic hydrogen adjustment
when drawing (those should be fixed by now) and sometimes completely
mysterious crashes. Lately I’m using git version of Avogadro, so I’m
probably seeing different set of issues as stable. Tough my usage of
Avogadro is not heavy enough to give it serious testing.

Reinis