-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
autode.exceptions.NoConformers error when calculating reactions with CO2 #340
Comments
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 |
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. |
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. |
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! |
I have checked this for three conformers generated with the simulated annealing, and one out of three provided a |
I tried restricting the number of conformers obtained with simulated annealing to 1 with |
Interesting! Having one conformer that doesn't have the same connectivity as the reactant should be fine. Have you got the log file? |
Do you mean the .autode_calculaitons file that is created in the conformers folder? It has the following contents:
The only other file that is created is with the error message I mentioned:
|
Ah no, sorry – the stderr if e.g. Did you check both reactant and product connectivity as above? |
do I just add this in the input file, as I just did the connectivity check, and the output was |
Just checking, does your reactant have any metal atom by any chance? I have encountered similar issues with graph based detection with metals. |
@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? |
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? |
cheers @shoubhikraj. metals complexes and distance based graph generation is far from perfect I'm pretty confused, as you should only get a 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.
you'll need to set it as an envrionment variable with export AUTODE_LOG_LEVEL=INFO |
Here is the log file that I get from setting
When I try to optimize the reactant and profuct beforehead with
I get the following error:
|
When I specify the following error occurs:
|
So sorry for the spam, I was able to solve the last error message by specifying Here is the full log:
|
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
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 |
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? |
Glad to hear!
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 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() |
Thanks a lot for your suggestions. I tested them on a simple Diels Alder reaction. When I tried an alternative method, i.e.
autodE also did not finish properly raising At the same time, when I use the standard
the calculation finishes normally, and generates the pdf with a reaction PES. Am I missing something? |
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?
I wonder if this if because you're attempting to calculate association complexes ( Aside: taking a look at the last generated orca/gaussian/etc output file is a useful first step if you encounter a |
I have tried this, but the resulting error is still the same.
That makes a lot of sense, my bad. When I removed |
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:
Environment
The text was updated successfully, but these errors were encountered: