THE MATERIALS APIShyue Ping Ong (MIT), Shreyas Cholia (LBL/NERSC)
What is The Materials API?   An open platform for       Flexible and scalable to    accessing Materials       cater to lar...
HTTP API design (REST)                                        Unique Identifier. Eg.                                      ...
Why REST APIs?¨    Big push towards RESTful HTTP APIs across the web.¨    REST APIs provide programmatic access to data ...
Access via an API key¨    To maintain privileged access, each user has an      associated API key (with certain defined a...
Sample JSON outputGET https://www.materialsproject.org/rest/v1/materials/Fe2O3/vasp/energy
Integration with pymatgen The Materials API           Powerful Materials             Analytics Tool
pymatgen¨    The open source python library that powers the      Materials Project.      ¤  Defines  core Python objects...
Pymatgen now provides access to analysis functions as well as data
Materials API + pymatgen examplefrom pymatgen.matproj.rest import MPRester #This initializes the REST adaptor. Put your ow...
More information¨    Materials API + pymatgen examples      ¤    https://gist.github.com/gists/search?q=shyuep+materials...
Upcoming SlideShare
Loading in...5
×

The Materials API

2,257

Published on

These slides provide a quick overview of the Materials API, an open platform for materials researchers to access data from the Materials Project. A few simple examples are provided, as well as links where more information can be obtained.

Published in: Education, Technology
1 Comment
1 Like
Statistics
Notes
  • Thanks for sharing the information about a great educational project.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,257
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
30
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "The Materials API"

  1. 1. THE MATERIALS APIShyue Ping Ong (MIT), Shreyas Cholia (LBL/NERSC)
  2. 2. What is The Materials API? An open platform for Flexible and scalable to accessing Materials cater to large number of Project data based on collaborators, with Simple to use and code agnostic. REpresentational State different accessTransfer (REST) principles. privileges.
  3. 3. HTTP API design (REST) Unique Identifier. Eg. a formula (Fe2O3), id (1234) or chemical system (Li-Fe-O) Propertyhttps://www.materialsproject.org/rest/v1/materials/Fe2O3/vasp/energy Preamble URL Data type (vasp, exp, etc.)• RESTful API maps URLs to data objects
  4. 4. Why REST APIs?¨  Big push towards RESTful HTTP APIs across the web.¨  REST APIs provide programmatic access to data and resources to developers over the web¨  Access to data as well defined objects allows users to develop their own custom applications and code Enables a thriving community built around data.
  5. 5. Access via an API key¨  To maintain privileged access, each user has an associated API key (with certain defined access privileges).¨  To get your key, login to materialsproject.org and go to www.materialsproject.org/profile¨  All MP https requests must supply API key as: ¤  A x-api-key header, e.g., {‘X-API-KEY’: ‘MYKEY’}, or ¤  As a GET or POST variable, e.g., {‘API_KEY’: ‘MYKEY’}
  6. 6. Sample JSON outputGET https://www.materialsproject.org/rest/v1/materials/Fe2O3/vasp/energy
  7. 7. Integration with pymatgen The Materials API Powerful Materials Analytics Tool
  8. 8. pymatgen¨  The open source python library that powers the Materials Project. ¤  Defines core Python objects for materials data representation. ¤  Provides a well-tested set of structure and thermodynamic analysis tools relevant to many applications. ¤  Establishes an open platform for researchers to collaboratively develop sophisticated analyses of materials data obtained both from first principles calculations and experiments.
  9. 9. Pymatgen now provides access to analysis functions as well as data
  10. 10. Materials API + pymatgen examplefrom pymatgen.matproj.rest import MPRester #This initializes the REST adaptor. Put your own API key in.a = MPRester("YOUR_API_KEY") #This gives you the Structure corresponding to material id 2254 in the Materials Project.structure = a.get_structure_by_material_id(2254) #Entries are the basic unit for thermodynamic and other analyses in pymatgen.#This gets all entries belonging to the Ca-C-O system.entries = a.get_entries_in_chemsys([Ca, C, O])#With entries, you can do many sophisticated analyses,#like creating phase diagrams.pd = PhaseDiagram(entries)plotter = PDPlotter(pd)plotter.show()
  11. 11. More information¨  Materials API + pymatgen examples ¤  https://gist.github.com/gists/search?q=shyuep+materials+api +pymatgen¨  The Materials API wiki ¤  https://materialsproject.org/wiki/index.php/The_Materials_API¨  Python Materials Genomics ¤  http://packages.python.org/pymatgen/ ¤  Shyue Ping Ong, William Davidson Richard, Anubhav Jain, Geoffroy Hautier, Michael Kocher, Shreyas Cholia, Dan Gunter, Vincent Chevrier, Kristin A. Persson, Gerbrand Ceder. Python Materials Genomics (pymatgen) : A Robust, Open-Source Python Library for Materials Analysis. (submitted)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×