I am searching for certain organometallic ligands bound to any transition metal.

 

As well as saving all the hits in one xyz or add file, I would like to save only the coordinates of the ligand core (from the search query) and all atoms connected to it, excluding all atoms connected to the ligand THROUGH the metal centre.

 

I have attached a PDF diagram to exemplify my aim.

 

Is this partial coordinate filtering possible - either through the graphical interface or the Python API?

Hi Marc - that's a really interesting question!

 

The ability to create a spreadsheet containing database entry names and selected metal-ligand bond lengths is certainly possible through the normal ConQuest graphical interface and the Mercury Data Analysis Module.

From your Search Query in ConQuest you can select the 'ADD 3D' option to record the bond distance between the metal and phosphorus atom. From the resulting hitlist click the 'Analyse Hitlist' button at the top of the list and choose 'Analyse Data'. This will then be exported into the Mercury Data Analysis Module where the values can be investigated further or output as a spreadsheet.

 

The second part of your question about making a list of coordinates excluding particular atoms is more challenging, but should be achievable using the CSD Python API. I'd suggest a script that took this sort of approach:

From your hitlist (this can be exported from ConQuest as a CSD entry identifier list in .gcd format) loop through each molecule of the structure to select only those contain a metal atom (i.e. ignoring any solvent molecules). You could also do the substructure search directly through the API, but by this point I’m assuming you already have a hitlist!

For the selected molecule the bonds from the metal atom can then be analysed to determine the neighbouring atom. If this atom isn't the phosphorus, the bond can then be removed.

By removing the bond you now have a new set of molecular components, so as above you could again loop through these to find the part with the metal atom. This single component can then be re-written into a cif file (or other format you require) to give you a list of coordinates.

I hope that's clear - do let me know if you'd like more detail on any of this information!

Hi Seth,

 

Many thanks for this very helpful response. Referring specifically to the following part of your response:

"For the selected molecule the bonds from the metal atom can then be analysed...

...By removing the bond you now have a new set of molecular components, so as above you could again loop through these..."

 

Could you help direct to the parts of the API that are likely to assist in these more difficult connectivity issues?

 

The problem gets more difficult still if the selected ligand is, for example, pyridine. This has a metal-N bond...but what if there are other N-centred ligands connected to the same metal?

 

Many thanks,

 

Marc

You must be signed in to post in this forum.