Search in sources :

Example 1 with Fingerprinter

use of org.openscience.cdk.fingerprint.Fingerprinter in project ambit-mirror by ideaconsult.

the class SimilarityDepict method getBitSet.

protected BitSet[] getBitSet(String[] smiles) {
    int n = smiles.length > max ? max : smiles.length;
    BitSet[] bitset = new BitSet[n];
    for (int i = 0; i < n; i++) try {
        IAtomContainer molecule = getMolecule(smiles[i]);
        AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(molecule);
        CDKHueckelAromaticityDetector.detectAromaticity(molecule);
        molecule = AtomContainerManipulator.removeHydrogensPreserveMultiplyBonded(molecule);
        if (fingerprinter == null)
            fingerprinter = new Fingerprinter();
        bitset[i] = fingerprinter.getBitFingerprint(molecule).asBitSet();
    } catch (Exception x) {
        bitset[i] = null;
    }
    return bitset;
}
Also used : IAtomContainer(org.openscience.cdk.interfaces.IAtomContainer) Fingerprinter(org.openscience.cdk.fingerprint.Fingerprinter) BitSet(java.util.BitSet) CDKException(org.openscience.cdk.exception.CDKException) IOException(java.io.IOException) InvalidSmilesException(org.openscience.cdk.exception.InvalidSmilesException) ResourceException(org.restlet.resource.ResourceException)

Example 2 with Fingerprinter

use of org.openscience.cdk.fingerprint.Fingerprinter in project ambit-mirror by ideaconsult.

the class CallableFingerprintsModelCreator method createProcessors.

protected ProcessorsChain<IStructureRecord, IBatchStatistics, IProcessor> createProcessors() throws Exception {
    ProcessorsChain<IStructureRecord, IBatchStatistics, IProcessor> p1 = new ProcessorsChain<IStructureRecord, IBatchStatistics, IProcessor>();
    p1.add(new ProcessorStructureRetrieval());
    p1.add(new MoleculeReader());
    p1.add(new FingerprintGenerator(new Fingerprinter()));
    p1.add(new DefaultAmbitProcessor<BitSet, BitSet>() {

        /**
         */
        private static final long serialVersionUID = -2978697147490545478L;

        public BitSet process(BitSet target) throws AmbitException {
            builder.getTrainingData().add(target);
            return target;
        }
    });
    p1.setAbortOnError(true);
    return p1;
}
Also used : IBatchStatistics(net.idea.modbcum.i.batch.IBatchStatistics) BitSet(java.util.BitSet) IProcessor(net.idea.modbcum.i.processors.IProcessor) FingerprintGenerator(ambit2.core.processors.structure.FingerprintGenerator) IStructureRecord(ambit2.base.interfaces.IStructureRecord) MoleculeReader(ambit2.core.processors.structure.MoleculeReader) Fingerprinter(org.openscience.cdk.fingerprint.Fingerprinter) ProcessorsChain(net.idea.modbcum.i.processors.ProcessorsChain) ProcessorStructureRetrieval(ambit2.db.processors.ProcessorStructureRetrieval) AmbitException(net.idea.modbcum.i.exceptions.AmbitException)

Example 3 with Fingerprinter

use of org.openscience.cdk.fingerprint.Fingerprinter in project ambit-mirror by ideaconsult.

the class MoleculeTools method getFingerPrint.

public static BitSet getFingerPrint(String smiles, int fpLength) throws Exception {
    SmilesParserWrapper sp = SmilesParserWrapper.getInstance();
    IAtomContainer mol = sp.parseSmiles(smiles);
    if (fingerprinter == null)
        fingerprinter = new Fingerprinter(fpLength);
    return fingerprinter.getBitFingerprint(mol).asBitSet();
}
Also used : IAtomContainer(org.openscience.cdk.interfaces.IAtomContainer) Fingerprinter(org.openscience.cdk.fingerprint.Fingerprinter) SmilesParserWrapper(ambit2.core.smiles.SmilesParserWrapper)

Example 4 with Fingerprinter

use of org.openscience.cdk.fingerprint.Fingerprinter in project ambit-mirror by ideaconsult.

the class FingerPrintGeneratorTest method test.

