Package: navicat-volcanic
volcanic: Automated Generator of Volcano PlotsContentsAboutInstallExamplesCitationAbout↑The code runs on pure python with the following dependencies:numpyscipymatplotlibpandasscikit-learnOptionally,h5pyInstall↑You can install volcanic using pip:pipinstallnavicat_volcanicAfterwards, you can call volcanic as:python-mnavicat_volcanic[-h][-version]-i[FILENAMES][-dfDFILENAMES][-ndND][-vVERB][-rRUNMODE][-lsfer|-thermo|-kinetic|-es|-tof|-all][-TTEMP][-pmPLOTMODE][-icIC][-fcFC][-rmRMARGIN][-lmLMARGIN][-npNPOINTS][-d][-isIMPUTER_STRAT][-refill]or simplynavicat_volcanic[-h][-version]-i[FILENAMES][-dfDFILENAMES][-ndND][-vVERB][-rRUNMODE][-lsfer|-thermo|-kinetic|-es|-tof|-all][-TTEMP][-pmPLOTMODE][-icIC][-fcFC][-rmRMARGIN][-lmLMARGIN][-npNPOINTS][-d][-isIMPUTER_STRAT][-refill]Alternatively, you can download the package and execute:pythonsetup.pyinstallAfterwards, you can call volcanic as:python-mnavicat_volcanic[-h][-version]-i[FILENAMES][-dfDFILENAMES][-ndND][-vVERB][-rRUNMODE][-lsfer|-thermo|-kinetic|-es|-tof|-all][-TTEMP][-pmPLOTMODE][-icIC][-fcFC][-rmRMARGIN][-lmLMARGIN][-npNPOINTS][-d][-isIMPUTER_STRAT][-refill]ornavicat_volcanic[-h][-version]-i[FILENAMES][-dfDFILENAMES][-ndND][-vVERB][-rRUNMODE][-lsfer|-thermo|-kinetic|-es|-tof|-all][-TTEMP][-pmPLOTMODE][-icIC][-fcFC][-rmRMARGIN][-lmLMARGIN][-npNPOINTS][-d][-isIMPUTER_STRAT][-refill]Options can be consulted using the-hflag in either case. The help menu is quite detailed.Note that the volcano plot and activity map functions are directly exposed involcanic.pyasvolcanic_2dandvolcanic_3drespectively, in case you want to incorporate them in your own code.Examples↑The examples subdirectory contains a copious amount of tests which double as examples. Any of the data files can be run as:python-mnavicat_volcanic-i[FILENAME]This will query the user for options and generate the volcano plots as png images. Options can be consulted with the-hflag.The input of volcanic is apandascompatible dataframe, which includes plain .csv and .xls files.Regarding format, volcanic expects headers for all columns. The first column must contain names/identifiers. Then, volcanic expects a number of columns with relative free energies for the species in the catalytic cycle (in order of appearance), whose headers must contain "TS" if the species is a transition state, and a final column whose header is "Product" containing the reaction energy. Non-energy descriptors can be input as a separate file using the-dfflag or as extra columns whose headers contain the word "Descriptor".High verbosity levels (-v 1,-v 2, etc.) will print the output as .csv files as well, which can be used to plot your volcano plot or activity map using external tools. An example is found in thepretty_plotting_exampledirectory in this repository. Keep increasing the verbosity to get even more detailed output. This can be useful for understanding what the code is doing and what can have possibly gone wrong. To be as automated as possible, reasonable default values are set for most choices. The generated csvs also contain the 95% confidence interval value for the plot in question, which are obtained by propagating the uncertainty of the LSFERs involved in the computation. To simplify the propagation of uncertainties in the TOF computation, the uncertainty is approximated using the energy span in TOF volcano plots.The plotmode (-pm 1,-pm 2) option can be used to modify the default look of the generated pngs, including more detail as the plotmode level increases.Citation↑Please cite the accompanying manuscript, which clarifies the details of volcano plot construction. You can find ithereand in the reference:Laplaza, R., Das, S., Wodrich, M.D. et al. Constructing and interpreting volcano plots and activity maps to navigate homogeneous catalyst landscapes. Nat Protoc (2022). https://doi.org/10.1038/s41596-022-00726-2Kinetic volcano plots were introducedhereand turnover frequency/energy span volcano plots were introducedhere. The energy span model was introduced by Kozuch and Shaikhere. Please include those citations where relevant. A comprehensive account can be foundhere.