duartegroup / autodE

automated reaction profile generation
https://duartegroup.github.io/autodE/
MIT License
173 stars 52 forks source link

autode.exceptions.NoConformers error when calculating reactions with CO2 #340

Open ATsybizova opened 6 months ago

ATsybizova commented 6 months ago

Describe the bug Hi All, I am having some problems with AutodE trying to calculate an energy profile of a reaction of a direct carboxylation with CO2. No matter what I do, the calculation exits with the autode.exceptions.NoConformers error. I checked the \conformers folder and Orca optimizations of all geometies terminated normally. However, while the program located and optimized multiple conformers for the reactant and product, there is only one conformer for CO2 and I think this is where the problem originates. Do you have any recommendations of how to overcome this problem?

To Reproduce Here is how my input file looks:

import autode as ade

ade.Config.hcode = 'orca'
ade.Config.n_cores = 24
ade.Config.max_core = 5000

reactant = ade.Reactant('reactant.xyz')
co2 = ade.Reactant(smiles='O=C=O')
product = ade.Product('product.xyz') 

rxn = ade.Reaction(reactant, co2, product, solvent_name='THF')
rxn.calculate_reaction_profile(with_complexes=True)

Environment

t-young31 commented 6 months ago

Hi @ATsybizova – autodE should be fine for components with a single conformer e.g. a halide. It might be that the optimisation/conformer generation has resulted in reactants/products with different connectivity than calculated from the .xyz files. Are both reactant.xyz and product.xyz close to their optimised geometries?

ATsybizova commented 6 months ago

Dear @t-young31, I just double-checked all of the located conformers, and all of them look fine and quite close to the original geometries supplied.

ATsybizova commented 6 months ago

I was actually worried that some of the located conformers may have different connectivity and also tried to restrict them with ade.Config.num_conformers = 3, however, the error was the same regardless of whether I used this command or not.

t-young31 commented 6 months ago

Would you mind checking with

reactant = ade.Molecule('reactant.xyz')
conformer = ade.Molecule('path/to/conformer.xyz')
print(reactant.graph.is_isomorphic_to(conformer.graph))

thanks!

ATsybizova commented 6 months ago

I have checked this for three conformers generated with the simulated annealing, and one out of three provided a False statement. Is there a workaround for this?

ATsybizova commented 6 months ago

I tried restricting the number of conformers obtained with simulated annealing to 1 with ade.Config.num_conformers = 1 but then I get the error autode.exceptions.NoConformers

t-young31 commented 6 months ago

Interesting! Having one conformer that doesn't have the same connectivity as the reactant should be fine. autode.exceptions.NoConformers should only be raised if all of them get removed because either they don't have an energy or the connectivity doesn't match.

Have you got the log file?

ATsybizova commented 6 months ago

Do you mean the .autode_calculaitons file that is created in the conformers folder? It has the following contents:

reactant_conf0_opt_xtb rRdComXByImwpU77AbW_GWQsHhw=
reactant_conf0_opt_orca ql4gtDZooSH7YWKCsPHGkSSE-lw=
CO2_conf0_opt_xtb gjDLChMBudYHkCn5Z56EH3uvgm0=
CO2_conf0_opt_orca i2NJo8TdHNA3M4-YYsev53j4yzw=
product_conf0_opt_xtb 95KZ5zvNSLp2oBH6HyGlhP4Xr-o=
product_conf0_opt_orca DgeJR3uAA321Hgx488SFLZMRV5M=

The only other file that is created is with the error message I mentioned:

Traceback (most recent call last):
  File "/cluster/scratch/tsybizoa/ella/truncated_more/step3/input.py", line 13, in <module>
    rxn.calculate_reaction_profile(with_complexes=True)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 350, in wrapped_function
    return func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 153, in calculate_reaction_profile
    calculate(self)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 141, in calculate
    reaction.find_lowest_energy_conformers()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 530, in wrapped_function
    result = func(reaction)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 596, in find_lowest_energy_conformers
    mol.find_lowest_energy_conformer(hmethod=h_method)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/species/species.py", line 1421, in find_lowest_energy_conformer
    self._set_lowest_energy_conformer()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 320, in wrapped_function
    raise NoConformers
t-young31 commented 6 months ago

