Generate multiple conformers ============================ In contrast to conformer searching, the goal of conformer generation is not simply to find a low energy conformation but to generate several different conformations. Such conformations may be required by another piece of software such as some protein-ligand docking and pharmacophore programs. They may also be useful if considering writing some sort of shape comparison method. Open Babel has two distinct conformer generating codes: 1. Confab: A systematic conformer generator that generates all diverse low-energy conformers. 2. Genetic algorithm: This is a stochastic conformer generator that generates diverse conformers either on an energy or RMSD basis Genetic algorithm ----------------- A genetic algorithm is a general computational method to find a globally optimum solution to some multiparameter problem. It involves a population of conformers which after a series of generations, iteratively arrive at an optimal solution in terms of either RMSD diversity or energy. Information about using this method is available at the command-line using: ``obabel -L conformer``. Although labelled as "Conformer Searching", if you choose the genetic algorithm method (which is the default) then you can save the conformers in the final generation using ``--writeconformers``. For example, the following line creates 30 conformers optimized for RMSD diversity:: obabel startingConformer.mol -O ga_conformers.sdf --conformer --nconf 30 --score rmsd --writeconformers In this case ``--score rmsd`` was not strictly necessary as RMSD diversity was the default in any case. .. _Confab: Confab ------ Confab systematically generates all diverse low-energy conformers for molecules. To run Confab use the ``--confab`` operation, and to assess the results by calculating RMSDs to reference structures, use the **confabreport** output format. .. rubric:: confab operator * ``obabel -O --confab [confab options]`` for typical usage * ``obabel -L confab`` for help text The *inputfile* should contain one or more 3D structures (note that 2D structures will generate erroneous results). Generated conformers are written to the *outputfile*. All of the conformers for a particular molecule will have the same title as the original molecule. --rcutoff RMSD cutoff (default 0.5 Angstrom) --ecutoff Energy cutoff (default 50.0 kcal/mol) --conf <#confs> Max number of conformers to test (default is 1 million) --original Include the input conformation as the first conformer --verbose Verbose - display information on torsions found .. rubric:: confabreport format * ``obabel [-O ] -o confabreport -xf [-xr ]`` for typical usage * ``obabel -L confabreport`` for help text Once a file containing conformers has been generated by Confab, the result can be compared to the original input structures or a set of reference structures using this output format. Conformers are matched with reference structures using the molecule title. For every conformer, there should be a reference structure (but not necessarily *vice versa*). -f File containing reference structures -r RMSD cutoff (default 0.5 Angstrom) The number of structures with conformers within this RMSD cutoff of the reference will be reported. .. rubric:: Example The example file, `bostrom.sdf`_, contains 36 molecules which have from 1 to 11 rotatable bonds (see *Bostrom, Greenwood, Gottfries, J Mol Graph Model, 2003, 21, 449*). We can generate and test up to 100K conformers using Confab as follows:: > obabel bostrom.sdf -O confs.sdf --confab --conf 100000 **Starting Confab 1.1.0 **To support, cite Journal of Cheminformatics, 2011, 3, 8. ..Input format = sdf ..Output format = sdf ..RMSD cutoff = 0.5 ..Energy cutoff = 50 ..Conformer cutoff = 1000000 ..Write input conformation? False ..Verbose? False **Molecule 1 ..title = 1a28_STR_1_A_1__C__ ..number of rotatable bonds = 1 ..tot conformations = 12 ..tot confs tested = 12 ..below energy threshold = 10 ..generated 3 conformers ... etc, etc 0 molecules converted To check how many of the generated conformers are within 1.0 A RMSD of the original structures, we can use the confabreport format as follows:: > obabel confs.sdf -oconfabreport -xf bostrom.sdf -xr 1.0 **Generating Confab Report ..Reference file = bostrom.sdf ..Conformer file = confs.sdf ..Molecule 1 ..title = 1a28_STR_1_A_1__C__ ..number of confs = 3 ..minimum rmsd = 0.0644801 ..confs less than cutoffs: 0.2 0.5 1 1.5 2 3 4 100 ..1 1 3 3 3 3 3 3 ..cutoff (1) passed = Yes ... etc, etc **Summary ..number of molecules = 36 ..less than cutoff(1) = 35 52271 molecules converted .. _bostrom.sdf: ../_static/bostrom.sdf