SlideShare une entreprise Scribd logo
1  sur  1
Télécharger pour lire hors ligne
Avogadro: Open Source Libraries and Application for Chemistry
Marcus D. Hanwell1
, and Jens Thomas2
1: Scientific Computing Group, Kitware, Inc, 28 Corporate Drive, Clifton Park, NY 12065, USA.
2: Institute of Integrative Biology, University of Liverpool, Liverpool, L69 7ZB, UK.
http://openchemistry.org/
Avogadro
In order to tackle upcoming molecular simulation and visualization challenges in key
areas of materials science, chemistry and biology it is necessary to move beyond fixed
software applications. The Avogadro project is in the final stages of an ambitious rewrite
of its core data structures, algorithms and visualization capabilities. The project began
as a grass roots effort to address deficiencies observed by many of the early contributors
in existing commercial and open source solutions. Avogadro is now a robust, flexible
solution that can tie in to and harness the power of VTK for additional analysis and
visualization capabilities.
Figure 1: The Avogadro 2 application shown displaying different rendering styles of different molecule views.
Avogadro is developed as a set of software libraries designed with reuse in mind, and
an application that makes use of these libraries along with plugins loaded at runtime to
provide the bulk of the functionality. This enables scientists to rapidly make use of the
functionality available, and it provides a rich set of reusable components available under
a permissive, open source 3-clause BSD license to encourage extension and reuse.
Editing
The editing capabilities of the application are extremely important, with this being one
of the major drivers for creating the original Avogadro application. A great deal of work
has gone into developing a robust molecule model, along with supporting structures to
support undo/redo more efficiently. Additionally, support for a large range of file formats
is provided using native readers/writers, and integration with the Open Babel program.
Figure 2: The bond-centric manipulation tool, and molecular orbital showing periodic table element selection.
Structures can also be loaded from online chemical data repositories, with a number
of editing capabilities provided. There is a simple molecule drawing tool that features
element/bond order selection, live updates, hydrogen addition/removal and geometry
optimization using a range of simple molecular force fields. There are also a number of
tools such as simple atom position adjustment, bond-centric manipulation and Cartesian
coordinate editing.
Input Preparation
Once the structure is complete, one of the first steps can be to prepare it for submission to
a simulation package that performs a more complete geometry optimization, or calculates
the electronic structure of the molecule. This has always been a strong focus for the
Avogadro project, with the rewrite featuring a range of packaged input generators such
as those shown below.
Figure 3: The NWChem input generator (left, Python script), and GAMESS input generator (right, C++ plugin).
There has also been a concentrated effort on making the development of new input
generators as simple as possible. C++ plugins can be developed as before, but a simpler
method is to write a Python script that the application will use to drive input generation.
Open Chemistry
The Open Chemistry project is a suite of applications and support libraries to improve
the workflow in computational chemistry, biology, materials science and related areas.
The project consists of a set of open, connected components that can tackle everything
from small problems on the desktop, up to large research projects requiring significant
computational power. The components can be used on its own, but the integrated
components offer compelling solutions that can significantly improve complex workflows
involving local and remote computation, storage, indexing and search of chemical data.
Figure 4: The MoleQueue application (left) showing completed remote jobs, and MongoChem (right) showing molecular
data with a 2D and 3D views (also features significant charting capabilities.
Avogadro 2 is one component of this larger effort. MoleQueue and MongoChem are
additional components of the Open Chemistry project. MoleQueue has been developed
to make it easier for desktop applications (including Avogadro 2) to run external programs
locally, and to submit jobs to remote clusters/supercomputers. MongoChem has been
developed to make it easier for individuals, groups and organizations to collect and search
their small molecule data sets.
Visualization and Analysis
Once the calculations have been performed, it is then necessary to load, visualize
and analyze the data. This is another area that has seen significant development
with the addition of a new set of scalable input/output routines, improved data
structures and rewritten rendering components. This enables the efficient loading,
analysis and visualization of systems that were too large for previous versions to
work with. Avogadro is now able to make full use of the visualization capabilities
of VTK, in addition to its own powerful rendering capabilities. This means that
complex visualization, involving techniques such as volume rendering for point data,
or streamlines for vector fields, will now become possible.
Figure 5: Visualization of large, porous system (left), ambient occlusion (center) and QTAIM (right).
In addition to significant improvements in these subsystems, the extension of
input/output was also reexamined. In a similar vein to the input generators, a
simple set of APIs were developed that enable new input and output formats to be
added dynamically at runtime using simple Python scripts. The use of a scene graph
and advanced impostor rendering techniques make interacting with large datasets
simple while retaining even higher visual quality for small molecules.
Molecular Application Toolkit
The Avogadro 2 libraries represent a total rethink of providing libraries for
chemical applications—moving away from providing one monolithic library with all
functionality into several dedicated libraries with minimal dependencies. This means
that projects wishing to take advantage of data structures and input/output can do
so using just a C++ compiler, whereas applications that want to provide simple 3D
rendering capabilities can do that without being required to use Qt.
Figure 6: Avogadro 2 libraries with dependencies (left), and overview of software process (right).
The project is composed of two separate repositories, with the ‘avogadroapp’
repository offering a full demonstration of how to use the libraries in an end-user
application. The ‘avogadrolibs’ repository contains all of the libraries, with the
option to only build subsets. The development process uses distributed version
control (Git), testing (CTest/CDash), and automated binary generation.

Contenu connexe

Tendances

LDV: Light-weight Database Virtualization
LDV: Light-weight Database VirtualizationLDV: Light-weight Database Virtualization
LDV: Light-weight Database VirtualizationTanu Malik
 
ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13jccastrejon
 
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Logilab
 
Evolution of database access technologies in Java-based software projects
Evolution of database access technologies in Java-based software projectsEvolution of database access technologies in Java-based software projects
Evolution of database access technologies in Java-based software projectsTom Mens
 
GEN: A Database Interface Generator for HPC Programs
GEN: A Database Interface Generator for HPC ProgramsGEN: A Database Interface Generator for HPC Programs
GEN: A Database Interface Generator for HPC ProgramsTanu Malik
 
PTU: Using Provenance for Repeatability
PTU: Using Provenance for RepeatabilityPTU: Using Provenance for Repeatability
PTU: Using Provenance for RepeatabilityTanu Malik
 
Thrombus Training Dec. 2013
Thrombus Training Dec. 2013Thrombus Training Dec. 2013
Thrombus Training Dec. 2013CREATIS
 
GlobusWorld 2015
GlobusWorld 2015GlobusWorld 2015
GlobusWorld 2015Tanu Malik
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryMarcus Hanwell
 
Ipaw14 presentation Quan, Tanu, Ian
Ipaw14 presentation Quan, Tanu, IanIpaw14 presentation Quan, Tanu, Ian
Ipaw14 presentation Quan, Tanu, IanBoris Glavic
 
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?BIOVIA
 
Using publicly available resources to build a comprehensive knowledgebase of ...
Using publicly available resources to build a comprehensive knowledgebase of ...Using publicly available resources to build a comprehensive knowledgebase of ...
Using publicly available resources to build a comprehensive knowledgebase of ...Valery Tkachenko
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataGiorgos Santipantakis
 
The ECP Exascale Computing Project
The ECP Exascale Computing ProjectThe ECP Exascale Computing Project
The ECP Exascale Computing Projectinside-BigData.com
 
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...Till Blume
 
Reproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter NotebookReproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter NotebookKeiichiro Ono
 

Tendances (20)

LDV: Light-weight Database Virtualization
LDV: Light-weight Database VirtualizationLDV: Light-weight Database Virtualization
LDV: Light-weight Database Virtualization
 
ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13
 
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)
 
