@Test public void testfp2() throws Exception { SmilesParser parser = new SmilesParser(NoNotificationChemObjectBuilder.getInstance()); IFingerprinter printer = new MACCSFingerprinter(); IMolecule mol1 = parser.parseSmiles("CC(N)CCCN"); IMolecule mol2 = parser.parseSmiles("CC(N)CCC"); IMolecule mol3 = parser.parseSmiles("CCCC"); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol1); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol2); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol3); CDKHueckelAromaticityDetector.detectAromaticity(mol1); CDKHueckelAromaticityDetector.detectAromaticity(mol2); CDKHueckelAromaticityDetector.detectAromaticity(mol3); BitSet bs1 = printer.getFingerprint(mol1); BitSet bs2 = printer.getFingerprint(mol2); BitSet bs3 = printer.getFingerprint(mol3); 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)); }
/** * @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(FingerprinterTool.isSubset(b2, b1)); Assert.assertFalse( "butane should not be a substructure of propylamine", FingerprinterTool.isSubset(b2, b1)); }
@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 of ShortestPathFingerprinter method * * @throws InvalidSmilesException * @throws CDKException */ @Test public void testGenerateFingerprintIsSubset() throws InvalidSmilesException, CDKException { String smilesT = "NC(=O)C1=C2C=CC(Br)=CC2=C(Cl)C=C1"; String smilesQ = "CC1=C2C=CC(Br)=CC2=C(Cl)C=C1"; SmilesParser smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer moleculeQ = smilesParser.parseSmiles(smilesQ); IAtomContainer moleculeT = smilesParser.parseSmiles(smilesT); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(moleculeQ); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(moleculeT); ShortestPathFingerprinter fingerprint = new ShortestPathFingerprinter(1024); BitSet fingerprintQ; BitSet fingerprintT; fingerprintQ = fingerprint.getBitFingerprint(moleculeQ).asBitSet(); fingerprintT = fingerprint.getBitFingerprint(moleculeT).asBitSet(); org.junit.Assert.assertTrue(FingerprinterTool.isSubset(fingerprintT, fingerprintQ)); }
/** * Test of ShortestPathFingerprinter method * * @throws InvalidSmilesException * @throws CDKException * @throws FileNotFoundException */ @Test public void testGenerateFingerprintIsNotASubset1() throws InvalidSmilesException, CDKException, FileNotFoundException, FileNotFoundException { String smilesT = "O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O)[C@@H]1O"; String smilesQ = "OC[C@@H](O)[C@@H](O)[C@H](O)[C@@H](O)C(O)=O"; SmilesParser smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance()); smilesParser.kekulise(false); IAtomContainer moleculeQ = smilesParser.parseSmiles(smilesQ); IAtomContainer moleculeT = smilesParser.parseSmiles(smilesT); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(moleculeQ); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(moleculeT); ShortestPathFingerprinter fingerprint = new ShortestPathFingerprinter(1024); BitSet fingerprintQ; BitSet fingerprintT; fingerprintQ = fingerprint.getBitFingerprint(moleculeQ).asBitSet(); fingerprintT = fingerprint.getBitFingerprint(moleculeT).asBitSet(); org.junit.Assert.assertFalse(FingerprinterTool.isSubset(fingerprintT, fingerprintQ)); }