From: <mig...@us...> - 2006-05-17 12:27:31
|
Revision: 6279 Author: miguelrojasch Date: 2006-05-17 05:27:22 -0700 (Wed, 17 May 2006) ViewCVS: http://svn.sourceforge.net/cdk/?rev=6279&view=rev Log Message: ----------- fixed dependency problems Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java Modified: trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-05-17 11:10:14 UTC (rev 6278) +++ trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-05-17 12:27:22 UTC (rev 6279) @@ -26,17 +26,17 @@ import java.io.IOException; import org.openscience.cdk.SetOfAtomContainers; +import org.openscience.cdk.config.AtomTypeFactory; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.graph.invariant.ConjugatedPiSystemsDetector; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.ISetOfAtomContainers; -import org.openscience.cdk.qsar.IMolecularDescriptor; -import org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor; -import org.openscience.cdk.qsar.descriptors.bond.BondCountDescriptor; -import org.openscience.cdk.qsar.result.DoubleResult; -import org.openscience.cdk.qsar.result.IntegerResult; +//import org.openscience.cdk.qsar.IMolecularDescriptor; +//import org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor; +//import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.tools.StructureResonanceGenerator; import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; @@ -62,6 +62,7 @@ /** max iterations */ private double MX_ITERATIONS = 12; private int STEP_SIZE = 5; + private AtomTypeFactory factory; /** Flag is set if the formal charge of a chemobject is changed due to resonance.*/ private static int ISCHANGEDFC = 0; @@ -71,7 +72,7 @@ */ public GasteigerPEPEPartialCharges() { } /** - * Sets the maxGasteigerIters attribute of the GasteigerMarsiliPartialCharges + * Sets the maxGasteigerIters attribute of the GasteigerPEPEPartialCharges * object * *@param iters The new maxGasteigerIters value @@ -225,19 +226,31 @@ * @return The sum of electrostatic potential of the neighbours */ private double getElectrostaticPotentialN(IAtomContainer ac, int atom1) { - IMolecularDescriptor descriptor; +// IMolecularDescriptor descriptor; double CoulombForceConstant = 1/(4*Math.PI*0.885/*Math.pow(10, -12)*/); double sum = 0.0; try { - descriptor = new CovalentRadiusDescriptor(); + if (factory == null) + factory = AtomTypeFactory.getInstance( + "org/openscience/cdk/config/data/jmol_atomtypes.txt", + ac.getBuilder() + ); + + + +// descriptor = new CovalentRadiusDescriptor(); IAtom[] atoms = ac.getConnectedAtoms(ac.getAtomAt(atom1)); for(int i = 0 ; i < atoms.length ; i++){ - Object[] params1 = {new Integer(ac.getAtomNumber(atoms[i]))}; - descriptor.setParameters(params1); - double retval = ((DoubleResult)descriptor.calculate(ac).getValue()).doubleValue(); + double covalentradius = 0; + String symbol = atoms[i].getSymbol(); + IAtomType type = factory.getAtomType(symbol); + covalentradius = type.getCovalentRadius(); +// Object[] params1 = {new Integer(ac.getAtomNumber(atoms[i]))}; +// descriptor.setParameters(params1); +// double retval = ((DoubleResult)descriptor.calculate(ac).getValue()).doubleValue(); double charge = atoms[i].getCharge(); - double sumI = CoulombForceConstant*charge/retval; -// System.out.println("sum("+sumI+") = CFC("+CoulombForceConstant+")*charge("+charge+"/ret("+retval); + double sumI = CoulombForceConstant*charge/covalentradius; +// System.out.println("sum("+sumI+") = CFC("+CoulombForceConstant+")*charge("+charge+"/ret("+covalentradius); sum += sumI; } } catch (IOException e) { @@ -276,18 +289,19 @@ } /*factor, if the number of covalents bonds is decreased*/ double fB = 1.0; - IMolecularDescriptor descriptor = new BondCountDescriptor(); - Object[] params = {new Double(2.0)}; - try { - descriptor.setParameters(params); - int numBond1 = ((IntegerResult)descriptor.calculate(atomContainer).getValue()).intValue(); - int numBond2 = ((IntegerResult)descriptor.calculate(ac).getValue()).intValue(); - if(numBond1 != numBond2) - fB = 0.8; - } catch (CDKException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + + int numBond1 = 0; + int numBond2 = 0; + IBond[] bonds = atomContainer.getBonds(); + for (int i = 0; i < bonds.length; i++) { + if (atomContainer.getBondAt(i).getOrder() == 2.0) + numBond1 += 1; + if (ac.getBondAt(i).getOrder() == 2.0) + numBond2 += 1; + } + if(numBond1 != numBond2) + fB = 0.8; + // System.out.println("return= sp:"+fQ+", dc:"+fB); return fQ*fB; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mig...@us...> - 2006-05-18 07:37:08
|
Revision: 6286 Author: miguelrojasch Date: 2006-05-18 00:36:51 -0700 (Thu, 18 May 2006) ViewCVS: http://svn.sourceforge.net/cdk/?rev=6286&view=rev Log Message: ----------- fixed parameters for N,S,Cl,Br,I. Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java Modified: trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-05-17 19:16:56 UTC (rev 6285) +++ trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-05-18 07:36:51 UTC (rev 6286) @@ -345,13 +345,10 @@ factors[1] = 0.0; factors[2] = 0.0; } else if (AtomSymbol.equals("C")) { -// if (ac.getAtomAt(i).getFlag(ISCHANGEDFC)) { factors[0] = 5.60; factors[1] = 8.93; factors[2] = 2.94; -// } } else if (AtomSymbol.equals("O")) { -// if (ac.getAtomAt(i).getFlag(ISCHANGEDFC)) { if(ac.getMaximumBondOrder(ac.getAtomAt(i)) == 1){ factors[0] = 10.0; @@ -362,11 +359,44 @@ factors[1] = 14.76; factors[2] = 6.85; } -// } + } else if (AtomSymbol.equals("N")) { + if(ac.getMaximumBondOrder(ac.getAtomAt(i)) == 1){ + + factors[0] = 7.95; + factors[1] = 9.73; + factors[2] = 2.67; + }else { + factors[0] = 4.54; + factors[1] = 11.86; + factors[2] = 7.32; + } + } else if (AtomSymbol.equals("S")) { + if(ac.getMaximumBondOrder(ac.getAtomAt(i)) == 1){ + + factors[0] = 7.73; + factors[1] = 8.16; + factors[2] = 1.81; + }else { + factors[0] = 6.60; + factors[1] = 10.32; + factors[2] = 3.72; + } } else if (AtomSymbol.equals("F")) { factors[0] = 7.34; factors[1] = 13.86; factors[2] = 9.68; + } else if (AtomSymbol.equals("Cl")) { + factors[0] = 6.50; + factors[1] = 11.02; + factors[2] = 4.52; + } else if (AtomSymbol.equals("Br")) { + factors[0] = 5.20; + factors[1] = 9.68; + factors[2] = 4.48; + } else if (AtomSymbol.equals("I")) { + factors[0] = 4.95; + factors[1] = 8.81; + factors[2] = 3.86; } gasteigerFactors[k][STEP_SIZE * i + i] = factors[0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mig...@us...> - 2006-07-10 12:48:22
|
Revision: 6633 Author: miguelrojasch Date: 2006-07-10 05:30:58 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/cdk/?rev=6633&view=rev Log Message: ----------- remove unnecessary imports Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java Modified: trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-07-10 12:27:13 UTC (rev 6632) +++ trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-07-10 12:30:58 UTC (rev 6633) @@ -41,7 +41,6 @@ import org.openscience.cdk.reaction.IReactionProcess; import org.openscience.cdk.reaction.type.BreakingBondReaction; import org.openscience.cdk.reaction.type.HyperconjugationReaction; -import org.openscience.cdk.smiles.SmilesGenerator; import org.openscience.cdk.tools.HydrogenAdder; import org.openscience.cdk.tools.LoggingTool; import org.openscience.cdk.tools.StructureResonanceGenerator; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mig...@us...> - 2006-07-17 14:26:51
|
Revision: 6682 Author: miguelrojasch Date: 2006-07-17 07:26:37 -0700 (Mon, 17 Jul 2006) ViewCVS: http://svn.sourceforge.net/cdk/?rev=6682&view=rev Log Message: ----------- added to the calculation the structures obtained from Hyperconjugation process. Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java Modified: trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-07-14 14:05:09 UTC (rev 6681) +++ trunk/cdk/src/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2006-07-17 14:26:37 UTC (rev 6682) @@ -49,7 +49,7 @@ /** * <p>The calculation of the Gasteiger (PEPE) partial charges is based on * {@cdk.cite GM81}. This class doesn't implement the original method of the Marsili but the - * method based on H. Saller which is described from Petra manual</p> + * method based on H. Saller which is described from Petra manual version 2.6</p> * <p>They are calculated by generating all valence bond(resonance) structures * for this system and then weighting them on the basis of pi-orbital electronegativies * and formal considerations based on PEPE (Partial Equalization of pi-electronegativity).</p> @@ -72,9 +72,6 @@ /** Flag is set if the formal charge of a chemobject is changed due to resonance.*/ private static int ISCHANGEDFC = 0; - //private double DEOC_HYDROGEN = 20.02; - //private double MX_DAMP = 0.5; - private LoggingTool logger = new LoggingTool(GasteigerPEPEPartialCharges.class); @@ -113,11 +110,11 @@ if(setHI.getAtomContainerCount() == 0 ){ for(int i = 0; i < ac.getAtomCount() ; i++) ac.getAtomAt(i).setCharge(0.0); - return ac; + } } - + /*0: remove charge, flag ac*/ for(int j = 0 ; j < ac.getAtomCount(); j++){ ac.getAtomAt(j).setCharge(0.0); @@ -127,8 +124,10 @@ /*1: detect resonance structure*/ StructureResonanceGenerator gR = new StructureResonanceGenerator(); ISetOfAtomContainers iSet = gR.getAllStructures(ac); + if(setHI != null) + if( setHI.getAtomContainerCount() != 0) + iSet.add(setHI); - /*2: search whose atoms which don't keep their formal charge and set flags*/ double[][] sumCharges = new double[iSet.getAtomContainerCount()][ac.getAtomCount( )]; for(int i = 1; i < iSet.getAtomContainerCount() ; i++){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |