CSEARCH
- class csearch(**kwargs)
Class absracting the geometry generation and conformational search procedure. For further detail on the currently accepted keyword arguments (kwargs) please look at the Parameters section (in the module documentation).
- auto_sampling(mol)
Detects automatically the initial number of conformers for the sampling
- compute_confs(smi, name, charge, mult, constraints_atoms, constraints_dist, constraints_angle, constraints_dihedral)
Function to start conformer generation
- conformer_generation(mol, name, constraints_atoms, constraints_dist, constraints_angle, constraints_dihedral, complex_ts, coord_Map=None, alg_Map=None, mol_template=None)
Function to load mol objects and create 3D conformers
- dihedral_filter_and_sdf(name, dup_data, dup_data_idx, coord_Map, alg_Map, mol_template, ff)
Filtering after dihedral scan to sdf
- embed_conf(mol, initial_confs, coord_Map, alg_Map, mol_template)
Function to embed conformers
- genConformer_r(mol, conf, i, matches, sdwriter, name, update_to_rdkit, coord_Map, alg_Map, mol_template)
If program = RDKit, this replaces iodine back to the metal (if needed) and writes the RDKit SDF files. With program = summ, this function optimizes rotamers
- load_jobs(csearch_file)
Load information of the different molecules for conformer generation
- min_after_embed(mol, cids, name, rotmatches, dup_data, dup_data_idx, sdwriter, update_to_rdkit, coord_Map, alg_Map, mol_template, charge, mult, ff)
Minimizes, gets the energy and filters RDKit conformers after embeding
- min_and_E_calc(mol, cids, coord_Map, alg_Map, mol_template, ff)
Minimization and E calculation with RDKit after embeding
- rdkit_to_sdf(mol, name, dup_data, dup_data_idx, sdwriter, charge, mult, coord_Map, alg_Map, mol_template)
Conversion from RDKit to SDF
- summ_search(mol, name, sdwriter, dup_data, dup_data_idx, charge, mult, constraints_atoms, constraints_dist, constraints_angle, constraints_dihedral, complex_ts, coord_Map, alg_Map, mol_template)
Embeds, optimizes and filters RDKit conformers
Parameters
General
- inputstr, default=''
(If smi is None) Optionally, file containing the SMILES strings and names of the molecules. Current file extensions: .smi, .sdf, .cdx, .csv, .com, .gjf, .mol, .mol2, .xyz, .txt, .yaml, .yml, .rtf For .csv files (i.e. FILENAME.csv), two columns are required, 'code_name' with the names and 'SMILES' for the SMILES string
- programstr, default=None
Program required in the conformational sampling. Current options: 'rdkit', 'summ', 'fullmonte', 'crest'
- smistr, default=None
Optionally, define a SMILES string as input
- namestr, default=None
(If smi is defined) optionally, define a name for the system
- w_dir_mainstr, default=os.getcwd()
Working directory
- varfilestr, default=None
Option to parse the variables using a yaml file (specify the filename)
- max_workersint, default=4
Number of simultaneous RDKit jobs run with multiprocessing (WARNING! More than 12 simultaneous jobs might collapse your computer!)
- chargeint, default=None
Charge of the calculations used in the following input files. If charge isn't defined, it automatically reads the charge of the SMILES string
- multint, default=None
Multiplicity of the calculations used in the following input files. If mult isn't defined, it automatically reads the multiplicity of the mol object created with the SMILES string. Be careful with the automated calculation of mult from mol objects when using metals!
- prefixstr, default=''
Prefix added to all the names
- suffixstr, default=''
Suffix added to all the names
- stacksizestr, default='1G'
Controls the stack size used (especially relevant for xTB/CREST calculations of large systems, where high stack sizes are needed)
General RDKit-based
- sampleint, default='auto'
Number of conformers used initially in the RDKit sampling. If this option isn't specified, AQME automatically calculates (previously benchmarked) an approximate number based on number of rotatable bonds, XH (i.e. OH) groups, saturated cycles, etc (see the auto_sampling() function in csearch.py for more information)
- auto_sampleint, default=20
Base multiplicator number used in the sample option
- ffstr, default='MMFF'
Force field used in RDKit optimizations and energy calculations. Current options: MMFF and UFF (if MMFF fails, AQME tries to use UFF automatically)
- ewin_csearchfloat, default=5.0
Energy window in kcal/mol to discard conformers (i.e. if a conformer is more than the E window compared to the most stable conformer)
- initial_energy_thresholdfloat, default=0.0001
Energy difference in kcal/mol between unique conformers for the first filter of only E
- energy_thresholdfloat, default=0.25
Energy difference in kcal/mol between unique conformers for the second filter of E + RMS
- rms_thresholdfloat, default=0.25
RMS difference between unique conformers for the second filter of E + RMS
- opt_steps_rdkitint, default=1000
Max cycles used in RDKit optimizations
- heavyonlybool, default=True
Only consider heavy atoms during RMS calculations for filtering (in the Chem.rdMolAlign.GetBestRMS() RDKit function)
- max_matches_rmsdint, default=1000
Max matches during RMS calculations for filtering (maxMatches option in the Chem.rdMolAlign.GetBestRMS() RDKit function)
- max_mol_wtint, default=0
Discard systems with molecular weights higher than this parameter (in g/mol). If 0 is set, this filter is off
- max_torsionsint, default=0
Discard systems with more than this many torsions (relevant to avoid molecules with many rotatable bonds). If 0 is set, this filter is off
- seedint, default=62609
Random seed used during RDKit embedding (in the Chem.rdDistGeom.EmbedMultipleConfs() RDKit function)
Only organometallic molecules
- metal_atomslist of str, default=[]
Specify metal atom(s) of the system as [ATOM_TYPE]. Multiple metals can be used simultaneously (i.e. ['Pd','Ir']). This option is important to calculate the charge of metal complexes based on SMILES strings. Requires the use of metal_oxi.
- metal_oxilist of int, default=[]
Specify metal oxidation state as [NUMBER]. Multiple metals can be used simultaneously (i.e. [2,3]).
- complex_typestr, default=''
Forces the metal complexes to adopt a predefined geometry. This option is especially relevant when RDKit predicts wrong complex geometries or gives a mixture of geometries. Current options: squareplanar, squarepyramidal, linear, trigonalplanar
SUMM only
- degreefloat, default=120.0
Interval of degrees to rotate dihedral angles during SUMM sampling (i.e. 120.0 would create 3 conformers for each dihedral, at 0, 120 and 240 degrees)
Fullmonte only
- ewin_fullmontefloat, default=5.0
Energy window in kcal/mol to discard conformers (i.e. if a conformer is more than the E window compared to the most stable conformer)
- ewin_sample_fullmontefloat, default=2.0
Energy window in kcal/mol to use conformers during the Fullmonte sampling (i.e. conformers inside the E window compared to the most stable conformer are considered as unique in each step of the sampling)
- nsteps_fullmonteint, default=100
Number of steps (or conformer batches) to carry during the Fullmonte sampling
- nrot_fullmonteint, default=3
Number of dihedrals to rotate simultaneously (picked at random) during each step of the Fullmonte sampling
- ang_fullmontefloat, default=30
Available angle interval to use in the Fullmonte sampling. For example, if the angle is 120.0, the program chooses randomly between 120 and 240 degrees (picked at random) during each step of the sampling
Crest only
- nprocsint, default=2
Number of processors used in CREST optimizations
- constraints_atomslist, default=[]
Specify constrained atoms as [AT1,AT2,AT3]. An example of multiple constraints with atoms 1, 2 and 5 frozen: [1,2,5]
- constraints_distlist of lists, default=[]
Specify distance constraints as [AT1,AT2,DIST]. An example of multiple constraints with atoms 1 and 2 frozen at a distance of 1.8 Å, and atoms 4 and 5 with distance of 2.0 Å: [[1,2,1.8],[4,5,2.0]]
- constraints_anglelist of lists, default=[]
Specify angle constraints as [AT1,AT2,AT3,ANGLE]. An example of multiple constraints with atoms 1, 2 and 3 frozen at an angle of 180 degrees, and atoms 4, 5 and 6 with an angle of 120: [[1,2,3,180],[4,5,6,120]]
- constraints_dihedrallist of lists, default=[]
Specify dihedral constraints as [AT1,AT2,AT3,AT4,DIHEDRAL]. An example of multiple constraints with atoms 1, 2, 3 and 4 frozen at a dihedral angle of 180 degrees, and atoms 4, 5, 6 and 7 with a dihedral angle of 120: [[1,2,3,4,180],[4,5,6,7,120]]
- crest_forcefloat, default=0.5
Force constant for constraints in the .xcontrol.sample file for CREST jobs
- crest_keywordsstr, default=None
Define additional keywords to use in CREST that are not included in --chrg, --uhf, -T and -cinp. For example: '--alpb ch2cl2 --nci --cbonds 0.5'
- cregenbool, default=False
If True, perform a CREGEN analysis after CREST (filtering options below)
- cregen_keywordsstr, default=None
Additional keywords for CREGEN (i.e. cregen_keywords='--ethr 0.02')
- xtb_keywordsstr, default=None
Define additional keywords to use in the xTB pre-optimization that are not included in -c, --uhf, -P and --input. For example: '--alpb ch2cl2 --gfn 1'