SignatureFingerprinter extends AbstractFingerprinter implements IFingerprinter { @Override public Map<String, Integer> getRawFingerprint(IAtomContainer atomContainer) throws CDKException { Map<String, Integer> map = new HashMap<String, Integer>(); for (IAtom atom : atomContainer.atoms()) { String signature = new AtomSignature(atom, signatureDepth, atomContainer).toCanonicalString(); if (map.containsKey(signature)) { map.put(signature, map.get(signature) + 1); } else { map.put(signature, 1); } } return map; } SignatureFingerprinter();  SignatureFingerprinter(int depth); @Override IBitFingerprint getBitFingerprint(IAtomContainer atomContainer); @Override Map<String, Integer> getRawFingerprint(IAtomContainer atomContainer); @Override int getSize(); @Override ICountFingerprint getCountFingerprint(IAtomContainer container);  }
@Test @Override public void testGetRawFingerprint() throws Exception { SignatureFingerprinter fingerprinter = new SignatureFingerprinter(0); SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer mol = sp.parseSmiles("O(NC)CC"); Map<String, Integer> map = fingerprinter.getRawFingerprint(mol); Assert.assertEquals(3, map.size()); String[] expectedPrints = {"[O]", "[C]", "[N]"}; for (String print : expectedPrints) { Assert.assertTrue(map.containsKey(print)); } }