Evolution of database access technologies in Java-based software projects
Evolution of database access technologies in Java-based software projectsEvolution of database access technologies in Java-based software projects
Evolution of database access technologies in Java-based software projects
 
GEN: A Database Interface Generator for HPC Programs
GEN: A Database Interface Generator for HPC ProgramsGEN: A Database Interface Generator for HPC Programs
GEN: A Database Interface Generator for HPC Programs
 
PTU: Using Provenance for Repeatability
PTU: Using Provenance for RepeatabilityPTU: Using Provenance for Repeatability
PTU: Using Provenance for Repeatability
 
Thrombus Training Dec. 2013
Thrombus Training Dec. 2013Thrombus Training Dec. 2013
Thrombus Training Dec. 2013
 
GlobusWorld 2015
GlobusWorld 2015GlobusWorld 2015
GlobusWorld 2015
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
 
Ipaw14 presentation Quan, Tanu, Ian
Ipaw14 presentation Quan, Tanu, IanIpaw14 presentation Quan, Tanu, Ian
Ipaw14 presentation Quan, Tanu, Ian
 
Bioinformatics on Azure
Bioinformatics on AzureBioinformatics on Azure
Bioinformatics on Azure
 
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
 
Using publicly available resources to build a comprehensive knowledgebase of ...
Using publicly available resources to build a comprehensive knowledgebase of ...Using publicly available resources to build a comprehensive knowledgebase of ...
Using publicly available resources to build a comprehensive knowledgebase of ...
 
