This section has a series of example BROOD command-line executions. Most BROOD runs are carried out using vBROOD. Each example is followed by a brief description of its behavior.
If you would like to execute the following examples as written, the appropriate paths to the executable file and the database file must be included. In addition, the file amide.smi will need to be in the working directory. This can be accomplished with the following command:
prompt> echo "*C(=O)NC*" >> amide.smi
This file can now be used as the query for each case below.
prompt> brood -param 4dfr.param
This execution of BROOD will read all the command-line arguments from the file 4dfr.param. Every time BROOD is executed, a param file is generated that can be used to exactly reproduce the run (vida infra). This option is most useful when the job is set up in vBROOD and the query and param file are written out for later execution. Using the command detailed here with a query and param file from vBROOD will give the same results as running the search from within vBROOD.
prompt> brood -param 4dfr.param -ringOnly false
This example illustrates two points; that command-line arguments take precedence over arguments in the .param file, and that the -ringOnly flag is an important flag in altering BROOD results. This command line will execute BROOD with the parameters from “4dfr.param”, but the -ringOnly parameter will be overridden (taking precedence) over the -ringOnly parameter that is specified in 4dfr.param. A similar outcome could be achieved by editing 4drf.param in a text editor, but this command-line alteration is a more direct means to the same behavior.
By default, BROOD only returns fragments that have at least two ring atoms on the shortest path between attachment points, or at least three ring atoms total if there is only one attachment point. This example shows that a user can turn off this constraint using the -ringOnly flag. If one wants to generate results that only avoid the rings as described above, one can pass None to the -ringOnly parameter.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -quickLook
This execution will use the query in brood.query_1.oeb to search the fragments in the database pubchemDB. The use of the -quickLook parameter will limit the search to approximately 2 minutes. The parameter is a great way to get a quick notion of interesting results. The default databases are organized to allow rapid identification of some interesting results. The full search can take minutes to hours, and is often more appropriate when designing molecules that may take days or weeks to synthesize, nevertheless, in an iterative design session, it can be useful to quickly generate ideas using the -quickLook parameter.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -cpddb myCorporateCollection.smi
This example points out the utility of the -cpddb parameter. When users pass a collection of molecules to this flag, BROOD will annotate any new analogs it generates with similar molecules from the file passed to this parameter. This can be useful either for identifying desirable analogs (perhaps similar compounds that are publicly available) or undesirable analogs (perhaps known inhibitors of off-target proteins). This execution will use the query in brood.query_1.oeb to search the fragments in the database pubchemDB.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -prot target.pdb -select antiTarget.pdb
This example shows that BROOD can accept both an active-site protein, specified by -prot and a selection protein, specified by -select. Both proteins can be specified in vBROOD and in that case would already be encapsulated in brood.query_1.oeb. This example shows how the proteins can be added to a query originally constructed without them. It is critical, that the 3D query, active-site protein and selection protein be oriented in the same frame of reference. When this is true, BROOD will build the analog molecules in the active site of the protein specified by -prot, and eliminate compounds which clash. Similarly, BROOD will compare the analog molecules with the selection protein and require that all hits have at least one clash with that protein. This execution will use the query in brood.query_1.oeb to search the fragments in the database pubchemDB.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -neutralpH false -tautomer false
When BROOD is building analogs by putting similar fragments into a molecular framework, sometimes the electronic environment of certain functional groups change dramatically (amines converted to amides for instance). To properly handle these cases, it is useful for BROOD to normalize the ionization and tautomer states of the new molecules before generating the final hitlist. In some cases users are better served without these normalizations. The ionization and tautomer normalizations can be turned off with the -neutralpH and -tautomer flags respectively.
prompt> brood -queryMol broodFragments.query_1.oeb -db pubchemDB -linkOnly
By default, BROOD compares the shape, chemistry, electrostatics and attachment geometry of fragments in order to suggest analog molecules. For some applications, such as joining fragments or closing rings, it is useful to build fragments into empty space. In these cases, one wants to only compare the attachment geometry of fragments, in a manner similar to the original CAVEAT searches [Bartlett-1994]. The -linkOnly flag instructs BROOD to compare fragments using only their ability to form low-energy bridges between attachment points.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -attachColor
Like ROCS, BROOD uses color-atoms to encode and compare the chemistry of molecules. The -attachColor flag indicates the BROOD should annotate the hitlist molecules with the color atoms that were used in the comparison. The color atoms are added as a separate molecule attached to the analog molecule and can be visualized in BROOD results viewer.
prompt> brood -queryMol brood.query_1.oeb -db pubchemDB -property false
By default, BROOD filters the final analog hitlist with a series of property filters, each specified with a pair of range parameters. While this can be useful, on some occasions, users prefer to avoid all of the property filters. By passing false to the -property flag, all of the property filters can be turned off in one easy step.