Conformer Generation and Rescoring

This tutorial shows how to handle the generation of large sets of conformer structures from a single molecular geometry. A moderately sized molecule of pharmaceutical relevance, Isobutylphenylpropionic acid, more commonly known as Ibuprofen, is used as an example for this demonstration.

Note

The modules behind the functionality presented in this tutorial are still being worked on and improved. As such some

Structure Setup

We begin by retrieving the initial Ibuprofene structure. As alternative to various online sources, this structure is also available from the AMS library. To export the Ibuprofene structure into an .xyz format:

1. Start up AMSinput
2. Click the Search button in the upper right corner of the main panel
3. Type Ibuprofen and select Ibuprofen (ADF)
4. Export the structure via FileExport Coordinates.xyz and name it Ibuprofen.xyz
../_images/1_GUI_import_Ibuprofen.png

Conformer Generation

We will use the workflow implementations located in $AMSHOME/scripting/standalone/structure_generation_tools/ which provide an easy access to the functionality of the AMS Conformer library.

5. Open a bash Terminal and navigate to the location of the previously exported file Ibuprofen.xyz
6. Run the structure generation with the command amspython $AMSHOME/scripting/standalone/structure_generation_tools/GenerateConformers.py --xyz Ibuprofen.xyz --maxJobs 4 -n 1000 --generator rdkit --xyzout 1_Ibuprofene_1000structs_UFF.xyz

This command takes the input structure and alters it to generate multiple conformer structures. The GenerateConformers.py standalone script currently supports the following options:

–xyz path to input geometry (geometries) in xyz format
–nConfs number of conformers generated
–lowest number of best scoring conformers to be returned
–xyzout path to output. Conformer structures are written in a concatenated xyz format
–generator algorithm for conformer generation. Currently supported are rdkit and crest
–settings path a .run file in block format specifying the engine used for conformer generation or optimization
–overrideChecks if True skips structural comparisons during construction of internal conformer objects
–maxJobs maximum number of concurrently running jobs started by the script
–nProcs number of cores allocated for each job, respectively

After the workflow started by the above command line script is complete, the obtained conformers are stored in 1_Ibuprofene_1000structs_UFF.xyz.

7. Inspect the conformer structures by typing amsmovie 1_Ibuprofene_1000structs_UFF.xyz

Conformer (Re)scoring

The above conformers were obtained using the very fast UFF force field. While this will yield reasonable structures, the task at hand often requires a higher accuracy for geometries and energies. For this reason a second standalone script can be invoked to rescore the series of conformers using a more accurate method. We begin this part by defining such a more accurate method with the help of AMSinput

8. Start up AMSinput
9. Set the engine to DFTBPanel
10. Navigate to ModelSolvation
11. Select SolventDMSO
12. Obtain the .run file by storing the current job via FileSave As.. as ‘DFTB_GBSA’

This will define the compute engine that will be used for this rescoring step: The GFN-xTB using a GBSA solvation model for a DMSO solvation sphere. We are now ready to run the rescoring

13. Return to the previous bash Terminal
14. Run the rescoring with the command amspython $AMSHOME/scripting/standalone/structure_generation_tools/RescoreConformers.py --xyz 1_Ibuprofene_1000structs_UFF.xyz --settings DFTB_GBSA.run --maxJobs 4 --lowest 100 --xyzout 2_Ibuprofene_100structs_DFTB_GBSA.xyz

Note that this standalone script uses, where applicable, the same command line arguments as those detailed above for GenerateConformers.py. After this workflow step is concluded, the 100 reoptimized conformer structures that have the lowest GFN-xTB/GBSA energy score will be written to 2_Ibuprofene_100structs_DFTB_GBSA.xyz. Analogous to the above step 7. these can also be inspected with amsmovie.