AutoConf.py: Generate Lowest-Energy Tautomers and Conformers

The AutoConf.py script runs a customizable workflow that generates conformers and tautomers of the input structures and ranks them by energy, using a combination of molecular mechanics, semiempirical, and quantum chemical methods. The calculations can be conducted in the gas phase or with an implicit solvent model. The script can be run from Maestro—see the QM Conformer & Tautomer Predictor Panel topic. The command syntax is as follows:

jaguar run AutoConf.py [options] input-file

Information on the options is available by running the command with the -h option.

To customize the workflow, you can create (or modify) a configuration file and run the script with the -config config-file option. The configuration file consists of a list of stages: for more information on the stages and their keywords, run the script with the -config_help option. The structure of each stage in the configuration file is

stage:
keyword: value
...
backend_options:
keyword: value
...

The following keywords are common to each stage:

Keyword Default value Type Description
erg_window 100.0 float Window to filter high-energy structures from Stage, in kcal/mol
keep_nconf_per_struct 1000000 int Maximum number of conformers per structure to output from Stage.
nkeep 1000000 int Maximum number of structures to output from Stage.
reset_connectivity False bool Toggle regeneration of bonding connectivity for output structures.

There are five stages that you can use:

ConformerStage

Generate conformers for each input structure using MacroModel.
Run $SCHRODINGER/jaguar run csrch.py --help for all keywords.

TautomerStage

Generate tautomers of the input structures by moving protons from proton donor atoms to proton acceptor atoms. The proton donors and proton acceptors are detected automatically. The output is a set of tautomers of the original molecules. By default, the stereochemistry is random if a stereocenter is created, but you can set keywords for stereocenter generation.
The keyword type can be set to prototropic or ring_chain, to specify the type of enumeration done.
See tautomer_enumerator.py Command Help or ring_chain.py Command Help for all keywords, or run $SCHRODINGER/jaguar run tautomer_enumerator.py --help (or ring_chain.py).

FilterStage

Filter input structures according to some specified criteria. This stage can be used to deduplicate conformers.
Run $SCHRODINGER/jaguar run filter.py --help for all keywords.

SemiEmpStage

Run a semi-empirical energy calculation on the input structures, to filter off structures that are obviously too high in energy.
See semi_emp.py Command Help for all keywords, or run $SCHRODINGER/run semi_emp.py --help.

QMStage

Run a quantum mechanical calculation with Jaguar. See Jaguar Alphabetical Keyword Index for all keywords; this topic links to the full definition of each keyword.
The keyword setting canonical: True is recommended, which means that the stage should launch the canonical.py workflow. This workflow makes sure that the isomers use exactly the same number of canonical orbitals, so that a valid energy comparison can be obtained.

You can have as many stages as you want in any order. If you have multiple stages of the same type, they should be distinguished by adding a unique identifier after the stage name, e.g., QMStageGeopt.

If you want to inspect structures that are generated by any stage, you can import the intermediate structure files for the stage into Maestro.

In addition to the output structure file, a CSV file named jobname_provenance_table.csv is generated. This file can be imported into a spreadsheet, and can be useful for tracing how the structures "flow" through the stages and how they are filtered away.