GithubHelp home page GithubHelp logo

ghutchis / avogadro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cryos/avogadro

2.0 2.0 0.0 222.64 MB

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.

Home Page: http://avogadro.cc/

License: GNU General Public License v2.0

C++ 70.94% Shell 0.52% Python 1.07% C 24.64% Ruby 0.01% CMake 1.91% QMake 0.01% GLSL 0.28% Batchfile 0.02% Perl 0.19% NSIS 0.25% Makefile 0.01% Objective-C 0.14%

avogadro's Introduction

Hi there ๐Ÿ‘‹

I'm Geoff Hutchison

  • I'm a Professor at the University of Pittsburgh
    • In the Department of Chemistry
    • Also in the Department of Chemical and Petroleum Engineering

Our lab webpage: https://hutchisonlab.org/

We develop new materials, as well as functional microscale and nanoscale devices. We focus on building electronic materials from molecular subunits, both organic and inorganic, using a variety of techniques to rationally design the desired properties. This encompasses chemical synthesis, characterization (both physical and chemical), combined with theoretical modeling and simulation.

On GitHub, we publish raw science (Open Science), scripts, and chemistry tools

  • โš—๏ธ Designer, co-creator, and lead developer of Avogadro
  • ๐Ÿก Founder and lead developer of Open Babel
  • ๐Ÿค Collaborations (science, code, or both!)
  • ๐Ÿค” Iโ€™m looking for help with Avogadro, particularly documentation and website writing
  • ๐Ÿ˜„ Pronouns: he/him

Geoff's GitHub Stats

Social Links:

avogadro's People

Contributors

andreas-schwab avatar annulen avatar bjacob avatar cryos avatar csantosbh avatar cstein avatar darkenzee avatar egonw avatar exzombie avatar ghutchis avatar gkedziora avatar heirecka avatar kbal avatar kgs-rastede avatar ktns avatar lenkd avatar linucks avatar matthewkennedy6 avatar naomifox avatar profmantha avatar psavery avatar raimis avatar rakuco avatar reinis avatar sctincman avatar serval2412 avatar soc avatar ssmir avatar timvdm avatar unkillbob avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

avogadro's Issues

Closing first MainWindow confuses other views

If I close the first MainWindow opened (e.g., on Mac with multiple windows open), the views in second window goes blank.

This can be fixed by creating a new view, and then closing the existing "view 0."

It's not clear why the view goes to black. It also doesn't affect other windows if you have >2 windows open when you close the first.

Reported by: @ghutchis

Electrostatic potential as "fog"

One interesting request was made recently -- rather than mapping functions such as electrostatic charge to a surface, to graph the f(xyz) data as a volumetric, colored "fog."

This might even be as easy as interpolating every few pixels and drawing a colored dot.

Games also have various types of fog effects, so this should be possible with OpenGL and may be easier than a surface (i.e., not requiring an external library).

Reported by: @ghutchis

Labels show strange transparency issue

If I use the manipulatetool or navigatetool and click on an atom while labels are displayed, the "extra" transparent sphere (in red or yellow) from the tool does not properly overlay the label.

There is a small semi-circular region which does not reflect the red or yellow color. This is best illustrated in the attached screenshot from Mac OS X.

Reported by: @ghutchis

problems with label engine

Since the recent changes bringing renderOpaque, renderTransparant, overlays, etc., the LabelEngine triggers some bugs:

  1. When LabelEngine is active, the yellow sphere of the navigatetool is no longer transparent.
  2. When LabelEngine is active, only one of the molecules in a UnitCell gets rendered, the others are hidden. Moreover, the labelengine shows a transparency problem in that case.

I have added qDebug() to check the glPushMatrix/glPopMatrix calls in TextRenderer, and they look just fine. Therefore I suppose this might be a problem in the new "overlay" system (as LabelEngine is flagged as an overlay), which is why I assign this bug to you, Donald.

Reported by: benoitjacob

projection problem

The camera's project function is projecting into a co-ordinate system with 0,0 at the bottom left and the y axis going up instead of having 0,0 at the top left and the y axis going down.

Reported by: rbraith

Draw tool "alchemy" doesn't update painting

The draw tool has a mode where you can change the element by clicking on an existing atom.

This does not generate an undo command (change atom?).

