From: <sha...@ho...> - 2007-01-25 02:21:10
|
I'm learning CDK APIs now. And when I use CDK to make some sample applications, I encounter some problems. 1.For some molecules, after I use HydrogenAdder.addImplicitHydrogensToSatisfyValency method, exception will occured when using SMILESWriter to write the molecule to disk. I debug the source code and find the problem below: when using SMILESWriter, CanonicalLabeler.createInvarLabel method will be invoked. The following code may have a problem. inv.append((int)Math.abs(a.getFormalCharge))); //Hydrogen count inv.append(a.getHydrogenCount()); vect.add(new InvPair(Long.parseLong(inv.toString()), a)); a.getHydrogenCount() will return a negative. thus Long.parseLong(inv.toString()) will have an exception. 2.When I use PDBReader or PDBWriter to read or write a molecule, I never get a normal result. I just don't know why. And I wonder how should I use the two classes. 3.When I use class RuleOfFiveDescriptor to descript a molecule, I always get a 0 in weight. The code is followed: IMolecularDescriptor mw = new WeightDescriptor(); Object[] mwparams = {new String("")}; mw.setParameters(mwparams); double mwvalue = ((DoubleResult)mw.calculate(mol).getValue()).doubleValue(); I'd appreciate for any of your help. With best regards Jimmy _________________________________________________________________ 享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com |