possible serious JChem failure to find matches

User 870ab5b546

06-01-2007 18:48:15

The query:





Code:
<?xml version="1.0" ?>


<MDocument>


  <MEFlow id="o1" arcAngle="-150.0" headSkip="0.15" headLength="0.5"


          headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a1 m1.a2" />


    <MAtomSetPoint atomRefs="m1.a1 m1.a5" weights="0.25 0.75" />


  </MEFlow>


  <MEFlow id="o2" arcAngle="-182.17399554899995" headSkip="0.15"


          headLength="0.5" headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a3 m1.a4" />


    <MAtomSetPoint atomRefs="m1.a2 m1.a3" />


  </MEFlow>


  <MEFlow id="o3" arcAngle="-150.0" headSkip="0.15" headLength="0.5"


          headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a5 m1.a6" />


    <MAtomSetPoint atomRefs="m1.a6 m1.a4" weights="0.25 0.75" />


  </MEFlow>


  <MChemicalStruct>


    <molecule molID="m1">


      <atomArray


          atomID="a1 a2 a3 a4 a5 a6"


          elementType="C C S Fr C C"


          x2="-3.416874885559082 -2.6468748855590816 -1.1068748855590815 -0.3368748855590813


 -2.502500057220459 -0.962500057220459"


          y2="0.9143750071525574 -0.4193041146754781 -0.4193041146754781 0.9143750071525574


2.887500047683716 2.887500047683716"


          />


      <bondArray>


        <bond atomRefs2="a1 a2" order="2" />


        <bond atomRefs2="a2 a3" order="1" />


        <bond atomRefs2="a3 a4" order="1" />


        <bond atomRefs2="a5 a6" order="2" />


      </bondArray>


    </molecule>


  </MChemicalStruct>


</MDocument>






The target:





Code:
<?xml version="1.0" ?>


<MDocument>


  <MPolyline id="o1" color="#000000" headLength="0.8" headWidth="0.5">


    <MRectanglePoint pos="5" rectRef="o3" />


    <MRectanglePoint pos="7" rectRef="o2" />


  </MPolyline>


  <MRectangle id="o2" color="#000000">


    <MPoint x="3.6485531330108643" y="13.488590240478516" />


    <MPoint x="12.32768726348877" y="13.488590240478516" />


    <MPoint x="12.32768726348877" y="5.36226749420166" />


    <MPoint x="3.6485531330108643" y="5.36226749420166" />


  </MRectangle>


  <MRectangle id="o3" color="#000000">


    <MPoint x="-8.347447395324707" y="14.041401863098145" />


    <MPoint x="1.271465539932251" y="14.041401863098145" />


    <MPoint x="1.271465539932251" y="5.749235153198242" />


    <MPoint x="-8.347447395324707" y="5.749235153198242" />


  </MRectangle>


  <MEFlow id="o4" color="#000000" arcAngle="-150.0" headSkip="0.15"


          headLength="0.5" headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a7 m1.a9" />


    <MAtomSetPoint atomRefs="m1.a7 m1.a12" weights="0.25 0.75" />


  </MEFlow>


  <MEFlow id="o5" color="#000000" arcAngle="-182.17399554899995"


          headSkip="0.15" headLength="0.5" headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a10 m1.a15" />


    <MAtomSetPoint atomRefs="m1.a9 m1.a10" />


  </MEFlow>


  <MEFlow id="o6" color="#000000" arcAngle="-150.0" headSkip="0.15"


          headLength="0.5" headWidth="0.4" tailSkip="0.15">


    <MAtomSetPoint atomRefs="m1.a11 m1.a12" />


    <MAtomSetPoint atomRefs="m1.a11 m1.a15" weights="0.25 0.75" />


  </MEFlow>


  <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 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44


 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 a62 a63 a64 a65 a66 a67


 a68 a69 a70"


          elementType="C C C C C C C O C S C C O C Fr C C C C C C C O C S C C O C Fr C C C C


 C C Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr Fr


Fr Fr Fr Fr Fr"


          x2="-5.534374952316284 -6.868044293364543 -6.868044293364543 -5.534374952316284 -4


