User 870ab5b546
09-05-2016 17:47:10
In most respects, MarvinSketch is superior to Marvin JS. However, I must admit that the way Marvin JS implements drawing electron-flow arrows is far superior to MarvinSketch, for several reasons.
- In Marvin JS, if you want to draw an arrow from atom A to an incipient bond between A and atom B, you click-hold on A, then drag to B, then release, and the arrow snaps back to the incipient bond. By contrast, in MarvinSketch, you click or click-hold on A, then drag the cursor to between A and B until Marvin identifies which atom you want to be atom B. The problem is, in an even moderately uncrowded drawing, Marvin can identify any number of atoms as atom B. (For example, in the drawing whose MRV is reproduced below, try drawing a one-electron arrow from the lefthand O· to between that O and the H atom below it.) The Marvin JS method is unambiguous.
- In Marvin JS, you can toggle the arrow from pointing to between A and B to pointing directly to B, simply by clicking on the arrow with the arrow-drawing tool. There is no such capability in MarvinSketch.
- If you draw an electron-flow arrow from an A–B bond to an incipient bond between A and C, it is easy to mistakenly place the bond between B and C. In MarvinSketch, you have to erase the arrow and try again. In Marvin JS, you merely click on the arrow, and it changes from pointing between B and C to pointing between A and C.
It would be great if you could change MarvinSketch so that it had these Marvin JS features as well.
<?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.2.29.0">
<MDocument>
<MPolyline id="o1" headLength="0.8" headWidth="0.5">
<MPoint x="-1.203125" y="0.721875011920929"/>
<MPoint x="0.7704538909020036" y="0.6737499833106996"/>
</MPolyline>
<MTextBox id="o2" toption="NOROT" fontScale="10.0" halign="LEFT" valign="TOP" autoSize="true">
<Field name="text"><![CDATA[air ]]></Field>
<MPoint x="-0.7699999809265137" y="1.7806249856948853"/>
<MPoint x="0.4400000190734872" y="1.7806249856948808"/>
<MPoint x="0.4400000190734872" y="1.0656249856948818"/>
<MPoint x="-0.7699999809265137" y="1.0656249856948854"/>
</MTextBox>
<MElectronContainer id="o3" occupation="0" radical="1">
<MElectron atomRefs="m1.a23" difLoc="-0.4063926100494797 0.021298134209732922 0.0"/>
</MElectronContainer>
<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" elementType="C C C C C C O O C C C C C C C C C O O C C C O O H" radical="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 monovalent monovalent 0" x2="-8.229374885559082 -9.56304422660734 -9.56304422660734 -8.229374885559082 -6.8957055445108235 -6.8957055445108235 -8.229374885559082 -5.562026422682788 -5.562026422682788 -4.228347300854752 -2.894668179026717 3.320624589920044 1.9869552488717854 1.9869552488717854 3.320624589920044 4.6542939309683025 4.6542939309683025 3.320624589920044 6.118832178676899 7.024053375724263 6.118941827790935 8.564053375331977 -6.4278645515441895 -4.889975068022146 -6.81510817189669" y2="2.117533866812966 1.3475169262539257 -0.19251695486415532 -0.9625338954231959 -0.19251695486415532 1.3475169262539257 3.657533866812966 -0.9625169548641552 2.1175169262539257 1.3475169262539257 2.1175169262539257 2.062529017116497 1.2925120765574567 -0.24752180456062423 -1.017538745119665 -0.24752180456062423 1.2925120765574567 3.602529017116497 -0.7234125116102108 0.5224601464559946 1.768300156190496 0.5224253866831586 5.3196120262146 5.239014653600466 2.8854064097759693"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="1"/>
<bond id="b3" atomRefs2="a3 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="1"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a1 a6" order="1"/>
<bond id="b7" atomRefs2="a1 a7" order="2"/>
<bond id="b8" atomRefs2="a5 a8" order="2"/>
<bond id="b9" atomRefs2="a6 a9" order="1"/>
<bond id="b10" atomRefs2="a9 a10" order="1"/>
<bond id="b11" atomRefs2="a10 a11" order="2"/>
<bond id="b12" atomRefs2="a12 a13" order="1"/>
<bond id="b13" atomRefs2="a13 a14" order="1"/>
<bond id="b14" atomRefs2="a14 a15" order="1"/>
<bond id="b15" atomRefs2="a15 a16" order="1"/>
<bond id="b16" atomRefs2="a12 a17" order="1"/>
<bond id="b17" atomRefs2="a12 a18" order="2"/>
<bond id="b18" atomRefs2="a16 a19" order="1"/>
<bond id="b19" atomRefs2="a17 a16" order="2"/>
<bond id="b20" atomRefs2="a17 a21" order="1"/>
<bond id="b21" atomRefs2="a19 a20" order="1"/>
<bond id="b22" atomRefs2="a20 a21" order="1"/>
<bond id="b23" atomRefs2="a20 a22" order="1"/>
<bond id="b24" atomRefs2="a23 a24" order="1"/>
<bond id="b25" atomRefs2="a6 a25" order="1"/>
</bondArray>
</molecule>
</MChemicalStruct>
<MElectronContainer id="o5" occupation="0" radical="1">
<MElectron atomRefs="m1.a24" difLoc="0.4063926100494797 -0.021298134209731145 0.0"/>
</MElectronContainer>
</MDocument>
</cml>