Cluster Computing Web2 Sept2009
Cluster Computing Web2 Sept2009Cluster Computing Web2 Sept2009
Cluster Computing Web2 Sept2009
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival data
 
The ECP Exascale Computing Project
The ECP Exascale Computing ProjectThe ECP Exascale Computing Project
The ECP Exascale Computing Project
 
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
 
Reproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter NotebookReproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter Notebook
 
Automating biostatistics workflows using R-based webtools
Automating biostatistics workflows using R-based webtoolsAutomating biostatistics workflows using R-based webtools
Automating biostatistics workflows using R-based webtools
 
Cloud, Fog, or Edge: Where and When to Compute?
Cloud, Fog, or Edge: Where and When to Compute?Cloud, Fog, or Edge: Where and When to Compute?
Cloud, Fog, or Edge: Where and When to Compute?
 

Similaire à Avogadro: Open Source Libraries and Application for Computational Chemistry

SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITS
SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITSSOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITS
SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITSvivatechijri
 
Software architacture recovery
Software architacture recoverySoftware architacture recovery
Software architacture recoveryImdad Ul Haq
 
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...Anubhav Jain
 
Getting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approachGetting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approachAlexander Decker
 
LabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectLabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectIOSR Journals
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...eSAT Journals
 
G code based data receiving and control system
G   code based data receiving and control systemG   code based data receiving and control system
G code based data receiving and control systemeSAT Journals
 
ReactCodemod: An automated approach for refactoring class based components to...
ReactCodemod: An automated approach for refactoring class based components to...ReactCodemod: An automated approach for refactoring class based components to...
ReactCodemod: An automated approach for refactoring class based components to...IRJET Journal
 
MultiObjective(11) - Copy
MultiObjective(11) - CopyMultiObjective(11) - Copy
MultiObjective(11) - CopyAMIT KUMAR
 
Paralyzing Bioinformatics Applications Using Conducive Hadoop Cluster
Paralyzing Bioinformatics Applications Using Conducive Hadoop ClusterParalyzing Bioinformatics Applications Using Conducive Hadoop Cluster
Paralyzing Bioinformatics Applications Using Conducive Hadoop ClusterIOSR Journals
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesionAditya Kumar Ghosh
 
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...RCCSRENKEI
 
Software Tools, Methods and Applications of Machine Learning in Functional Ma...
Software Tools, Methods and Applications of Machine Learning in Functional Ma...Software Tools, Methods and Applications of Machine Learning in Functional Ma...
Software Tools, Methods and Applications of Machine Learning in Functional Ma...Anubhav Jain
 
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
OpenACC and Open Hackathons Monthly Highlights May  2023.pdfOpenACC and Open Hackathons Monthly Highlights May  2023.pdf
OpenACC and Open Hackathons Monthly Highlights May 2023.pdfOpenACC
 
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSE
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSEGENERALIZATION AND INSTANTIATION FOR COMPONENT REUSE
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSESamira Sadaoui
 
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Coen De Roover
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Processijceronline
 