Ah no, sorry – the stderr if e.g.$AUTODE_LOG_LEVEL is set to e.g. INFO

Did you check both reactant and product connectivity as above?

ATsybizova commented 6 months ago

do I just add this in the input file, as $AUTODE_LOG_LEVEL=INFO, or am I missing something?

I just did the connectivity check, and the output was True for all compounds.

shoubhikraj commented 6 months ago

Just checking, does your reactant have any metal atom by any chance? I have encountered similar issues with graph based detection with metals.

ATsybizova commented 6 months ago

@shoubhikraj, indeed, I do have a metal (Cu) in both the reactant and the product. Have you been able to find a workaround for this?

shoubhikraj commented 6 months ago

I am working on this problem currently, but it will take some time before a proper way to handle graphs for metals is implemented. @t-young31 Do you know any workarounds that might work?

t-young31 commented 6 months ago

cheers @shoubhikraj. metals complexes and distance based graph generation is far from perfect

I'm pretty confused, as you should only get a autode.exceptions.NoConformers error if all conformers have an incorrect connectivity or no energy. You could try optimising the reactant/product beforehand with

reactant = ade.Reactant('reactant.xyz')
reactant.optimise()
co2 = ade.Reactant(smiles='O=C=O')
product = ade.Product('product.xyz') 
product.optimise()

to make sure the distances are okay.

do I just add this in the input file, as $AUTODE_LOG_LEVEL=INFO, or am I missing something?

you'll need to set it as an envrionment variable with

export AUTODE_LOG_LEVEL=INFO
ATsybizova commented 6 months ago

Here is the log file that I get from setting export AUTODE_LOG_LEVEL=INFO :