.200705611268026 -4.200705611268026 -2.736088388467161 -2.7360717554012925 -1.83092803247564


94 -0.29092803247564936 -0.6924127842494565 -2.2324053087353537 -3.0065570968986997 -4.54654


9621384598 0.4790719675243509 5.744732889153851 4.411063548105592 4.411063548105592 5.744732


889153851 7.0784022302021095 7.0784022302021095 8.543019453002973 8.543036086068842 9.448179


808994485 10.988179808994486 10.586695057220679 9.04670253273478 8.272550744571436 6.7325582


20085538 7.209340331174937 -5.320701409547949 -4.554860673225406 -5.329012461388759 5.958406


431922187 6.72424716824473 5.950095380081379 -5.534374952316284 -8.201713634412801 -8.201713


634412801 -5.534374952316284 -2.2601710790685483 0.0734279520730936 0.08173900391388567 -2.9


982460450579 -5.312390357707142 -3.97216906914269 5.744732889153851 3.077394207057333 3.0773


94207057334 5.744732889153851 10.581896669203148 10.591493445238209 12.126687581706571 7.519


680955962032 5.401284766251395 7.4983989564080815 -6.860693934033842 -6.086542145870492 -3.0


14868148739513 -3.7807088850620536 -6.660285915222899 -3.9977390075546184 -6.103164249552113


 4.418413907436294 5.192565695599644 8.264239692730623 7.490087904567273 4.618821926247238 7


.28136883391552 5.175943591918027"


          y2="9.865658466269753 9.095641525710713 7.555607644592632 6.785590704033591 7.5556


07644592632 9.095641525710713 9.571440974122957 7.079717148837824 8.325533782578852 8.325533


782578852 11.418536818456726 11.413738430439196 12.74501188427333 12.740213496255794 9.65921


2904406886 9.738271055559364 8.968254115000324 7.428220233882243 6.6582032933232025 7.428220


233882243 8.968254115000324 9.444053563412568 6.952329738127435 8.198146371868463 8.19814637


1868463 11.291149407746337 11.286351019728807 12.617624473562941 12.612826085545404 10.21405


356341257 14.071486950089938 15.407558791941621 16.73883224577576 13.944099539379547 15.2801


71381231229 16.61144483506537 11.405658466269752 9.865658466269753 6.785590704033591 5.24559


0704033591 11.036057891482164 12.754608660308403 10.08726336462258 10.077666588587515 11.404


141654404114 13.742267377644556 11.278271055559365 9.738271055559363 6.6582032933232025 5.11


82032933232025 12.83114193223223 9.751156883260444 11.295947795763867 11.086838854509567 11.


838674297382054 13.948897927397086 14.066688562072397 12.735415108238255 15.412357179959164


14.07628533810748 15.964680457612408 17.512984033939116 18.0701056996099 13.939301151362008


