Python API for the Surface Reactions database on Catalysis-Hub.org
Project description
## Introduction
CatHub provides an interface to the Surface Reactions database on [Catalysis-Hub.org](http://www.catalysis-hub.org).
The module includes a command line interface that can be used to access and upload data. A short guide is given below. We refer to the [catalysis-hub documentation](http://docs.catalysis-hub.org/en/latest/tutorials/upload.html) for details on how to submit data.
## Using the cathub cli
Run cathub from the command line:
cathub –help
or with any of its sub-commands:
cathub reactions –help
## Examples
Querying the Surface Reactions database in Python:
from cathub.cathubsql import CathubSQL
# To get data on catalysis-hub.org db = CathubSQL()
# Data from local cathub .db file db = CathubSQL(‘filename.db’)
Get reactions in pandas dataframe:
- dataframe = db.get_dataframe(pub_id=’PengRole2020’,
include_atoms=False, include_atoms=True, # include atoms in dataframe #include_atoms=’PengRole2020.db’, # save atoms to local db reactants=[‘COgas’], products=[‘COstar’], elements=[‘Cu’, ‘Al’], #surface_composition=’Cu’, # match specific composition facet = ‘100’ )
Get atomic structure seperately:
# Get atoms for one reaction_id taken from dataframe atoms_list = db.get_atoms_for_reaction(reaction_id)
# Get atoms for entire dataset atoms_list = db.get_atoms_for_publication(pub_id=’PengRole2020’)
Quick view of atomic structures on Catalysis Hub with ase db CLI:
cathub ase ‘CuAg pub_id=PengRole2020’
## Uploading data
Organizing a general folder into a structured folder:
cathub organize <folderame> -a <ads1,ads2> -c <dft-code> -x <xc-functional> -f <facet> -S <crystal structure>
As an alternative to cathub organize, create an empty organized folderstructure for dropping files yourself. First create a template and edit it, then create the folders.
cathub make_folders –create-template <template> cathub make_folders <template>
Reading folders into a local .db file:
cathub folder2db <foldername>
Sending the data to the Catalysis Hub server:
cathub db2server <dbfile>
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.