Using the CLI#

In addition to the powerful Python API, OpenFE provides a simple command line interface to facilitate some more common (and less complicated) tasks. The Python API tries to be as easy to use as possible, but the CLI provides wrappers around some parts of the Python API to make it easier to integrate into non-Python workflows.

The openfe command consists of several subcommands. This is similar to tools like gmx, which has subcommands like gmx mdrun, or conda, which has subcommands like conda install. To get a list of the subcommands and a brief description of them, use openfe (or ``openfe -h), which will give:

Usage: openfe [OPTIONS] COMMAND [ARGS]...

  This is the command line tool to provide easy access to functionality from
  the OpenFE Python library.

Options:
  --version   Show the version and exit.
  --log PATH  logging configuration file
  -h, --help  Show this message and exit.

Setup Commands:
  plan-rhfe-network  Plan a relative hydration free energy network, saved in a
                     dir with multiple JSON files
  atommapping        Check the atom mapping of a given pair of ligands
  plan-rbfe-network  Plan a relative binding free energy network, saved in a
                     dir with multiple JSON files.

Simulation Commands:
  gather    Gather DAG result jsons for network of RFE results into single TSV
            file
  quickrun  Run a given transformation, saved as a JSON file

The --log option takes a logging configuration file and sets that logging behavior. If you use it, it must come before the subcommand name.

You can find out more about each subcommand by putting --help after the subcommand name, e.g., openfe quickrun --help, which returns

Usage: openfe quickrun [OPTIONS] TRANSFORMATION

  Run the transformation (edge) in the given JSON file in serial.

  To save a transformation as JSON, create the transformation and then save it
  with transformation.dump(filename).

Options:
  -d, --work-dir DIRECTORY  directory to store files in (defaults to current
                            directory)
  -o FILE                   output file (JSON format) for the final results
  -h, --help                Show this message and exit.

For more details on various commands, see the CLI Reference.