From: <mig...@us...> - 2006-10-25 13:36:22
|
Revision: 7185 http://svn.sourceforge.net/cdk/?rev=7185&view=rev Author: miguelrojasch Date: 2006-10-25 06:35:55 -0700 (Wed, 25 Oct 2006) Log Message: ----------- classes which are qsar.descriptors.bond implements IBondDescriptor Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialPiChargeDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialSigmaChargeDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialTChargeDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondSigmaElectronegativityDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/atomic/PartialPiChargeDescriptorTest.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialPiChargeDescriptorTest.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialSigmaChargeDescriptorTest.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialTChargeDescriptorTest.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondSigmaElectronegativityDescriptorTest.java trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/ResonancePositiveChargeDescriptorTest.java Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -249,9 +249,7 @@ results[0][1]= new Double(((DoubleResult)descriptor2.calculate(positionC,atomContainer).getValue()).doubleValue()); /*2*/ BondPartialSigmaChargeDescriptor descriptor3 = new BondPartialSigmaChargeDescriptor(); - params[0] = new Integer(atomContainer.getBondNumber(bond)); - descriptor3.setParameters(params); - results[0][2]= new Double(((DoubleResult)descriptor3.calculate(atomContainer).getValue()).doubleValue()); + results[0][2]= new Double(((DoubleResult)descriptor3.calculate(bond, atomContainer).getValue()).doubleValue()); /*3*/ SigmaElectronegativityDescriptor descriptor4 = new SigmaElectronegativityDescriptor(); results[0][3]= new Double(((DoubleResult)descriptor4.calculate(positionX, atomContainer).getValue()).doubleValue()); @@ -260,9 +258,7 @@ results[0][4]= new Double(((DoubleResult)descriptor5.calculate(positionX, atomContainer).getValue()).doubleValue()); /*5*/ ResonancePositiveChargeDescriptor descriptor6 = new ResonancePositiveChargeDescriptor(); - params[0] = new Integer(atomContainer.getBondNumber(bond)); - descriptor6.setParameters(params); - DoubleArrayResult dar = ((DoubleArrayResult)descriptor6.calculate(atomContainer).getValue()); + DoubleArrayResult dar = ((DoubleArrayResult)descriptor6.calculate(bond, atomContainer).getValue()); double datT = (dar.get(0)+dar.get(1))/2; results[0][5] = new Double(datT); @@ -271,24 +267,24 @@ } return results; } - /** - * Gets the parameterNames attribute of the IPAtomicDescriptor object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "targetPosition"; - return params; - } - /** - * Gets the parameterType attribute of the IPAtomicDescriptor object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Integer(0); - } + /** + * Gets the parameterNames attribute of the IPAtomicDescriptor object. + * + * @return The parameterNames value + */ + public String[] getParameterNames() { + return new String[0]; + } + + + /** + * Gets the parameterType attribute of the IPAtomicDescriptor object. + * + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested + */ + public Object getParameterType(String name) { + return null; + } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialPiChargeDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialPiChargeDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialPiChargeDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -27,12 +27,13 @@ import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; -import org.openscience.cdk.tools.manipulator.BondManipulator; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.PartialPiChargeDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; +import org.openscience.cdk.tools.manipulator.BondManipulator; /** * The calculation of bond-pi Partial charge is calculated @@ -60,9 +61,8 @@ * @cdk.dictref qsar-descriptors:bondPartialPiCharge * @see PartialPiChargeDescriptor */ -public class BondPartialPiChargeDescriptor implements IMolecularDescriptor { +public class BondPartialPiChargeDescriptor implements IBondDescriptor { - private int bondPosition = 0; private PartialPiChargeDescriptor descriptor; @@ -88,34 +88,21 @@ "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the BondPartialPiChargeDescriptor object - * - *@param params The new parameters value - *@exception CDKException Description of the Exception + * This descriptor does have any parameter. */ public void setParameters(Object[] params) throws CDKException { - if (params.length > 2) { - throw new CDKException("BondPartialPiChargeDescriptor only expects two parameter"); - } - if (!(params[0] instanceof Integer)) { - throw new CDKException("The parameter 1 must be of type Integer"); - } - bondPosition = ((Integer) params[0]).intValue(); } /** - * Gets the parameters attribute of the BondPartialPiChargeDescriptor object + * Gets the parameters attribute of the BondPartialPiChargeDescriptor object. * *@return The parameters value + * @see #setParameters */ public Object[] getParameters() { - // return the parameters as used for the descriptor calculation - Object[] params = new Object[1]; - params[0] = new Integer(bondPosition); - return params; + return new Object[0]; } @@ -127,8 +114,8 @@ *@return return the sigma electronegativity *@exception CDKException Possible Exceptions */ - public DescriptorValue calculate(IAtomContainer ac) throws CDKException { - IAtom[] atoms = BondManipulator.getAtomArray(ac.getBond(bondPosition)); + public DescriptorValue calculate(IBond bond, IAtomContainer ac) throws CDKException { + IAtom[] atoms = BondManipulator.getAtomArray(bond); double[] results = new double[2]; Integer[] params = new Integer[1]; @@ -143,30 +130,24 @@ return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(result)); } + /** + * Gets the parameterNames attribute of the BondPartialPiChargeDescriptor object. + * + * @return The parameterNames value + */ + public String[] getParameterNames() { + return new String[0]; + } - /** - * Gets the parameterNames attribute of the BondPartialPiChargeDescriptor - * object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "bondPosition"; - return params; - } - - /** - * Gets the parameterType attribute of the BondPartialPiChargeDescriptor - * object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - // since both params are of Integer type, we don't need to check - return new Integer(0); - } + /** + * Gets the parameterType attribute of the BondPartialPiChargeDescriptor object. + * + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested + */ + public Object getParameterType(String name) { + return null; + } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialSigmaChargeDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialSigmaChargeDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialSigmaChargeDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -28,12 +28,13 @@ import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; -import org.openscience.cdk.tools.manipulator.BondManipulator; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.PartialSigmaChargeDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; +import org.openscience.cdk.tools.manipulator.BondManipulator; /** * The calculation of bond-sigma Partial charge is calculated @@ -61,9 +62,8 @@ * @cdk.dictref qsar-descriptors:bondPartialSigmaCharge * @see PartialSigmaChargeDescriptor */ -public class BondPartialSigmaChargeDescriptor implements IMolecularDescriptor { +public class BondPartialSigmaChargeDescriptor implements IBondDescriptor { - private int bondPosition = 0; private PartialSigmaChargeDescriptor descriptor; @@ -89,34 +89,21 @@ "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the BondPartialSigmaChargeDescriptor object - * - *@param params The new parameters value - *@exception CDKException Description of the Exception + * This descriptor does have any parameter. */ public void setParameters(Object[] params) throws CDKException { - if (params.length > 2) { - throw new CDKException("BondPartialSigmaChargeDescriptor only expects two parameter"); - } - if (!(params[0] instanceof Integer)) { - throw new CDKException("The parameter 1 must be of type Integer"); - } - bondPosition = ((Integer) params[0]).intValue(); } /** - * Gets the parameters attribute of the BondPartialSigmaChargeDescriptor object + * Gets the parameters attribute of the BondPartialSigmaChargeDescriptor object. * *@return The parameters value + * @see #setParameters */ public Object[] getParameters() { - // return the parameters as used for the descriptor calculation - Object[] params = new Object[1]; - params[0] = new Integer(bondPosition); - return params; + return new Object[0]; } @@ -128,9 +115,9 @@ *@return return the sigma electronegativity *@exception CDKException Possible Exceptions */ - public DescriptorValue calculate(IAtomContainer ac) throws CDKException { + public DescriptorValue calculate(IBond bond, IAtomContainer ac) throws CDKException { Molecule mol = new Molecule(ac); - IAtom[] atoms = BondManipulator.getAtomArray(mol.getBond(bondPosition)); + IAtom[] atoms = BondManipulator.getAtomArray(bond); double[] results = new double[2]; Integer[] params = new Integer[1]; @@ -145,30 +132,24 @@ return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(result)); } + /** + * Gets the parameterNames attribute of the BondPartialSigmaChargeDescriptor object. + * + * @return The parameterNames value + */ + public String[] getParameterNames() { + return new String[0]; + } - /** - * Gets the parameterNames attribute of the BondPartialSigmaChargeDescriptor - * object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "bondPosition"; - return params; - } - - /** - * Gets the parameterType attribute of the BondPartialSigmaChargeDescriptor - * object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - // since both params are of Integer type, we don't need to check - return new Integer(0); - } + /** + * Gets the parameterType attribute of the BondPartialSigmaChargeDescriptor object. + * + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested + */ + public Object getParameterType(String name) { + return null; + } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialTChargeDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialTChargeDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondPartialTChargeDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -27,9 +27,10 @@ import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.PartialTChargePEOEDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.tools.manipulator.BondManipulator; @@ -60,9 +61,8 @@ * @see org.openscience.cdk.qsar.descriptors.atomic.PartialPiChargeDescriptor * @see org.openscience.cdk.qsar.descriptors.atomic.PartialSigmaChargeDescriptor */ -public class BondPartialTChargeDescriptor implements IMolecularDescriptor { +public class BondPartialTChargeDescriptor implements IBondDescriptor { - private int bondPosition = 0; private PartialTChargePEOEDescriptor descriptor; @@ -88,37 +88,22 @@ "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the BondPartialTChargeDescriptor object - * - *@param params The new parameters value - *@exception CDKException Description of the Exception + * This descriptor does have any parameter. */ public void setParameters(Object[] params) throws CDKException { - if(params.length > 1) { - throw new CDKException("BondPartialTChargeDescriptor only expects one parameter"); - } - if (!(params[0] instanceof Integer)) { - throw new CDKException("The parameter 1 must be of type Integer"); - } - bondPosition = ((Integer) params[0]).intValue(); } /** - * Gets the parameters attribute of the BondPartialTChargeDescriptor object + * Gets the parameters attribute of the BondPartialTChargeDescriptor object. * *@return The parameters value + * @see #setParameters */ public Object[] getParameters() { - // return the parameters as used for the descriptor calculation - Object[] params = new Object[1]; - params[0] = new Integer(bondPosition); - return params; + return new Object[0]; } - - /** * The method calculates the bond total Partial charge of a given bond * It is needed to call the addExplicitHydrogensToSatisfyValency method from the class tools.HydrogenAdder. @@ -127,8 +112,8 @@ *@return return the sigma electronegativity *@exception CDKException Possible Exceptions */ - public DescriptorValue calculate(IAtomContainer ac) throws CDKException { - IAtom[] atoms = BondManipulator.getAtomArray(ac.getBond(bondPosition)); + public DescriptorValue calculate(IBond bond, IAtomContainer ac) throws CDKException { + IAtom[] atoms = BondManipulator.getAtomArray(bond); double[] results = new double[2]; Integer[] params = new Integer[1]; @@ -141,31 +126,24 @@ return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(result)); } - - - /** - * Gets the parameterNames attribute of the BondPartialTChargeDescriptor - * object + /** + * Gets the parameterNames attribute of the BondPartialTChargeDescriptor object. * - *@return The parameterNames value + * @return The parameterNames value */ public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "bondPosition"; - return params; + return new String[0]; } /** - * Gets the parameterType attribute of the BondPartialTChargeDescriptor - * object + * Gets the parameterType attribute of the BondPartialTChargeDescriptor object. * - *@param name Description of the Parameter - *@return The parameterType value + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested */ public Object getParameterType(String name) { - // since both params are of Integer type, we don't need to check - return new Integer(0); + return null; } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondSigmaElectronegativityDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondSigmaElectronegativityDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/BondSigmaElectronegativityDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -27,9 +27,10 @@ import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.SigmaElectronegativityDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.tools.manipulator.BondManipulator; @@ -59,9 +60,8 @@ * @cdk.dictref qsar-descriptors:bondSigmaElectronegativity * @see SigmaElectronegativityDescriptor */ -public class BondSigmaElectronegativityDescriptor implements IMolecularDescriptor { +public class BondSigmaElectronegativityDescriptor implements IBondDescriptor { - private int bondPosition = 0; private SigmaElectronegativityDescriptor descriptor; @@ -87,37 +87,22 @@ "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the BondSigmaElectronegativityDescriptor object - * - *@param params The new parameters value - *@exception CDKException Description of the Exception + * This descriptor does have any parameter. */ public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("BondSigmaElectronegativityDescriptor only expects two parameter"); - } - if (!(params[0] instanceof Integer)) { - throw new CDKException("The parameter 1 must be of type Integer"); - } - bondPosition = ((Integer) params[0]).intValue(); } /** - * Gets the parameters attribute of the BondSigmaElectronegativityDescriptor object + * Gets the parameters attribute of the BondSigmaElectronegativityDescriptor object. * *@return The parameters value + * @see #setParameters */ public Object[] getParameters() { - // return the parameters as used for the descriptor calculation - Object[] params = new Object[1]; - params[0] = new Integer(bondPosition); - return params; + return new Object[0]; } - - /** * The method calculates the sigma electronegativity of a given bond * It is needed to call the addExplicitHydrogensToSatisfyValency method from the class tools.HydrogenAdder. @@ -126,9 +111,9 @@ *@return return the sigma electronegativity *@exception CDKException Possible Exceptions */ - public DescriptorValue calculate(IAtomContainer ac) throws CDKException { + public DescriptorValue calculate(IBond bond, IAtomContainer ac) throws CDKException { - IAtom[] atoms = BondManipulator.getAtomArray(ac.getBond(bondPosition)); + IAtom[] atoms = BondManipulator.getAtomArray(bond); double[] results = new double[2]; Integer[] params = new Integer[1]; @@ -142,31 +127,24 @@ return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(result)); } - - - /** - * Gets the parameterNames attribute of the BondSigmaElectronegativityDescriptor - * object + /** + * Gets the parameterNames attribute of the BondSigmaElectronegativityDescriptor object. * - *@return The parameterNames value + * @return The parameterNames value */ public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "bondPosition"; - return params; + return new String[0]; } /** - * Gets the parameterType attribute of the BondSigmaElectronegativityDescriptor - * object + * Gets the parameterType attribute of the BondSigmaElectronegativityDescriptor object. * - *@param name Description of the Parameter - *@return The parameterType value + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested */ public Object getParameterType(String name) { - // since both params are of Integer type, we don't need to check - return new Integer(0); + return null; } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -229,9 +229,7 @@ /* */ ResonancePositiveChargeDescriptor descriptor5 = new ResonancePositiveChargeDescriptor(); - params[0] = new Integer(atomContainer.getBondNumber(bond)); - descriptor5.setParameters(params); - DoubleArrayResult dar = ((DoubleArrayResult)descriptor5.calculate(atomContainer).getValue()); + DoubleArrayResult dar = ((DoubleArrayResult)descriptor5.calculate(bond, atomContainer).getValue()); results[0][4] = new Double(dar.get(0)); results[0][5] = new Double(dar.get(1)); @@ -241,25 +239,24 @@ } return results; } - - /** - * Gets the parameterNames attribute of the IPBondDescriptor object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "set"; - return params; - } - /** - * Gets the parameterType attribute of the IPBondDescriptor object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Integer(0); - } + /** + * Gets the parameterNames attribute of the IPBondDescriptor object. + * + * @return The parameterNames value + */ + public String[] getParameterNames() { + return new String[0]; + } + + + /** + * Gets the parameterType attribute of the IPBondDescriptor object. + * + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested + */ + public Object getParameterType(String name) { + return null; + } } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -25,7 +25,6 @@ package org.openscience.cdk.qsar.descriptors.bond; import java.util.ArrayList; -import java.util.Iterator; import org.openscience.cdk.CDKConstants; import org.openscience.cdk.charges.GasteigerPEPEPartialCharges; @@ -33,26 +32,23 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IMolecule; import org.openscience.cdk.interfaces.IMoleculeSet; import org.openscience.cdk.interfaces.IReactionSet; -import org.openscience.cdk.interfaces.ISingleElectron; import org.openscience.cdk.isomorphism.UniversalIsomorphismTester; import org.openscience.cdk.isomorphism.matchers.QueryAtomContainer; import org.openscience.cdk.isomorphism.matchers.QueryAtomContainerCreator; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.BondsToAtomDescriptor; import org.openscience.cdk.qsar.descriptors.atomic.PiElectronegativityDescriptor; import org.openscience.cdk.qsar.result.DoubleArrayResult; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.qsar.result.IntegerResult; import org.openscience.cdk.reaction.type.BreakingBondReaction; -import org.openscience.cdk.smiles.SmilesGenerator; -import org.openscience.cdk.tools.MFAnalyser; import org.openscience.cdk.tools.StructureResonanceGenerator; -import org.openscience.cdk.tools.manipulator.BondManipulator; /** * <p>The calculation of Resonance stabilization of a positive charge of an heavy @@ -79,9 +75,8 @@ * @cdk.dictref qsar-descriptors:resonancePositiveCharge * @see GasteigerPEPEPartialCharges */ -public class ResonancePositiveChargeDescriptor implements IMolecularDescriptor { +public class ResonancePositiveChargeDescriptor implements IBondDescriptor { - private int bondPosition = 0; private PiElectronegativityDescriptor pielectronegativity = null; @@ -108,33 +103,20 @@ /** - * Sets the parameters attribute of the ResonancePositiveChargeDescriptor - * object - * - *@param params Bond position - *@exception CDKException Description of the Exception + * This descriptor does have any parameter. */ public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("ResonancePositiveChargeDescriptor only expects one parameter"); - } - if (!(params[0] instanceof Integer)) { - throw new CDKException("The parameter 1 must be of type Integer"); - } - bondPosition = ((Integer) params[0]).intValue(); } /** - * Gets the parameters attribute of the ResonancePositiveChargeDescriptor object + * Gets the parameters attribute of the VdWRadiusDescriptor object. * *@return The parameters value + * @see #setParameters */ public Object[] getParameters() { - // return the parameters as used for the descriptor calculation - Object[] params = new Object[1]; - params[0] = new Integer(bondPosition); - return params; + return new Object[0]; } @@ -148,7 +130,10 @@ * which belong to the bond. *@exception CDKException Possible Exceptions */ - public DescriptorValue calculate(IAtomContainer acI) throws CDKException { + public DescriptorValue calculate(IBond bond, IAtomContainer acI) throws CDKException { + + cleanFlagReactiveCenter((IMolecule) acI); + DoubleArrayResult dar = new DoubleArrayResult(2); IAtomContainer ac; try { @@ -156,42 +141,39 @@ } catch (CloneNotSupportedException e) { throw new CDKException("Could not clone IAtomContainer!", e); } - ArrayList result1 = new ArrayList(); + + ArrayList result1 = new ArrayList(); ArrayList distance1 = new ArrayList(); ArrayList result2 = new ArrayList(); ArrayList distance2 = new ArrayList(); - IAtom[] atoms = BondManipulator.getAtomArray(ac.getBond(bondPosition)); - - /* RESTRICTION: only possible to break H or doble bonds*/ -// if(ac.getBond(bondPosition).getOrder() < 2) -// if(!atoms[0].getSymbol().equals("H") && !atoms[1].getSymbol().equals("H")){ -// DoubleArrayResult dar = new DoubleArrayResult(); -// dar.add(0.0);dar.add(0.0); -// System.out.println("return 0.0"); -// return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(),dar); -// } + IAtom atom0 = bond.getAtom(0); + int atomPos0 = acI.getAtomNumber(atom0); + IAtom atom1 = bond.getAtom(1); + int atomPos1 = acI.getAtomNumber(atom1); + + ac.getAtom(atomPos0).setFlag(CDKConstants.REACTIVE_CENTER,true); + ac.getAtom(atomPos1).setFlag(CDKConstants.REACTIVE_CENTER,true); + ac.getBond(acI.getBondNumber(bond)).setFlag(CDKConstants.REACTIVE_CENTER,true); + + /*break bond*/ - if(ac.getSingleElectronSum(atoms[0]) > 0 || ac.getSingleElectronSum(atoms[1]) > 0){ + if(ac.getSingleElectronSum(atom0) > 0 || ac.getSingleElectronSum(atom1) > 0){ dar.add(0.0); dar.add(0.0); return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(),dar); } + BreakingBondReaction type = new BreakingBondReaction(); - atoms[0].setFlag(CDKConstants.REACTIVE_CENTER,true); - int atomPos0 = ac.getAtomNumber(atoms[0]); - atoms[1].setFlag(CDKConstants.REACTIVE_CENTER,true); - int atomPos1 = ac.getAtomNumber(atoms[1]); - ac.getBond(bondPosition).setFlag(CDKConstants.REACTIVE_CENTER,true); - + Object[] paramsR = {Boolean.TRUE}; type.setParameters(paramsR); IMoleculeSet setOfReactants = ac.getBuilder().newMoleculeSet(); setOfReactants.addMolecule((IMolecule) ac); IReactionSet setOfReactions = type.initiate(setOfReactants, null); - + /*search resonance for each product obtained. Only 2*/ for(int i = 0 ; i < 2; i++){ if(setOfReactions.getReaction(i) == null) @@ -302,29 +284,36 @@ } - /** - * Gets the parameterNames attribute of the ResonancePositiveChargeDescriptor - * object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "bondPosition"; - return params; - } + /** + * Gets the parameterNames attribute of the ResonancePositiveChargeDescriptor object. + * + * @return The parameterNames value + */ + public String[] getParameterNames() { + return new String[0]; + } + + /** + * Gets the parameterType attribute of the ResonancePositiveChargeDescriptor object. + * + * @param name Description of the Parameter + * @return An Object of class equal to that of the parameter being requested + */ + public Object getParameterType(String name) { + return null; + } /** - * Gets the parameterType attribute of the ResonancePositiveChargeDescriptor - * object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - Integer[] object = {new Integer(0), new Integer(0)}; - return object; - } + * clean the flags CDKConstants.REACTIVE_CENTER from the molecule + * + * @param mol + */ + public void cleanFlagReactiveCenter(IMolecule molecule){ + for(int j = 0 ; j < molecule.getAtomCount(); j++) + molecule.getAtom(j).setFlag(CDKConstants.REACTIVE_CENTER, false); + for(int j = 0 ; j < molecule.getBondCount(); j++) + molecule.getBond(j).setFlag(CDKConstants.REACTIVE_CENTER, false); + } } Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/atomic/PartialPiChargeDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/atomic/PartialPiChargeDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/atomic/PartialPiChargeDescriptorTest.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -484,15 +484,15 @@ IAtomicDescriptor descriptor = new PartialPiChargeDescriptor(); double[] testResult = {0.0,0.25,0.0,0.0,0.0,0.25,0.0,0.0,0.0,0.0,0.0,0.0,}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ SmilesParser sp = new SmilesParser(); - Molecule mol = sp.parseSmiles("[H]C([H])=C([H])C([H])([H])C#[O+]"); - mol.addElectronContainer(new SingleElectron(mol.getAtom(9))); - mol.addElectronContainer(new LonePair(mol.getAtom(9))); + Molecule mol = sp.parseSmiles("[H]=C=C=O"); +// mol.addElectronContainer(new SingleElectron(mol.getAtom(0))); + mol.addElectronContainer(new LonePair(mol.getAtom(3))); Object[] object = {new Integer(6),new Boolean(false)}; descriptor.setParameters(object); - for (int i = 3 ; i < 4 ; i++){ + for (int i = 0 ; i < mol.getAtomCount() ; i++){ double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i), mol).getValue()).doubleValue(); - + System.out.println(mol.getAtom(i).getSymbol()+",result: "+result); // if(testResult[i] == 0.0) // assertTrue(result == 0.0); // else { Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialPiChargeDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialPiChargeDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialPiChargeDescriptorTest.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -25,9 +25,10 @@ import junit.framework.Test; import junit.framework.TestSuite; + import org.openscience.cdk.Molecule; import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.bond.BondPartialPiChargeDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.smiles.SmilesParser; @@ -42,7 +43,7 @@ public class BondPartialPiChargeDescriptorTest extends CDKTestCase { - private IMolecularDescriptor descriptor; + private IBondDescriptor descriptor; /** * Constructor for the BondPartialPiChargeDescriptorTest object * @@ -65,17 +66,13 @@ descriptor = new BondPartialPiChargeDescriptor() ; double [] testResult={0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CF"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.01); } @@ -87,18 +84,13 @@ descriptor = new BondPartialPiChargeDescriptor() ; double [] testResult={0.0022,0.0011,0.0011,0.0011,0.0011,0.0,0.0,0.0}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCBr"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.03); } } @@ -109,15 +101,12 @@ descriptor = new BondPartialPiChargeDescriptor() ; double testResult = 0.0 ; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Object[] params = {new Integer(0)}; - descriptor.setParameters(params); - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C(C)(C)CCI"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); - for (int i = 0 ; i < mol.getAtomCount() ; i++){ - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + for (int i = 0 ; i < 6 ; i++){ + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult,result,0.001); } } @@ -127,7 +116,6 @@ public void testBondPiElectronegativityDescriptor_Allyl_mercaptan() throws ClassNotFoundException, CDKException, java.lang.Exception { descriptor = new BondPartialPiChargeDescriptor() ; double [] testResult={0.0006,0.0003,0.0003,0.0003,0.0003,0.0,0.0,0.0,0.0}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCS"); @@ -135,9 +123,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 9 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.03); } } Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialSigmaChargeDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialSigmaChargeDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialSigmaChargeDescriptorTest.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -25,9 +25,10 @@ import junit.framework.Test; import junit.framework.TestSuite; + import org.openscience.cdk.Molecule; import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.bond.BondPartialSigmaChargeDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.smiles.SmilesParser; @@ -42,7 +43,7 @@ public class BondPartialSigmaChargeDescriptorTest extends CDKTestCase { - private IMolecularDescriptor descriptor; + private IBondDescriptor descriptor; public BondPartialSigmaChargeDescriptorTest() { descriptor = new BondPartialSigmaChargeDescriptor() ; @@ -57,7 +58,6 @@ public void testBondSigmaElectronegativityDescriptor() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.3323,0.0218 };/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[2]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CF"); @@ -65,10 +65,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - params[1] = new Integer(6); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.01); } @@ -80,17 +77,12 @@ public void testBondSigmaElectronegativityDescriptor_Methyl_chloride() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.2137,0.0075};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[2]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CCl"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - params[1] = new Integer(6); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.05); } } @@ -100,19 +92,13 @@ public void testBondSigmaElectronegativityDescriptor_Allyl_bromide() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0265,0.1268,0.1872,0.1564,0.1564,0.1347,0.0013,0.0013}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[2]; - - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCBr"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - params[1] = new Integer(6); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.03); } } @@ -122,15 +108,12 @@ public void testBondSigmaElectronegativityDescriptor_Isopentyl_iodide() throws ClassNotFoundException, CDKException, java.lang.Exception { double testResult = 0.0165 ; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Object[] params = {new Integer(0)}; - descriptor.setParameters(params); - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C(C)(C)CCI"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(0),mol).getValue()).doubleValue(); assertEquals(testResult,result,0.001); } /** @@ -139,7 +122,6 @@ public void testBondSigmaElectronegativityDescriptor_Ethoxy_ethane() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0864,0.4262,0.4262,0.0864,0.0662,0.0662,0.0662,0.0104,0.0104}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[2]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CCOCC"); @@ -147,10 +129,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - params[1] = new Integer(6); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.002); } } @@ -160,18 +139,13 @@ public void testBondSigmaElectronegativityDescriptor_Ethanolamine() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.3463,0.0274,0.448,0.448,0.448}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[2]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("NCCO"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 5 ; i++){ - params[0] = new Integer(i); - params[1] = new Integer(6); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.06); } } @@ -180,7 +154,6 @@ */ public void testBondSigmaElectronegativityDescriptor_Allyl_mercaptan() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0203,0.0921,0.1835,0.1569,0.3593,8.5917}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCS"); @@ -188,9 +161,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 4 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.005); } } Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialTChargeDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialTChargeDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondPartialTChargeDescriptorTest.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -25,9 +25,10 @@ import junit.framework.Test; import junit.framework.TestSuite; + import org.openscience.cdk.Molecule; import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.bond.BondPartialTChargeDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.smiles.SmilesParser; @@ -43,7 +44,7 @@ public class BondPartialTChargeDescriptorTest extends CDKTestCase { - private IMolecularDescriptor descriptor; + private IBondDescriptor descriptor; /** * Constructor for the BondPartialTChargeDescriptorTest object * @@ -65,8 +66,6 @@ public void testBondTElectronegativityDescriptor() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.3323,0.0218 };/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CF"); @@ -77,9 +76,7 @@ lpcheck.newSaturate(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.01); } @@ -90,8 +87,6 @@ public void testBondTElectronegativityDescriptor_Allyl_bromide() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0243,0.1279,0.1872,0.1553,0.1553,0.1358,0.0013,0.0013}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCBr"); HydrogenAdder hAdder = new HydrogenAdder(); @@ -100,9 +95,7 @@ lpcheck.newSaturate(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.035); } } @@ -112,14 +105,11 @@ public void testBondTElectronegativityDescriptor_Isopentyl_iodide() throws ClassNotFoundException, CDKException, java.lang.Exception { double testResult = 0.0165 ; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Object[] params = {new Integer(0)}; - descriptor.setParameters(params); - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C(C)(C)CCI"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(0),mol).getValue()).doubleValue(); assertEquals(testResult,result,0.001); } /** @@ -127,7 +117,6 @@ */ public void testBondTElectronegativityDescriptor_Allyl_mercaptan() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0197,0.0924,0.1835,0.1566,0.1566,0.1412,0.0323,0.0323,0.2761}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCS"); @@ -135,9 +124,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 9 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.03); } } Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondSigmaElectronegativityDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondSigmaElectronegativityDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/BondSigmaElectronegativityDescriptorTest.java 2006-10-25 13:35:55 UTC (rev 7185) @@ -25,9 +25,10 @@ import junit.framework.Test; import junit.framework.TestSuite; + import org.openscience.cdk.Molecule; import org.openscience.cdk.exception.CDKException; -import org.openscience.cdk.qsar.IMolecularDescriptor; +import org.openscience.cdk.qsar.IBondDescriptor; import org.openscience.cdk.qsar.descriptors.bond.BondSigmaElectronegativityDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.smiles.SmilesParser; @@ -43,7 +44,7 @@ public class BondSigmaElectronegativityDescriptorTest extends CDKTestCase { - private IMolecularDescriptor descriptor; + private IBondDescriptor descriptor; public BondSigmaElectronegativityDescriptorTest() { descriptor = new BondSigmaElectronegativityDescriptor() ; @@ -58,8 +59,6 @@ public void testBondSigmaElectronegativityDescriptor() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={2.5882,1.1894};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CF"); HydrogenAdder hAdder = new HydrogenAdder(); @@ -68,9 +67,7 @@ lpcheck.newSaturate(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.01); } @@ -82,16 +79,12 @@ public void testBondSigmaElectronegativityDescriptor_Methyl_chloride() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={2.1612,0.8751};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CCl"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 2 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.05); } } @@ -101,18 +94,13 @@ public void testBondSigmaElectronegativityDescriptor_Allyl_bromide() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.2396,0.3635,1.7086,0.3635,0.338,0.574,0.969,0.969}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCBr"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.03); } } @@ -122,15 +110,12 @@ public void testBondSigmaElectronegativityDescriptor_Isopentyl_iodide() throws ClassNotFoundException, CDKException, java.lang.Exception { double testResult = 0.1482; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Object[] params = {new Integer(0)}; - descriptor.setParameters(params); - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C(C)(C)CCI"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(0),mol).getValue()).doubleValue(); assertEquals(testResult,result,0.001); } /** @@ -139,17 +124,13 @@ public void testBondSigmaElectronegativityDescriptor_Ethoxy_ethane() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.7939,1.0715,1.0715,0.7939,0.2749,0.2749,0.2749,0.8796,0.8796}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("CCOCC"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 8 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.002); } } @@ -159,17 +140,13 @@ public void testBondSigmaElectronegativityDescriptor_Ethanolamine() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.0074,0.3728,0.8547,0.2367,0.2367}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; - SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("NCCO"); HydrogenAdder hAdder = new HydrogenAdder(); hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 5 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.06); } } @@ -178,7 +155,6 @@ */ public void testBondSigmaElectronegativityDescriptor_Allyl_mercaptan() throws ClassNotFoundException, CDKException, java.lang.Exception { double [] testResult={0.1832,0.0143,0.5307,0.3593,0.3593,8.5917}; /* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/ - Integer[] params = new Integer[1]; SmilesParser sp = new SmilesParser(); Molecule mol = sp.parseSmiles("C=CCS"); @@ -186,9 +162,7 @@ hAdder.addExplicitHydrogensToSatisfyValency(mol); for (int i = 0 ; i < 4 ; i++){ - params[0] = new Integer(i); - descriptor.setParameters(params); - double result= ((DoubleResult)descriptor.calculate(mol).getValue()).doubleValue(); + double result= ((DoubleResult)descriptor.calculate(mol.getBond(i),mol).getValue()).doubleValue(); assertEquals(testResult[i],result,0.005); } } Modified: trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/ResonancePositiveChargeDescriptorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/ResonancePositiveChargeDescriptorTest.java 2006-10-25 13:29:22 UTC (rev 7184) +++ trunk/cdk/src/org/openscience/cdk/test/qsar/descriptors/bond/ResonancePositiveChargeDescriptor... [truncated message content] |