Het eerste wat de meeste mensen zullen zien is het hoofdvenster van de Avogadro applicatie, zoals te zien is in Figuur 4. Er zijn binaire installatieprogramma’s voor Apple Mac OS X en Microsoft Windows, en pakketten voor alle belangrijke Linux distributies. Dit betekent dat Avogadro vrij gemakkelijk kan worden geïnstalleerd op de meeste besturingssystemen. Gemakkelijk te volgen instructies over hoe de laatste broncode te compileren worden ook gegeven op de Avogadro website voor de meer avontuurlijken, of diegenen die een besturingssysteem gebruiken dat nog niet wordt ondersteund.
De Qt-toolkit geeft Avogadro een native look en feel op de drie belangrijkste ondersteunde besturingssystemen-Linux, Apple Mac OS X, en Microsoft Windows. De basisfunctionaliteit die verwacht wordt in een moleculaire bouwer en viewer is geïmplementeerd, samen met een aantal minder gebruikelijke functies. Het is zeer eenvoudig voor nieuwe gebruikers om Avogadro te installeren en binnen enkele minuten hun eerste moleculen te bouwen. Dankzij de Open Babel bibliotheek ondersteunt Avogadro een groot deel van de chemische bestandsformaten die algemeen gebruikt worden. Het overgrote deel van deze functionaliteit is geschreven met behulp van de interface die beschikbaar is gesteld aan plugin-schrijvers, en wordt tijdens runtime geladen. We zullen deze plugin interfaces en beschrijvingen van de plugin types later bespreken.
Semantische chemie
Avogadro heeft CML als standaard bestandsformaat gebruikt vanaf een zeer vroeg stadium; dit werd verkozen boven andere bestandsformaten vanwege de uitbreidbare, semantische structuur die CML biedt, en de beschikbare ondersteuning in Open Babel . De CML-indeling biedt een aantal voordelen ten opzichte van andere gangbare indelingen, zoals de mogelijkheid om de indeling uit te breiden. Hierdoor kunnen Avogadro en andere programma’s toekomstbestendig zijn, door nieuwe informatie en functies toe te voegen die nodig zijn voor een geavanceerde semantisch-bewuste editor op een later tijdstip, terwijl ze nog steeds leesbaar blijven in oudere versies van Avogadro.
Door het gebruik van Open Babel , kan een groot aantal bestandsformaten worden geïnterpreteerd. Bij het uitbreiden van Avogadro om grotere hoeveelheden output van quantum codes in te lezen, was het noodzakelijk om aanzienlijke ontwikkelingsmiddelen te besteden aan het begrijpen en toevoegen van semantische betekenis aan de quantum code output. Dit werk werd ontwikkeld in een plugin, die later werd opgesplitst in een kleine onafhankelijke bibliotheek genaamd OpenQube . Meer recentelijk is door het Quixote-project , JUMBO-Converters en de workshop Semantic Physical Science veel werk verricht om kwantumcodes uit te breiden zodat meer van deze gegevens rechtstreeks uit de code kunnen worden uitgevoerd. Aangezien CML kan worden uitgebreid, is het mogelijk om bestaande conventies voor moleculaire structuurgegevens te hergebruiken, en nieuwe conventies toe te voegen voor de extra kwantumgegevens.
Een molecuul bouwen: atoom voor atoom
Na het openen van Avogadro wordt een venster gepresenteerd zoals dat in Figuur 4. Standaard is het tekengereedschap geselecteerd. Door simpelweg met de linkermuisknop te klikken op het zwarte deel van het scherm kan de gebruiker een koolstofatoom tekenen. Als de gebruiker de linker muisknop indrukt en sleept, wordt een gebonden koolstofatoom getekend tussen het beginpunt en de eindpositie waar de muis wordt losgelaten.
Er is veel moeite gedaan om een intuïtief gereedschap te maken voor het tekenen van kleine moleculen. Veel voorkomende chemische elementen kunnen worden geselecteerd uit een drop-down lijst, of een periodiek systeem kan worden weergegeven om minder voorkomende elementen te selecteren. Klikken op een bestaand atoom verandert het in het op dat moment geselecteerde element, slepen verandert het atoom terug naar zijn vorige element en tekent een nieuw atoom gebonden aan het origineel. Als de bindingen met de linkermuisknop worden aangeklikt, dan wisselt de bindingsvolgorde tussen enkel, dubbel en drievoudig. Sneltoetsen zijn ook beschikbaar, b.v. het typen van het atoom symbool (b.v. “C-o” voor kobalt) verandert het geselecteerde element, of het typen van de nummers “1,” “2,” en “3” verandert de bindingsvolgorde.
Rechtsklikken op atomen of bindingen verwijdert ze. Als het vakje “Hydrogenen aanpassen” is aangevinkt, wordt het aantal hydrogenen dat aan elk atoom is gebonden automatisch aangepast om aan de valentie te voldoen. Als alternatief kan dit ook worden gedaan aan het eind van een bewerkingssessie door gebruik te maken van de “Voeg hydrogenen toe” extensie in het build menu.
Naast het tekengereedschap zijn er twee gereedschappen om de positie van atomen in bestaande moleculen aan te passen. Het “atoom centrisch manipuleren” gereedschap kan worden gebruikt om een atoom of een groep van geselecteerde atomen te verplaatsen. Het “bond centric manipulate” gereedschap kan worden gebruikt om een binding te selecteren, en dan de posities van alle atomen ten opzichte van de geselecteerde binding op verschillende manieren aan te passen (b.v. door de bindingslengte, bindingshoeken, of dihedraalhoeken te veranderen). Deze drie gereedschappen bieden veel flexibiliteit bij het interactief bouwen van kleine moleculen op het scherm.
Als de moleculaire structuur eenmaal compleet is, kan de krachtveld uitbreiding worden gebruikt om een geometrie optimalisatie uit te voeren. Door te klikken op “Extensions” en “Optimize Geometry” wordt een snelle geometrie optimalisatie uitgevoerd op het molecuul. Het krachtveld en de berekeningsparameters kunnen worden aangepast, maar de standaardwaarden zijn voldoende voor de meeste moleculen. Deze workflow is typisch voor het opbouwen van een kleine moleculaire structuur voor gebruik als input voor kwantum berekeningen, of voor publicatie kwaliteit figuren.
Een alternatief is om het “Auto Optimalisatie” gereedschap te combineren met het teken gereedschap. Dit is een unieke manier om het molecuul te modelleren terwijl de geometrie voortdurend wordt geminimaliseerd op de achtergrond. De geometrie-optimalisatie wordt geanimeerd, en het effect van het veranderen van bindingsvolgorde, het toevoegen van nieuwe groepen, of het verwijderen van groepen kan interactief worden bekeken.
Er zijn verschillende dialogen geïmplementeerd om informatie te verschaffen over molecuul-eigenschappen en om parameters, zoals de cartesische coördinaten van de atomen in het molecuul, nauwkeurig te wijzigen.
Een molecuul bouwen: uit fragmenten
Naast het atoom-voor-atoom bouwen van moleculen, kunnen gebruikers ook voorgebouwde fragmenten van gangbare moleculen, liganden of aminozuur-sequenties invoegen, zoals te zien is in figuur 5. In alle gevallen wordt na het invoegen van het fragment het atoom-gecentreerde manipulatiegereedschap geselecteerd, waarmee het fragment gemakkelijk in positie kan worden gebracht.
Gebruikers kunnen ook een SMILES-string voor een molecuul invoegen. In dit geval wordt een ruwe 3D geometrie gegenereerd met behulp van Open Babel en een snelle krachtveld optimalisatie.
Invoer voorbereiden voor kwantumcodes
Er zijn verschillende uitbreidingen ontwikkeld voor Avogadro die de gebruiker helpen bij het voorbereiden van invoerbestanden voor populaire kwantumcodes zoals GAMESS-US, NWChem, Gaussian, Q-Chem, Molpro, en MOPAC200x . De grafische dialoogvensters bevatten de functies die nodig zijn om basiskwantumberekeningen uit te voeren; enkele voorbeelden worden getoond in Figuur 6.