/** {@inheritDoc} */ @Override public BitSet getFingerprint(IAtomContainer mol) throws CDKException { return getBitFingerprint(mol).asBitSet(); } }
public BitSet[] computeFingerprints(IAtomContainer mol) throws CDKException { final BitSet[] fingerprints = new BitSet[fingerprinters.size()]; int k=0; for (IFingerprinter fp : fingerprinters) { fingerprints[k] = fp.getBitFingerprint(mol).asBitSet(); assert (fingerprints[k].size() >= fp.getSize() && fingerprints[k].length() <= fp.getSize()); ++k; } return fingerprints; }
@Test public void testGetBitFingerprint() throws Exception { assert (trivialMol != null); CircularFingerprinter circ = new CircularFingerprinter(); IBitFingerprint result = circ.getBitFingerprint(trivialMol); BitSet wantBits = new BitSet(), gotBits = result.asBitSet(); final int[] REQUIRE_BITS = {19, 152, 293, 340, 439, 480, 507, 726, 762, 947, 993}; for (int b : REQUIRE_BITS) wantBits.set(b); if (!wantBits.equals(gotBits)) throw new CDKException("Got " + gotBits + ", wanted " + wantBits); }
@Test public void testTanimoto1() throws java.lang.Exception { IAtomContainer mol1 = TestMoleculeFactory.makeIndole(); IAtomContainer mol2 = TestMoleculeFactory.makePyrrole(); Fingerprinter fingerprinter = new Fingerprinter(1024, 8); BitSet bs1 = fingerprinter.getBitFingerprint(mol1).asBitSet(); BitSet bs2 = fingerprinter.getBitFingerprint(mol2).asBitSet(); float tanimoto = Tanimoto.calculate(bs1, bs2); if (standAlone) System.out.println("Tanimoto: " + tanimoto); if (!standAlone) Assert.assertEquals(0.3939, tanimoto, 0.01); }
@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 testFingerprinterBitSetSize() throws Exception { Fingerprinter fingerprinter = new Fingerprinter(1024, 7); Assert.assertNotNull(fingerprinter); IAtomContainer mol = TestMoleculeFactory.makeIndole(); BitSet bs = fingerprinter.getBitFingerprint(mol).asBitSet(); Assert.assertEquals(994, bs.length()); // highest set bit Assert.assertEquals(1024, bs.size()); // actual bit set size }
@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)); }
@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)); }
@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() 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 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 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() 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 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 testGenerateFingerprintMultiphtalene() throws InvalidSmilesException, Exception { String smiles = "C1=CC2=CC=C3C4=CC5=CC6=CC=CC=C6C=C5C=C4C=CC3=C2C=C1"; SmilesParser smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer molecule = smilesParser.parseSmiles(smiles); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule); ShortestPathFingerprinter fingerprint = new ShortestPathFingerprinter(1024); BitSet fingerprint1; fingerprint1 = fingerprint.getBitFingerprint(molecule).asBitSet(); org.junit.Assert.assertEquals(15, fingerprint1.cardinality()); }
@Test public void testGenerateFingerprintAnthracene() throws InvalidSmilesException, Exception { String smiles = "C1=CC2=CC3=CC=CC=C3C=C2C=C1"; SmilesParser smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer molecule = smilesParser.parseSmiles(smiles); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule); Aromaticity.cdkLegacy().apply(molecule); ShortestPathFingerprinter fingerprint = new ShortestPathFingerprinter(1024); BitSet fingerprint1; fingerprint1 = fingerprint.getBitFingerprint(molecule).asBitSet(); org.junit.Assert.assertEquals(10, fingerprint1.cardinality()); }
@Test public void testGenerateFingerprintNaphthalene() throws InvalidSmilesException, Exception { String smiles = "C1=CC2=CC=CC=C2C=C1"; SmilesParser smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer molecule = smilesParser.parseSmiles(smiles); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule); Aromaticity.cdkLegacy().apply(molecule); ShortestPathFingerprinter fingerprint = new ShortestPathFingerprinter(1024); BitSet fingerprint1; fingerprint1 = fingerprint.getBitFingerprint(molecule).asBitSet(); org.junit.Assert.assertEquals(8, fingerprint1.cardinality()); }
@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())); }