/** {@inheritDoc} */ @Override public BitSet getFingerprint(IAtomContainer mol) throws CDKException { return getBitFingerprint(mol).asBitSet(); } }
private synchronized int[] getCircularFP(IAtomContainer mol) throws CDKException { CircularFingerprinter circularFingerprinter = new CircularFingerprinter(6, 1024); circularFingerprinter.setPerceiveStereo(true); IBitFingerprint bitFingerprint = circularFingerprinter.getBitFingerprint(mol); return bitFingerprint.getSetbits(); }
@Override public ICountFingerprint getCountFingerprint(IAtomContainer container) throws CDKException { return FingerprinterTool.makeCountFingerprint(getRawFingerprint(container)); }
@Override public IBitFingerprint getBitFingerprint(IAtomContainer iAtomContainer) throws CDKException { return FingerprinterTool.makeBitFingerprint(getRawFingerprint(iAtomContainer)); }
@Override public ICountFingerprint getCountFingerprint(IAtomContainer container) throws CDKException { return new IntArrayCountFingerprint(getRawFingerprint(container)); }
/** * Generates a fingerprint of the default size for the given AtomContainer. * *@param container The AtomContainer for which a Fingerprint is generated */ @Override public IBitFingerprint getBitFingerprint(IAtomContainer container) throws CDKException { return getBitFingerprint(container, null); }
@Override public IBitFingerprint getBitFingerprint(IAtomContainer atomContainer) throws CDKException { return new IntArrayFingerprint(getRawFingerprint(atomContainer)); }
/** * Constructs a fingerprint generator that creates fingerprints of * the given size, using a generation algorithm with the given search * depth. * * @param size The desired size of the fingerprint * @param searchDepth The desired depth of search */ public ExtendedFingerprinter(int size, int searchDepth) { this.fingerprinter = new Fingerprinter(size - RESERVED_BITS, searchDepth); }
public int numberOfFingerprints() { int s=0; for (IFingerprinter f : fingerprinters) s += f.getSize(); return s; }
/** * Wrap a mapping of features and their counts to a continuous (count based) fingerprint. * * @param features features to include * @return the continuous fingerprint */ public static ICountFingerprint makeCountFingerprint(final Map<String,Integer> features) { return new IntArrayCountFingerprint(features); }
protected void encodePaths(IAtomContainer mol, int depth, BitSet fp, int size) throws CDKException { State state = new State(mol, fp, size, depth+1); for (IAtom atom : mol.atoms()) { state.numPaths = 0; state.visit(atom); traversePaths(state, atom, null); state.unvisit(atom); } }
/** * 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); }
/** {@inheritDoc} */ @Override public int getSize() { return fingerprinter.getSize() + RESERVED_BITS; }
/** * The functional groups. * * @return A set of the functional groups. * @throws Exception if there is an error parsing SMILES for the functional groups */ public static String[] getFunctionalGroupSMARTS() throws Exception { return readSMARTSPattern("org/openscience/cdk/fingerprint/data/SMARTS_InteLigand.txt"); }
private String encode() { byte[] pack = new byte[4 + m_bits.length]; pack[0] = (byte) ((FP_SIZE & 0xffffffff) >> 24); pack[1] = (byte) ((FP_SIZE & 0x00ffffff) >> 16); pack[2] = (byte) ((FP_SIZE & 0x0000ffff) >> 8); pack[3] = (byte) (FP_SIZE & 0x000000ff); for (int i = 0; i < m_bits.length; ++i) { pack[i + 4] = m_bits[i]; } return base64Encode(pack); }
private static int visitPart(boolean[] visit, int[][] g, int beg, int prev) { visit[beg] = true; int visited = 1; for (int end : g[beg]) { if (end != prev && !visit[end]) visited += visitPart(visit, g, end, beg); } return visited; }
/** * Set up the fingerprinter to use a user-defined set of fragments. * * @param smarts The collection of fragments to look for */ public SubstructureFingerprinter(String[] smarts) { setSmarts(smarts); }
private void generateFp(IAtomContainer mol) throws CDKException { for (int i = 0; i < m_bits.length; ++i) { m_bits[i] = 0; } _generateFp(m_bits, mol); }
private synchronized int[] getCircularFP(IAtomContainer mol) throws CDKException { CircularFingerprinter circularFingerprinter = new CircularFingerprinter(6, 1024); circularFingerprinter.setPerceiveStereo(true); IBitFingerprint bitFingerprint = circularFingerprinter.getBitFingerprint(mol); return bitFingerprint.getSetbits(); }
/** * 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); }