12.608027697527865 15.284969769248768 16.61624322308291 15.837293046902019 17.38559662322872


 17.942718288899513"


          />


      <bondArray>


        <bond atomRefs2="a1 a2" order="1" />


        <bond atomRefs2="a1 a6" order="2" />


        <bond atomRefs2="a2 a3" order="2" />


        <bond atomRefs2="a3 a4" order="1" />


        <bond atomRefs2="a4 a5" order="2">


          <bondStereo>T</bondStereo>


        </bond>


        <bond atomRefs2="a5 a8" order="1" />


        <bond atomRefs2="a6 a5" order="1" />


        <bond atomRefs2="a7 a6" order="1" />


        <bond atomRefs2="a7 a9" order="2" />


        <bond atomRefs2="a8 a9" order="1" />


        <bond atomRefs2="a9 a10" order="1" />


        <bond atomRefs2="a11 a12" order="2" />


        <bond atomRefs2="a12 a13" order="1" />


        <bond atomRefs2="a10 a15" order="1" />


        <bond atomRefs2="a16 a17" order="1" />


        <bond atomRefs2="a16 a21" order="2" />


        <bond atomRefs2="a17 a18" order="2">


          <bondStereo>C</bondStereo>


        </bond>


        <bond atomRefs2="a18 a19" order="1" />


        <bond atomRefs2="a19 a20" order="2">


          <bondStereo>T</bondStereo>


        </bond>


        <bond atomRefs2="a20 a23" order="1" />


        <bond atomRefs2="a21 a20" order="1" />


        <bond atomRefs2="a22 a21" order="1" />


        <bond atomRefs2="a22 a24" order="1" />


        <bond atomRefs2="a23 a24" order="1" />


        <bond atomRefs2="a24 a25" order="2" />


        <bond atomRefs2="a26 a27" order="1" />


        <bond atomRefs2="a27 a28" order="1" />


        <bond atomRefs2="a27 a22" order="1" />


        <bond atomRefs2="a22 a30" order="1" />


        <bond atomRefs2="a28 a29" order="1" />


        <bond atomRefs2="a13 a14" order="1" />


        <bond atomRefs2="a14 a31" order="1" />


        <bond atomRefs2="a31 a32" order="1" />


        <bond atomRefs2="a32 a33" order="1" />


        <bond atomRefs2="a29 a34" order="1" />


        <bond atomRefs2="a34 a35" order="1" />


        <bond atomRefs2="a35 a36" order="1" />


        <bond atomRefs2="a1 a37" order="1" />


        <bond atomRefs2="a2 a38" order="1" />


        <bond atomRefs2="a3 a39" order="1" />


        <bond atomRefs2="a4 a40" order="1" />


        <bond atomRefs2="a7 a41" order="1" />


        <bond atomRefs2="a11 a42" order="1" />


        <bond atomRefs2="a11 a43" order="1" />


        <bond atomRefs2="a12 a44" order="1" />


        <bond atomRefs2="a14 a45" order="1" />


        <bond atomRefs2="a14 a46" order="1" />


        <bond atomRefs2="a16 a47" order="1" />


        <bond atomRefs2="a17 a48" order="1" />


        <bond atomRefs2="a18 a49" order="1" />


        <bond atomRefs2="a19 a50" order="1" />


        <bond atomRefs2="a26 a51" order="1" />


        <bond atomRefs2="a26 a52" order="1" />


        <bond atomRefs2="a26 a53" order="1" />


        <bond atomRefs2="a27 a54" order="1" />


        <bond atomRefs2="a29 a55" order="1" />


        <bond atomRefs2="a29 a56" order="1" />


        <bond atomRefs2="a31 a57" order="1" />


        <bond atomRefs2="a31 a58" order="1" />


        <bond atomRefs2="a32 a59" order="1" />


        <bond atomRefs2="a32 a60" order="1" />


        <bond atomRefs2="a33 a61" order="1" />


        <bond atomRefs2="a33 a62" order="1" />


        <bond atomRefs2="a33 a63" order="1" />


        <bond atomRefs2="a34 a64" order="1" />


        <bond atomRefs2="a34 a65" order="1" />


        <bond atomRefs2="a35 a66" order="1" />


        <bond atomRefs2="a35 a67" order="1" />


        <bond atomRefs2="a36 a68" order="1" />


        <bond atomRefs2="a36 a69" order="1" />


        <bond atomRefs2="a36 a70" order="1" />


      </bondArray>


    </molecule>


  </MChemicalStruct>


</MDocument>






We search for the query in the target and get only these seven atom correspondences (based on 1):





{7,9,10,15,1,6}


{7,9,10,15,2,3}


{7,9,10,15,4,5}


{7,9,10,15,11,12}


{7,9,10,15,16,21}


{7,9,10,15,17,18}


{7,9,10,15,19,20}





But shouldn't there be another 7 correspondences, in which the last two indices are switched? Atoms 5 and 6 of the query are identical except for their electron-flow arrows, which are ignored in the search -- aren't they?





We are using findFirst() and then (repeatedly) findNext() to find the correspondences.

User 870ab5b546

07-01-2007 22:38:44

Never mind... I see that there is a flag whose default value is false. To see all permutations of found matches, use:





setOrderSensitiveSearch(true);