qcarchive_step package#

Submodules#

qcarchive_step.metadata module#

This file contains metadata describing the results from QCArchive

qcarchive_step.metadata.metadata = {}#

Description of the computational models for QCArchive.

Hamiltonians, approximations, and basis set or parameterizations, only if appropriate for this code. For example:

metadata["computational models"] = {
    "Hartree-Fock": {
        "models": {
            "PM7": {
                "parameterizations": {
                    "PM7": {
                        "elements": "1-60,62-83",
                        "periodic": True,
                        "reactions": True,
                        "optimization": True,
                        "code": "mopac",
                    },
                    "PM7-TS": {
                        "elements": "1-60,62-83",
                        "periodic": True,
                        "reactions": True,
                        "optimization": False,
                        "code": "mopac",
                    },
                },
            },
        },
    },
}

qcarchive_step.qcarchive module#

Non-graphical part of the QCArchive step in a SEAMM flowchart

class qcarchive_step.qcarchive.QCArchive(flowchart=None, title='QCArchive', extension=None, logger=<Logger qcarchive_step.qcarchive (WARNING)>)[source]#

Bases: Node

The non-graphical part of a QCArchive step in a flowchart.

parser#

The parser object.

Type:

configargparse.ArgParser

options#

It contains a two item tuple containing the populated namespace and the list of remaining argument strings.

Type:

tuple

subflowchart#

A SEAMM Flowchart object that represents a subflowchart, if needed.

Type:

seamm.Flowchart

parameters#

The control parameters for QCArchive.

Type:

QCArchiveParameters

See also

TkQCArchive, QCArchive, QCArchiveParameters

property dataset#

The dataset in QCArchive.

datasets(_type='all')[source]#

The current datasets in QCArchive.

description_text(P=None)[source]#

Create the text description of what this step will do. The dictionary of control values is passed in as P so that the code can test values, etc.

Parameters:

P (dict) – An optional dictionary of the current values of the control parameters.

Returns:

A description of the current step.

Return type:

str

property git_revision#

The git version of this module.

property qc_client#

The Portal client.

run()[source]#

Run a QCArchive step.

Parameters:

None

Returns:

The next node object in the flowchart.

Return type:

seamm.Node

property version#

The semantic version of this module.

qcarchive_step.qcarchive_parameters module#

Control parameters for the QCArchive step in a SEAMM flowchart

class qcarchive_step.qcarchive_parameters.QCArchiveParameters(defaults={}, data=None)[source]#

Bases: Parameters

The control parameters for QCArchive.

You need to replace the “time” entry in dictionary below these comments with the definitions of parameters to control this step. The keys are parameters for the current plugin,the values are dictionaries as outlined below.

Examples

parameters = {
    "time": {
        "default": 100.0,
        "kind": "float",
        "default_units": "ps",
        "enumeration": tuple(),
        "format_string": ".1f",
        "description": "Simulation time:",
        "help_text": ("The time to simulate in the dynamics run.")
    },
}
parameters{str: {str: str}}

A dictionary containing the parameters for the current step. Each key of the dictionary is a dictionary that contains the the following keys:

parameters[“default”] :

The default value of the parameter, used to reset it.

parameters[“kind”]enum()

Specifies the kind of a variable. One of “integer”, “float”, “string”, “boolean”, or “enum”

While the “kind” of a variable might be a numeric value, it may still have enumerated custom values meaningful to the user. For instance, if the parameter is a convergence criterion for an optimizer, custom values like “normal”, “precise”, etc, might be adequate. In addition, any parameter can be set to a variable of expression, indicated by having “$” as the first character in the field. For example, $OPTIMIZER_CONV.

parameters[“default_units”]str

The default units, used for resetting the value.

parameters[“enumeration”]tuple

A tuple of enumerated values.

parameters[“format_string”]str

A format string for “pretty” output.

parameters[“description”]str

A short string used as a prompt in the GUI.

parameters[“help_text”]str

A longer string to display as help for the user.

See also

QCArchive, TkQCArchive, QCArchive, QCArchiveStep

