mofchecker icon indicating copy to clipboard operation
mofchecker copied to clipboard

Estimate if MOF is charged

Open kjappelbaum opened this issue 5 years ago • 4 comments

Feature description

We can extract the linkers and we can estimate the oxidation states using oximachine. We need to think about how to deal with more complicated nodes with OH, etc.

Implementation idea

Alternatives

kjappelbaum avatar Dec 03 '20 00:12 kjappelbaum

For what it's worth, I think this would be a great use-case! On the topic, I've been wondering if it'd be possible to use a similar approach to flag potentially problematic structures that don't have proper charge-balancing. For instance, a really gnarly structure to flag correctly is OVADAR. At first glance, nothing seems immediately wrong about it, but the real chemical formula is Mg2Li(BTC)(HBTC)(DMF)2 whereas the formula in the CIF is Mg2Li(BTC)(BTC)(DMF)2. The only practical way (that I can tell) to catch that extra H is by decomposing the structure, getting the charge of the linker and node (e.g. with oximachine), and hoping it comes up as unbalanced. As you already alluded to, there are likely to be many challenges with charge assignment approaches, but I think such an approach would be quite useful in the end!

Andrew-S-Rosen avatar Dec 13 '20 02:12 Andrew-S-Rosen

@arosen93 you have the GPL license for MOFid due to the openbabel dependency? It would be great to use it to get the SMILES for the linkers, but I would rather want to stay with a more permissive license

kjappelbaum avatar Dec 14 '20 08:12 kjappelbaum

@kjappelbaum. Looks like that probably is the reason why. The MOFid repo was started by @bbucior, and I'm not sure the origins of the licensing, but I do see that openbabel is GPL. I guess that would mean MOFid in turn would need to be GPL (if my understanding of GPL is correct). A modified version of openbabel is packaged with MOFid.

Andrew-S-Rosen avatar Dec 14 '20 08:12 Andrew-S-Rosen

Confirmed, that's where the GPL decision came from. IANAL, but you might be able to use the package without re-licensing yours by calling it as a command-line utility or similar. But there would still be the challenge of the cmake compilation steps.

bbucior avatar Dec 14 '20 12:12 bbucior