Previous TOC Next | RDKitEnumerateCompoundLibrary.py | Code | PDF | PDFGreen | PDFA4 | PDFA4Green

# NAME

RDKitEnumerateCompoundLibrary.py - Enumerate a virtual compound library

# SYNOPSIS

RDKitEnumerateCompoundLibrary.py [--compute2DCoords <yes or no>] [--infileParams <Name,Value,...>] [--mode <RxnByName or RxnBySMIRKS>] [--outfileParams <Name,Value,...>] [--overwrite] [--prodMolNames <UseReactants or Sequential>] [--rxnName <text>] [--rxnNamesFile <FileName or auto>] [--smirksRxn <text>] [--sanitize <yes or no>] [-w <dir>] -i <ReactantFile1,...> -o <outfile>

RDKitEnumerateCompoundLibrary.py [--rxnNamesFile <FileName or auto>] -l | --list

RDKitEnumerateCompoundLibrary.py -h | --help | -e | --examples

# DESCRIPTION

Perform a combinatorial enumeration of a virtual library of molecules for a reaction specified using a reaction name or SMIRKS pattern and reactant input files.

The SMIRKS patterns for supported reactions names [ Ref 134 ] are retrieved from file, ReactionNamesAndSMIRKS.csv, available in MayaChemTools data directory. The current list of supported reaction names is shown below:

'1,2,4_triazole_acetohydrazide', '1,2,4_triazole_carboxylic_acid_ester', 3_nitrile_pyridine, Benzimidazole_derivatives_aldehyde, Benzimidazole_derivatives_carboxylic_acid_ester, Benzofuran, Benzothiazole, Benzothiophene, Benzoxazole_aromatic_aldehyde, Benzoxazole_carboxylic_acid, Buchwald_Hartwig, Decarboxylative_coupling, Fischer_indole, Friedlaender_chinoline, Grignard_alcohol, Grignard_carbonyl, Heck_non_terminal_vinyl, Heck_terminal_vinyl, Heteroaromatic_nuc_sub, Huisgen_Cu_catalyzed_1,4_subst, Huisgen_disubst_alkyne, Huisgen_Ru_catalyzed_1,5_subst, Imidazole, Indole, Mitsunobu_imide, Mitsunobu_phenole, Mitsunobu_sulfonamide, Mitsunobu_tetrazole_1, Mitsunobu_tetrazole_2, Mitsunobu_tetrazole_3, Mitsunobu_tetrazole_4, N_arylation_heterocycles, Negishi, Niementowski_quinazoline, Nucl_sub_aromatic_ortho_nitro, Nucl_sub_aromatic_para_nitro, Oxadiazole, Paal_Knorr_pyrrole, Phthalazinone, Pictet_Spengler, Piperidine_indole, Pyrazole, Reductive_amination, Schotten_Baumann_amide, Sonogashira, Spiro_chromanone, Stille, Sulfon_amide, Suzuki, Tetrazole_connect_regioisomer_1, Tetrazole_connect_regioisomer_2, Tetrazole_terminal, Thiazole, Thiourea, Triaryl_imidazole, Urea, Williamson_ether, Wittig

The supported input file formats are: SD (.sdf, .sd), SMILES (.smi, .csv, .tsv, .txt)

The supported output file formats are: SD (.sdf, .sd), SMILES (.smi)

# OPTIONS

-c, --compute2DCoords <yes or no> [default: yes]

  Compute 2D coordinates of product molecules before writing them out.

-i, --infiles <ReactantFile1, ReactantFile2...>

  Comma delimited list of reactant file names for enumerating a compound library using reaction SMIRKS. The number of reactant files must match number of reaction components in reaction SMIRKS. All reactant input files must have the same format.

--infileParams <Name,Value,...> [default: auto]

  A comma delimited list of parameter name and value pairs for reading molecules from files. The supported parameter names for different file formats, along with their default values, are shown below:

  SD, MOL: removeHydrogens,yes,sanitize,yes,strictParsing,yes
  SMILES: smilesColumn,1,smilesNameColumn,2,smilesDelimiter,space,
  smilesTitleLine,auto,sanitize,yes

  Possible values for smilesDelimiter: space, comma or tab. These parameters apply to all reactant input files, which must have the same file format.