parameters = {'dataset': {'default': '', 'default_units': '', 'description': 'Dataset:', 'enumeration': (), 'format_string': 's', 'help_text': 'The name of the dataset.', 'kind': 'string'}, 'description': {'default': '', 'default_units': '', 'description': 'Description:', 'enumeration': (), 'format_string': 's', 'help_text': 'The description of the dataset.', 'kind': 'string'}, 'exist_ok': {'default': 'yes', 'default_units': '', 'description': 'Ok if already exists:', 'enumeration': ('yes', 'no'), 'format_string': 's', 'help_text': 'Whether it is OK if the dataset already exists.', 'kind': 'boolean'}, 'operation': {'default': 'add configuration', 'default_units': '', 'description': 'What to do:', 'enumeration': ('create new dataset', 'add configuration', 'list entries', 'get entries'), 'format_string': 's', 'help_text': 'What to do with the dataset in QCArchive.', 'kind': 'enum'}, 'tags': {'default': '', 'default_units': '', 'description': 'Tags:', 'enumeration': (), 'format_string': 's', 'help_text': 'The tags for the new dataset, a comma separated list.', 'kind': 'string'}, 'type of dataset': {'default': 'singlepoint', 'default_units': '', 'description': 'Dataset type:', 'enumeration': ('singlepoint', 'optimization'), 'format_string': 's', 'help_text': 'The type of the dataset.', 'kind': 'enum'}}#

qcarchive_step.qcarchive_step module#

class qcarchive_step.qcarchive_step.QCArchiveStep(flowchart=None, gui=None)[source]#

Bases: object

Helper class needed for the stevedore integration.

This must provide a description() method that returns a dict containing a description of this node, and create_node() and create_tk_node() methods for creating the graphical and non-graphical nodes.

The dictionary for the description is the class variable just below these comments. The felds are as follows:

my_description{str, str}

A human-readable description of this step. It can be several lines long, and needs to be clear to non-expert users. It contains the following keys: description, group, name.

my_description[“description”]tuple

A description of the QCArchive step. It must be clear to non-experts.

my_description[“group”]str

Which group in the menus to put this step. If the group does not exist it will be created. Common groups are “Building”, “Control”, “Custom”, “Data”, and “Simulations”.

my_description[“name”]str

The name of this step, to be displayed in the menus.

create_node(flowchart=None, **kwargs)[source]#

Create and return the new node object.

Parameters:
  • flowchart (seamm.Node) – A non-graphical SEAMM node

  • **kwargs (keyword arguments) – Various keyword arguments such as title, namespace or extension representing the title displayed in the flowchart, the namespace for the plugins of a subflowchart and the extension, respectively.

Return type:

QCArchive

create_tk_node(canvas=None, **kwargs)[source]#

Create and return the graphical Tk node object.

Parameters:
  • canvas (tk.Canvas) – The Tk Canvas widget

  • **kwargs (keyword arguments) – Various keyword arguments such as tk_flowchart, node, x, y, w, h representing a graphical flowchart object, a non-graphical node for a step, and dimensions of the graphical node.

Return type:

TkQCArchive

description()[source]#

Return a description of what this step does.

Returns:

description

Return type:

dict(str, str)

my_description = {'description': 'An interface for QCArchive', 'group': 'Data', 'name': 'QCArchive'}#

qcarchive_step.tk_qcarchive module#

The graphical part of a QCArchive step

class qcarchive_step.tk_qcarchive.TkQCArchive(tk_flowchart=None, node=None, canvas=None, x=None, y=None, w=200, h=50)[source]#

Bases: TkNode

The graphical part of a QCArchive step in a flowchart.

tk_flowchart#

The flowchart that we belong to.

Type:

TkFlowchart = None

node#

The corresponding node of the non-graphical flowchart

Type:

Node = None

namespace#

The namespace of the current step.

Type:

str

tk_subflowchart#

A graphical Flowchart representing a subflowchart

Type:

TkFlowchart

canvas#

The Tk Canvas to draw on

Type:

tkCanvas = None

dialog#

The Pmw dialog object

Type:

Dialog

x#

The x-coordinate of the center of the picture of the node

Type:

int = None

y#

The y-coordinate of the center of the picture of the node

Type:

int = None

w#

The width in pixels of the picture of the node

Type:

int = 200

h#

The height in pixels of the picture of the node

Type:

int = 50

self[widget]

A dictionary of tk widgets built using the information contained in QCArchive_parameters.py

Type:

dict

See also

QCArchive, TkQCArchive, QCArchiveParameters

create_dialog()[source]#

Create the dialog. A set of widgets will be chosen by default based on what is specified in the QCArchive_parameters module.

Parameters:

None

Return type:

None

property qc_client#

The Portal client.

reset_dialog(widget=None)[source]#

Layout the widgets in the dialog.

Parameters:

widget (Tk Widget = None) –

Return type:

None

right_click(event)[source]#

Handles the right click event on the node.

Parameters:

event (Tk Event) –

Return type:

None

See also

TkQCArchive.edit

Module contents#

qcarchive_step A SEAMM plug-in for QCArchive