This also does not update the painting in the GLWidget. Only creating a new atom (or anything else) will cause an update.

Reported by: @ghutchis

speed is not what it used to be

Hi,

I have some protein file that I use for testing; in the default viewpoint with maximized window I used to get 8 FPS and since some time I only get 3.5 FPS. I think that change happened approximately at the time when threading was introducted, or maybe when renderOpaque/renderTransparent were introduced.

Moreover, frustum culling does no longer seem to help performance. With that same molecule, when using a viewpoint from which only a few atoms were visible, I used to get more than 40 FPS. Now I can't get more than 4.5 FPS.

Some things to investigate:
-- is blending enabled when it's not needed (opaque objects)?
-- is backface culling disabled when it doesn't have to be disabled (opaque objects) ?
-- is some operation being performed on all atoms/bonds before frustum culling gets a chance to cull them out? Currently, frustum culling is done in the Painter methods (see the check with the dot product). Maybe it needs to operate somewhere upstream instead?

Reported by: benoitjacob

Tool Plugins need Factory Creation

Each thread of Avogadro needs a new instance of a tool so that when you select it there is a configuration dialog. Else each time you open a new thread "New" the tool dialog gets a new owner. If the newly created thread is desroyed, that widget gets destroyed too.

Reported by: dcurtis3

Auto Rotation Tool's "red line" is drawn inconsistently

Auto Rotation Tool

A red line can be drawn in the View Widget to setup the rotation.
The red line is sometimes drawn behind some atoms, sometimes in front of them, depending on rotation and size of molecules.
(Don't know if that's a feature or bug)

Reported by: soc88

Text on white background ugly

On a white background, the anti-aliased text render (i.e. for the Debug engine) looks really lousy. I think the main problem is that the anti-aliasing is a bit too much, so you see a lot of grey from the outline.

This is a pretty minor problem, but I wanted to get it in the list anyway.

Reported by: @ghutchis

GLWidget::updateGeometry needs updates for unit cells

Currently, updateGeometry() only tracks single molecules. The code needs an update to properly handle unit cells. A new SVN update will have the logic, but not necessarily the correct geometric calculation.

Unit cells add translation, starting at the origin, so the center should be at (a + b + c) / 2, although no atom may appear at this point in space. (The a, b, and c vectors are the sides of the parallelepiped defining the unit cell.)

The radius should be the magnitude of this vector from 0,0,0 to the center.

Benoit, could you check this? I'm not sure what needs to happen in updateGeometry -- more documentation or comments would be realyl welcome.

Thanks!

Reported by: @ghutchis

Avo does no longer start

Since the threading-branch was merged into trunk Avogadro no longer starts.

I already reported this by mail:

http://sourceforge.net/mailarchive/forum.php?thread_name=c048b1c20707210441s144e9d3bg9443a3d12e93b852%40mail.gmail.com&forum_name=avogadro-devel

I am using OpenBabel 2.1.1, tested this with both CMake 2.4.6 and 2.4.7, using a patched Qt 4.3.0 (patches from the snapshorts to 4.3.1 as provided by OpenSUSE). All other applications (also those using threads in Qt) work without issues.

Here is what strace tells me:

