Message Boards Message Boards

Coping with Bullvalene's Rearrangements

Posted 1 year ago

Cope rearrangement of a bullvalene molecule

Attachments:
POSTED BY: J. M.
3 Replies

"ReplaceSubstructure" does reorder atoms because it can handle arbitrary pattern replacements where the number of atoms can change.

For the bullvalene rearrangement the pattern and replacement have the same number and type of atoms and attached hydrogens, so the replacement amounts to just changing the bond list. Here's a custom function to change the bond list

.

POSTED BY: Jason Biggs

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD

Nice post!

The animation is very "life-like", as the structure didn't jump from frame to frame. And since you didn't do any reorientation with MoleculeAlign wondered how real my impression was.

First, I modified the animation by using MoleculePlot3D[#, {1},...] to label (highlight) atom 1. In many of the frames the "bouncing ball" stayed in the same region of space, but every now and then it jumped to an antipodal location. So I wondered if the atom coordinates are retained by MoleculeModify with "ReplaceSubstructure", and they are not:

bullvalene["AtomCoordinates"] // First // Normal // QuantityMagnitude

{-0.216514, -1.36302, 1.1512}


SeedRandom[7654321];
subl = Values[RandomChoice[FindMoleculeSubstructure[bullvalene, patt, All]]];
bullvalene2 = MoleculeModify[bullvalene, {"ReplaceSubstructure", subl -> repl}];
bullvalene2["AtomCoordinates"] // First // Normal // QuantityMagnitude

{1.54944, -8.35728*10^-6, -0.0000199128}

When I tried labeling two atoms with {{1}, {2}} (yellow and blue, resp.), they were initially adjacent to each other and eventually separated, as expected. However, hydrogen atoms started appearing and one of them was labelled blue! It appears the MoleculeModify reorders the atoms while still maintaining the correct bonding:

bullvalene["AtomList"]

{Atom["C"], Atom["C"], Atom["C"], Atom["C"], Atom["C"], Atom["C"], 
 Atom["C"], Atom["C"], Atom["C"], Atom["C"], Atom["H"], Atom["H"], 
 Atom["H"], Atom["H"], Atom["H"], Atom["H"], Atom["H"], Atom["H"], 
 Atom["H"], Atom["H"]}

bullvalene2["AtomList"]

{Atom["C"], Atom["C"], Atom["C"], Atom["C"], Atom["H"], Atom["H"], 
 Atom["H"], Atom["H"], Atom["C"], Atom["C"], Atom["C"], Atom["C"], 
 Atom["C"], Atom["C"], Atom["H"], Atom["H"], Atom["H"], Atom["H"], 
 Atom["H"], Atom["H"]}

Using PatternReaction and ApplyReaction, as in my WTC 2022 talk, probably suffers the same problem wrt the atom coordinates.

Different tools need to be developed for producing realistic animations.

POSTED BY: Robert Nachbar
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract