/** * Convert a mapping of features and their counts to a 1024-bit binary fingerprint. A single * bit is set for each pattern. * * @param features features to include * @return the continuous fingerprint * @see #makeBitFingerprint(java.util.Map, int, int) */ public static IBitFingerprint makeBitFingerprint(final Map<String,Integer> features) { return makeBitFingerprint(features, 1024, 1); }
/** * Convert a mapping of features and their counts to a binary fingerprint. A single bit is * set for each pattern. * * @param features features to include * @param len fingerprint length * @return the continuous fingerprint * @see #makeBitFingerprint(java.util.Map, int, int) */ public static IBitFingerprint makeBitFingerprint(final Map<String,Integer> features, int len) { return makeBitFingerprint(features, len, 1); }
@Override public IBitFingerprint getBitFingerprint(IAtomContainer iAtomContainer) throws CDKException { return FingerprinterTool.makeBitFingerprint(getRawFingerprint(iAtomContainer)); }
@Test public void makeBitFingerprint() { Map<String,Integer> features = new HashMap<String,Integer>(); features.put("CCO", 1); features.put("CC", 1); features.put("C", 1); IBitFingerprint fp = FingerprinterTool.makeBitFingerprint(features, 1024, 1); assertThat(fp.cardinality(), is(3)); assertTrue(fp.get("CCO".hashCode() % 1024)); assertTrue(fp.get("CC".hashCode() % 1024)); assertTrue(fp.get("C".hashCode() % 1024)); }