github OpenChemistry/avogadrolibs 2.1.0
Avogadro 2.1.0

3 hours ago

We are pleased to announce the Avogadro 2.1, with new features, performance improvements, and piles of bug fixes. A particular effort was made to improve testing and code quality.

Thanks to everyone who made suggestions, bug reports, translations, and discussions. Avogadro is built from the community, and we appreciate all the help.

Avogadro v2 was designed as a platform to make it easy to build the next generation of molecular and materials visualization, including fast modern rendering and improved stability. With this release, we mark 30 plugins and will offer tutorials on making your tools easily available as plugins.

🌟 Highlights (tldr)

  • New Z-matrix editor: view and edit internal coordinates, including constraints, dummy atoms for linear molecules, and drag-and-drop to reorder atoms. Input generators can now write Z-matrix coordinates.
  • Faster, smoother geometry optimization using the ABC-FIRE method and a hybrid mode that is now the default for Optimize and AutoOpt.
  • Much faster orbitals and surfaces: Gaussian basis set calculations are up to 20-25× faster, large ORCA files load much faster too.
  • Improved conformer and dynamics plot including geometry parameters, velocities, temperature, etc.
  • Batch energies and forces: recalculate energies and forces for every conformer or frame at once, in batches suited to ML potentials.
  • New building tools
    • An initial polymer builder - feedback welcome
    • D-amino acids in the peptide builder.
    • Edit distances, angles, and dihedrals directly in the Measure tool.
    • PDB biological assemblies (tested to ~1 million atoms).
    • Fractional supercells.
    • Better support for CIF files, including space group perception from transforms.
  • New camera controls: virtual trackball rotation for all tools, keyboard shortcuts for rotating, and click-and-drag to focus on an atom.
  • Custom properties: atom, bond, residue, and conformer properties are kept and can be viewed and edited in the property tables.
  • Better vibrations: each step of an optimization or scan can now have its own vibrations, displaced geometries can be generated, and ORCA symmetry labels are read.
  • Scripting and automation
    • Many tools can now be controlled through a JSON-RPC interface, including selection, measurement, force fields, constraints, symmetry, spectra, colors, and hydrogens.
    • The avogadro.connect Python module can now list the available commands, making it easy to drive Avogadro from Jupyter, scripts, or AI agents.
    • A new avogadro-mcp project for connecting local LLM models and agents to Avogadro.
  • Transparent compression support read and write compressed files directly (e.g., .gz, .xz and .zstd).
  • Plugin improvements: progress bars and a cancel button for plugin scripts, plus authors, download counts, and bug tracker links in the plugin window. Installs are more reliable.
  • More stable: continuous fuzz testing on Linux and Windows found and fixed a large number of bugs and potential crashes in file readers and editing.

✨ Features

  • Refactor PLY export with scene tesselation @ghutchis (#3107)
  • Add content patterns for file format detection @ghutchis (#3093)
  • Initial support for z-matrix coordinates in input generators @ghutchis (#3015)
  • Set the default filename in input generators @ghutchis (#3013)
  • Add authors, download count and bug tracker link to plugin window @ghutchis (#3012)
  • Add constraints to the z-matrix editor @ghutchis (#3010)
  • Add support for time, velocities and temperature to the conformer chart @ghutchis (#3006)
  • Add shared camera controls for all tools / modes @ghutchis (#2972)
  • Add support for fractional ranges for supercells @ghutchis (#2955)
  • Extend PlotConformer scan coordinate support @ghutchis (#2998)
  • Add support for transparent compression IO @ghutchis (#2994)
  • Allow drag-and-drop to reorder atoms in the property table @ghutchis (#2993)
  • Add a z matrix editor window @ghutchis (#2990)
  • Rework the internal <=> Cartesian conversions @ghutchis (#2988)
  • Add support in RWMolecule for swapAtoms @ghutchis (#2989)
  • Ensure player, plotconformer and properties agree on active conformer @ghutchis (#2986)
  • Insert the modelView and camera projection matrix into CJSON @ghutchis (#2977)
  • Camera Controls with Virtual Trackball @vaclavhanzl (#2962)
  • Reworking vibrations to allow per-conformer (step) Hessians @ghutchis (#2956)
  • Add progress reporting (and cancel) for plugin scripts @ghutchis (#2939)
  • Add internal support for SMILES @ghutchis (#2919)
  • Add batch calculations for energies and forces @ghutchis (#2867)
  • Allow display and editing of atom, bond, residue, conformer properties @ghutchis (#2864)
  • When "center" is selected, insert with geometry @ghutchis (#2865)
  • Add an initial polymer builder @ghutchis (#2789)
  • Switch GUI actions and AutoOpt to hybrid optimization & adaptive chunk size @ghutchis (#2858)
  • Add optimizer state, including E & grad, plus hybrid mode @ghutchis (#2857)
  • Store custom atom, bond, residue, and conformer properties @ghutchis (#2774)
  • Enable "D" stereo by inverting all dihedral angles for side-chains @ghutchis (#2837)
  • Add key shortcuts for rotations (shift for x/y, control for z) @ghutchis (#2827)
  • Add initial support for reading PDB assembly e.g. 9MB0 @ghutchis (#2799)

👁 Accessibility Improvements

🚀 Performance Improvements

  • Improve AO rendering efficiency @ghutchis (#3009)
  • Improve speed of numeric parsing using the fast_float library for text to number conversion
  • Fix fairly slow parsing of ORCA files with lots of orbitals @ghutchis (#2907)
  • Switch GUI actions and AutoOpt to hybrid optimization & adaptive chunk size @ghutchis (#2858)
  • Add optimizer state, including E & grad, plus hybrid mode @ghutchis (#2857)
  • Update L-BFGS and Implement FIRE and ABC-FIRE2 optimizer @ghutchis (#2855)
  • Improve Gaussian basis performance (25x faster!) @ghutchis (#2726)

🐛 Bug Fixes

🤖 Automation Improvements

🧰 Maintenance

🌐 Translations

Credits

Thanks to many contributors, including: @AADITYA007x, @aouxwoux, @berquist, @e-kwsm, @emirtkgz, @exergonic, @ghutchis, @ian0318git, @jcerezochem, @matterhorn103, @minutechreview, @O1sumitkumar, @PPN-SD, @SamuelAyibatarri, @shaneraphel, @soakleyvfx, @sohocine, @Tommao12345, @Tyagiquamar, @vaclavhanzl, @weblate, @dependabot[bot], @github-actions[bot], @alevtina-karashokova, Alexandre R Soares, @andibing, Àngel Oliveras Rovira, @arifpedia, @claude, @Copilot, @cyphra, Daniel Nylander, David D., @DumKhunt, Eisuke Kawashima, eNoWater, @felix2336, @flytothehighest, @GansasOnGithup, @hooray804, Jusef, @Laksan99, Languages add-on, @LeistDev, Li Chaoyu, Libre, LibreTranslate, @majklvi, Michal Várady, @milotype, @nbehrnd, @NorwayFun, Norwid Behrnd, @oersen, @ramses-70, Remus-Gabriel Chelu, @sabbir-nipu, @SantosSi, @TamilNeram, @timvdm, Weblate Translation Memory, Werner Kremen and @coderabbitai[bot]

Don't miss a new avogadrolibs release

NewReleases is sending notifications on new releases.