use of org.openscience.cdk.fingerprint.PubchemFingerprinter in project ambit-mirror by ideaconsult.
the class TestUtilities method comparePubChemFP.
public static void comparePubChemFP(String smiFile) throws Exception {
File file = new File(smiFile);
RandomAccessFile f = new RandomAccessFile(file, "r");
long length = f.length();
PubChemFingerprinter ambitFP = new PubChemFingerprinter();
PubchemFingerprinter cdkFP = new PubchemFingerprinter(SilentChemObjectBuilder.getInstance());
long ambitTime = 0;
long cdkTime = 0;
long curTime = 0;
int nStr = 0;
int nDiff = 0;
while (f.getFilePointer() < length) {
String line = f.readLine();
line = line.trim();
if (line.isEmpty())
continue;
IAtomContainer mol = SmartsHelper.getMoleculeFromSmiles(line);
nStr++;
curTime = System.nanoTime();
BitSet bs0 = ambitFP.getFingerprint(mol);
ambitTime += (System.nanoTime() - curTime);
if (nStr % 100 == 0)
System.out.println("nStr = " + nStr + " nDiff = " + nDiff + " ambitTime = " + ambitTime / 1.0e9 + " cdkTime = " + cdkTime / 1.0e9 + " cdk/ambit = " + 1.0 * cdkTime / ambitTime);
}
f.close();
}
use of org.openscience.cdk.fingerprint.PubchemFingerprinter in project ambit-mirror by ideaconsult.
the class FingerPrintGeneratorTest method testPolyAromatics.
@Test
public void testPolyAromatics() throws Exception {
MoleculeReader molreader = new MoleculeReader();
FingerprintGenerator gen = new FingerprintGenerator(new Fingerprinter());
InputStream in = FingerPrintGeneratorTest.class.getClassLoader().getResourceAsStream("ambit2/core/data/fp/polyaromatics.sdf");
RawIteratingSDFReader reader = new RawIteratingSDFReader(new InputStreamReader(in));
while (reader.hasNext()) {
IStructureRecord record = reader.nextRecord();
IAtomContainer mol = molreader.process(record);
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
CDKHydrogenAdder.getInstance(SilentChemObjectBuilder.getInstance()).addImplicitHydrogens(mol);
CDKHueckelAromaticityDetector.detectAromaticity(mol);
gen.setHydrogens(false);
mol = AtomContainerManipulator.removeHydrogensPreserveMultiplyBonded(mol);
BitSet bs1 = gen.process(mol);
System.out.println(bs1);
ExtendedFingerprinter efp = new ExtendedFingerprinter();
System.out.println(efp.getClass().getName());
System.out.println(efp.getBitFingerprint(mol).asBitSet());
PubchemFingerprinter pfp = new PubchemFingerprinter(SilentChemObjectBuilder.getInstance());
System.out.println(pfp.getClass().getName());
System.out.println(pfp.getBitFingerprint(mol).asBitSet());
EStateFingerprinter esfp = new EStateFingerprinter();
System.out.println(esfp.getClass().getName());
System.out.println(esfp.getBitFingerprint(mol).asBitSet());
MACCSFingerprinter mfp = new MACCSFingerprinter();
System.out.println(mfp.getClass().getName());
System.out.println(mfp.getBitFingerprint(mol).asBitSet());
SubstructureFingerprinter sfp = new SubstructureFingerprinter();
System.out.println(sfp.getClass().getName());
System.out.println(sfp.getBitFingerprint(mol).asBitSet());
HybridizationFingerprinter hfp = new HybridizationFingerprinter();
System.out.println(hfp.getClass().getName());
System.out.println(hfp.getBitFingerprint(mol).asBitSet());
/*
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)
*/
reader.close();
}
use of org.openscience.cdk.fingerprint.PubchemFingerprinter in project ambit-mirror by ideaconsult.
the class TestUtilities method compareFP.
public static void compareFP(String smiles) throws Exception {
IAtomContainer mol = SmartsHelper.getMoleculeFromSmiles(smiles);
PubChemFingerprinter ambitFP = new PubChemFingerprinter();
PubchemFingerprinter cdkFP = new PubchemFingerprinter(SilentChemObjectBuilder.getInstance());
BitSet bs0 = ambitFP.getFingerprint(mol);
BitSet bs1 = cdkFP.getBitFingerprint(mol).asBitSet();
System.out.println(smiles);
System.out.println("ambit: " + bs0);
System.out.println("cdk: " + bs1);
bs1.xor(bs0);
System.out.println(" diff: " + bs1);
}
use of org.openscience.cdk.fingerprint.PubchemFingerprinter in project ambit-mirror by ideaconsult.
the class FingerprinterTest method testPubChem.
@Test
public void testPubChem() throws Exception {
IAtomContainer mol = MoleculeFactory.make123Triazole();
IFingerprinter fp = new PubchemFingerprinter(SilentChemObjectBuilder.getInstance());
AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
CDKHydrogenAdder h = CDKHydrogenAdder.getInstance(SilentChemObjectBuilder.getInstance());
h.addImplicitHydrogens(mol);
CDKHueckelAromaticityDetector.detectAromaticity(mol);
BitSet bs1 = fp.getBitFingerprint(mol).asBitSet();
BitSet bs2 = fp.getBitFingerprint(mol).asBitSet();
// fails if aromaticity was not detected!
Assert.assertEquals(bs1, bs2);
}
Aggregations