Similaire à Avogadro: Open Source Libraries and Application for Computational Chemistry (20)

SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITS
SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITSSOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITS
SOFTWARE BASED CALCULATION OF CAPACITY OUTAGE OF GENERATING UNITS
 
Software architacture recovery
Software architacture recoverySoftware architacture recovery
Software architacture recovery
 
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
 
Getting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approachGetting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approach
 
LabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectLabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subject
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
 
G code based data receiving and control system
G   code based data receiving and control systemG   code based data receiving and control system
G code based data receiving and control system
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
 
ReactCodemod: An automated approach for refactoring class based components to...
ReactCodemod: An automated approach for refactoring class based components to...ReactCodemod: An automated approach for refactoring class based components to...
ReactCodemod: An automated approach for refactoring class based components to...
 
MultiObjective(11) - Copy
MultiObjective(11) - CopyMultiObjective(11) - Copy
MultiObjective(11) - Copy
 
Paralyzing Bioinformatics Applications Using Conducive Hadoop Cluster
Paralyzing Bioinformatics Applications Using Conducive Hadoop ClusterParalyzing Bioinformatics Applications Using Conducive Hadoop Cluster
Paralyzing Bioinformatics Applications Using Conducive Hadoop Cluster
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesion
 
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
 
Software Tools, Methods and Applications of Machine Learning in Functional Ma...
Software Tools, Methods and Applications of Machine Learning in Functional Ma...Software Tools, Methods and Applications of Machine Learning in Functional Ma...
Software Tools, Methods and Applications of Machine Learning in Functional Ma...
 
Core java(2)
Core java(2)Core java(2)
Core java(2)
 
Molecule editor
Molecule editorMolecule editor
Molecule editor
 
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
OpenACC and Open Hackathons Monthly Highlights May  2023.pdfOpenACC and Open Hackathons Monthly Highlights May  2023.pdf
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
 
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSE
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSEGENERALIZATION AND INSTANTIATION FOR COMPONENT REUSE
GENERALIZATION AND INSTANTIATION FOR COMPONENT REUSE
 
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 

Dernier

Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...navyadasi1992
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxkumarsanjai28051
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxmalonesandreagweneth
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx023NiWayanAnggiSriWa
 
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.PraveenaKalaiselvan1
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxBerniceCayabyab1
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationColumbia Weather Systems
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPirithiRaju
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuinethapagita
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologycaarthichand2003
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 

Dernier (20)

Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptx
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx
 
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
 
Volatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -IVolatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -I
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather Station
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technology
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 

