status of bugfix requests

User 870ab5b546

23-03-2016 15:12:42

Can you tell me the status of these bugs and feature requests? I should let you know that major bug #4 caused grief for students on a reasonable exam.


Major bugs:



  1. Hypervalent heavy atoms, for example, a nine-electron Br atom, should not trigger a valence error.

  2. There is a problem with cross-compatibility of rectangle sides/midpoints between MarvinSketch and Marvin JS. If I draw a rectangle in one editor, then draw a reaction arrow that starts at the midpoint of its bottom edge, then display the structure in the other editor, the arrow starts at the top instead.

  3. If in MarvinSketch, I draw a rectangle A, then I draw an arrow B that begins at the midpoint of the bottom edge of A, then I draw an arrow C that begins at the midpoint of arrow B, then, when I import the structure into Marvin JS, arrow C disappears. Evidently, MarvinJS doesn't understand the concept of one arrow beginning at the midpoint of another arrow, so it just ignores it.

  4. If I replace an atom in a 3D structure with a shortcut group, the z-coordinate of the original atom is not transferred to the shortcut group.


Minor bugs:



  1. When I draw a coordinate bond from atom P with a lone pair to another atom M, and lone pairs are visible, either the lone pair of P should not be displayed (preferred, and the current behavior in MarvinSketch), or it should be displayed at the starting point of the coordinate bond. 

  2. Using an iPad, for toolbar buttons with submenus (bond, arrow, electron-flow arrow, and rectangle/ellipse), is very difficult to find just the right spot on the lower right corner of the toolbar button to press and hold so that the submenus will appear.

  3. Using an iPad, even when I can get the submenus to appear, I am unable to select any of the options. For example, I cannot select the bold bond or the two-electron electron-flow arrow. Dragging my finger over to the desired option has no effect, and the submenus simply disappear when I lift my finger.

  4. Currently, I am unable to draw a graphical arrow from one rectangle corner/midpoint to another rectangle corner/midpoint if they are within a certain distance. 

  5. I can change the arc of an electron-flow arrow, but the arc parameters are evidently not stored in the MRV, because if I export the structure and then import it back, the arc changes back to its original appearance.

  6. Use an en dash for a minus sign; the currently used hyphen is very hard to see. 

  7. When a structure shrinks, the + and – signs should not shrink into invisibility.

  8. Boundaries of textboxes drawn in MarvinSketch should be respected by Marvin JS, so that the text wraps properly and doesn't overlap with a structure to the right.


Higher priority feature requests (in my priority order):



  1. Add a color property to reaction arrows and electron-flow arrows, just as rectangles have already.

  2. Add the capability to draw a multicenter S-group. 

  3. Create a MarvinView equivalent: Editing not permitted, but can rotate, add explicit H atoms, clean 2D and 3D, show stereochemical descriptors.


Lower priority feature requests (no particular order):



  1. If I choose to look at R/S configurations in Marvin4JS, there doesn't seem to be any way to get rid of the stereochemical descriptors other than by modifying the structure. If the View R/S button has just been pressed, then pressing it again should get rid of all the stereochemical descriptors.

  2. In a 3D structure, the ends of the bonds don't quite touch, making the structure a little hard to read. The fading is nice, but the ends of the bonds should touch.

  3. In aliases, numbers should be subscripted only when they follow letters.

  4. Adjust the positions of the shortcut groups' names so that the bonds point to their left, not their center. (Unless you implement lefthand and righthand names, like MarvinSketch has, in which case the bonds might point to the right in certain cases.)

  5. Make the focus automatically shift to the text field in the popup window that appears when I click on the pseudoatom button.

  6. If I choose a stereobond from the Bond button group, then click on an atom button, and then I draw the atom and an associated bond by click-holding on an existing atom and dragging, the new bond should be the type that I have chosen from the Bond button group.

  7. In the various dialog boxes (View settings, Atom properties, Bond properties), enable the OK button even if I haven't changed a value. 

  8. Recognize molecule properties (of any name) in an imported MRV, and add setProperty() and getProperty() methods to the API. 

  9. Add an option to hide valence number (mrvValence) flags.

  10. Add line breaks to exported MRVs.

  11. When the implicit H display is set to heteroterm, and a C atom bears a charge, then implicit H atoms should be displayed for that C atom, like MarvinSketch does.

ChemAxon f052bdfe3c

25-03-2016 11:09:10

Thank you for updating the list.I would like to ask some questions for clarifications:


Lower priority feature requests:


`2. In a 3D structure` could you send a structure in MRV and in a png which we can attach to the task as a test? In my test cases I could only reproduce this with double bonds but you might mean something else.


3. Now, if it is only numbers, or a string which start with a number, we do not subscripted the numbers. Could you send me an example please in which other cases do you want not subscripted numbers (for e.g., I can imagine _, +, ?, but I am not sure in which workflows these can be relevant.)


