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:
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.xyz6. 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
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 Terminal14. 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.