Avogadro: Open Source Libraries and Application for Computational Chemistry

  • 1. Avogadro: Open Source Libraries and Application for Chemistry Marcus D. Hanwell1 , and Jens Thomas2 1: Scientific Computing Group, Kitware, Inc, 28 Corporate Drive, Clifton Park, NY 12065, USA. 2: Institute of Integrative Biology, University of Liverpool, Liverpool, L69 7ZB, UK. http://openchemistry.org/ Avogadro In order to tackle upcoming molecular simulation and visualization challenges in key areas of materials science, chemistry and biology it is necessary to move beyond fixed software applications. The Avogadro project is in the final stages of an ambitious rewrite of its core data structures, algorithms and visualization capabilities. The project began as a grass roots effort to address deficiencies observed by many of the early contributors in existing commercial and open source solutions. Avogadro is now a robust, flexible solution that can tie in to and harness the power of VTK for additional analysis and visualization capabilities. Figure 1: The Avogadro 2 application shown displaying different rendering styles of different molecule views. Avogadro is developed as a set of software libraries designed with reuse in mind, and an application that makes use of these libraries along with plugins loaded at runtime to provide the bulk of the functionality. This enables scientists to rapidly make use of the functionality available, and it provides a rich set of reusable components available under a permissive, open source 3-clause BSD license to encourage extension and reuse. Editing The editing capabilities of the application are extremely important, with this being one of the major drivers for creating the original Avogadro application. A great deal of work has gone into developing a robust molecule model, along with supporting structures to support undo/redo more efficiently. Additionally, support for a large range of file formats is provided using native readers/writers, and integration with the Open Babel program. Figure 2: The bond-centric manipulation tool, and molecular orbital showing periodic table element selection. Structures can also be loaded from online chemical data repositories, with a number of editing capabilities provided. There is a simple molecule drawing tool that features element/bond order selection, live updates, hydrogen addition/removal and geometry optimization using a range of simple molecular force fields. There are also a number of tools such as simple atom position adjustment, bond-centric manipulation and Cartesian coordinate editing. Input Preparation Once the structure is complete, one of the first steps can be to prepare it for submission to a simulation package that performs a more complete geometry optimization, or calculates the electronic structure of the molecule. This has always been a strong focus for the Avogadro project, with the rewrite featuring a range of packaged input generators such as those shown below. Figure 3: The NWChem input generator (left, Python script), and GAMESS input generator (right, C++ plugin). There has also been a concentrated effort on making the development of new input generators as simple as possible. C++ plugins can be developed as before, but a simpler method is to write a Python script that the application will use to drive input generation. Open Chemistry The Open Chemistry project is a suite of applications and support libraries to improve the workflow in computational chemistry, biology, materials science and related areas. The project consists of a set of open, connected components that can tackle everything from small problems on the desktop, up to large research projects requiring significant computational power. The components can be used on its own, but the integrated components offer compelling solutions that can significantly improve complex workflows involving local and remote computation, storage, indexing and search of chemical data. Figure 4: The MoleQueue application (left) showing completed remote jobs, and MongoChem (right) showing molecular data with a 2D and 3D views (also features significant charting capabilities. Avogadro 2 is one component of this larger effort. MoleQueue and MongoChem are additional components of the Open Chemistry project. MoleQueue has been developed to make it easier for desktop applications (including Avogadro 2) to run external programs locally, and to submit jobs to remote clusters/supercomputers. MongoChem has been developed to make it easier for individuals, groups and organizations to collect and search their small molecule data sets. Visualization and Analysis Once the calculations have been performed, it is then necessary to load, visualize and analyze the data. This is another area that has seen significant development with the addition of a new set of scalable input/output routines, improved data structures and rewritten rendering components. This enables the efficient loading, analysis and visualization of systems that were too large for previous versions to work with. Avogadro is now able to make full use of the visualization capabilities of VTK, in addition to its own powerful rendering capabilities. This means that complex visualization, involving techniques such as volume rendering for point data, or streamlines for vector fields, will now become possible. Figure 5: Visualization of large, porous system (left), ambient occlusion (center) and QTAIM (right). In addition to significant improvements in these subsystems, the extension of input/output was also reexamined. In a similar vein to the input generators, a simple set of APIs were developed that enable new input and output formats to be added dynamically at runtime using simple Python scripts. The use of a scene graph and advanced impostor rendering techniques make interacting with large datasets simple while retaining even higher visual quality for small molecules. Molecular Application Toolkit The Avogadro 2 libraries represent a total rethink of providing libraries for chemical applications—moving away from providing one monolithic library with all functionality into several dedicated libraries with minimal dependencies. This means that projects wishing to take advantage of data structures and input/output can do so using just a C++ compiler, whereas applications that want to provide simple 3D rendering capabilities can do that without being required to use Qt. Figure 6: Avogadro 2 libraries with dependencies (left), and overview of software process (right). The project is composed of two separate repositories, with the ‘avogadroapp’ repository offering a full demonstration of how to use the libraries in an end-user application. The ‘avogadrolibs’ repository contains all of the libraries, with the option to only build subsets. The development process uses distributed version control (Git), testing (CTest/CDash), and automated binary generation.