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

