Source-linked AI summary
A RESTful API for exchanging Materials Data in the AFLOWLIB.org consortium
Richard H. Taylor, Frisco Rose, Cormac Toher, Ohad Levy, Marco Buongiorno Nardelli, Stefano Curtarolo
TL;DR
Computational materials science needs open, shared, and reproducible databases whose data can be interrogated and reused. This paper introduces a RESTful AFLOWLIB API with layered resources, AUID/AURL identifiers, and provenance-aware access, enabling direct searches and integration into external workflows. The resulting framework supports accessible, reproducible, federatable use of calculated materials properties and collaboration across the community.
Problem
Computational materials science requires interoperable, open, and reproducible databases and tools to make large bodies of calculated materials properties reusable.
Method
The paper defines a RESTful AFLOWLIB API with multilayered resources, AUID and AURL identifiers, queryable access paths, and structured calculation provenance.
Results
The API provides database-wide access to calculated materials properties and provenance, supporting searches, external workflows, reproducibility, and federated use.
Takeaways & Limitations
AFLOWLIB can support investigations ranging from individual-material property searches to statistical analyses of structure classes while preserving reproducibility and attribution.
Abstract
from arXiv · showhide
The continued advancement of science depends on shared and reproducible data. In the field of computational materials science and rational materials design this entails the construction of large open databases of materials properties. To this end, an Application Program Interface (API) following REST principles is introduced for the AFLOWLIB.org materials data repositories consortium. AUIDs (Aflowlib Unique IDentifier) and AURLs (Aflowlib Uniform Resource locator) are assigned to the database resources according to a well-defined protocol described herein, which enables the client to access, through appropriate queries, the desired data for post-processing. This introduces a new level of openness into the AFLOWLIB repository, allowing the community to construct high-level work-flows and tools exploiting its rich data set of calculated structural, thermodynamic, and electronic properties. Furthermore, federating these tools would open the door to collaborative investigation of the data by an unprecedented extended community of users to accelerate the advancement of computational materials design and development.
I. INTRODUCTION
The paper introduces a RESTful web API that makes AFLOWLIB’s multilayered materials data searchable, accessible, reproducible, and integrable into external workflows. It defines identifiers, access paths, and provenance practices to support federated use of calculated materials properties.
- I. INTRODUCTION: The API addresses the need for interoperable and federatable tools and databases as computational materials science expands.The paper situates this need alongside high-throughput computation, improved computational resources, and open data-sharing frameworks.
- I. INTRODUCTION: AFLOWLIB provides a web API for querying calculated thermodynamic, crystallographic, mechanical, and provenance data, either directly or within higher-level workflows.The interface is intended to improve database accessibility and utility while supporting systematic updates to previously published data.
- I. INTRODUCTION: AFLOWLIB organizes first-principles materials-property data in searchable, parent-child layers navigated through AUIDs, AURLs, control keywords, and absolute paths.The current implementation includes project, set, and calculation layers, with AUIDs naming entries and AURLs providing their addresses.
- I. INTRODUCTION: AUIDs identify database entries independently of server relocation, linking each object to web locations, contacts, and publication information.The identifiers are generated from a 64-bit CRC checksum of concatenated input and output files, with a negligible probability of duplicates reported by the authors.
- I. INTRODUCTION: AFLOWLIB combines a master input file with calculation and runtime provenance to provide curated, reproducible data for computational materials research.The provenance includes parameters such as k-mesh density, energy cutoff, exchange-correlation potential, software, geometry, calculation time, and memory.
VI. TABLE OF PROPERTIES AND API KEYWORDS
The AFLOWLIB API organizes database entries into layered resources and exposes mandatory and optional keywords through REST-style queries. These keywords support navigation, provenance, authorship, computation metadata, interoperability, and multiple output formats.
- Keyword organization: The keyword table defines mandatory, optional control, and optional materials keywords, with mandatory fields required at every database layer.Optional control fields occur at project, system, and calculation levels, while materials fields generally describe calculations.
- Output formats: Entries can be requested in HTML, JSON, DUMP, PHP, TEXT, or NONE formats, supporting interactive browsing, programmed access, database construction, and existence testing.The format option applies to whole entries, while individual properties are returned as byte sequences unless the full property set is requested.
- Identifiers and locations: AUID identifies an entry as a publishable object identifier, while AURL returns its resource locator for access, debugging, and hyperlinking.The AUID is a string, whereas the AURL includes a server and directory representation.
- Control metadata: Control keywords record API version, available keywords, AFLOW dates and versions, authorship, correspondence, computational resources, and data origin.Resource metadata include processor cores, memory, calculation time, author and corresponding-party fields, and source or language information.
- Navigation: A project or set entry exposes subordinate locations through aflowlib_entries and aflowlib_entries_number queries.These queries let users enumerate available subdirectories and continue interrogating the database hierarchy.
C. Optional materials keywords (alphabetic order)
The optional materials keywords expose structural, computational, energetic, electronic, and provenance properties for calculated entries. They also encode definitions and assumptions needed to interpret quantities such as formation enthalpy and entropic temperature.
- Structure: Structural keywords report original and relaxed Bravais lattices, lattice systems, lattice variations, compositions, prototypes, and densities.Original and relaxed descriptors distinguish structures before and after calculation.
- Provenance: Provenance keywords provide simulation files, codes, forces, geometry, k-point meshes, and calculation settings for reproducing or interpreting results.The files keyword lists accessible inputs and outputs, while individual files are retrieved through the entry URL.
- Electronic and computational properties: Electronic and computational keywords include DFT settings, electronic entropy, band gaps, gap fits, gap types, energies, cutoffs, forces, geometry, and software provenance.The API exposes both calculated properties and the settings or files used to obtain them.
- Energetics: The API returns total energy, enthalpy, formation enthalpy, and their per-atom or per-cell variants, with formation enthalpy defined relative to pure constituents.For a compound ANABNB···, formation enthalpy subtracts the concentration-weighted atomic energies of its constituent elements.
- Entropic temperature: Formation enthalpy alone cannot compare alloy stability across concentrations and resistance to high-temperature disorder, so entropic temperature incorporates configurational entropy.The definition assumes ideal entropy S[{x_i}] = −k_B Σ_i x_i log(x_i), and the maximum Ts measures deviation from a purely entropic free-energy hull.
- Prototype interpretation: Prototype assignment requires elaborate analysis because unstable structures can deform during calculation and produce different relaxed configurations.Differences between original and relaxed Bravais lattices, Pearson symbols, and space groups help identify the appropriate final prototype.
A. Generating a free-energy zero temperature convex hull: OsTc
The OsTc example demonstrates how AFLOWLIB queries traverse project, set, and calculation layers to construct a zero-temperature free-energy convex hull. Users enumerate entries, collect stoichiometries and formation enthalpies, and plot the resulting hull.
- Example goal: The example uses the OsTc system to generate a binary zero-temperature free-energy convex hull.The workflow is presented as a sequence of database queries and local analysis steps.
- Project and set navigation: The project-layer AURL is translated into an HTTP address before the user queries available entries and identifies Os_pvTc_pv.The project resource is located through the AFLOWLIB database search layer.
- Entry enumeration: The Os_pvTc_pv set contains 260 entries, which are enumerated as entry_i for subsequent processing.The user can accelerate discovery by querying aflowlib_entries and aflowlib_entries_number directly.
- Property collection: For every entry_i, the workflow collects stoichiometry and formation enthalpy before assembling the free energies and plotting the convex hull.These quantities provide the composition and energetic data needed for the final plot.
- Automation and verification: The AFLOW command can automate downloading, free-energy calculation, PDF generation, and hyperlink preparation, but users must still verify final relaxed structure prototypes.The command connects to the appropriate server and prepares links to individual entries.
B. Generating a zero temperature phase-diagram of CoNbSi
The CoNbSi example demonstrates how AFLOWLIB queries retrieve ternary and related binary entries, whose formation enthalpies are used to construct a zero-temperature phase diagram. Convexity analysis identifies the stable and metastable phases.
- The workflow concludes by collecting free energies and plotting the zero-temperature convex hull.
- AFLOWLIB interrogation locates CoNbSi in the ternary project layer and identifies CoNb, NbSi, and CoSi as related binary systems.
- The user downloads and parses ternary and binary set-layer entries for CoNbSi and its constituent binary systems.
- Formation enthalpy and stoichiometry data are collected across the relevant entries for phase-diagram construction.
- Convexity analysis of the formation-enthalpy landscape, using QHULL, produces the CoNbSi phase diagram plotted with GNUPLOT.
C. Obtaining band structures
The band-structure example uses AFLOWLIB queries to identify a suitable Al2CuMn calculation, retrieve its available files, and assemble band-structure and density-of-states visualizations. Partial densities of states are provided for inequivalent atomic positions.
- The workflow begins by locating Al2CuMn in the LIB3_RAW project layer and translating its AURL into a web address.
- The set-layer query identifies ten AlCuMn entries spanning ICSD, Heusler, inverse-Heusler, and half-Heusler prototypes.
- The selected T0001.A2BC entry has negative formation enthalpy and includes a band-structure calculation.
- The calculation-layer file query provides the complete downloadable file list, including input data, band-structure images, and Brillouin-zone information.
- The assembled visualization includes total and partial electronic densities of states, with partial densities calculated for inequivalent Al, Cu, and Mn positions.
D. Synergy of experimental and calculation data on a rare prototype
The rare Pd4Pu3 prototype is examined across transition-metal binary systems by combining experimental context with AFLOWLIB calculations. The workflow searches the relevant systems and classifies the prototype as stable, metastable, or unstable.
- High-throughput calculations can address gaps in experimental alloy data and extend knowledge of rare structural prototypes.
- Pd4Pu3 is a rare prototype in transition-metal binaries, with only six previously reported compounds in that class.
- The Pettifor-type map uses increasing Mendeleev numbers on both axes and colors to distinguish reported or predicted compounds and their stability classes.
- The study examines the prototype across 30 transition-metal binary systems selected from the relevant periodic-table columns.
1. Consulting the complete list of structure designa-
The structure-designation workflow identifies the AFLOW prototype label, searches the binary library for matching calculations, and evaluates each structure on its system convex hull. The resulting classification supports the comparison of stable, metastable, and unstable occurrences.
- The AFLOW prototype database identifies the Pd4Pu3 structure with label 655.AB or 655.BA, depending on species order.
- AFLOWLIB queries retrieve entries for each of the 30 binary systems and locate calculations matching the target prototype.
- Convex-hull construction classifies each target structure as stable, metastable, or unstable.
- The calculations find Pd4Pu3 stable in six systems, metastable in ten, and extend its stable-or-metastable prevalence from five to sixteen transition-metal binaries.
E. Bash api.sh example
The Bash example queries AFLOWLIB at project, set, or calculation layers and retrieves entries or individual keywords through HTTP requests.
- The script targets a server and selects a project-, set-, or calculation-layer AFLOWLIB URL.The example uses AFLOWDATA/LIB2_RAW/ and illustrates set- and calculation-layer paths for binary alloys.
- It requests the available keyword names from the selected URL.The script appends ?keywords and reads the returned list.
- It loops over those keywords, downloads each value, and prints key-value pairs.Each query uses the keyword as a URL parameter.
F. Python api.py example
The Python example accesses AFLOWLIB entries for Heusler alloys at multiple database layers and parses a JSON-formatted response.
- The script can target project-, set-, or calculation-layer entries in the Heusler alloys database.The example selects a calculation-layer URL under AFLOWDATA/LIB3_RAW/.
- It requests the selected entry using the format=json query.The response is read from the URL and decoded as UTF-8.
- It parses the JSON object and prints each returned key with its value.The script iterates over the decoded entry fields.
VIII. UPDATES BEYOND VERSION 1.0
AFLOWLIB updates extend the database and API while preserving reproducible, accessible data workflows. The authors also note that the API keyword standard remains incomplete and requires periodic addenda.
- VIII. UPDATES BEYOND VERSION 1.0: The current API keyword list is incomplete for rational materials design and must be expanded as new quantities and descriptors become available.Users are directed to periodically published API specifications addenda.
- VIII. UPDATES BEYOND VERSION 1.0: API versions can be identified by querying the $aurl/?data_api keyword.This provides a way to determine which API specification applies to an entry.
- VIII. UPDATES BEYOND VERSION 1.0: The API supports externally formulated workflows, complete database access, and reproducible extension of the data.The paper states that provenance is provided according to a standard of reproducible and transparent data sharing.
- VIII. UPDATES BEYOND VERSION 1.0: The database is continually expanded through updates to existing alloy libraries and addition of new libraries, including ternary systems and electronic properties.