Code Monkey home page Code Monkey logo

cathub's Introduction

Introduction

CatHub provides an interface to the Surface Reactions database on 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 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,
                             reactants={'COgas': 1},
                             products={'COstar': 1},
                             elements=['Cu', 'Al'],
                             #surface_composition='Cu', # match specific composition
                             facet = '100'
                             )

Get atomic structure separately:

# 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 <foldername> -a <ads1,ads2> -c <dft-code> -x <xc-functional> -f <facet> -S <crystal structure>

New: organize in interactive manner to update adsorbate name, site and facet on the run:

cathub organize <foldername> -I ...

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>

Inspecting local local .db file:

cathub show-reactions <dbfile>

Sending the data to the Catalysis Hub server:

cathub db2server <dbfile>

cathub's People

Contributors

kirstenwinther avatar schlexer avatar mamunm avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.