Question: Open Source Molecular Symmetry Perception Tools
6
gravatar for Nick Vandewiele
6.2 years ago by
Nick Vandewiele70 wrote:

Hi,

I am looking for a tool that can perceive the molecular symmetry of a given structure without having to specify/generate the 3D coordinates. With molecular symmetry i mean the external symmetry number of chemical species.

Do you know a tool that does this?

regards,

Nick

molecular structure • 2.8k views
ADD COMMENTlink modified 6.2 years ago by Noel O'Boyle40 • written 6.2 years ago by Nick Vandewiele70

I'm not sure what you mean by "external symmetry number" - could you give a short example?

ADD REPLYlink written 6.2 years ago by Gilleain30

Do you mean graph (aka topological) symmetry? The term molecular symmetry usually refers to the arrangement of the 3D atoms in space.

ADD REPLYlink written 6.2 years ago by Noel O'Boyle40

Ah. After some googling, it appears to be something like the order (size) of the subgroup of rigid (automorphic?) permutations of the atoms. The only paper I can find is this : linkinghub.elsevier.com/retrieve/pii/009784859180020M

ADD REPLYlink written 6.2 years ago by Gilleain30

i mean topological symmetry. E.g. benzene has symmetry number 12. Gilleain's description is kinda spot on. It is a contribution in the entropy of a molecular species. There are indeed not a lot of papers about it...

ADD REPLYlink written 6.2 years ago by Nick Vandewiele70
2
gravatar for Egon Willighagen
6.2 years ago by
Maastricht
Egon Willighagen5.1k wrote:

The Chemistry Development Kit has algorithm implementations to do this. I am no expert on this, but symmetry detection is an old but still hot topic and I recommend browsing Gilleain's blog on involved matters (search for SMSD and signatures). Developers of OpenBabel are also looking into relevant algorithms, and Tim's blog contains a few interesting posts.

ADD COMMENTlink written 6.2 years ago by Egon Willighagen5.1k
2
gravatar for Noel O'Boyle
6.2 years ago by
Noel O'Boyle40
Noel O'Boyle40 wrote:

You can find the number of automorphic permutations using the Open Babel library. See FindAutomorphisms in the Open Babel API. You'll have to write a small C++ program or else you can access it from Python: [?][?]import pybel mol = pybel.readstring("smi", "c1ccccc1Br") mappings = pybel.ob.vvpairUIntUInt() success = pybel.ob.FindAutomorphisms(mol.OBMol, mappings) print "Number of mappings is %d" % len(mappings) for mapping in mappings: print mapping [?][?] Output is: [?][?]Number of mappings is 2 ((0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6)) ((0, 4), (1, 3), (2, 2), (3, 1), (4, 0), (5, 5), (6, 6))[?][?]

ADD COMMENTlink modified 6.2 years ago • written 6.2 years ago by Noel O'Boyle40

Noel,

thanks for the tip. the automorphism group of a graph is the concept that I was looking for, I think.

ADD REPLYlink written 6.2 years ago by Nick Vandewiele70
1
gravatar for Nick Vandewiele
6.2 years ago by
Nick Vandewiele70 wrote:

I found Gilleain's document on Graphs, Groups, Symmetry in CDK, which explains a lot of the things I am looking for.

So, I know that CDK is able to generate symmetry classes for atoms in a molecule (using the MoleculeSignature.calculateOrbits() method). So, this gives me the partitioned sets of atoms that are topologically equivalent.

However, this is not the automorphism group of the molecule, which I am looking for. From Gilleain's document, automorphism group generation is already done through the InChI-c library but not available in CDK as a method as such.

Am I right in saying that CDK currently does not have an automorphism discovery algorithm (e.g. ported from nauty) implemented as such?

btw: maybe this question ought to be posted in cdk-user mailing list or so...

ADD COMMENTlink written 6.2 years ago by Nick Vandewiele70

I'm a little embarrassed about the unfinished nature of that document, but I hope it's useful :)

So, no there is not a way that I know of to get the automorphism group from the inchi. It can give you the canonical labelling (from the AuxInfo) but that's not what's required here.

There is code here : https://github.com/gilleain/cdk_signature/tree/master/src/org/openscience/cdk/group that is a not-yet integrated cdk module. It has an SSPermutationGroup class and a DiscretePartitionRefiner. If the refiner is given an initial partition based on signatures, it should give the correct aut group.

ADD REPLYlink written 6.2 years ago by Gilleain30
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1389 users visited in the last hour