@Test public void pseudoAtomFingerprint() throws CDKException { final SmilesParser smipar = new SmilesParser(SilentChemObjectBuilder.getInstance()); final String query = "*1CCCC1"; final String indole = "N1CCCC1"; IAtomContainer queryMol = smipar.parseSmiles(query); IAtomContainer indoleMol = smipar.parseSmiles(indole); Fingerprinter fpr = new Fingerprinter(); BitSet fp1 = fpr.getFingerprint(queryMol); BitSet fp2 = fpr.getFingerprint(indoleMol); assertTrue(FingerprinterTool.isSubset(fp2, fp1)); assertFalse(FingerprinterTool.isSubset(fp1, fp2)); fpr.setHashPseudoAtoms(true); BitSet fp3 = fpr.getFingerprint(queryMol); BitSet fp4 = fpr.getFingerprint(indoleMol); assertFalse(FingerprinterTool.isSubset(fp4, fp3)); assertFalse(FingerprinterTool.isSubset(fp3, fp4)); }
@Test public void pseudoAtomFingerprintArom() throws CDKException { final SmilesParser smipar = new SmilesParser(SilentChemObjectBuilder.getInstance()); final String query = "*1cccc1"; final String indole = "o1cccc1"; IAtomContainer queryMol = smipar.parseSmiles(query); IAtomContainer indoleMol = smipar.parseSmiles(indole); Fingerprinter fpr = new Fingerprinter(); BitSet fp1 = fpr.getFingerprint(queryMol); BitSet fp2 = fpr.getFingerprint(indoleMol); assertTrue(FingerprinterTool.isSubset(fp2, fp1)); assertFalse(FingerprinterTool.isSubset(fp1, fp2)); fpr.setHashPseudoAtoms(true); BitSet fp3 = fpr.getFingerprint(queryMol); BitSet fp4 = fpr.getFingerprint(indoleMol); assertFalse(FingerprinterTool.isSubset(fp4, fp3)); assertFalse(FingerprinterTool.isSubset(fp3, fp4)); }
@Test public void testgetBitFingerprint_IAtomContainer() throws java.lang.Exception { IFingerprinter fingerprinter = new ExtendedFingerprinter(); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); Assert.assertFalse(FingerprinterTool.isSubset(bs1, bs)); }
@Test public void testExtendedFingerprinter_int_int() throws java.lang.Exception { IFingerprinter fingerprinter = new ExtendedFingerprinter(512, 7); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); Assert.assertFalse(FingerprinterTool.isSubset(bs1, bs)); }
@Test public void testExtendedFingerprinter_int() throws java.lang.Exception { IFingerprinter fingerprinter = new ExtendedFingerprinter(512); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); Assert.assertFalse(FingerprinterTool.isSubset(bs1, bs)); }
@Test public void testgetBitFingerprint_IAtomContainer_IRingSet_List() throws java.lang.Exception { ExtendedFingerprinter fingerprinter = new ExtendedFingerprinter(); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); IRingSet rs = Cycles.sssr(mol).toRingSet(); List<IRingSet> rslist = RingPartitioner.partitionRings(rs); BitSet bs = fingerprinter.getBitFingerprint(mol, rs, rslist).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); Assert.assertFalse(FingerprinterTool.isSubset(bs1, bs)); }
@Test public void testIsSubset_BitSet_BitSet() throws java.lang.Exception { Fingerprinter fingerprinter = new Fingerprinter(); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
@Test public void testFingerprinter_int_int() throws java.lang.Exception { Fingerprinter fingerprinter = new Fingerprinter(1024, 7); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
@Test public void testFingerprinter_int() throws java.lang.Exception { Fingerprinter fingerprinter = new Fingerprinter(512); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
/** * @cdk.bug 2819557 * @throws org.openscience.cdk.exception.CDKException */ @Test public void testBug2819557() throws CDKException { IAtomContainer butane = makeButane(); IAtomContainer propylAmine = makePropylAmine(); Fingerprinter fp = new Fingerprinter(); BitSet b1 = fp.getBitFingerprint(butane).asBitSet(); BitSet b2 = fp.getBitFingerprint(propylAmine).asBitSet(); Assert.assertFalse("butane should not be a substructure of propylamine", FingerprinterTool.isSubset(b2, b1)); }
@Test public void testFingerprinter() throws java.lang.Exception { Fingerprinter fingerprinter = new Fingerprinter(); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
/** * @cdk.bug 2819557 * * @throws org.openscience.cdk.exception.CDKException */ @Test public void testBug2819557() throws CDKException { IAtomContainer butane = makeButane(); IAtomContainer propylAmine = makePropylAmine(); ShortestPathFingerprinter fp = new ShortestPathFingerprinter(); BitSet b1 = fp.getBitFingerprint(butane).asBitSet(); BitSet b2 = fp.getBitFingerprint(propylAmine).asBitSet(); Assert.assertFalse("butane should not be a substructure of propylamine", FingerprinterTool.isSubset(b2, b1)); }
@Test public void testfp2() throws Exception { SmilesParser parser = new SmilesParser(SilentChemObjectBuilder.getInstance()); IFingerprinter printer = new MACCSFingerprinter(); IAtomContainer mol1 = parser.parseSmiles("CC(N)CCCN"); IAtomContainer mol2 = parser.parseSmiles("CC(N)CCC"); IAtomContainer mol3 = parser.parseSmiles("CCCC"); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol1); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol2); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol3); Aromaticity.cdkLegacy().apply(mol1); Aromaticity.cdkLegacy().apply(mol2); Aromaticity.cdkLegacy().apply(mol3); BitSet bs1 = printer.getBitFingerprint(mol1).asBitSet(); BitSet bs2 = printer.getBitFingerprint(mol2).asBitSet(); BitSet bs3 = printer.getBitFingerprint(mol3).asBitSet(); Assert.assertFalse(bs1.get(124)); Assert.assertFalse(bs2.get(124)); Assert.assertFalse(bs3.get(124)); Assert.assertFalse(FingerprinterTool.isSubset(bs1, bs2)); Assert.assertTrue(FingerprinterTool.isSubset(bs2, bs3)); }
@Test public void testFingerprinter() throws java.lang.Exception { ShortestPathFingerprinter fingerprinter = new ShortestPathFingerprinter(); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(frag1); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
@Test public void testFingerprinter_int() throws java.lang.Exception { ShortestPathFingerprinter fingerprinter = new ShortestPathFingerprinter(512); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(frag1); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
@Test public void testFingerprinter_int_int() throws java.lang.Exception { ShortestPathFingerprinter fingerprinter = new ShortestPathFingerprinter(1024); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); IAtomContainer frag1 = TestMoleculeFactory.makePyrrole(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(frag1); BitSet bs1 = fingerprinter.getBitFingerprint(frag1).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs, bs1)); }
@Test public void testFingerprint() throws Exception { SmilesParser parser = new SmilesParser(SilentChemObjectBuilder.getInstance()); IFingerprinter printer = getBitFingerprinter(); BitSet bs1 = printer.getBitFingerprint(parser.parseSmiles("C=C-C#N")).asBitSet(); BitSet bs2 = printer.getBitFingerprint(parser.parseSmiles("C=CCC(O)CC#N")).asBitSet(); Assert.assertEquals(4860, printer.getSize()); Assert.assertTrue(FingerprinterTool.isSubset(bs2, bs1)); } }
@Test public void testfp2() throws Exception { IFingerprinter printer = new PubchemFingerprinter(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol1 = parser.parseSmiles("CC(N)CCCN"); IAtomContainer mol2 = parser.parseSmiles("CC(N)CCC"); IAtomContainer mol3 = parser.parseSmiles("CCCC"); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol1); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol2); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol3); Aromaticity.cdkLegacy().apply(mol1); Aromaticity.cdkLegacy().apply(mol2); Aromaticity.cdkLegacy().apply(mol3); BitSet bs1 = printer.getBitFingerprint(mol1).asBitSet(); BitSet bs2 = printer.getBitFingerprint(mol2).asBitSet(); BitSet bs3 = printer.getBitFingerprint(mol3).asBitSet(); Assert.assertTrue(FingerprinterTool.isSubset(bs1, bs2)); Assert.assertTrue(FingerprinterTool.isSubset(bs2, bs3)); }
@Test public void testFingerprint() throws Exception { SmilesParser parser = new SmilesParser(SilentChemObjectBuilder.getInstance()); IFingerprinter printer = new EStateFingerprinter(); IBitFingerprint bs1 = printer.getBitFingerprint(parser.parseSmiles("C=C-C#N")); IBitFingerprint bs2 = printer.getBitFingerprint(parser.parseSmiles("C=CCC(O)CC#N")); Assert.assertEquals(79, printer.getSize()); Assert.assertTrue(bs1.get(7)); Assert.assertTrue(bs1.get(10)); Assert.assertTrue(FingerprinterTool.isSubset(bs2.asBitSet(), bs1.asBitSet())); }
@Test public void testFingerprint() throws Exception { IFingerprinter printer = new PubchemFingerprinter(DefaultChemObjectBuilder.getInstance()); CDKHydrogenAdder adder = CDKHydrogenAdder.getInstance(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol1 = parser.parseSmiles("c1ccccc1CCc1ccccc1"); IAtomContainer mol2 = parser.parseSmiles("c1ccccc1CC"); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol1); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol2); adder.addImplicitHydrogens(mol1); adder.addImplicitHydrogens(mol2); AtomContainerManipulator.convertImplicitToExplicitHydrogens(mol1); AtomContainerManipulator.convertImplicitToExplicitHydrogens(mol2); Aromaticity.cdkLegacy().apply(mol1); Aromaticity.cdkLegacy().apply(mol2); BitSet bs1 = printer.getBitFingerprint(mol1).asBitSet(); BitSet bs2 = printer.getBitFingerprint(mol2).asBitSet(); Assert.assertEquals(881, printer.getSize()); Assert.assertFalse("c1ccccc1CC was detected as a subset of c1ccccc1CCc1ccccc1", FingerprinterTool.isSubset(bs1, bs2)); }