Materials ProjectのAPIの使い方(仕様編)
Materials ProjectのAPIの仕様を読んで、いろいろテストした結果を書いてみます。
www.materialsproject.org
フォーマット
1. materials方式
https://www.materialsproject.org/rest/v1/materials/物質名/vasp/プロパティ?API_KEY=自分のAPI key
物質名の指定法
1. Materials ID (mp-1234なら1234)
2. 組成式 (Fe2O3など)
3. 元素系(Li-Fe-Oなど)
プロパティとして指定できる単語
"energy", "energy_per_atom", "volume","formation_energy_per_atom", "nsites","unit_cell_formula", "pretty_formula","is_hubbard", "elements", "nelements","e_above_hull", "hubbards", "is_compatible","spacegroup", "task_ids", "band_gap", "density","icsd_id", "icsd_ids", "cif", "total_magnetization","material_id", "oxide_type", "tags", "elasticity"
2.tasks方式
https://www.materialsproject.org/rest/v1/tasks/タスクID/プロパティ
タスクidに基づいて厳密に情報を指定する方法です。
タスクidの指定法
mp-1234という形で書きます。
プロパティとして指定できる単語
"energy", "energy_per_atom", "volume", "formation_energy_per_atom", "nsites", "unit_cell_formula", "pretty_formula", "is_hubbard", "elements", "nelements", "e_above_hull", "hubbards", "is_compatible", "spacegroup", "band_gap", "density", "icsd_id", "cif"
"task_ids","icsd_ids","total_magnetization","material_id"がないようです。
"oxide_type", "tags", "elasticity"もないようです。
3. battery方式
未調査です。
何が取れるか実験
materials > material_id
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/task_ids?API_KEY=6hel2p**********
出力(そのままだと改行がなくて読みにくいのでjsonformatter)で成形した後自分でいじりました。ヘッダが長いので自力で短くして貼り付けたので、完全同時刻のヘッダなどがありますが気にしないでください。)
{"created_at":"2017-06-02T13:53:56.962885","valid_response":true,"version":{"pymatgen":"4.7.6","db":"2.0.0","rest":"1.0"},"response":[{"material_id":"mp-136"},{"material_id":"mp-13"},{"material_id":"mp-150"},{"material_id":"mp-568345"}],"copyright":"Materials Project, 2012"}
真面目にインデントをかけるとこんな構造です。
{ "created_at":"2017-06-02T13:53:56.962885", "valid_response":true, "version":{ "pymatgen":"4.7.6", "db":"2.0.0", "rest":"1.0" }, "response":[ { "material_id":"mp-136" }, { "material_id":"mp-13" }, { "material_id":"mp-150" }, { "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012" }
materials > task_ids
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/task_ids?API_KEY=6hel2p**********
出力
1つのmaterial_idに、いくつかのtask_idがあるという仕組みのようです。
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "task_ids":["mp-136","mp-987272","mp-988274","mp-988047"], "material_id":"mp-136" }, { "task_ids":[ "mp-918913","mp-919907","mp-13","mp-906002"], "material_id":"mp-13" }, { "task_ids":[ "mp-923289","mp-150","mp-908025","mp-922496"], "material_id":"mp-150" }, { "task_ids":[ "mp-869237","mp-568345","mp-869238","mp-869239","mp-600086"], "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012"}
materials > icsd_id
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/icsd_id?API_KEY=6hel2p**********
出力
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "icsd_id":631723, "material_id":"mp-136" }, { "icsd_id":159354, "material_id":"mp-13" }, { "icsd_id":null, "material_id":"mp-150" }, { "icsd_id":171002, "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012" }
materials > icsd_ids
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/icsd_ids?API_KEY=6hel2p**********
出力
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "icsd_ids":[53450,631723,631726], "material_id":"mp-136" }, { "icsd_ids":[53804,633751,64795,52258,53802,631724,631728,631729,631734,631736,44863,76747,53451,53452,181715,64998,64999,180969,180970,180971,159352,159353,159354,631722,181758], "material_id":"mp-13" }, { "icsd_ids":[41506,53449,53803,631727,631730,631733,44862], "material_id":"mp-150" }, { "icsd_ids":[171002], "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012"}
materials > tags
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/tags?API_KEY=6hel2p**********
出力
結晶構造などの情報が出ますが、nullになっている化合物も多いです。
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "material_id":"mp-136", "tags":[ "Iron - HP, epsilon", "Iron" ] }, { "material_id":"mp-13", "tags":[ "Iron", "Iron - bcc, FM", "Iron - delta", "Iron - alpha", "Iron - delta, HT", "Iron tin (1.84/0.16)", "Iron - HT, delta" ] }, { "material_id":"mp-150", "tags":[ "Iron - gamma", "Iron - gamma, HT", "Iron" ] }, { "material_id":"mp-568345", "tags":[ "Iron" ] } ], "copyright":"Materials Project, 2012" }
materials > cif
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/icsd_ids?API_KEY=6hel2p**********
出力
cifファイルが改行\nで区切られて丸ごと入っているようです。
{ "created_at":"2017-06-02T13:36:02.718786", "valid_response":true, "version":{ "pymatgen":"4.7.6", "db":"2.0.0", "rest":"1.0" }, "response":[ { "cif":"# generated using pymatgen\ndata_Fe\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 2.46933537\n_cell_length_b 2.46933537\n_cell_length_c 3.88751984\n_cell_angle_alpha 90.00000000\n_cell_angle_beta 90.00000000\n_cell_angle_gamma 119.99999991\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Fe\n_chemical_formula_sum Fe2\n_cell_volume 20.5287924666\n_cell_formula_units_Z 2\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Fe Fe1 1 0.333333 0.666667 0.250000 1\n Fe Fe2 1 0.666667 0.333333 0.750000 1\n", "material_id":"mp-136" }, { "cif":"# generated using pymatgen\ndata_Fe\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 2.46654077\n_cell_length_b 2.46654077\n_cell_length_c 2.46654077\n_cell_angle_alpha 109.47122068\n_cell_angle_beta 109.47122070\n_cell_angle_gamma 109.47122054\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Fe\n_chemical_formula_sum Fe1\n_cell_volume 11.551622968\n_cell_formula_units_Z 1\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Fe Fe1 1 0.000000 0.000000 0.000000 1\n", "material_id":"mp-13" }, { "cif":"# generated using pymatgen\ndata_Fe\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 2.57789903\n_cell_length_b 2.57789902\n_cell_length_c 2.57789903\n_cell_angle_alpha 60.00000006\n_cell_angle_beta 60.00000011\n_cell_angle_gamma 60.00000002\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Fe\n_chemical_formula_sum Fe1\n_cell_volume 12.1138644838\n_cell_formula_units_Z 1\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Fe Fe1 1 0.000000 0.000000 0.000000 1\n", "material_id":"mp-150" }, { "cif":"# generated using pymatgen\ndata_Fe\n_symmetry_space_group_name_H-M 'P 1'\n_cell_length_a 3.35786652\n_cell_length_b 3.35786650\n_cell_length_c 7.51945941\n_cell_angle_alpha 102.90166572\n_cell_angle_beta 102.90166566\n_cell_angle_gamma 89.99999984\n_symmetry_Int_Tables_number 1\n_chemical_formula_structural Fe\n_chemical_formula_sum Fe6\n_cell_volume 80.4461975865\n_cell_formula_units_Z 6\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n 1 'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n Fe Fe1 1 0.416630 0.916630 0.833260 1\n Fe Fe2 1 0.583370 0.083370 0.166740 1\n Fe Fe3 1 0.083370 0.583370 0.166740 1\n Fe Fe4 1 0.750000 0.250000 0.500000 1\n Fe Fe5 1 0.916630 0.416630 0.833260 1\n Fe Fe6 1 0.250000 0.750000 0.500000 1\n", "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012" }
materials > energy
入力
https://www.materialsproject.org/rest/v1/materials/Fe/vasp/energy?API_KEY=6hel2p**********
出力
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "energy":-16.7278538, "material_id":"mp-136" }, { "energy":-8.46102915, "material_id":"mp-13" }, { "energy":-8.31266428, "material_id":"mp-150" }, { "energy":-46.05347314, "material_id":"mp-568345" } ], "copyright":"Materials Project, 2012" }
tasks > energy
入力
https://www.materialsproject.org/rest/v1/tasks/mp-923289/energy?API_KEY=6hel2p**********
出力
{ "created_at":"2017-06-02T14:37:42.562560", "valid_response":true, "version":{"pymatgen":"4.7.6", "db":"2.0.0","rest":"1.0"}, "response":[ { "energy":-8.54787968, "task_id":"mp-923289" } ], "copyright":"Materials Project, 2012" }