4. It is ready, please check it on our example page (https://marvinjs-demo.chemaxon.com/latest/demo.html


Thank you,


Efi

User 870ab5b546

25-03-2016 12:52:15

It looks like all three of those feature requests have been fulfilled. So the new list is below. I hope you'll go after the major bugs and the higher priority feature requests. 


Major bugs:



  1. Hypervalent heavy atoms, for example, a nine-electron Br atom, should not trigger a valence error.

  2. There is a problem with cross-compatibility of rectangle sides/midpoints between MarvinSketch and MarvinJS. If I draw a rectangle in one editor, then draw a reaction arrow that starts at the midpoint of its bottom edge, then display the structure in the other editor, the arrow starts at the top instead.

  3. If in MarvinSketch, I draw a rectangle A, then I draw an arrow B that begins at the midpoint of the bottom edge of A, then I draw an arrow C that begins at the midpoint of arrow B, then, when I import the structure into Marvin JS, arrow C disappears. Evidently, MarvinJS doesn't understand the concept of one arrow beginning at the midpoint of another arrow, so it just ignores it.

  4. If I replace an atom in a 3D structure with a shortcut group, the z-coordinate of the original atom is not transferred to the shortcut group.


Minor bugs:



  1. When I draw a coordinate bond from atom P with a lone pair to another atom M, and lone pairs are visible, either the lone pair of P should not be displayed (preferred, and the current behavior in MarvinSketch), or it should be displayed at the starting point of the coordinate bond. 

  2. Using an iPad, for toolbar buttons with submenus (bond, arrow, electron-flow arrow, and rectangle/ellipse), is very difficult to find just the right spot on the lower right corner of the toolbar button to press and hold so that the submenus will appear.

  3. Using an iPad, even when I can get the submenus to appear, I am unable to select any of the options. For example, I cannot select the bold bond or the two-electron electron-flow arrow. Dragging my finger over to the desired option has no effect, and the submenus simply disappear when I lift my finger.

  4. Currently, I am unable to draw a graphical arrow from one rectangle corner/midpoint to another rectangle corner/midpoint if they are within a certain distance. 

  5. I can change the arc of an electron-flow arrow, but the arc parameters are evidently not stored in the MRV, because if I export the structure and then import it back, the arc changes back to its original appearance.

  6. Use an en dash for a minus sign; the currently used hyphen is very hard to see. 

  7. When a structure shrinks, the + and – signs should not shrink into invisibility.

  8. Boundaries of textboxes drawn in MarvinSketch should be respected by MarvinJS, so that the text wraps properly and doesn't overlap with a structure to the right.


Higher priority feature requests (in my priority order):



  1. Add a color property to reaction arrows and electron-flow arrows, just as rectangles have already.

  2. Add the capability to draw a multicenter S-group. 

  3. Create a MarvinView equivalent: Editing not permitted, but can rotate, add explicit H atoms, clean 2D and 3D, show stereochemical descriptors.


Lower priority feature requests (no particular order):



  1. If I choose to look at R/S configurations in MarvinJS, there doesn't seem to be any way to get rid of the stereochemical descriptors other than by modifying the structure. If the View R/S button has just been pressed, then pressing it again should get rid of all the stereochemical descriptors.

  2. Make the focus automatically shift to the text field in the popup window that appears when I click on the pseudoatom button.

  3. If I choose a stereobond from the Bond button group, then click on an atom button, and then I draw the atom and an associated bond by click-holding on an existing atom and dragging, the new bond should be the type that I have chosen from the Bond button group.

  4. In the various dialog boxes (View settings, Atom properties, Bond properties), enable the OK button even if I haven't changed a value. 

  5. Recognize molecule properties (of any name) in an imported MRV, and add setProperty() and getProperty() methods to the API. 

  6. Add an option to hide valence number (mrvValence) flags.

  7. Add line breaks to exported MRVs.

  8. When the implicit H display is set to heteroterm, and a C atom bears a charge, then implicit H atoms should be displayed for that C atom, like MarvinSketch does.

ChemAxon f052bdfe3c

25-03-2016 16:15:14

Thank you for the clarification.


Best regards,


Efi

User 870ab5b546

27-07-2016 20:58:57

Any more progress on any of these bugfix/feature requests? I've highlighted in bold some of the ones that have come up repeatedly.


Major bugs:



  1. If I replace an atom in a 3D structure with a shortcut group, the z-coordinate of the original atom is not transferred to the shortcut group. (This bug has caused students grief on exams.)

  2. Hypervalent heavy atoms, for example, a nine-electron Br atom, should not trigger a valence error.

  3. There is a problem with cross-compatibility of rectangle sides/midpoints between MarvinSketch and MarvinJS. If I draw a rectangle in one editor, then draw a reaction arrow that starts at the midpoint of its bottom edge, then display the structure in the other editor, the arrow starts at the top instead.

  4. If in MarvinSketch, I draw a rectangle A, then I draw an arrow B that begins at the midpoint of the bottom edge of A, then I draw an arrow C that begins at the midpoint of arrow B, then, when I import the structure into Marvin JS, arrow C disappears. Evidently, MarvinJS doesn't understand the concept of one arrow beginning at the midpoint of another arrow, so it just ignores it.


Minor bugs:



  1. Fix placement of charges so they don't overlap with bonds. (Again, this bug has caused students grief on exams.)

  2. When I draw a coordinate bond from atom P with a lone pair to another atom M, and lone pairs are visible, either the lone pair of P should not be displayed (preferred, and the current behavior in MarvinSketch), or it should be displayed at the starting point of the coordinate bond. 

  3. Using an iPad, for toolbar buttons with submenus (bond, arrow, electron-flow arrow, and rectangle/ellipse), is very difficult to find just the right spot on the lower right corner of the toolbar button to press and hold so that the submenus will appear.

  4. Using an iPad, even when I can get the submenus to appear, I am unable to select any of the options. For example, I cannot select the bold bond or the two-electron electron-flow arrow. Dragging my finger over to the desired option has no effect, and the submenus simply disappear when I lift my finger.

  5. Currently, I am unable to draw a graphical arrow from one rectangle corner/midpoint to another rectangle corner/midpoint if they are within a certain distance. 

  6. I can change the arc of an electron-flow arrow, but the arc parameters are evidently not stored in the MRV, because if I export the structure and then import it back, the arc changes back to its original appearance.

  7. Boundaries of textboxes drawn in MarvinSketch should be respected by MarvinJS, so that the text wraps properly and doesn't overlap with a structure to the right.


Higher priority feature requests (in my priority order):



  1. Add a color property to reaction arrows and electron-flow arrows, just as rectangles have already. We use colors to highlight student errors, and we refer to the colored objects in the feedback, and the fact that the feedback is referring to nonexistent colored objects can be very confusing and frustrating for students. 

  2. Allow electron-flow arrows to point to shortcut groups, especially if the electron-flow arrow starts at a bond involving that shortcut group -- e.g., the C–OMe bond in O=C–OMe.

  3. Add the capability to draw a multicenter S-group. 

  4. Create a MarvinView equivalent: Editing not permitted, but can rotate, add explicit H atoms, clean 2D and 3D, show stereochemical descriptors.


Lower priority feature requests (no particular order):



  1. Allow the local developer to customize the list of shortcut groups.

  2. If I choose to look at R/S configurations in MarvinJS, there doesn't seem to be any way to get rid of the stereochemical descriptors other than by modifying the structure. If the View R/S button has just been pressed, then pressing it again should get rid of all the stereochemical descriptors.

  3. Make the focus automatically shift to the text field in the popup window that appears when I click on the pseudoatom button.

  4. If I choose a stereobond from the Bond button group, then click on an atom button, and then I draw the atom and an associated bond by click-holding on an existing atom and dragging, the new bond should be the type that I have chosen from the Bond button group.

  5. In the various dialog boxes (View settings, Atom properties, Bond properties), enable the OK button even if I haven't changed a value. 

  6. Recognize molecule properties (of any name) in an imported MRV, and add setProperty() and getProperty() methods to the API. 

  7. Add an option to hide valence number (mrvValence) flags.

  8. Add line breaks to exported MRVs.

  9. When the implicit H display is set to heteroterm, and a C atom bears a charge, then implicit H atoms should be displayed for that C atom, like MarvinSketch does.

ChemAxon f052bdfe3c

18-08-2016 12:20:20

Thank you for updating the list. The good news: `


If I choose to look at R/S configurations in MarvinJS, there doesn't seem to be any way to get rid of the stereochemical descriptors other than by modifying the structure. If the View R/S button has just been pressed, then pressing it again should get rid of all the stereochemical descriptors.`


`It will be released this week (version number 16.8.15)


I have two questions: What for would you like to use  a multicenter S-group? Could you send some example, please?


 When you ask for creating a MarvinView equivalent: Editing not permitted, but can rotate, add explicit H atoms, clean 2D and 3D, show stereochemical descriptors. Do you think about a view panel or a whole table rendering?


Thank you,


Efi



User 870ab5b546

18-08-2016 13:14:42










ehoffmann wrote:

Thank you for updating the list. The good news: `


If I choose to look at R/S configurations in MarvinJS, there doesn't seem to be any way to get rid of the stereochemical descriptors other than by modifying the structure. If the View R/S button has just been pressed, then pressing it again should get rid of all the stereochemical descriptors.`


`It will be released this week (version number 16.8.15)


I have two questions: What for would you like to use  a multicenter S-group? Could you send some example, please?


 When you ask for creating a MarvinView equivalent: Editing not permitted, but can rotate, add explicit H atoms, clean 2D and 3D, show stereochemical descriptors. Do you think about a view panel or a whole table rendering?


Thank you,


Efi






Thanks for your reply. By a multicenter S-group, I mean like an allyl or cyclopentadienyl ligand on a metal, as in this MRV created in MarvinSketch:


<?xml version="1.0" encoding="MacRoman"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/schema/mrvSchema_16_02_15.xsd" version="ChemAxon file format v16.02.15, generated by v16.6.27.0">
<MDocument>
<MChemicalStruct>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11" elementType="C C C C C Pd X C C C X" sgroupRef="sg1 sg1 sg1 sg1 sg1 0 0 sg2 sg2 sg2 0" x2="-13.55555534362793 -14.801421672644956 -14.325559255257737 -12.785551431998122 -12.309689014610901 -10.44444465637207 -13.55555534362793 -7.722222328186035 -6.753068925969285 -7.523068925969285 -7.332786726708201" y2="6.643325747056609 5.738109148544609 4.273561708624715 4.273561708624715 5.738109148544609 4.388888835906982 5.333333492279052 6.055555820465088 4.858751039821353 3.5250719179933174 4.8131262594265865"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a5" order="A"/>
<bond id="b2" atomRefs2="a4 a5" order="A"/>
<bond id="b3" atomRefs2="a3 a4" order="A"/>
<bond id="b4" atomRefs2="a2 a3" order="A"/>
<bond id="b5" atomRefs2="a1 a2" order="A"/>
<bond id="b6" atomRefs2="a7 a6" order="1"/>
<bond id="b7" atomRefs2="a9 a10" order="A"/>
<bond id="b8" atomRefs2="a8 a9" order="A"/>
<bond id="b9" atomRefs2="a11 a6" order="1"/>
</bondArray>
<molecule id="sg1" role="MulticenterSgroup" molID="m2" atomRefs="a1 a2 a3 a4 a5" center="a7"/>
<molecule id="sg2" role="MulticenterSgroup" molID="m3" atomRefs="a8 a9 a10" center="a11"/>
</molecule>
</MChemicalStruct>
</MDocument>
</cml>

I don't know what is the difference between a view panel or a whole table rendering in MarvinView. We used to embed multiple MarvinView applets into a Web page so that students could copy the drawings and paste them into an editor, or they could rotate the drawings or otherwise manipulate them without editing them. We have for now replaced the applets with SVG drawings, a hyperlink to the source code, and an option to launch MarvinView through Java Web Start, but this solution is much clumsier than the original MarvinView applet. So we would like to have a JavaScript equivalent to showing multiple MarvinView instances on a single Web page. 

ChemAxon 76c88f5366

19-08-2016 11:32:15

Hi Bob, 


It is possible to draw such structures in Marvin JS. I redrew the structure you sent in Marvin JS, please find the source, and the picture attached.
You can draw these by Position variation bond tool, or with Coordinate bond tool, and then changing the coordinate bond to the one you would like to. 
(You can find more information about the drawing here: https://docs.chemaxon.com/display/docs/Bond#Bond-drawPosVarBond)


I hope this will help.


Regards,
Eszter

User 870ab5b546

19-08-2016 19:21:21

Great! That's progress! But we're not quite there. First, I need it to be possible to create a multicenter S group without adding a bond from the group to a new C atom. Second, I need to be able to draw an electron-flow arrow from the group's attachment point to an atom. The following MRV, which I drew in MarvinSketch, illustrates these two points:


<?xml version="1.0" encoding="UTF-8"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/schema/mrvSchema_16_02_15.xsd" version="ChemAxon file format v16.02.15, generated by v16.8.15.0">
<MDocument>
<MChemicalStruct>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8" elementType="Pt Cl Cl Cl C C C X" formalCharge="-1 0 0 0 0 0 0 0" sgroupRef="0 0 0 0 sg1 sg1 0 0" x2="-1.4918750524520874 -1.4918750524520874 -3.0318750524520874 -1.4918750524520874 1.1549999713897705 1.1549999713897705 2.4886790932178062 0.9149999618530273" y2="1.058750033378601 2.598750033378601 1.0587500333786009 -0.48124996662139896 1.8287500143051147 0.2887500143051147 -0.4812499856948852 0.9387499499320984"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a1 a3" order="1"/>
<bond id="b3" atomRefs2="a1 a4" order="1"/>
<bond id="b4" atomRefs2="a5 a6" order="2"/>
<bond id="b5" atomRefs2="a6 a7" order="1"/>
</bondArray>
<molecule id="sg1" role="MulticenterSgroup" molID="m2" atomRefs="a5 a6" center="a8"/>
</molecule>
</MChemicalStruct>
<MEFlow id="o2" arcAngle="140.0" headSkip="0.25" headLength="0.5" headWidth="0.4" tailSkip="0.25" baseElectronContainerIndex="-1" baseElectronIndexInContainer="0">
<MEFlowBasePoint atomRef="m1.a8"/>
<MAtomSetPoint atomRefs="m1.a8 m1.a1" weights="0.25 0.75"/>
</MEFlow>
</MDocument>
</cml>

Third, I need to be able to draw an electron-flow arrow from the coordinate bond to either end of the bond (one end of which is, of course, the multicenter group's attachment point). For example:


<?xml version="1.0" encoding="UTF-8"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/schema/mrvSchema_16_02_15.xsd" version="ChemAxon file format v16.02.15, generated by v16.8.15.0">
<MDocument>
<MRectangle id="o1">
<MPoint x="-10.414816856384277" y="6.210670471191406"/>
<MPoint x="0.6210671067237854" y="6.210670471191406"/>
<MPoint x="0.6210671067237854" y="-0.38219529390335083"/>
<MPoint x="-10.414816856384277" y="-0.38219529390335083"/>
</MRectangle>
<MRectangle id="o2">
<MPoint x="-22.534583166591542" y="6.232551177872207"/>
<MPoint x="-12.263089195243733" y="6.232551177872207"/>
<MPoint x="-12.263089195243733" y="-0.3603145872225504"/>
<MPoint x="-22.534583166591542" y="-0.3603145872225504"/>
</MRectangle>
<MChemicalStruct>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31" elementType="Pd H Br P P R R R R R R C C R Pd H Br P P R R R R R R C C R X R R" sgroupRef="0 0 0 0 0 sg1 sg2 sg3 sg4 sg5 sg6 0 0 sg7 0 0 0 0 0 sg8 sg9 sg10 sg11 sg12 sg13 sg17 sg17 sg14 0 sg15 sg16" x2="-6.448750019073486 -5.3598055760462024 -5.359805576046203 -7.537694462100769 -7.537694462100769 -7.537694462100769 -9.07769446210077 -8.626638905128052 -9.07769446210077 -8.626638905128052 -7.537694462100769 -2.887500047683716 -2.887500047683716 -1.55382092585568 -18.205091512033988 -17.116147069006708 -17.116147069006708 -19.294035955061272 -19.294035955061272 -19.294035955061272 -20.834035955061275 -20.382980398088556 -20.834035955061275 -20.382980398088556 -19.294035955061272 -15.647103106806327 -15.647103106806327 -14.698424213860129 -15.647103106806327 -16.595781999752525 -4.2211791695117515" y2="2.887500047683716 3.9764444907109984 1.7985556046564326 1.7985556046564326 3.976444490710999 5.516444490710999 3.976444490710999 5.065388933738282 1.7985556046564324 0.7096111616291494 0.25855560465643257 3.70562481880188 2.16562481880188 1.3956248188018798 2.9609431947980616 4.0498876378253446 1.8719987517707786 1.8719987517707786 4.0498876378253446 5.589887637825345 4.0498876378253446 5.1388320808526275 1.8719987517707781 0.7830543087434951 0.33199875177077853 3.7790679659162256 2.2390679659162256 0.939692949226925 3.0090679659162256 5.030317775181363 4.47562481880188"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a1 a3" order="1"/>
<bond id="b3" atomRefs2="a4 a1" convention="cxn:coord"/>
<bond id="b4" atomRefs2="a5 a1" convention="cxn:coord"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a5 a7" order="1"/>
<bond id="b7" atomRefs2="a5 a8" order="1"/>
<bond id="b8" atomRefs2="a4 a9" order="1"/>
<bond id="b9" atomRefs2="a4 a10" order="1"/>
<bond id="b10" atomRefs2="a4 a11" order="1"/>
<bond id="b11" atomRefs2="a12 a13" order="2"/>
<bond id="b12" atomRefs2="a13 a14" order="1"/>
<bond id="b13" atomRefs2="a15 a16" order="1"/>
<bond id="b14" atomRefs2="a15 a17" order="1"/>
<bond id="b15" atomRefs2="a18 a15" convention="cxn:coord"/>
<bond id="b16" atomRefs2="a19 a15" convention="cxn:coord"/>
<bond id="b17" atomRefs2="a19 a20" order="1"/>
<bond id="b18" atomRefs2="a19 a21" order="1"/>
<bond id="b19" atomRefs2="a19 a22" order="1"/>
<bond id="b20" atomRefs2="a18 a23" order="1"/>
<bond id="b21" atomRefs2="a18 a24" order="1"/>
<bond id="b22" atomRefs2="a18 a25" order="1"/>
<bond id="b23" atomRefs2="a26 a27" order="2"/>
<bond id="b24" atomRefs2="a27 a28" order="1"/>
<bond id="b25" atomRefs2="a29 a15" convention="cxn:coord"/>
<bond id="b26" atomRefs2="a26 a30" order="1"/>
<bond id="b27" atomRefs2="a12 a31" order="1"/>
</bondArray>
<molecule id="sg1" role="SuperatomSgroup" title="Ph" molID="m2">
<atomArray atomID="a32 a33 a34 a35 a36 a37" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-2.667358243656075 -4.0010373654841125 -4.001037365484109 -2.6673582436560714 -1.3336791218280375 -1.3336791218280375" y2="-3.0800000000000036 -2.3100000000000005 -0.7699999999999994 -1.7763568394002505E-15 -0.7700000000000053 -2.3100000000000045"/>
<bondArray>
<bond id="b28" atomRefs2="a32 a33" order="2"/>
<bond id="b29" atomRefs2="a32 a37" order="1"/>
<bond id="b30" atomRefs2="a33 a34" order="1"/>
<bond id="b31" atomRefs2="a34 a35" order="2"/>
<bond id="b32" atomRefs2="a35 a36" order="1"/>
<bond id="b33" atomRefs2="a36 a37" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a32" order="1" bond="b5"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg2" role="SuperatomSgroup" title="Ph" molID="m3">
<atomArray atomID="a38 a39 a40 a41 a42 a43" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-15.488030680545462 -14.154351558717428 -14.15435155871743 -15.488030680545467 -16.821709802373494 -16.821709802373494" y2="11.032888981422003 10.262888981421998 8.722888981421999 7.952888981422001 8.722888981422003 10.262888981422002"/>
<bondArray>
<bond id="b34" atomRefs2="a38 a39" order="2"/>
<bond id="b35" atomRefs2="a38 a43" order="1"/>
<bond id="b36" atomRefs2="a39 a40" order="1"/>
<bond id="b37" atomRefs2="a40 a41" order="2"/>
<bond id="b38" atomRefs2="a41 a42" order="1"/>
<bond id="b39" atomRefs2="a42 a43" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a38" order="1" bond="b6"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg3" role="SuperatomSgroup" title="Ph" molID="m4">
<atomArray atomID="a44 a45 a46 a47 a48 a49" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-0.48124997138976866 -1.2512499713897718 -2.7912499713897727 -3.5612499713897696 -2.791249971389764 -1.2512499713897673" y2="11.02466959521026 9.690990473382218 9.690990473382222 11.02466959521026 12.358348717038297 12.358348717038293"/>
<bondArray>
<bond id="b40" atomRefs2="a44 a45" order="2"/>
<bond id="b41" atomRefs2="a44 a49" order="1"/>
<bond id="b42" atomRefs2="a45 a46" order="1"/>
<bond id="b43" atomRefs2="a46 a47" order="2"/>
<bond id="b44" atomRefs2="a47 a48" order="1"/>
<bond id="b45" atomRefs2="a48 a49" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a44" order="1" bond="b7"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg4" role="SuperatomSgroup" title="Ph" molID="m5">
<atomArray atomID="a50 a51 a52 a53 a54 a55" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-15.488030680545462 -14.154351558717424 -14.154351558717426 -15.488030680545467 -16.8217098023735 -16.8217098023735" y2="6.677111209312869 5.907111209312866 4.367111209312865 3.5971112093128683 4.367111209312871 5.90711120931287"/>
<bondArray>
<bond id="b46" atomRefs2="a50 a51" order="2"/>
<bond id="b47" atomRefs2="a50 a55" order="1"/>
<bond id="b48" atomRefs2="a51 a52" order="1"/>
<bond id="b49" atomRefs2="a52 a53" order="2"/>
<bond id="b50" atomRefs2="a53 a54" order="1"/>
<bond id="b51" atomRefs2="a54 a55" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a50" order="1" bond="b8"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg5" role="SuperatomSgroup" title="Ph" molID="m6">
<atomArray atomID="a56 a57 a58 a59 a60 a61" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-12.416250066757208 -11.6462500667572 -10.106250066757202 -9.336250066757202 -10.106250066757205 -11.646250066757208" y2="-5.249669499842829 -3.9159903780147918 -3.9159903780147953 -5.249669499842831 -6.583348621670867 -6.583348621670865"/>
<bondArray>
<bond id="b52" atomRefs2="a56 a57" order="2"/>
<bond id="b53" atomRefs2="a56 a61" order="1"/>
<bond id="b54" atomRefs2="a57 a58" order="1"/>
<bond id="b55" atomRefs2="a58 a59" order="2"/>
<bond id="b56" atomRefs2="a59 a60" order="1"/>
<bond id="b57" atomRefs2="a60 a61" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a56" order="1" bond="b9"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg6" role="SuperatomSgroup" title="Ph" molID="m7">
<atomArray atomID="a62 a63 a64 a65 a66 a67" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-2.667358243656076 -4.001037365484111 -4.001037365484107 -2.6673582436560697 -1.3336791218280357 -1.3336791218280357" y2="-3.0800000000000045 -2.3100000000000014 -0.7700000000000005 -2.6645352591003757E-15 -0.7700000000000058 -2.310000000000005"/>
<bondArray>
<bond id="b58" atomRefs2="a62 a63" order="2"/>
<bond id="b59" atomRefs2="a62 a67" order="1"/>
<bond id="b60" atomRefs2="a63 a64" order="1"/>
<bond id="b61" atomRefs2="a64 a65" order="2"/>
<bond id="b62" atomRefs2="a65 a66" order="1"/>
<bond id="b63" atomRefs2="a66 a67" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a62" order="1" bond="b10"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg7" role="SuperatomSgroup" title="CO2Et" leftName="EtO2C" molID="m8">
<atomArray atomID="a68 a69 a70 a71 a72" elementType="C C O C O" attachmentPoint="1 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0" x2="-1.1388663980882348 -1.1388663980882332 -1.908866398088234 -1.9088663980882323 -1.908866398088235" y2="-1.3607341582674004 -4.028092401923473 -2.6944132800954357 -5.361771523751509 -0.027055036439365576"/>
<bondArray>
<bond id="b64" atomRefs2="a70 a68" order="1"/>
<bond id="b65" atomRefs2="a68 a72" order="2"/>
<bond id="b66" atomRefs2="a71 a69" order="1"/>
<bond id="b67" atomRefs2="a69 a70" order="1"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a68" order="1" bond="b12"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg8" role="SuperatomSgroup" title="Ph" molID="m9">
<atomArray atomID="a73 a74 a75 a76 a77 a78" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-1.686708366723078 -3.0203874885511155 -3.020387488551112 -1.6867083667230744 -0.3530292448950405 -0.3530292448950405" y2="-2.954994332449779 -2.184994332449776 -0.6449943324497749 0.1250056675502229 -0.6449943324497802 -2.1849943324497803"/>
<bondArray>
<bond id="b68" atomRefs2="a73 a74" order="2"/>
<bond id="b69" atomRefs2="a73 a78" order="1"/>
<bond id="b70" atomRefs2="a74 a75" order="1"/>
<bond id="b71" atomRefs2="a75 a76" order="2"/>
<bond id="b72" atomRefs2="a76 a77" order="1"/>
<bond id="b73" atomRefs2="a77 a78" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a73" order="1" bond="b17"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg9" role="SuperatomSgroup" title="Ph" molID="m10">
<atomArray atomID="a79 a80 a81 a82 a83 a84" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-14.507380803612463 -13.17370168178443 -13.173701681784433 -14.50738080361247 -15.841059925440497 -15.841059925440497" y2="11.157894648972228 10.387894648972223 8.847894648972224 8.077894648972226 8.847894648972227 10.387894648972226"/>
<bondArray>
<bond id="b74" atomRefs2="a79 a80" order="2"/>
<bond id="b75" atomRefs2="a79 a84" order="1"/>
<bond id="b76" atomRefs2="a80 a81" order="1"/>
<bond id="b77" atomRefs2="a81 a82" order="2"/>
<bond id="b78" atomRefs2="a82 a83" order="1"/>
<bond id="b79" atomRefs2="a83 a84" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a79" order="1" bond="b18"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg10" role="SuperatomSgroup" title="Ph" molID="m11">
<atomArray atomID="a85 a86 a87 a88 a89 a90" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="0.49939990554322833 -0.2706000944567748 -1.810600094456774 -2.5806000944567735 -1.8106000944567668 -0.27060009445677125" y2="11.149675262760486 9.815996140932443 9.815996140932446 11.149675262760486 12.483354384588523 12.48335438458852"/>
<bondArray>
<bond id="b80" atomRefs2="a85 a86" order="2"/>
<bond id="b81" atomRefs2="a85 a90" order="1"/>
<bond id="b82" atomRefs2="a86 a87" order="1"/>
<bond id="b83" atomRefs2="a87 a88" order="2"/>
<bond id="b84" atomRefs2="a88 a89" order="1"/>
<bond id="b85" atomRefs2="a89 a90" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a85" order="1" bond="b19"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg11" role="SuperatomSgroup" title="Ph" molID="m12">
<atomArray atomID="a91 a92 a93 a94 a95 a96" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-14.507380803612463 -13.17370168178443 -13.17370168178443 -14.50738080361247 -15.841059925440504 -15.841059925440504" y2="6.802116876863094 6.032116876863091 4.49211687686309 3.722116876863093 4.492116876863095 6.032116876863094"/>
<bondArray>
<bond id="b86" atomRefs2="a91 a92" order="2"/>
<bond id="b87" atomRefs2="a91 a96" order="1"/>
<bond id="b88" atomRefs2="a92 a93" order="1"/>
<bond id="b89" atomRefs2="a93 a94" order="2"/>
<bond id="b90" atomRefs2="a94 a95" order="1"/>
<bond id="b91" atomRefs2="a95 a96" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a91" order="1" bond="b20"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg12" role="SuperatomSgroup" title="Ph" molID="m13">
<atomArray atomID="a97 a98 a99 a100 a101 a102" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-11.43560018982421 -10.665600189824204 -9.125600189824205 -8.355600189824205 -9.125600189824208 -10.665600189824211" y2="-5.124663832292605 -3.790984710464567 -3.7909847104645706 -5.124663832292605 -6.458342954120642 -6.4583429541206385"/>
<bondArray>
<bond id="b92" atomRefs2="a97 a98" order="2"/>
<bond id="b93" atomRefs2="a97 a102" order="1"/>
<bond id="b94" atomRefs2="a98 a99" order="1"/>
<bond id="b95" atomRefs2="a99 a100" order="2"/>
<bond id="b96" atomRefs2="a100 a101" order="1"/>
<bond id="b97" atomRefs2="a101 a102" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a97" order="1" bond="b21"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg13" role="SuperatomSgroup" title="Ph" molID="m14">
<atomArray atomID="a103 a104 a105 a106 a107 a108" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-1.686708366723078 -3.0203874885511155 -3.0203874885511084 -1.6867083667230744 -0.3530292448950405 -0.3530292448950405" y2="-2.954994332449779 -2.1849943324497767 -0.6449943324497758 0.12500566755022202 -0.6449943324497811 -2.1849943324497803"/>
<bondArray>
<bond id="b98" atomRefs2="a103 a104" order="2"/>
<bond id="b99" atomRefs2="a103 a108" order="1"/>
<bond id="b100" atomRefs2="a104 a105" order="1"/>
<bond id="b101" atomRefs2="a105 a106" order="2"/>
<bond id="b102" atomRefs2="a106 a107" order="1"/>
<bond id="b103" atomRefs2="a107 a108" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a103" order="1" bond="b22"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg14" role="SuperatomSgroup" title="CO2Et" leftName="EtO2C" molID="m15">
<atomArray atomID="a109 a110 a111 a112 a113" elementType="C C O C O" attachmentPoint="1 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0" x2="-1.5464783161991846 -1.546478316199181 -2.3164783161991807 -2.3164783161991807 -2.316478316199184" y2="-1.7651035074064767 -4.432461751062549 -3.0987826292345115 -5.766140872890585 -0.43142438557844187"/>
<bondArray>
<bond id="b104" atomRefs2="a111 a109" order="1"/>
<bond id="b105" atomRefs2="a109 a113" order="2"/>
<bond id="b106" atomRefs2="a112 a110" order="1"/>
<bond id="b107" atomRefs2="a110 a111" order="1"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a109" order="1" bond="b24"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg15" role="SuperatomSgroup" title="Ph" molID="m16">
<atomArray atomID="a114 a115 a116 a117 a118 a119" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="-17.145527326560092 -17.1455273265601 -18.47920644838814 -19.812885570216174 -19.812885570216164 -18.479206448388126" y2="21.240640544268167 19.70064054426817 18.930640544268172 19.70064054426818 21.24064054426817 22.010640544268167"/>
<bondArray>
<bond id="b108" atomRefs2="a114 a115" order="2"/>
<bond id="b109" atomRefs2="a114 a119" order="1"/>
<bond id="b110" atomRefs2="a115 a116" order="1"/>
<bond id="b111" atomRefs2="a116 a117" order="2"/>
<bond id="b112" atomRefs2="a117 a118" order="1"/>
<bond id="b113" atomRefs2="a118 a119" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a114" order="1" bond="b26"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg16" role="SuperatomSgroup" title="Ph" molID="m17">
<atomArray atomID="a120 a121 a122 a123 a124 a125" elementType="C C C C C C" attachmentPoint="1 0 0 0 0 0" sgroupAttachmentPoint="1 0 0 0 0 0" x2="1.5452734021070396 1.545273402107036 0.21159428027899807 -1.1220848415490354 -1.1220848415490305 0.21159428027900562" y2="9.599085622925688 8.059085622925682 7.289085622925689 8.059085622925693 9.599085622925692 10.369085622925688"/>
<bondArray>
<bond id="b114" atomRefs2="a120 a121" order="2"/>
<bond id="b115" atomRefs2="a120 a125" order="1"/>
<bond id="b116" atomRefs2="a121 a122" order="1"/>
<bond id="b117" atomRefs2="a122 a123" order="2"/>
<bond id="b118" atomRefs2="a123 a124" order="1"/>
<bond id="b119" atomRefs2="a124 a125" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a120" order="1" bond="b27"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg17" role="MulticenterSgroup" molID="m18" atomRefs="a26 a27" center="a29"/>
</molecule>
</MChemicalStruct>
<MPolyline id="o4" headLength="0.8" headWidth="0.5">
<MRectanglePoint pos="5" rectRef="o2"/>
<MPoint x="-10.414816856384277" y="2.9142375886440277"/>
</MPolyline>
<MEFlow id="o5" arcAngle="-185.66077994999995" headSkip="0.38" headLength="0.5" headWidth="0.4" tailSkip="0.38" baseElectronContainerIndex="-1" baseElectronIndexInContainer="0">
<MAtomSetPoint atomRefs="m1.a29 m1.a15"/>
<MAtomSetPoint atomRefs="m1.a29"/>
</MEFlow>
</MDocument>
</cml>