lanl / Architector

The architector python package - for 3D metal complex design. C22085
Other
38 stars 6 forks source link

Dealing with hapticity #19

Closed Jonahowns closed 1 year ago

Jonahowns commented 1 year ago

I am attempting to build models with multiple atoms being coordinated to the metal.

One of them is bis(benzene) chromium. I tried specifying each ligand as 'c1=cc=cc=c1' with the coordination sites as [0, 1, 2, 3, 4, 5]. After a bit of processing it failed with the error message: cannot assign 'c1=cc=cc=c1' to any lig type.

The other complexes I've tried with single atom coordination sites work great. Are complexes like this supported by Architector?

mgt16-LANL commented 1 year ago

Hi Jonaowns! Thanks so much for using Architector! Apologies for the delayed response! To answer your question - Architector does handle haptic ligands - it just needs to be able to determine that the coordinating sites specified for each ligand correspond to a set of shared aromatic rings via the Openbabel backend.

In your case unfortunately the smiles string you have seems to give some trouble. I was able to get it to work with simply replacing your smiles string ('c1=cc=cc=c1') with the one wikipedia had for benzene 'c1ccccc1': image

At the smiles level I think your smiles gets interpreted by openbabel to have no hydrogens, which creates issues for Architector downstream: image Mostly I'd suggest double checking your smiles with the "view_structures" function in a jupyter notebook as I did above to check if Architector is going to deal with the ligands in the way you'd want.

Another way to deal with these ligands is to specify that the ligType is haptic by setting "ligType":"sandwich" - though this is less stress-tested than having the smiles contain the correct aromaticity. During development I had referred to these ligands primarily as "sandwich"-type ligands but I will push a change allowing "ligType":"haptic" as well soon!

mgt16-LANL commented 1 year ago

For documentation purposes - with the next release (hopefully today or tomorrow) - now both of these methods for generating complexes with haptic ligands and benzene particularly should work: image

mgt16-LANL commented 1 year ago

These changes are now reflected in the architector-0.0.10! I'm going to go ahead and close this issue - feel free to re-open if anything breaks with hapticity!