QDESCP
- class qdescp(**kwargs)
Class containing all the functions from the QDESCP module
- assign_atomic_properties(json_data, name_initial, atom_props, smarts_targets)
Assign atomic properties to the corresponding atoms
- check_xtb_errors(name, file, file_check, xtb_passing)
Check if the initial calculation finished OK
- cleanup(name, destination, xtb_passing, xtb_files_props, move_folder=False)
Removes files from the xTB calculations that are not relevant and place json files in the QDESCP folder
- collect_morfeus_properties(xtb_files_props, json_data)
Add and/or update MORFEUS properties to JSON
- collect_properties(name_initial, atom_props, smarts_targets, xtb_files_props)
Collects all xTB properties from the files and adds them into a JSON file
- collect_xtb_properties(xtb_files_props, json_data)
Add and/or update xTB properties to JSON
- combine_and_save_csvs(qdescp_csv, qdescp_denovo_csv, qdescp_interpret_csv, folder_raw)
AQME-ROBERT workflow Combines the descriptor data from qdescp CSVs with the input CSV and saves the result.
- gather_files_and_run(destination, file, atom_props, smarts_targets, bar)
Run all the xTB calculations and collect the properties inside JSON files
- get_boltz_props(json_files, name, boltz_dir, calc_type, descp_dict_indiv, smarts_targets, mol, all_prefixes_atoms)
Retrieves the properties from json files and gives Boltzmann averaged properties for rdkit, NMR and morfues descriptors.
- initial_csearch_run(destination, qdescp_files)
Initial conformer generation for QDESCP runs that start with SMILES strings from CSV inputs
- initial_xtb_check()
Check whether the user have chosen the "input" or "files" option (QDESCP will use "files" from this point on)
- qdescp_nmr_workflow(boltz_dir)
Full NMR workflow in QDESCP for NMR prediction
- qdescp_set_up()
Detects errors and updates variables before the QDESCP run
- qdescp_xtb_workflow(boltz_dir, destination, smarts_targets)
Full xTB workflow in QDESCP for descriptor generation and collection
- run_sp_xtb(file, xyz_file, charge, mult, name, destination)
Runs different types of single point xTB calculations
- write_csv_boltz_data(destination, qdescp_csv, folder_raw, atom_props, all_prefixes_atoms, json_type='standard')
Concatenate the values for all calculations
Parameters
General
- w_dir_mainstr, default=os.getcwd()
Working directory
- destinationstr, default=None,
Directory to create the JSON file(s)
- programstr, default=xtb
Program required to create the new descriptors. Current options: 'xtb', 'nmr'
- nprocsint, default=None
Number of xTB jobs run in parallel with 1 proc each (1 proc for reproducibility in the results). Also, nprocs used in CSEARCH
- qdescp_atomslist of str, default=[]
Type of atom or group to calculate atomic properties. This option admits atoms (i.e., qdescp_atoms=['P']) and SMART patterns (i.e., qdescp_atoms=['C=O'])
- robertbool, default=True
Creates a database ready to use in an AQME-ROBERT machine learning workflow, combining the input CSV with SMILES/code_name and the calculated xTB/DBSTEP descriptors
xTB descriptors
- files or input (both options are valid)list of str, default=''
Filenames of SDF/PDB/XYZ/CSV files to calculate xTB descriptors. If CSV is selected, a CSV with two columns is required (code_name and SMILES), since AQME will generate conformers from SMILES with CSEARCH before QDESCP generates descriptors.
- chargeint, default=None
Charge of the calculations used in the following input files (charges from SDF files generated in CSEARCH are read automatically).
- multint, default=None
Multiplicity of the calculations used in the following input files (multiplicities from SDF files generated in CSEARCH are read automatically).
- gfn_versionint, default="2"
GFN version used in QDESCP to calculate descriptors.
- qdescp_solventstr, default=None
Solvent used in the xTB property calculations (ALPB model)
- qdescp_tempfloat, default=300
Temperature required for the xTB property calculations
- qdescp_accfloat, default=0.2
Accuracy required for the xTB property calculations
- qdescp_optstr, default='normal'
Convergence criteria required for the xTB property calculations
- boltzbool, default=True
Calculation of Boltzmann averaged xTB properties and addition of RDKit molecular descriptors
- xtb_optbool, default=True
Performs an initial xTB geometry optimization before calculating descriptors
NMR simulation
- fileslist of str, default=''
Filenames of LOG files to retrieve NMR shifts from Gaussian calculations (*.log can be used to include all the log files in the working directory)
- boltzbool, default=True
Calculation of Boltzmann averaged NMR shifts
- nmr_atomslist of str, default=[6, 1]
List containing the atom types (as atomic numbers) to consider. For example, if the user wants to retrieve NMR shifts from C and H atoms nmr_atoms=[6, 1]
- nmr_slopelist of float, default=[-1.0537, -1.0784]
List containing the slope to apply for the raw NMR shifts calculated with Gaussian. A slope needs to be provided for each atom type in the analysis (i.e., for C and H atoms, the nmr_slope=[-1.0537, -1.0784]). These values can be adjusted using the CHESHIRE repository.
- nmr_interceptlist of float, default=[181.7815, 31.8723]
List containing the intercept to apply for the raw NMR shifts calculated with Gaussian. An intercept needs to be provided for each atom type in the analysis (i.e., for C and H atoms, the nmr_intercept=[-1.0537, -1.0784]). These values can be adjusted using the CHESHIRE repository.
- nmr_experimstr, default=None
Filename of a CSV containing the experimental NMR shifts. Two columnds are needed: A) 'atom_idx' should contain the indexes of the atoms to study as seen in GaussView or other molecular visualizers (i.e., the first atom of the coordinates has index 1); B) 'experimental_ppm' should contain the experimental NMR shifts in ppm observed for the atoms.