I have used SmilesParser to parse through the smile and generate the
fingerprint , it prints
fingerprints of query:{0, 1, 17, 87, 95, 142, 168, 273, 274, 294, 299, 300,
301, 306}
when i used sdf file of same molecule and generated fingerprint , it prints
bitsetarray: [{17, 87, 95, 142, 273, 274, 294, 301, 306}]
even if it same molecule , still it does not consider 0,1,168,299,300 bits
So, can anyone please tell me why is this difference and which method is
suitable to get the results properly?
this is my small part of the code
ArrayList<IMolecule> molList= new ArrayList< IMolecule >();
ArrayList<BitSet> bitsetarray= new ArrayList< BitSet >();
ArrayList<BitSet> bitsetarray1= new ArrayList< BitSet >();
ArrayList<String> molidarray= new ArrayList< String >();
ArrayList<String> molidarray1= new ArrayList< String >();
//ArrayList<String> molidarray2= new ArrayList< String >();
IMolecule molecule = null;
String query =
"CC1=C(C)C2=C(CCC(C)(COC3=CC=C(CC4SC(=O)NC4=O)C=C3)O2)C(C)=C1O";
SmilesParser sp = new
SmilesParser(DefaultChemObjectBuilder.getInstance());
IAtomContainer mol1 = sp.parseSmiles(query);
mol1 = new AtomContainer(mol1);
BitSet fingerprint1 = fprinter.getFingerprint(mol1);
System.out.println("fingerprints of query:"+fingerprint1);
File sdfFile = new File("D:/gauri/cdk/Vasodilator/DB00197.sdf");
IteratingMDLReader reader = new IteratingMDLReader(
new FileInputStream(sdfFile),
DefaultIChemObjectBuilder.getInstance());
System.out.println("Reading the file...");
while (reader.hasNext()) {
molecule = (IMolecule)reader.next();
molList.add(molecule);
fingerprint = fprinter.getFingerprint(molecule);
// fprinter.getSize(); // returns 881
//fingerprint.length(); // returns the highest set bit
bitsetarray.add(fingerprint);
molidarray.add(molecule.getProperty("DRUGBANK_ID").toString());
//
molidarray2.add(molecule.getProperty("SMILES").toString());
}
--
View this message in context:
http://old.nabble.com/fingerprints-generated-differently-for-same-molecules-using-different-methods---smileparser-and-reading-the-sdf-file-using-IteratingMDLReader-tp35424370p35424370.html
Sent from the cdk-user mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user