Setting up

Install the JobflowChemistry Python package

pip install -U git+https://github.com/cfarm6/JobflowChemistry.git      

Additionally, install the following dependencies:

pip install jobflow
pip install fireworks

JobflowChemistry is a Python package that allows you to build and run workflows using the Jobflow framework. Jobflow is a Python package that allows you to build and run workflows using the Fireworks framework for workflow management.

Additionally, depending on the nodes used in your workflow, you may need to install additional dependencies. For example, ORCA can be installed by following the instructions here. To view a list of the dependencies for each node, see the documentation here.

Setting Up A Fireworks Launchpad

To set up a Fireworks launchpad, follow the instructions here.

For simiplicity, the steps will be outlined below:

1. Install the Fireworks package

pip install fireworks

2. Create a MongoDB instance

Navigate to MongoDB Atlas and create a free cluster. This will serve as the launchpad for your workflows. You will need to allow network access from all IP Addresses for our service to submit workflows. Instructions can be found here. When you create the cluster, you will be given a URI connection string. Copy this connection string to be used in the next step.

3. Create a my_launchpad.yaml file

In the root directory of your project, run the following command:

lpad init

You will enter the URI connection string from the previous step when prompted for the host. You can leave the other fields set as their default values. This will create a my_launchpad.yaml file in the root directory of your project.

4. Create a jobflow.yaml file

Create an empty jobflow.yaml file in the root directory of your project. This will be used to configure the JobflowChemistry service. Copy the following contents into the file:

JOB_STORE:
  docs_store:
    type: MongoURIStore
    uri: <MONGODB_URI>
    database: data
    collection_name: docs_store
  additional_stores:
    files:
      type: GridFSURIStore
      database: data
      collection_name: files
      uri: <MONGODB_URI>
    settings: 
      type: MongoURIStore
      uri: <MONGODB_URI>
      database: data
      collection_name: settings
    properties:
      type: MongoURIStore
      uri: <MONGODB_URI>
      database: data
      collection_name: properties

Replace <MONGODB_URI> with the URI connection string from the previous step.

5. [Optional] Create a config.sh file

When using jobflow and fireworks in a cluster, you may need to set some environment variables. You need to set the environment variable JOBFLOW_CONFIG_FILE to the path of the jobflow.yaml file.

export JOBFLOW_CONFIG_FILE=jobflow.yaml

This will allow you to run jobflow and fireworks without having to specify the configuration file each time.

6. Upload your connection files to Molecular Studio V

In your browser, open Molecular Studio V. Navigate to the “Workflow Builder” tab and click the Select a launchpad select menu in the lower left corner and select Add or mopdify launchpads. This will open a dialog box where you can upload your my_launchpad.yaml and jobflow.yaml files. You will need to assign a name to your fireworks/jobflow database for convinience.

7. Start Building!

You are now free to start building your workflows! If you have any issues or questions, please reach out to us at operations@vagusllc.com.