chdir("/home/kde4/build/avo") = 0
stat64("/usr/lib/qt4/plugins/inputmethods/libqimsw-multi.so", {st_mode=S_IFREG|0755, st_size=27444, ...}) = 0
stat64("/usr/lib/qt4/plugins/inputmethods/libqimsw-multi.so", {st_mode=S_IFREG|0755, st_size=27444, ...}) = 0
stat64("/home/kde4/.config/Trolltech.conf", {st_mode=S_IFREG|0600, st_size=27856, ...}) = 0
open("/home/kde4/.config/Trolltech.conf", O_RDONLY|O_LARGEFILE) = 8
close(8) = 0
stat64("/home/kde4/.config/Trolltech.conf", {st_mode=S_IFREG|0600, st_size=27856, ...}) = 0
stat64("/home/kde4/.config/Trolltech.conf", {st_mode=S_IFREG|0600, st_size=27856, ...}) = 0
stat64("/etc/settings/Trolltech.conf", 0xbffdd350) = -1 ENOENT (No such file or directory)
stat64("/etc/settings/Trolltech.conf", 0x80e3878) = -1 ENOENT (No such file or directory)
stat64("/home/kde4/build/avo/avogadro/src/inputmethods/.", 0x80e3740) = -1 ENOENT (No such file or directory)
lstat64("/home/kde4/build/avo/avogadro/src/inputmethods/.", 0xbffdd730) = -1 ENOENT (No such file or directory)
stat64("/home/kde4/kde/lib/kde4/plugins/inputmethods/.", 0x80e3740) = -1 ENOENT (No such file or directory)
lstat64("/home/kde4/kde/lib/kde4/plugins/inputmethods/.", 0xbffdd730) = -1 ENOENT (No such file or directory)
write(7, "\24\0\6\0D\0\0\0\27\0\0\0\0\0\0\0\0\0\0\0\0 \0\0", 24) = 24
read(7, "\1\10z\0G\20\0\0\37\0\0\0\0\0\0\0\33A\0\0\0\0\0\0\0\0\0"..., 32) = 32
readv(7, [{"*AxeText.Translations:\t#override"..., 16667}, {"\0", 1}], 2) = 16668
writev(7, [{"b\0\6\0\17\0\0\0", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
read(7, "\1\322{\0\0\0\0\0\1\221_\250\0\20\0\0\0\0\0\0\0\0\0\0\0"..., 32) = 32
futex(0x80cb468, FUTEX_WAIT, 2, NULL

I have no idea how to debug this any further so please guide me.

Reported by: @cniehaus

Need modifiers for one-button mouse on Mac.

It appears that the Left Click and Right Click buttons don't properly perform on the Mac OSX port. I believe this is a known issue but am marking it down.

Reported by: dcurtis3

Some minor glitches when rendering

All atoms have some minor pixel-sized graphical errors.

(Don't know too much about C++/OpenGL, so i can't provide any further information at the moment.)

Reported by: soc88

Optimization angle problem. C-C and C-C-C-C

If you build C-C and add H, the H's are added in an eclipsed position (i.e. H-C-C-H angle is 0) but the lowest energy should be staggered (H-C-C-H angle 60). This is also not fixed in the geometry optimization. This also happens for larger molecules like C-C-C-C for some bonds.

Reported by: dcurtis3

Selection is not preserved across new views

Selections are (mostly) stored in the GLWidget view. Selection of residues is not always updated properly, particularly across new views.

The selection code should uniformly use the GLWidget selection property and eliminate the selection information in the Primitive classes.

Reported by: @ghutchis

On Mac, ghemical setup becomes main Preferences

On the Mac, in the current SVN trunk, the "Preferences" command in the global Avogadro application menu pulls up the Ghemical force field setup dialog.

Instead, this should be the command which ends up on the Settings menu.

Reported by: @ghutchis

If "optimize geometry" fails, atoms aren't visible anymore

If a molecule has an increasing number of atoms "Tools"->"optimize geometry" tends to fail more often, producing a black, non-usable "View". The Atoms are not visible anymore.

C O N J U G A T E G R A D I E N T S

STEPS = 100

STEP n E(n) E(n-1)

1    1370.881    5406.779
2    1075.939    1370.881
3     870.825    1075.939
4     803.394     870.825
5     784.854     803.394
6     761.331     784.854
7     747.684     761.331
8     732.933     747.684
9     728.820     732.933

10 720.572 728.820
...
53 682.817 682.869
54 682.780 682.817
55 682.754 682.780
56 682.731 682.754
57 nan 682.731 <===HERE!
58 nan nan
59 nan nan
...
97 nan nan
98 nan nan
99 nan nan

100 nan nan

Reported by: soc88

Problem with Add Hydrogens (changed hydrogens)

build C-C, add H, change one H to C, add H (no H's are added the second time). It looks like this is more related to the way the OpenBabel ::AddHydrogens is performing but somehow needs to get fixed.

Reported by: dcurtis3

Undo causing errors related to multiple views

The AddAtomDrawCommand takes as a parameter a glWidget. This isn't needed by the Command itself (needs to be removed) but it brings up an interesting situation; undo/redo commands related to a GLWidget must somehow be delt with when the GLWidget they are performed on get removed.

Reported by: dcurtis3

add hydrogens and run a cheap and fast FF

From http://blog.cryos.net/archives/144-Avogadro-Videos-Transparent-Molecules,-Rotation-and-Geometry-Optimisation.html

Good work on the force field minimization! If you want to do it the fancy way, you make it a sculpt mode, where you automatically add hydrogens and automatically run a cheap and fast energy minimization. (Hydrogen counts need updating when any bond is added or deleted). Should not be too difficult, but very cool.
#1 Egon Willighagen (Homepage) on 2007-06-20 20:07

Reported by: egonw

Dragging Files on Mac leaves an empty window

Currently, if I drag files to Avogadro on a Mac to open them, I'm left with one empty window. (Also, all the windows are in exactly the same spot.)

The code in main.cpp and application.cpp should take care of this, but it's not clear where the extra window comes -- it appears to be the first window created.

Also, the code in application.cpp could (in principal) be combined with MainWindow::openFile(filename).

Reported by: @ghutchis

Wrong openbabel2 macro output + missing license

cmake/modules/FindOpenBabel2.cmake tells "Could NOT find OpenBabel2", which is not true if Openbabel 2.0 is installed (it's just not new enough). You should fix this to output the real issue.

I'm further suprised by the Windows registry path: HKEY_CURRENT_USER\SOFTWARE\OpenBabel\ 2.0.2. If 2.1 is requirered, is this path correct?

Further the file (and another too) refers to COPYING-CMAKE-SCRIPTS, which is not shipped with the source.

Reported by: dleidert

No feedback for Optimize Geometry

The current "optimize geometry" extension provides little feedback of what's going on or how long the task will take.

Ideally, this should take place in a separate thread and provide some sort of progress indicator. (Also, ideally, there should be a configuration dialog to adjust the parameters of the optimization.)

Reported by: @ghutchis

close view -> select none, causes segfault

If you create two views and close the first then perform Edit->Select None, there is a segfault. The bug is because the closeView() function is not properly setting the new widget.

Reported by: dcurtis3

Optimize Geometry Function

When I make a Methane molecule and tell your program to optimize the geometry, it crashes.

Reported by: *anonymous

avogadro -h should provide some help

avogadro -h / avogadro --help should produce some helpful output on the console.

OR: display the "Open File" Dialog instead, assuming that the user wanted to open a file from console, but made a writing mistake.

Reported by: soc88

Avogadro consuming a lot memory for a long time

Load a CML file.

Add for example 8 Carbon atoms to a Oxygen atom (I know in real life this doesn't work...). Now optimzie the geometry. Works.

Now add the hydrogens with the menu-option and optimize again. After about 2 minutes with 60-80% consumption of my memory I killed Avogadro.

Reported by: @cniehaus

Quit on Mac

The quit command on Mac is inconsistent. If you quit via the dock, windows will be requested to save (via closeEvent).

If you quite from the toolbar or menu, no closeEvent is sent.

I think this may be a Trolltech bug, but will post to qt-interest to check.

This bug in Avogadro is a reminder to fix our behavior.

Reported by: @ghutchis

GAMESS Input Deck (gas phase / scftype / multiplicity)

Right now there is no gas phase option. Only water, but the corresponding
keywords are not it the input file.

When I build C-C-N and add hydrogens, I get CH3-CH2-NH3. That's fine, but
when I open the GAMESS input, the input says scftyp=rohf, mult=2 (i.e.
doublet); while the menu says singlet. Assuming the charge is neutral, the
input is actually correct. Another option is cation, singlet, but when I
try this the ROHF does not go away as it should.

Reported by: dcurtis3

Show Revision number

If Avogadro is built from source, "Help"->"About" should show the SVN revision number to ease bug reports.

Reported by: soc88

Cannot select bonds

Need to make it so the engines are properly labeling bonds, can render selection feedback on bonds and that the selection engine actually selects them.

Reported by: dcurtis3

Undo/redo of Add Hydrogens not "perfect"

Start with a molecule with some existing hydrogens (e.g., an imported crystal structure or PDB file), like the attached file. Add hydrogens. Try "undo" and all hydrogens are removed, including the original ones.

In short, for files with some existing hydrogens, "Add Hydrogens" and "Remove Hydrogens" are not perfect redo/undo pairs, since you will not get back to the original state.

Reported by: @ghutchis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.