User 8052c55234
14-07-2014 15:57:14
I am a new JChem Marvin user, I appreciate it a lot
I actually compute Tanimoto dissimilarity with API and with a command line:
I obtain same fingerprint with API and command line, but Tanimoto calculated with the API (Ecfp1.getTanimoto(ecfp2) =0.8898305 ) is totally different than the Tanimoto calculate with the command line:
compr -f 1024 -t 1.0 -r -g -z -L -i fingerprints.txt fingerprints.txt -o data.txt (Tanimoto here = Maximum dissimilarity between sets = 0.60294116 because there is 2 compounds)
I put the sdf to test, the data.txt obtained with the command line
Any help please?
I check the Tanimoto with the binari fingerprint and I obtained same value between this way and the API way. What do I do wrong with command line?
here after the way I do the API Tanimoto computation:
ECFPParameters ecfpparam = new ECFPParameters();
ECFP fp;
ecfpparam.setLength(1024);
ecfpparam.setDiameter(8);
ecfpparam.setKeepCounts(false);
ECFP fp = new ECFP(ecfpparam);
ECFP fpSave = new ECFP(ecfpparam);
MolImporter mi = new MolImporter(filename);
Molecule m = mi.read();
while (m != null) {
// Instantiate default descriptor parameters and descriptors
ecfp = fp.generate(m);
System.out.println("Tanimoto: "+ecfp.getTanimoto(ecfpSave)));
ecfpSave=ecfp;
}
I obtained in the second position the Tanimoto number of interrest:
Tanimoto: 0.8898305
In agreement with binary fingerprint