@Test
public void test() throws Exception {
    BigInteger[] expected = /*{
				new BigInteger("1126174803623952"), 
				new BigInteger("1152961362175993860"), 
				new BigInteger("2305843011903291728"),
				new BigInteger("25769820160"), 
				new BigInteger("1099511627776"),
				new BigInteger("33554496"), 
				new BigInteger("8864814662912"),
				new BigInteger("4803285265416200"), 
				new BigInteger("9223372050830336000"),
				new BigInteger("2454675102173515776"),
				new BigInteger("1152921504611041536"),
				new BigInteger("155684661740175875"), 
				new BigInteger("6917529131798265856"), 
				new BigInteger("310748377023266816"),
				new BigInteger("67110400"), 
				new BigInteger("2305843009213710336")};
				*/
    { new BigInteger("576462128137896992"), new BigInteger("10376293541473171584"), new BigInteger("2305843009214747777"), new BigInteger("72127962782121984"), new BigInteger("52776558133248"), new BigInteger("0"), new BigInteger("338649581355264"), new BigInteger("4366794756"), new BigInteger("17730770043904"), new BigInteger("2314887591865356288"), new BigInteger("2305844109263241488"), new BigInteger("2400709834665132544"), new BigInteger("13835058125075449856"), new BigInteger("10741891072"), new BigInteger("9007208196998144"), new BigInteger("18014398511644672") };
    MoleculeReader molreader = new MoleculeReader();
    FingerprintGenerator gen = new FingerprintGenerator(new Fingerprinter());
    InputStream in = FingerPrintGeneratorTest.class.getClassLoader().getResourceAsStream("ambit2/core/data/fp/fptest.mol");
    RawIteratingSDFReader reader = new RawIteratingSDFReader(new InputStreamReader(in));
    while (reader.hasNext()) {
        IStructureRecord record = reader.nextRecord();
        BitSet bs1 = gen.process(molreader.process(record));
        BigInteger[] h16 = new BigInteger[16];
        MoleculeTools.bitset2bigint16(bs1, 64, h16);
        new Random(10000);
        BitSet bs2 = gen.process(molreader.process(record));
        Assert.assertEquals(bs1, bs2);
        MoleculeTools.bitset2bigint16(bs2, 64, h16);
        for (int i = 0; i < 16; i++) {
            Assert.assertEquals(expected[i], h16[i]);
        }
    }
/*
		IStructureRecord record = new StructureRecord();
		record.setContent();
		MoleculeReader reader = new MoleculeReader();
		reader.process(target)
		*/
}
Also used : RawIteratingSDFReader(ambit2.core.io.RawIteratingSDFReader) InputStreamReader(java.io.InputStreamReader) InputStream(java.io.InputStream) BitSet(java.util.BitSet) FingerprintGenerator(ambit2.core.processors.structure.FingerprintGenerator) IStructureRecord(ambit2.base.interfaces.IStructureRecord) MoleculeReader(ambit2.core.processors.structure.MoleculeReader) MACCSFingerprinter(org.openscience.cdk.fingerprint.MACCSFingerprinter) ExtendedFingerprinter(org.openscience.cdk.fingerprint.ExtendedFingerprinter) SubstructureFingerprinter(org.openscience.cdk.fingerprint.SubstructureFingerprinter) PubchemFingerprinter(org.openscience.cdk.fingerprint.PubchemFingerprinter) Fingerprinter(org.openscience.cdk.fingerprint.Fingerprinter) HybridizationFingerprinter(org.openscience.cdk.fingerprint.HybridizationFingerprinter) EStateFingerprinter(org.openscience.cdk.fingerprint.EStateFingerprinter) Random(java.util.Random) BigInteger(java.math.BigInteger) Test(org.junit.Test)

Example 5 with Fingerprinter

use of org.openscience.cdk.fingerprint.Fingerprinter in project ambit-mirror by ideaconsult.

the class QueryInfo2Query method createQuerySubstructure.

protected QueryPrescreenBitSet createQuerySubstructure(QueryInfo target) throws AmbitException {
    if (QueryInfo.METHOD_SUBSTRUCTURE.equals(target.getMethod())) {
        if (target.getMolecule() == null)
            return null;
        FingerprintGenerator g = new FingerprintGenerator(new Fingerprinter());
        BitSet bitset = g.process(target.getMolecule());
        QueryPrescreenBitSet qs = new QueryPrescreenBitSet();
        qs.setValue(bitset);
        return qs;
    } else
        return null;
}
Also used : Fingerprinter(org.openscience.cdk.fingerprint.Fingerprinter) BitSet(java.util.BitSet) QueryPrescreenBitSet(ambit2.db.search.structure.QueryPrescreenBitSet) FingerprintGenerator(ambit2.core.processors.structure.FingerprintGenerator) QueryPrescreenBitSet(ambit2.db.search.structure.QueryPrescreenBitSet)

Aggregations

Fingerprinter (org.openscience.cdk.fingerprint.Fingerprinter)19 BitSet (java.util.BitSet)12 IAtomContainer (org.openscience.cdk.interfaces.IAtomContainer)11 FingerprintGenerator (ambit2.core.processors.structure.FingerprintGenerator)10 Test (org.junit.Test)8 IStructureRecord (ambit2.base.interfaces.IStructureRecord)6 MoleculeReader (ambit2.core.processors.structure.MoleculeReader)6 LingoFingerprinter (org.openscience.cdk.fingerprint.LingoFingerprinter)5 ProcessorStructureRetrieval (ambit2.db.processors.ProcessorStructureRetrieval)4 StructureRecord (ambit2.base.data.StructureRecord)3 QuerySimilarityBitset (ambit2.db.search.structure.QuerySimilarityBitset)3 IDatabaseConnection (org.dbunit.database.IDatabaseConnection)3 RawIteratingSDFReader (ambit2.core.io.RawIteratingSDFReader)2 QueryPrescreenBitSet (ambit2.db.search.structure.QueryPrescreenBitSet)2 InputStream (java.io.InputStream)2 InputStreamReader (java.io.InputStreamReader)2 AmbitException (net.idea.modbcum.i.exceptions.AmbitException)2 CDKException (org.openscience.cdk.exception.CDKException)2 EStateFingerprinter (org.openscience.cdk.fingerprint.EStateFingerprinter)2 ExtendedFingerprinter (org.openscience.cdk.fingerprint.ExtendedFingerprinter)2