MakeFraglib

Overview

MakeFraglib identifies, extracts, and generates conformers of molecular fragments. The model builder in OMEGA fragments input molecules, retrieves corresponding fragment conformers, and assembles them into a three dimensional structure. Pregenerating fragment conformers using MakeFraglib accelerates the model building procedure.

The model builder in OMEGA attempts to capture all of the relevant bond length and angles, and ring conformations for an input molecule. Fragment assembly allows for a ‘divide and conquer’ approach to model building. Much of the relevant information for building a molecular models is contained in carefully chosen fragments. MakeFraglib uses distance constraints and geometry optimization to generate fragment conformations. Only a single conformation is stored for acyclic fragments, while all possible unique ring conformers are retained within user defined limits. Libraries created with MakeFraglib can then be provided to OMEGA using the -setfraglib or -addfraglib flags.

MakeFraglib can be used from the command-line to generate ring templates for use with OMEGA starting from only a collection of molecules. The output file from MakeFraglib can then be passed directly into OMEGA using the -setfraglib or -addfraglib flag. Although fragment libraries may be concatenated using the Unix ‘cat’ command, this is not strictly necessary as multiple fragment libraries may be specified as one argument to the flag.

Example Commands

The following section shows several common command-line executions of MakeFraglib Each example is followed by an explanation of what the program will do. Sample data files can be found in the data directory.

prompt> makefraglib -in drugs.smi -out drugs_fraglib.oeb

All of the molecules in drugs.smi will be processed. The set of all unique fragments (according to OMEGA fragmentation rules) from all of the molecules in drugs.smi will be collected.

prompt> makefraglib -in vendor.smi -out new_drugs_fraglib.oeb -ewindow 5.0

Conformers will be generated for all of the unique fragments found in the user supplied file vendor.smi. An energy window of 5 kcal above the global minimum conformer will be used to accept or reject conformations of flexible ring systems.

Command Line Help

A description of the command line interface can be obtained by executing MakeFraglib with the –help option.

> makefraglib --help

will generate the following output:

Help functions:
  makefraglib --help simple      : Get a list of simple parameters
  makefraglib --help all         : Get a complete list of parameters
  makefraglib --help defaults    : List the defaults for all parameters
  makefraglib --help <parameter> : Get detailed help on a parameter
  makefraglib --help html        : Create an html help file for this program
  makefraglib --help versions    : List the toolkits and versions used in the application

Required Parameters

-in

File containing one or more molecules from which fragments will be generated

-out

File to write fragments generated by MakeFraglib. OEBinary format is required and Gzipped OEBinary is recommended.

Optional Parameters

Execute Options

-param

The argument for this flag is the name of a file containing control parameters. The control parameter file acts to either replace or augment the command line interface. All parameters necessary for program execution may be provided in the control parameter file, although any command given explicitly on the command line will supersede options found in the parameter file. The application generates a new parameter file containing the full set of execution parameters upon every execution. The name of the parameter file is created by combining the prefix base name with the ‘.param’ extension.

-mpi_np <n>

Specifies the number of processors n when the application is run in MPI mode.

-mpi_hostfile <filename>

Specifies the name of the file containing processors configuration. For every host this file should contain a line host_name slots=n where n is the number of processors on the host.

File Options

-log

The argument for this flag specifies the name of the log file. The level of detail for logfile information can be altered using the -verbose flag. Generation of an output log may be disabled by providing nul as a argument in Windows and /dev/null as an argument on Linux and macOS. [default = prefix _log.txt]

-prefix

The argument for this flag defines the prefix to be used for various information and data files generated. Most important among these is the ‘prefix_parm.txt’ file which includes a copy of all the parameters used in the run. The prefix is also used to generate a default log file name if not explicitly specified with the -log flag. [default = <app_name>].

-verbose

This is a boolean flag that controls the level of detail written to the log file. By default only minimal information is written to the log file. Verbose logging will cause more information to be written to the log file in order to follow behavior during program execution. [default = false]

-molNames

This parameter takes a text file containing a list of molecule names (one name per line in the file). If this parameter is set then only molecules in the input file(s) (see parameter -in) with names that match those in the text files will be read in.

The general purpose of this flag is to provide an easy mechanism for reading a few specific molecule(s) that are contained in a large file, without having to extract those molecules by hand from the input molecules file. [default = NONE].

-progress

Show progress on screen. Options are ‘none’, ‘dots’, ‘log’ and ‘percent’. The ‘dots’ options will displays dots on screen to show molecules completed. The ‘log’ option will duplicate the log file on screen. The ‘percent’ option will track progress through the input file. [default = none]

3D Construction Parameters

-buildff

This flag sets the force field used for constructing fragments that are assembled to build an initial model of the input structure. Consult the description of Force Fields (see Force Fields) for an explanation of appropriate arguments for this flag. [default = mmff94s_NoEstat]

-fromCT

This boolean flag determines whether makefraglib should generate an initial set of 3D coordinates using only the connection table of the input molecule. Initial model generation is always necessary for molecule file formats devoid of coordinates (i.e. SMILES). Bond lengths and angles taken from molecule files containing coordinates may be retained by setting this flag to false. [default = true]

-ewindow
-ewindowRing

These flags set the energy window in accepting or rejecting fragment conformers. Any fragment conformer that has a calculated strain energy less than the sum of the energy window and the energy of the global minimum fragment conformer will be accepted. Conformers with strain energies above this threshold are rejected. [default = 4.0]

-rms
-rmsRing

These flags set the minimum Root Mean Square (RMS) Cartesian distance below which two fragment conformers are duplicates. The RMS calculation is performed after superposition such that the true minimum distance between fragment conformers is calculated. Lowering the value may cause makefraglib to generate ensembles that contain more fragment conformers of a similar shape. Higher values may result in smaller, yet possibly more shape diverse ensembles. [default = 0.1]

-startfact
-startfactRing

Factor for determining number of random starting geometries when generating fragments. Legal values are from 1 to 100. [default = 2, 20]

-fragGen
-fragGenRing

Maximum Number of conformers to be generated with distance geometry for each fragment. [default = 40, 50000]

-fragKeep
-fragKeepRing

Maximum Number of conformers to be kept for each fragment. [default = 1, 1024]

-timeLimit
-timeLimitRing

Maximum time in sec allowed for each fragment generation. [default = 300]