autode.log.log: INFO     Generating a Molecule object for reactant.xyz
autode.log.log: INFO     Generating species from .xyz file
autode.log.log: INFO     Getting atoms from reactant.xyz
autode.log.log: INFO     Geometry changed- resetting energies of reactant.xyz
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Generating a Molecule object for molecule
autode.log.log: INFO     Parsing O=C=O
autode.log.log: INFO     Parsed SMILES in: 0.47 ms
autode.log.log: INFO     Setting 3 atom types
autode.log.log: INFO     Have 0 ring(s)
autode.log.log: INFO     Using RDKit to initialise
autode.log.log: INFO     Geometry changed- resetting energies of molecule
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Initialisation with SMILES successful. Charge=0, Multiplicity=1, Num. Atoms=3
autode.log.log: INFO     Generating a Molecule object for product.xyz
autode.log.log: INFO     Generating species from .xyz file
autode.log.log: INFO     Getting atoms from product.xyz
autode.log.log: INFO     Geometry changed- resetting energies of product.xyz
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Generating a Reaction for reaction
autode.log.log: INFO     Classifying reaction as addition
autode.log.log: INFO     Setting solvent to thf for all molecules in the reaction
autode.log.log: INFO     Set the solvent of all species in the reaction to thf
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Calculating reaction profile
autode.log.log: INFO     Creating directory to store files: /cluster/scratch/tsybizoa/ella/truncated_more/step3/reaction
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating directory to store files: /cluster/scratch/tsybizoa/ella/truncated_more/step3/reaction/conformers
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using repulsion+relaxed (RR) to generate conformers
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     E_RR = 0.073456
autode.log.log: INFO     Generated RR atoms in: 0.15 s
autode.log.log: INFO     E_RR = 0.073457
autode.log.log: INFO     Generated RR atoms in: 0.15 s
autode.log.log: INFO     E_RR = 0.073458
autode.log.log: INFO     Generated RR atoms in: 0.18 s
autode.log.log: INFO     Have 3 energies with μ=0.073457 Ha σ=0.000001 Ha
autode.log.log: WARNING  Assuming energy tolerance 0.000000 has units of Ha
autode.log.log: INFO     Stripped 0 conformer(s). 3 -> 3
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 3 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of reactant_conf0
autode.log.log: INFO     Running optimisation of reactant_conf1
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Running optimisation of reactant_conf2
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: reactant_conf1_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf1_opt_xtb
autode.log.log: INFO     No calculations have been performed here yet
autode.log.log: INFO     Running reactant_conf1_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpqxujm7bx
autode.log.log: INFO     Copying ['reactant_conf1_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: reactant_conf0_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf0_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running calculation: reactant_conf2_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf2_opt_xtb
autode.log.log: INFO     Running reactant_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpm1fo_9ba
autode.log.log: INFO     Copying ['reactant_conf0_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Running reactant_conf2_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmp8cf1r0m6
autode.log.log: INFO     Copying ['reactant_conf2_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf1_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf1_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf1_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf1_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf2_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf2_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf2_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf2_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Have 3 energies with μ=-48.601886 Ha σ=0.000292 Ha
autode.log.log: INFO     Conformer 1 had a non unique energy
autode.log.log: INFO     Stripped 1 conformer(s). 3 -> 2
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 2 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of reactant_conf0
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     Running optimisation of reactant_conf2
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: reactant_conf2_opt
autode.log.log: INFO     Running calculation: reactant_conf0_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf2_opt_orca
autode.log.log: INFO     Generating input file(s) for reactant_conf0_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running reactant_conf2_opt_orca.inp using orca
autode.log.log: INFO     Running reactant_conf0_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpkp__h7q2
autode.log.log: INFO     Copying ['reactant_conf0_opt_orca.inp']
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpdyk00h88
autode.log.log: INFO     Copying ['reactant_conf2_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.inp
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.out
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.xyz
autode.log.log: INFO     Copying back reactant_conf2_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from reactant_conf2_opt_orca.xyz
autode.log.log: INFO     Getting energy from reactant_conf2_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf2_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.inp
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.out
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.xyz
autode.log.log: INFO     Copying back reactant_conf0_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from reactant_conf0_opt_orca.xyz
autode.log.log: INFO     Getting energy from reactant_conf0_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf0_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Pruned on connectivity 2 -> 2
autode.log.log: INFO     Geometry changed- resetting energies of reactant
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Lowest energy conformer found. E = -2342.777938351086
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using RDKit to gen conformers. 3 requested
autode.log.log: INFO     Using the ETKDGv3 method
autode.log.log: INFO     Running conformation generation with RDKit... running
autode.log.log: INFO                                               ... done
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of CO2_conf0
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: CO2_conf0_opt
autode.log.log: INFO     Generating input file(s) for CO2_conf0_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running CO2_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpusfal_dk
autode.log.log: INFO     Copying ['CO2_conf0_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 24
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back CO2_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back CO2_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from CO2_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for CO2_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Only have 1 conformers with an energy. No need to prune
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of CO2_conf0
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: CO2_conf0_opt
autode.log.log: INFO     Generating input file(s) for CO2_conf0_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running CO2_conf0_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmph6nco1xq
autode.log.log: INFO     Copying ['CO2_conf0_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.inp
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.out
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.xyz
autode.log.log: INFO     Copying back CO2_conf0_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from CO2_conf0_opt_orca.xyz
autode.log.log: INFO     Getting energy from CO2_conf0_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for CO2_conf0_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Pruned on connectivity 1 -> 1
autode.log.log: INFO     Geometry changed- resetting energies of CO2
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Lowest energy conformer found. E = -188.247091522838
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using repulsion+relaxed (RR) to generate conformers
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     E_RR = 0.075061
autode.log.log: INFO     Generated RR atoms in: 0.17 s
autode.log.log: INFO     E_RR = 0.075068
autode.log.log: INFO     Generated RR atoms in: 0.22 s
autode.log.log: INFO     E_RR = 0.075093
autode.log.log: INFO     Generated RR atoms in: 0.31 s
autode.log.log: INFO     Have 3 energies with μ=0.075074 Ha σ=0.000014 Ha
autode.log.log: WARNING  Assuming energy tolerance 0.000000 has units of Ha
autode.log.log: INFO     Stripped 0 conformer(s). 3 -> 3
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 3 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of product_conf2
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Running optimisation of product_conf1
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Running optimisation of product_conf0
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: product_conf2_opt
autode.log.log: INFO     Generating input file(s) for product_conf2_opt_xtb
autode.log.log: INFO     Running calculation: product_conf0_opt
autode.log.log: INFO     Generating input file(s) for product_conf0_opt_xtb
autode.log.log: INFO     Running calculation: product_conf1_opt
autode.log.log: INFO     Generating input file(s) for product_conf1_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpi47v2g9n
autode.log.log: INFO     Copying ['product_conf0_opt_xtb.xyz']
autode.log.log: INFO     Running product_conf2_opt_xtb.xyz using xtb
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpzkm0_xy2
autode.log.log: INFO     Copying ['product_conf2_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Running product_conf1_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpcrjzm9ar
autode.log.log: INFO     Copying ['product_conf1_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf2_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf2_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf2_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf2_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf1_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf1_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf1_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf1_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Have 3 energies with μ=-58.950752 Ha σ=0.000069 Ha
autode.log.log: INFO     Conformer 1 had a non unique energy
autode.log.log: INFO     Conformer 0 had a non unique energy
autode.log.log: INFO     Stripped 2 conformer(s). 3 -> 1
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of product_conf2
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: product_conf2_opt
autode.log.log: INFO     Generating input file(s) for product_conf2_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_conf2_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60299613.tsybizoa/tmpk44jsdks
autode.log.log: INFO     Copying ['product_conf2_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf2_opt_orca.inp
autode.log.log: INFO     Copying back product_conf2_opt_orca.out
autode.log.log: INFO     Copying back product_conf2_opt_orca.xyz
autode.log.log: INFO     Copying back product_conf2_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from product_conf2_opt_orca.xyz
autode.log.log: INFO     Getting energy from product_conf2_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf2_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: WARNING  Conformer had a different graph. Ignoring
autode.log.log: INFO     Pruned on connectivity 1 -> 0
Traceback (most recent call last):
  File "/cluster/scratch/tsybizoa/ella/truncated_more/step3/input.py", line 13, in <module>
    rxn.calculate_reaction_profile(with_complexes=True)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 350, in wrapped_function
    return func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 153, in calculate_reaction_profile
    calculate(self)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 141, in calculate
    reaction.find_lowest_energy_conformers()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 530, in wrapped_function
    result = func(reaction)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 596, in find_lowest_energy_conformers
    mol.find_lowest_energy_conformer(hmethod=h_method)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/species/species.py", line 1421, in find_lowest_energy_conformer
    self._set_lowest_energy_conformer()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 320, in wrapped_function
    raise NoConformers
autode.exceptions.NoConformers

When I try to optimize the reactant and profuct beforehead with

reactant = ade.Reactant('reactant.xyz')
reactant.optimise()
co2 = ade.Reactant(smiles='O=C=O')
product = ade.Product('product.xyz') 
product.optimise() 

I get the following error:

Traceback (most recent call last):
  File "/cluster/scratch/tsybizoa/ella/truncated_more/step3_opt/input.py", line 8, in <module>
    reactant.optimise()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 288, in wrapped_function
    return func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/species/species.py", line 1203, in optimise
    raise ValueError(
ValueError: Optimisation cannot be performed without a specified method or calculation.
ATsybizova commented 6 months ago

When I specify reactant.optimise(method=xtb)

the following error occurs:

Traceback (most recent call last):
  File "/cluster/scratch/tsybizoa/ella/truncated_more/step3_opt/input.py", line 8, in <module>
    reactant.optimise(method=xtb)
NameError: name 'xtb' is not defined
ATsybizova commented 6 months ago

So sorry for the spam, I was able to solve the last error message by specifying from autode.wrappers.XTB import xtb . However the calculation still resulted in the autode.exceptions.NoConformers error.

Here is the full log:

autode.log.log: INFO     Generating a Molecule object for reactant.xyz
autode.log.log: INFO     Generating species from .xyz file
autode.log.log: INFO     Getting atoms from reactant.xyz
autode.log.log: INFO     Geometry changed- resetting energies of reactant.xyz
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running optimisation of reactant
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Running calculation: reactant_opt
autode.log.log: INFO     Generating input file(s) for reactant_opt_xtb
autode.log.log: INFO     No calculations have been performed here yet
autode.log.log: INFO     Running reactant_opt_xtb.xyz using xtb
autode.log.log: INFO     Checking for reactant_opt_xtb.out normal termination
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Calculation already terminated normally. Skipping
autode.log.log: INFO     Geometry changed- resetting energies of reactant
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Getting energy from reactant_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Generating a Molecule object for molecule
autode.log.log: INFO     Parsing O=C=O
autode.log.log: INFO     Parsed SMILES in: 0.32 ms
autode.log.log: INFO     Setting 3 atom types
autode.log.log: INFO     Have 0 ring(s)
autode.log.log: INFO     Using RDKit to initialise
autode.log.log: INFO     Geometry changed- resetting energies of molecule
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Initialisation with SMILES successful. Charge=0, Multiplicity=1, Num. Atoms=3
autode.log.log: INFO     Generating a Molecule object for product.xyz
autode.log.log: INFO     Generating species from .xyz file
autode.log.log: INFO     Getting atoms from product.xyz
autode.log.log: INFO     Geometry changed- resetting energies of product.xyz
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running optimisation of product
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Running calculation: product_opt
autode.log.log: INFO     Generating input file(s) for product_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_opt_xtb.xyz using xtb
autode.log.log: INFO     Checking for product_opt_xtb.out normal termination
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Calculation already terminated normally. Skipping
autode.log.log: INFO     Geometry changed- resetting energies of product
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Getting energy from product_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Generating a Reaction for reaction
autode.log.log: INFO     Classifying reaction as addition
autode.log.log: INFO     Setting solvent to thf for all molecules in the reaction
autode.log.log: INFO     Set the solvent of all species in the reaction to thf
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Calculating reaction profile
autode.log.log: INFO     Creating directory to store files: /cluster/scratch/tsybizoa/ella/truncated_more/step3_opt/reaction
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating directory to store files: /cluster/scratch/tsybizoa/ella/truncated_more/step3_opt/reaction/conformers
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using repulsion+relaxed (RR) to generate conformers
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     E_RR = 0.073460
autode.log.log: INFO     Generated RR atoms in: 0.18 s
autode.log.log: INFO     E_RR = 0.073457
autode.log.log: INFO     Generated RR atoms in: 0.25 s
autode.log.log: INFO     E_RR = 0.082043
autode.log.log: INFO     Generated RR atoms in: 0.40 s
autode.log.log: INFO     Have 3 energies with μ=0.076320 Ha σ=0.004047 Ha
autode.log.log: WARNING  Assuming energy tolerance 0.000000 has units of Ha
autode.log.log: INFO     Stripped 0 conformer(s). 3 -> 3
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 3 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of reactant_conf0
autode.log.log: INFO     Running optimisation of reactant_conf1
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Running optimisation of reactant_conf2
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: reactant_conf0_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf0_opt_xtb
autode.log.log: INFO     No calculations have been performed here yet
autode.log.log: INFO     Running calculation: reactant_conf1_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf1_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running reactant_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     Running reactant_conf1_opt_xtb.xyz using xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmp2et66_hi
autode.log.log: INFO     Copying ['reactant_conf0_opt_xtb.xyz']
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpt8py6acc
autode.log.log: INFO     Copying ['reactant_conf1_opt_xtb.xyz']
autode.log.log: WARNING  Atom 8 exceeds its maximal valence removing edges
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  Atom 11 exceeds its maximal valence removing edges
autode.log.log: WARNING  Atom 16 exceeds its maximal valence removing edges
autode.log.log: WARNING  Atom 19 exceeds its maximal valence removing edges
autode.log.log: INFO     Running calculation: reactant_conf2_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf2_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running reactant_conf2_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpm5x4s3j_
autode.log.log: INFO     Copying ['reactant_conf2_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf1_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf1_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf1_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf1_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf2_opt_xtb.xyz
autode.log.log: INFO     Copying back reactant_conf2_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from reactant_conf2_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf2_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Have 3 energies with μ=-48.554642 Ha σ=0.066727 Ha
autode.log.log: INFO     Conformer 1 had a non unique energy
autode.log.log: INFO     Stripped 1 conformer(s). 3 -> 2
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 2 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of reactant_conf0
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running optimisation of reactant_conf2
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: reactant_conf2_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf2_opt_orca
autode.log.log: INFO     Running calculation: reactant_conf0_opt
autode.log.log: INFO     Generating input file(s) for reactant_conf0_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running reactant_conf2_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmppk04263l
autode.log.log: INFO     Copying ['reactant_conf2_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Running reactant_conf0_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpuvjvmn83
autode.log.log: INFO     Copying ['reactant_conf0_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.inp
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.out
autode.log.log: INFO     Copying back reactant_conf0_opt_orca.xyz
autode.log.log: INFO     Copying back reactant_conf0_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from reactant_conf0_opt_orca.xyz
autode.log.log: INFO     Getting energy from reactant_conf0_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf0_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.inp
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.out
autode.log.log: INFO     Copying back reactant_conf2_opt_orca.xyz
autode.log.log: INFO     Copying back reactant_conf2_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from reactant_conf2_opt_orca.xyz
autode.log.log: INFO     Getting energy from reactant_conf2_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for reactant_conf2_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: WARNING  Conformer had a different graph. Ignoring
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Pruned on connectivity 2 -> 1
autode.log.log: INFO     Geometry changed- resetting energies of reactant
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Lowest energy conformer found. E = -2342.777888281698
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using RDKit to gen conformers. 3 requested
autode.log.log: INFO     Using the ETKDGv3 method
autode.log.log: INFO     Running conformation generation with RDKit... running
autode.log.log: INFO                                               ... done
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of CO2_conf0
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: CO2_conf0_opt
autode.log.log: INFO     Generating input file(s) for CO2_conf0_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running CO2_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpf0ql28u8
autode.log.log: INFO     Copying ['CO2_conf0_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 24
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back CO2_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back CO2_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from CO2_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for CO2_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Only have 1 conformers with an energy. No need to prune
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of CO2_conf0
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: CO2_conf0_opt
autode.log.log: INFO     Generating input file(s) for CO2_conf0_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running CO2_conf0_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpmpd0jk_k
autode.log.log: INFO     Copying ['CO2_conf0_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.inp
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.out
autode.log.log: INFO     Copying back CO2_conf0_opt_orca.xyz
autode.log.log: INFO     Copying back CO2_conf0_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from CO2_conf0_opt_orca.xyz
autode.log.log: INFO     Getting energy from CO2_conf0_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for CO2_conf0_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Pruned on connectivity 1 -> 1
autode.log.log: INFO     Geometry changed- resetting energies of CO2
autode.log.log: INFO     Setting hessian
autode.log.log: INFO     Lowest energy conformer found. E = -188.247091605936
autode.log.log: INFO     Finding lowest energy conformer
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using the default low-level method XTB(available = True)
autode.log.log: INFO     Using repulsion+relaxed (RR) to generate conformers
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Getting ideal bond length matrix
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     Have 0 distance constraint(s)
autode.log.log: INFO     E_RR = 0.075068
autode.log.log: INFO     Generated RR atoms in: 0.30 s
autode.log.log: INFO     E_RR = 0.075067
autode.log.log: INFO     Generated RR atoms in: 0.40 s
autode.log.log: INFO     E_RR = 0.075087
autode.log.log: INFO     Generated RR atoms in: 0.43 s
autode.log.log: INFO     Have 3 energies with μ=0.075074 Ha σ=0.000009 Ha
autode.log.log: WARNING  Assuming energy tolerance 0.000000 has units of Ha
autode.log.log: INFO     Stripped 0 conformer(s). 3 -> 3
autode.log.log: WARNING  Assuming RMSD tolerance 0.30 has units of Å
autode.log.log: INFO     Removing conformers with RMSD < 0.3 Å to any other (heavy atoms only, with no symmetry)
autode.log.log: INFO     Pruned to 3 unique conformer(s) on RMSD
autode.log.log: INFO     Running optimisation of product_conf0
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Running optimisation of product_conf1
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     Running optimisation of product_conf2
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Using keywords:  to optimise with XTB(available = True)
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: product_conf0_opt
autode.log.log: INFO     Generating input file(s) for product_conf0_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_conf0_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmp1k05bn0t
autode.log.log: INFO     Copying ['product_conf0_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: INFO     Running calculation: product_conf1_opt
autode.log.log: INFO     Generating input file(s) for product_conf1_opt_xtb
autode.log.log: INFO     Running calculation: product_conf2_opt
autode.log.log: INFO     Generating input file(s) for product_conf2_opt_xtb
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_conf1_opt_xtb.xyz using xtb
autode.log.log: INFO     Running product_conf2_opt_xtb.xyz using xtb
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmp4l4t3o8g
autode.log.log: INFO     Copying ['product_conf1_opt_xtb.xyz']
autode.log.log: INFO     Setting the availability of xtb
autode.log.log: INFO     xtb is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpbapjphtj
autode.log.log: INFO     Copying ['product_conf2_opt_xtb.xyz']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: INFO     Function   ...running
autode.log.log: INFO     Setting the OMP_NUM_THREADS to 8
autode.log.log: INFO     Setting the GFORTRAN_UNBUFFERED_ALL to 1
autode.log.log: INFO     Running XTB with: --chrg 0 --uhf 0 --opt --gbsa THF
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf0_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf0_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf0_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf0_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf2_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf2_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf2_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf2_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: WARNING  STDERR: 'normal termination of xtb\n'
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf1_opt_xtb.xyz
autode.log.log: INFO     Copying back product_conf1_opt_xtb.out
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting energy from product_conf1_opt_xtb.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf1_opt_xtb.out normal termination
autode.log.log: WARNING  Unknown method
autode.log.log: INFO     Have 3 energies with μ=-58.950760 Ha σ=0.000051 Ha
autode.log.log: INFO     Conformer 1 had a non unique energy
autode.log.log: INFO     Conformer 0 had a non unique energy
autode.log.log: INFO     Stripped 2 conformer(s). 3 -> 1
autode.log.log: INFO     Only have 1 conformers. No need to prune on RMSD
autode.log.log: INFO     Running optimisation of product_conf2
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Using keywords: 'LooseOpt' Functional(pbe0) ResolutionOfIdentity(rijcosx) DispersionCorrection(d3bj) BasisSet(def2-SVP) 'def2/J' MaxOptCycles(N = 10) EffectiveCorePotential(def2-ECP) to optimise with ORCA(available = True)
autode.log.log: INFO     Running calculation: product_conf2_opt
autode.log.log: INFO     Generating input file(s) for product_conf2_opt_orca
autode.log.log: INFO     This calculation has not yet been run
autode.log.log: INFO     Running product_conf2_opt_orca.inp using orca
autode.log.log: INFO     Setting the availability of orca
autode.log.log: INFO     orca is available
autode.log.log: INFO     Creating tmpdir to work in: /scratch/tmp.60328065.tsybizoa/tmpwxsw_9lj
autode.log.log: INFO     Copying ['product_conf2_opt_orca.inp']
autode.log.log: INFO     Function   ...running
autode.log.log: INFO                ...done
autode.log.log: INFO     Copying back product_conf2_opt_orca.inp
autode.log.log: INFO     Copying back product_conf2_opt_orca.out
autode.log.log: INFO     Copying back product_conf2_opt_orca.xyz
autode.log.log: INFO     Copying back product_conf2_opt_orca_trj.xyz
autode.log.log: INFO     Removing temporary directory
autode.log.log: INFO     Setting output file lines
autode.log.log: INFO     Getting atoms from product_conf2_opt_orca.xyz
autode.log.log: INFO     Getting energy from product_conf2_opt_orca.out
autode.log.log: INFO     Keeping input files
autode.log.log: INFO     Checking required properties exist
autode.log.log: INFO     Checking for product_conf2_opt_orca.out normal termination
autode.log.log: INFO     orca terminated normally
autode.log.log: INFO     Generating molecular graph with NetworkX
autode.log.log: INFO     Setting graph attributes, inc. the π bonds
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: WARNING  Cu not found in π valency dictionary - assuming not a π-atom
autode.log.log: INFO     Setting the stereocentres in a species
autode.log.log: WARNING  Conformer had a different graph. Ignoring
autode.log.log: INFO     Pruned on connectivity 1 -> 0
Traceback (most recent call last):
  File "/cluster/scratch/tsybizoa/ella/truncated_more/step3_opt/input.py", line 17, in <module>
    rxn.calculate_reaction_profile(with_complexes=True)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 350, in wrapped_function
    return func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 153, in calculate_reaction_profile
    calculate(self)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 141, in calculate
    reaction.find_lowest_energy_conformers()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 530, in wrapped_function
    result = func(reaction)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/reactions/reaction.py", line 596, in find_lowest_energy_conformers
    mol.find_lowest_energy_conformer(hmethod=h_method)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 154, in wrapped_function
    result = func(*args, **kwargs)
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/species/species.py", line 1421, in find_lowest_energy_conformer
    self._set_lowest_energy_conformer()
  File "/cluster/home/tsybizoa/autode_env/lib64/python3.9/site-packages/autode/utils.py", line 320, in wrapped_function
    raise NoConformers
autode.exceptions.NoConformers
t-young31 commented 6 months ago

When I try to optimize the reactant and profuct beforehead with [...] I get the following error [...]

Serves me right for suggesting something without testing it first – sorry! Hopefully second time lucky

import autode as ade

ade.Config.hcode = 'orca'
ade.Config.n_cores = 24
ade.Config.max_core = 5000

orca = ade.methods.ORCA()

reactant = ade.Reactant('reactant.xyz')
reactant.optimise(method=orca)
co2 = ade.Reactant(smiles='O=C=O')
product = ade.Product('product.xyz') 
product.optimise(method=orca)

Thanks for posting the logs. It does indeed look like the product has a different calculated connectivity

autode.log.log: WARNING Conformer had a different graph. Ignoring autode.log.log: INFO Pruned on connectivity 1 -> 0

optimising before at the DFT level (orca) might help, but also perhaps not. I'd say it's worth trying at least. It also may be helpful to turn xtb off with ade.Config.lcode = 'orca', if it's not doing a great job with your system

ATsybizova commented 6 months ago

optimising before at the DFT level (orca) might help, but also perhaps not. I'd say it's worth trying at least. It also may be helpful to turn xtb off with ade.Config.lcode = 'orca', if it's not doing a great job with your system

This works! I was able to get past the conformed search in some steps of a catalytic cycle, but not all of them, unfortunately.

Is it possible to skip the simulated annealing step altogether?

t-young31 commented 5 months ago

Glad to hear!

Is it possible to skip the simulated annealing step altogether?

I've not tried it, but you might be able to just set the number of conformers to zero. Alternatively, you can call the methods invoked in calculate_reaction_profile separately, and just miss the conformer steps. i.e.

rxn = ade.Reaction(reactant, co2, product, solvent_name='THF')
rxn.optimise_reacs_prods()
rxn.locate_transition_state()
rxn.calculate_complexes()
rxn.calculate_single_points()
rxn.print_output()
ATsybizova commented 5 months ago

Thanks a lot for your suggestions. I tested them on a simple Diels Alder reaction. Setting ade.Config.num_conformers = 0 does not really work as autodE crashes with autode.exceptions.NoConformers.

When I tried an alternative method, i.e.

rxn = ade.Reaction("C=CC=C.C=C>>C1=CCCCC1", name="DA")
rxn.optimise_reacs_prods()
rxn.locate_transition_state()
rxn.calculate_complexes()
rxn.calculate_single_points()
rxn.print_output()

autodE also did not finish properly raising autode.exceptions.CouldNotGetProperty.

At the same time, when I use the standard

rxn = ade.Reaction("C=CC=C.C=C>>C1=CCCCC1", name="DA")
rxn.calculate_reaction_profile()

the calculation finishes normally, and generates the pdf with a reaction PES.

Am I missing something?

t-young31 commented 5 months ago

Setting ade.Config.num_conformers = 0 does not really work as autodE crashes with autode.exceptions.NoConformers

I guess this is expected for a reaction created from a SMILES string, as with 0 conformers there will be no generated 3D structure. Maybe things are okay if initialised from .xyz?

autodE also did not finish properly raising autode.exceptions.CouldNotGetProperty.

I wonder if this if because you're attempting to calculate association complexes (rxn.calculate_complexes()) on a very flat surface, so it's not converging. rxn.calculate_reaction_profile() will not calculate any association complexes by default so it's not really an apples-to-apples comparison.

Aside: taking a look at the last generated orca/gaussian/etc output file is a useful first step if you encounter a autode.exceptions.CouldNotGetProperty error

ATsybizova commented 5 months ago

Maybe things are okay if initialised from .xyz?

I have tried this, but the resulting error is still the same.

I wonder if this if because you're attempting to calculate association complexes (rxn.calculate_complexes()) on a very flat surface, so it's not converging. rxn.calculate_reaction_profile() will not calculate any association complexes by default so it's not really an apples-to-apples comparison.

That makes a lot of sense, my bad. When I removed rxn.calculate_complexes() for the test Diels-Alder reaction, the calculation worked. I then tested this approach on a bunch of different reaction steps, and it always works well when I want to skip the simulating annealing. Thanks a lot!