Hi Egon,
thank for looking into it.
The example with 1FH concern the aromaticity test and I'm going to 
investigate it further.

Consider different fingerprints for isomorphic structures:
The structure is BF5:

http://www.ebi.ac.uk/pdbe-site/pdbemotif/chem/detail.jsp?code=BF5

The code below has two different MDL files representing the same structure.
I tested these structures whether they are isomorphic using the 
following code and generate the same fingerprints.
The result is that they are isomorphic but generate different fingerprints.
The only difference between them is the order of bonds.

the code:
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Comparator;
import java.util.logging.Logger;

import org.junit.Test;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.fingerprint.Fingerprinter;
import org.openscience.cdk.isomorphism.UniversalIsomorphismTester;

public class FingerprintsTest {
    static final Logger log = Logger.getAnonymousLogger();
String BF5_MDL2 =
    "BF5\n" +
    "  -ISIS-            3D\n" +
    "\n" +
    " 26 29  0  0  0  0  0  0  0  0  1 V2000\n" +
    "    1.3870   -0.9840   -0.0020 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.4580    3.3830   -1.1290 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.0220    0.3780    0.1280 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    0.3730   -2.0890   -0.0500 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -0.2940    0.7270    0.2360 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.6240    2.7830    0.2690 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    0.2990    2.8850    1.0310 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.4950   -1.7360   -0.3370 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.9860    0.2980    0.0110 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.0790   -2.6160   -0.2080 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -0.6550    2.0360    0.3820 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -1.0310   -1.5910    0.0620 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -1.3360   -0.2980    0.1960 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -3.2600    1.0700   -0.6250 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.1450   -0.5810   -0.1270 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -2.6810    0.0840    0.3000 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.3150    1.0580    0.0750 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.7210   -0.2520   -0.0410 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -5.4360    0.0600   -0.1210 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    2.7060   -1.3170   -0.0860 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    2.0030    1.3690    0.1540 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -3.5490   -0.4860    1.3420 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -4.8260   -1.0120    0.6780 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -6.7360   -0.3450   -0.6290 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -4.5480    0.4860   -1.2160 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -2.0390   -2.4900    0.0320 F   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    " 12 13  2  0  0  0  0\n" +
    "  5  3  2  0  0  0  0\n" +
    "  1 20  2  0  0  0  0\n" +
    " 17 18  2  0  0  0  0\n" +
    " 15  9  2  0  0  0  0\n" +
    " 12  4  1  0  0  0  0\n" +
    " 13  5  1  0  0  0  0\n" +
    "  4  1  1  0  0  0  0\n" +
    "  7  6  1  0  0  0  0\n" +
    "  6  2  1  0  0  0  0\n" +
    "  1  3  1  0  0  0  0\n" +
    " 18 20  1  0  0  0  0\n" +
    " 18 15  1  0  0  0  0\n" +
    " 22 23  1  0  0  0  0\n" +
    " 25 14  1  0  0  0  0\n" +
    " 12 26  1  0  0  0  0\n" +
    " 13 16  1  0  0  0  0\n" +
    " 22 16  1  0  0  0  0\n" +
    " 14 16  1  0  0  0  0\n" +
    "  6 21  1  0  0  0  0\n" +
    "  3 21  1  0  0  0  0\n" +
    " 17 21  1  0  0  0  0\n" +
    " 23 19  1  0  0  0  0\n" +
    " 25 19  1  0  0  0  0\n" +
    "  5 11  1  0  0  0  0\n" +
    "  7 11  1  0  0  0  0\n" +
    " 20 10  1  0  0  0  0\n" +
    " 15  8  1  0  0  0  0\n" +
    " 19 24  1  0  0  0  0\n" +
    "M  CHG  1   8  -1\n" +
    "\n" +
    "M  END\n";   


String BF5_MDL3 =
    "BF5\n" +
    "  -ISIS-            3D\n" +
    "\n" +
    " 26 29  0  0  0  0  0  0  0  0  1 V2000\n" +
    "    1.3870   -0.9840   -0.0020 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.4580    3.3830   -1.1290 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.0220    0.3780    0.1280 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    0.3730   -2.0890   -0.0500 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -0.2940    0.7270    0.2360 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    1.6240    2.7830    0.2690 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    0.2990    2.8850    1.0310 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.4950   -1.7360   -0.3370 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.9860    0.2980    0.0110 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.0790   -2.6160   -0.2080 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -0.6550    2.0360    0.3820 O   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -1.0310   -1.5910    0.0620 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -1.3360   -0.2980    0.1960 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -3.2600    1.0700   -0.6250 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    5.1450   -0.5810   -0.1270 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -2.6810    0.0840    0.3000 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.3150    1.0580    0.0750 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    3.7210   -0.2520   -0.0410 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -5.4360    0.0600   -0.1210 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    2.7060   -1.3170   -0.0860 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "    2.0030    1.3690    0.1540 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -3.5490   -0.4860    1.3420 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -4.8260   -1.0120    0.6780 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -6.7360   -0.3450   -0.6290 N   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -4.5480    0.4860   -1.2160 C   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    "   -2.0390   -2.4900    0.0320 F   0  0  0  0  0  0  0  0  0  0  0  
0\n" +
    " 12 26  1  0  0  0  0\n" +
    " 12 13  2  0  0  0  0\n" +
    " 12  4  1  0  0  0  0\n" +
    " 13 16  1  0  0  0  0\n" +
    " 22 16  1  0  0  0  0\n" +
    " 14 16  1  0  0  0  0\n" +
    "  5 11  1  0  0  0  0\n" +
    "  7 11  1  0  0  0  0\n" +
    " 13  5  1  0  0  0  0\n" +
    "  6 21  1  0  0  0  0\n" +
    "  3 21  1  0  0  0  0\n" +
    " 17 21  1  0  0  0  0\n" +
    " 20 10  1  0  0  0  0\n" +
    "  5  3  2  0  0  0  0\n" +
    " 19 24  1  0  0  0  0\n" +
    " 23 19  1  0  0  0  0\n" +
    " 25 19  1  0  0  0  0\n" +
    " 15  9  2  0  0  0  0\n" +
    "  4  1  1  0  0  0  0\n" +
    " 15  8  1  0  0  0  0\n" +
    "  7  6  1  0  0  0  0\n" +
    "  6  2  1  0  0  0  0\n" +
    "  1  3  1  0  0  0  0\n" +
    "  1 20  2  0  0  0  0\n" +
    " 17 18  2  0  0  0  0\n" +
    " 18 20  1  0  0  0  0\n" +
    " 18 15  1  0  0  0  0\n" +
    " 22 23  1  0  0  0  0\n" +
    " 25 14  1  0  0  0  0\n" +
    "M  CHG  1   8  -1\n" +
    "\n" +
    "M  END\n";

@Test public void cdktestBF5() throws IOException, CDKException {
    StringReader mdl1 = new StringReader(BF5_MDL3);
    org.openscience.cdk.io.MDLReader mdl1Reader = new 
org.openscience.cdk.io.MDLReader(mdl1);
    StringReader mdl2 = new StringReader(BF5_MDL2);
    org.openscience.cdk.io.MDLReader mdl2Reader = new 
org.openscience.cdk.io.MDLReader(mdl2);
    org.openscience.cdk.Molecule molMdl1 = new 
org.openscience.cdk.Molecule();
    mdl1Reader.read(molMdl1);
    org.openscience.cdk.Molecule molMdl2 = new 
org.openscience.cdk.Molecule();
    mdl2Reader.read(molMdl2);
    assertTrue(UniversalIsomorphismTester.isIsomorph(molMdl1, molMdl2));
   
    Fingerprinter finger = new Fingerprinter();
    BitSet fingerprint1 = finger.getFingerprint(molMdl1);
    finger = new Fingerprinter();
    BitSet fingerprint2 = finger.getFingerprint(molMdl2);
   
    assertEquals(fingerprint1, fingerprint2);
}   
}

Regards,
Adel.

Egon Willighagen wrote:
> On Thu, Sep 30, 2010 at 5:08 PM, Adel Golovin <[email protected]> wrote:
>   
>> cdk-1.3.4
>>     
>
> Good. On the bus home I wrote four new unit tests for the
> fingerprinter, and using the AtomContainerAtomPermutor and
> AtomContainerBondPermutor on two molecules, and that showed no
> problems. If you send me your file I can use that for a test too
> (which I would upload to the repository, if you are OK with that...)
>
> Egon
>
>   


------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security 
easier or more difficult to achieve? Read this whitepaper to separate the 
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to