-e, --examples

  Print examples.

-h, --help

  Print this help message.

-l, --list

  List available reaction names along with corresponding SMIRKS patterns without performing any enumeration.

-m, --mode <RxnByName or RxnBySMIRKS> [default: RxnByName]

  Indicate whether a reaction is specified by a reaction name or a SMIRKS pattern. Possible values: RxnByName or RxnBySMIRKS.

-o, --outfile <outfile>

  Output file name.

--outfileParams <Name,Value,...> [default: auto]

  A comma delimited list of parameter name and value pairs for writing molecules to files. The supported parameter names for different file formats, along with their default values, are shown below:

  SD: kekulize,no
  SMILES: kekulize,no,smilesDelimiter,space, smilesIsomeric,yes,
  smilesTitleLine,yes
-p, --prodMolNames <UseReactants or Sequential> [default: UseReactants]

  Generate names of product molecules using reactant names or assign names in a sequential order. Possible values: UseReactants or Sequential. Format of molecule names: UseReactants - <ReactName1>_<ReactName2>..._Prod<Num>; Sequential - Prod<Num>

--overwrite

  Overwrite existing files.

-r, --rxnName <text>

  Name of a reaction to use for enumerating a compound library. This option is only used during 'RxnByName' value of '-m, --mode' option.

--rxnNamesFile <FileName or auto> [default: auto]

  Specify a file name containing data for names of reactions and SMIRKS patterns or use default file, ReactionNamesAndSMIRKS.csv, available in MayaChemTools data directory.

  Reactions SMIRKS file format: RxnName,RxnSMIRKS.

  The format of data in local reaction names file must match format of the reaction SMIRKS file available in MayaChemTools data directory.

-s, --smirksRxn <text>

  SMIRKS pattern of a reaction to use for enumerating a compound library. This option is only used during 'RxnBySMIRKS' value of '-m, --mode' option.

--sanitize <yes or no> [default: yes]

  Sanitize product molecules before writing them out.

-w, --workingdir <dir>

  Location of working directory which defaults to the current directory.

# EXAMPLES

To list all available reaction names along with their SMIRKS pattern, type:

% RDKitEnumerateCompoundLibrary.py -l

To perform a combinatorial enumeration of a virtual compound library corresponding to named amide reaction, Schotten_Baumann_amide and write out a SMILES file type:

% RDKitEnumerateCompoundLibrary.py -r Schotten_Baumann_amide -i 'SampleAcids.smi,SampleAmines.smi' -o SampleOutCmpdLibrary.smi

To perform a combinatorial enumeration of a virtual compound library corresponding to an amide reaction specified using a SMIRKS pattern and write out a SD file containing sanitized molecules, computed 2D coordinates, and generation of molecule names from reactant names, type:

% RDKitEnumerateCompoundLibrary.py -m RxnBySMIRKS -s '[O:2]=[C:1][OH].[N:3]>>[O:2]=[C:1][N:3]' -i 'SampleAcids.smi,SampleAmines.smi' -o SampleOutCmpdLibrary.sdf

To perform a combinatorial enumeration of a virtual compound library corresponding to an amide reaction specified using a SMIRKS pattern and write out a SD file containing unsanitized molecules, without generating 2D coordinates, and a sequential generation of molecule names, type:

% RDKitEnumerateCompoundLibrary.py -m RxnBySMIRKS -c no -s no -p Sequential -s '[O:2]=[C:1][OH].[N:3]>>[O:2]=[C:1][N:3]' -i 'SampleAcids.smi,SampleAmines.smi' -o SampleOutCmpdLibrary.sdf

# AUTHOR

Manish Sud

# SEE ALSO

RDKitConvertFileFormat.py, RDKitFilterPAINS.py, RDKitSearchFunctionalGroups.py, RDKitSearchSMARTS.py

# COPYRIGHT

Copyright (C) 2018 Manish Sud. All rights reserved.

The functionality available in this script is implemented using RDKit, an open source toolkit for cheminformatics developed by Greg Landrum.

This file is part of MayaChemTools.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Previous TOC Next | October 25, 2018 | RDKitEnumerateCompoundLibrary.py