From: <eg...@us...> - 2008-01-31 15:37:55
|
Revision: 9983 http://cdk.svn.sourceforge.net/cdk/?rev=9983&view=rev Author: egonw Date: 2008-01-31 07:37:44 -0800 (Thu, 31 Jan 2008) Log Message: ----------- Synched with trunk; merged 9958:9982 Modified Paths: -------------- branches/miguelrojasch/reaction/.classpath branches/miguelrojasch/reaction/.externalToolBuilders/EclipsePreBuild.launch branches/miguelrojasch/reaction/build.xml branches/miguelrojasch/reaction/javadoc.xml branches/miguelrojasch/reaction/pmd-migrating.xml branches/miguelrojasch/reaction/pmd-unused.xml branches/miguelrojasch/reaction/pmd.xml branches/miguelrojasch/reaction/src/META-INF/structgen.cdkdepends branches/miguelrojasch/reaction/src/META-INF/test-extra.cdkdepends branches/miguelrojasch/reaction/src/META-INF/test-qsarmolecular.cdkdepends branches/miguelrojasch/reaction/src/META-INF/test-structgen.cdkdepends branches/miguelrojasch/reaction/src/META-INF/test-valencycheck.cdkdepends branches/miguelrojasch/reaction/src/org/openscience/cdk/DefaultChemObjectBuilder.java branches/miguelrojasch/reaction/src/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java branches/miguelrojasch/reaction/src/org/openscience/cdk/fingerprint/ExtendedFingerprinter.java branches/miguelrojasch/reaction/src/org/openscience/cdk/interfaces/IChemObjectBuilder.java branches/miguelrojasch/reaction/src/org/openscience/cdk/io/ShelXWriter.java branches/miguelrojasch/reaction/src/org/openscience/cdk/qsar/descriptors/molecular/HBondAcceptorCountDescriptor.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/atomtype/CDKAtomTypeMatcherTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/fingerprint/ExtendedFingerprinterTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/io/MDLReaderTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/io/ShelXWriterTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MdataTests.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MexperimentalTests.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MextraTests.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MioTests.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MstandardTests.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/qsar/descriptors/molecular/AromaticBondsCountDescriptorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/smiles/SmilesGeneratorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/smiles/SmilesParserTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/tools/CDKHydrogenAdderTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/tools/DeAromatizationToolTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/tools/MFAnalyserTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/tools/DeAromatizationTool.java branches/miguelrojasch/reaction/src/org/openscience/cdk/tools/MFAnalyser.java branches/miguelrojasch/reaction/tools/nightly.py Added Paths: ----------- branches/miguelrojasch/reaction/src/META-INF/formula.cdkdepends branches/miguelrojasch/reaction/src/META-INF/formula.libdepends branches/miguelrojasch/reaction/src/META-INF/test-formula.cdkdepends branches/miguelrojasch/reaction/src/META-INF/test-formula.devellibdepends branches/miguelrojasch/reaction/src/META-INF/test-formula.libdepends branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IMolecularFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IMolecularFormulaSet.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IsotopePatternGenerator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MassToFormulaTool.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaChecker.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaRange.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaRangeManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaSet.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaSetManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ChargeRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ElementRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/IRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/IsotopePatternRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/MMElementRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ToleranceRangeRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/FormulaCoverageTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/ branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/AdductFormulaTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/IsotopePatternGeneratorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MassToFormulaToolTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaCheckerTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaRangeManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaRangeTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaSetManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaSetTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ChargeRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ElementRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/FormulaRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/IsotopePatternRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/MMElementRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ToleranceRangeRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/modulesuites/MformulaTests.java Removed Paths: ------------- branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IMolecularFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IMolecularFormulaSet.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IsotopePatternGenerator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MassToFormulaTool.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormula.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaChecker.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaRange.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaRangeManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaSet.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/MolecularFormulaSetManipulator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ChargeRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ElementRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/IRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/IsotopePatternRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/MMElementRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/rules/ToleranceRangeRule.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/AdductFormulaTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/IsotopePatternGeneratorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MassToFormulaToolTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaCheckerTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaRangeManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaRangeTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaSetManipulatorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaSetTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/MolecularFormulaTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ChargeRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ElementRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/FormulaRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/IsotopePatternRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/MMElementRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/formula/rules/ToleranceRangeRuleTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/test/tools/IsotopeGeneratorTest.java branches/miguelrojasch/reaction/src/org/openscience/cdk/tools/IsotopeGenerator.java branches/miguelrojasch/reaction/src/org/openscience/cdk/tools/MassToFormulaTool.java Modified: branches/miguelrojasch/reaction/.classpath =================================================================== --- branches/miguelrojasch/reaction/.classpath 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/.classpath 2008-01-31 15:37:44 UTC (rev 9983) @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry excluding="org/openscience/cdk/libio/joelib/Convertor.java|org/openscience/cdk/test/libio/joelib/JOELibIOTest.java" kind="src" path="src"/> - <classpathentry kind="src" path="perf"/> <classpathentry kind="lib" path="develjar/ant_doxygen.jar"/> <classpathentry kind="lib" path="develjar/dbdoclet.jar"/> <classpathentry kind="lib" path="doc/jar/jabref.jar"/> Modified: branches/miguelrojasch/reaction/.externalToolBuilders/EclipsePreBuild.launch =================================================================== --- branches/miguelrojasch/reaction/.externalToolBuilders/EclipsePreBuild.launch 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/.externalToolBuilders/EclipsePreBuild.launch 2008-01-31 15:37:44 UTC (rev 9983) @@ -1,16 +1,16 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="preBuild,"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/> <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/> -<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/> -<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> -<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> -<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/> -<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="preBuild,"/> -<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="preBuild,"/> <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/> +<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/cdk/build-eclipse.xml}"/> +<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="preBuild,"/> </launchConfiguration> Modified: branches/miguelrojasch/reaction/build.xml =================================================================== --- branches/miguelrojasch/reaction/build.xml 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/build.xml 2008-01-31 15:37:44 UTC (rev 9983) @@ -449,6 +449,7 @@ <antcall target="compile-module"><param name="module" value="control"/></antcall> <antcall target="compile-module"><param name="module" value="datadebug"/></antcall> <antcall target="compile-module"><param name="module" value="nonotify"/></antcall> + <antcall target="compile-module"><param name="module" value="formula"/></antcall> <antcall target="compile-module"><param name="module" value="structgen"/></antcall> <antcall target="compile-module"><param name="module" value="pdb"/></antcall> <antcall target="compile-module"><param name="module" value="extra"/></antcall> @@ -474,7 +475,7 @@ <antcall target="compile-module"><param name="module" value="experimental"/></antcall> <antcall target="compile-module"><param name="module" value="pcore"/></antcall> <antcall target="compile-module"><param name="module" value="applications"/></antcall> - <antcall target="compile-module"><param name="module" value="inchi"/></antcall> + <antcall target="compile-module"><param name="module" value="inchi"/></antcall> </target> <target id="test-dist-all" name="test-dist-all" description="test-dist-all"> @@ -507,6 +508,7 @@ <antcall target="compile-module"><param name="module" value="test-libiomd"/></antcall> <antcall target="compile-module"><param name="module" value="test-smarts"/></antcall> <antcall target="compile-module"><param name="module" value="test-pcore"/></antcall> + <antcall target="compile-module"><param name="module" value="test-formula"/></antcall> </target> <target id="dist-large" name="dist-large" depends="dist-all" @@ -551,6 +553,7 @@ <includesfile name="${metainf}/inchi.libdepends"/> <includesfile name="${metainf}/smarts.libdepends"/> <includesfile name="${metainf}/pcore.libdepends"/> + <includesfile name="${metainf}/formula.libdepends"/> </fileset> <fileset dir="${dist}/jar"> <include name="cdk-applications.jar"/> @@ -592,6 +595,7 @@ <include name="cdk-sdg.jar"/> <include name="cdk-inchi.jar"/> <include name="cdk-pcore.jar"/> + <include name="cdk-formula.jar"/> </fileset> </unjar> @@ -659,6 +663,7 @@ <include name="cdk-sdg.jar"/> <include name="cdk-inchi.jar"/> <include name="cdk-pcore.jar"/> + <include name="cdk-formula.jar"/> </fileset> </unjar> @@ -714,6 +719,7 @@ <includesfile name="${metainf}/test-weka.libdepends"/> <includesfile name="${metainf}/test-libiomd.libdepends"/> <includesfile name="${metainf}/test-pcore.libdepends"/> + <includesfile name="${metainf}/test-formula.libdepends"/> </fileset> <fileset dir="${dist}/jar"> <include name="cdk-test-core.jar"/> @@ -742,6 +748,7 @@ <include name="cdk-test-weka.jar"/> <include name="cdk-test-libiomd.jar"/> <include name="cdk-test-pcore.jar"/> + <include name="cdk-test-formula.jar"/> </fileset> </unjar> @@ -985,6 +992,7 @@ <antcall target="test-module"><param name="module" value="inchi"/></antcall> <antcall target="test-module"><param name="module" value="structgen"/></antcall> <antcall target="test-module"><param name="module" value="libiomd"/></antcall> + <antcall target="test-module"><param name="module" value="formula"/></antcall> </target> <target id="limitations" name="limitations" depends="noJunit, dist-all" Modified: branches/miguelrojasch/reaction/javadoc.xml =================================================================== --- branches/miguelrojasch/reaction/javadoc.xml 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/javadoc.xml 2008-01-31 15:37:44 UTC (rev 9983) @@ -123,6 +123,7 @@ <antcall target="doccheck-module"><param name="module" value="io"/></antcall> <antcall target="doccheck-module"><param name="module" value="inchi"/></antcall> <antcall target="doccheck-module"><param name="module" value="extra"/></antcall> + <antcall target="doccheck-module"><param name="module" value="formula"/></antcall> <antcall target="doccheck-module"><param name="module" value="render"/></antcall> <antcall target="doccheck-module"><param name="module" value="reaction"/></antcall> <antcall target="doccheck-module"><param name="module" value="libio-cml"/></antcall> Modified: branches/miguelrojasch/reaction/pmd-migrating.xml =================================================================== --- branches/miguelrojasch/reaction/pmd-migrating.xml 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/pmd-migrating.xml 2008-01-31 15:37:44 UTC (rev 9983) @@ -37,6 +37,7 @@ <antcall target="test-module"><param name="module" value="atomtype"/></antcall> <antcall target="test-module"><param name="module" value="io"/></antcall> <antcall target="test-module"><param name="module" value="extra"/></antcall> + <antcall target="test-module"><param name="module" value="formula"/></antcall> <antcall target="test-module"><param name="module" value="render"/></antcall> <antcall target="test-module"><param name="module" value="reaction"/></antcall> <antcall target="test-module"><param name="module" value="libio-cml"/></antcall> Modified: branches/miguelrojasch/reaction/pmd-unused.xml =================================================================== --- branches/miguelrojasch/reaction/pmd-unused.xml 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/pmd-unused.xml 2008-01-31 15:37:44 UTC (rev 9983) @@ -37,6 +37,7 @@ <antcall target="test-module"><param name="module" value="atomtype"/></antcall> <antcall target="test-module"><param name="module" value="io"/></antcall> <antcall target="test-module"><param name="module" value="extra"/></antcall> + <antcall target="test-module"><param name="module" value="formula"/></antcall> <antcall target="test-module"><param name="module" value="render"/></antcall> <antcall target="test-module"><param name="module" value="reaction"/></antcall> <antcall target="test-module"><param name="module" value="libio-cml"/></antcall> Modified: branches/miguelrojasch/reaction/pmd.xml =================================================================== --- branches/miguelrojasch/reaction/pmd.xml 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/pmd.xml 2008-01-31 15:37:44 UTC (rev 9983) @@ -37,6 +37,7 @@ <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="atomtype"/></antcall> <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="io"/></antcall> <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="extra"/></antcall> + <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="formula"/></antcall> <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="render"/></antcall> <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="reaction"/></antcall> <antcall target="test-module"><param name="pmd.test" value="custom"/><param name="module" value="libio-cml"/></antcall> Copied: branches/miguelrojasch/reaction/src/META-INF/formula.cdkdepends (from rev 9982, trunk/cdk/src/META-INF/formula.cdkdepends) =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/formula.cdkdepends (rev 0) +++ branches/miguelrojasch/reaction/src/META-INF/formula.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,4 @@ +cdk-core.jar +cdk-extra.jar +cdk-interfaces.jar +cdk-standard.jar \ No newline at end of file Copied: branches/miguelrojasch/reaction/src/META-INF/formula.libdepends (from rev 9982, trunk/cdk/src/META-INF/formula.libdepends) =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/formula.libdepends (rev 0) +++ branches/miguelrojasch/reaction/src/META-INF/formula.libdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,2 @@ +vecmath1.2-1.14.jar + Modified: branches/miguelrojasch/reaction/src/META-INF/structgen.cdkdepends =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/structgen.cdkdepends 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/META-INF/structgen.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -2,3 +2,4 @@ cdk-core.jar cdk-standard.jar cdk-nonotify.jar +cdk-formula.jar Modified: branches/miguelrojasch/reaction/src/META-INF/test-extra.cdkdepends =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-extra.cdkdepends 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/META-INF/test-extra.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -21,3 +21,4 @@ cdk-smiles.jar cdk-charges.jar cdk-test.jar +cdk-formula.jar Copied: branches/miguelrojasch/reaction/src/META-INF/test-formula.cdkdepends (from rev 9982, trunk/cdk/src/META-INF/test-formula.cdkdepends) =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-formula.cdkdepends (rev 0) +++ branches/miguelrojasch/reaction/src/META-INF/test-formula.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,11 @@ +cdk-interfaces.jar +cdk-data.jar +cdk-nonotify.jar +cdk-core.jar +cdk-standard.jar +cdk-test.jar +cdk-formula.jar +cdk-extra.jar +cdk-smiles.jar +cdk-valencycheck.jar +cdk-atomtype.jar Copied: branches/miguelrojasch/reaction/src/META-INF/test-formula.devellibdepends (from rev 9982, trunk/cdk/src/META-INF/test-formula.devellibdepends) =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-formula.devellibdepends (rev 0) +++ branches/miguelrojasch/reaction/src/META-INF/test-formula.devellibdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,2 @@ +junit-4.3.1.jar + Copied: branches/miguelrojasch/reaction/src/META-INF/test-formula.libdepends (from rev 9982, trunk/cdk/src/META-INF/test-formula.libdepends) =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-formula.libdepends (rev 0) +++ branches/miguelrojasch/reaction/src/META-INF/test-formula.libdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,5 @@ +Jama-1.0.1.jar +jgrapht-0.6.0.jar +log4j.jar +vecmath1.2-1.14.jar +xom-1.1.jar Modified: branches/miguelrojasch/reaction/src/META-INF/test-qsarmolecular.cdkdepends =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-qsarmolecular.cdkdepends 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/META-INF/test-qsarmolecular.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -17,3 +17,4 @@ cdk-test.jar cdk-test-qsar.jar cdk-test-qsarbond.jar +cdk-formula.jar Modified: branches/miguelrojasch/reaction/src/META-INF/test-structgen.cdkdepends =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-structgen.cdkdepends 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/META-INF/test-structgen.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -9,3 +9,4 @@ cdk-smiles.jar cdk-extra.jar cdk-test.jar +cdk-formula.jar Modified: branches/miguelrojasch/reaction/src/META-INF/test-valencycheck.cdkdepends =================================================================== --- branches/miguelrojasch/reaction/src/META-INF/test-valencycheck.cdkdepends 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/META-INF/test-valencycheck.cdkdepends 2008-01-31 15:37:44 UTC (rev 9983) @@ -9,3 +9,4 @@ cdk-valencycheck.jar cdk-smiles.jar cdk-test.jar +cdk-formula.jar Modified: branches/miguelrojasch/reaction/src/org/openscience/cdk/DefaultChemObjectBuilder.java =================================================================== --- branches/miguelrojasch/reaction/src/org/openscience/cdk/DefaultChemObjectBuilder.java 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/DefaultChemObjectBuilder.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -60,7 +60,6 @@ import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.interfaces.ISingleElectron; import org.openscience.cdk.interfaces.IStrand; -import org.openscience.cdk.interfaces.IBond.Order; import org.openscience.cdk.protein.data.PDBAtom; import org.openscience.cdk.protein.data.PDBMonomer; import org.openscience.cdk.protein.data.PDBPolymer; @@ -143,11 +142,11 @@ return new Bond(atom1, atom2); } - public IBond newBond(IAtom atom1, IAtom atom2, Order order) { + public IBond newBond(IAtom atom1, IAtom atom2, IBond.Order order) { return new Bond(atom1, atom2, order); } - public IBond newBond(IAtom atom1, IAtom atom2, Order order, int stereo) { + public IBond newBond(IAtom atom1, IAtom atom2, IBond.Order order, int stereo) { return new Bond(atom1, atom2, order, stereo); } @@ -232,7 +231,7 @@ public IMolecule newMolecule(IAtomContainer container) { return new Molecule(container); } - + public IMonomer newMonomer () { return new Monomer(); } Modified: branches/miguelrojasch/reaction/src/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java =================================================================== --- branches/miguelrojasch/reaction/src/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -522,7 +522,7 @@ return null; } else if (atom.getHybridization() != CDKConstants.UNSET && (atom.getFormalCharge() == CDKConstants.UNSET || - atom.getFormalCharge() == 0)) { + atom.getFormalCharge() != 0)) { if (atom.getHybridization() == Hybridization.SP2 && atom.getFormalCharge() == +1) { IAtomType type = getAtomType("S.plus"); Modified: branches/miguelrojasch/reaction/src/org/openscience/cdk/fingerprint/ExtendedFingerprinter.java =================================================================== --- branches/miguelrojasch/reaction/src/org/openscience/cdk/fingerprint/ExtendedFingerprinter.java 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/fingerprint/ExtendedFingerprinter.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -43,8 +43,8 @@ * @cdk.created 2006-01-13 * @cdk.keyword fingerprint * @cdk.keyword similarity - * @cdk.module standard - * @cdk.svnrev $Revision: 9162 $ + * @cdk.module extra + * @cdk.svnrev $Revision: 9162 $ * * @see org.openscience.cdk.fingerprint.Fingerprinter */ Copied: branches/miguelrojasch/reaction/src/org/openscience/cdk/formula (from rev 9982, trunk/cdk/src/org/openscience/cdk/formula) Deleted: branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/formula/AdductFormula.java 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -1,351 +0,0 @@ -/* $RCSfile$ - * $Author: egonw $ - * $Date: 2007-09-03 12:53:05 +0200 (Mon, 03 Sep 2007) $ - * $Revision: 8848 $ - * - * Copyright (C) 2007 Miguel Rojasch <mig...@us...> - * - * Contact: cdk...@li... - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - */ -package org.openscience.cdk.formula; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.openscience.cdk.annotations.TestClass; -import org.openscience.cdk.annotations.TestMethod; -import org.openscience.cdk.interfaces.IIsotope; -import org.openscience.cdk.formula.IMolecularFormula; - -/** - * Class defining an adduct object in a MolecularFormula. It maintains - * a list of list IMolecularFormula.<p> - * - * Examples: - * <ul> - * <li><code>[C2H4O2+Na]+</code></li> - * </ul> - * - * @cdk.module formula - * @author miguelrojasch - * @cdk.created 2007-11-20 - * @cdk.keyword molecular formula - */ -@TestClass("org.openscience.cdk.test.formula.AdductFormulaTest") -public class AdductFormula implements Iterable<IMolecularFormula>, IAdductFormula, Cloneable{ - - /** - * Determines if a de-serialized object is compatible with this class. - * - * This value must only be changed if and only if the new version - * of this class is imcompatible with the old version. See Sun docs - * for <a href=http://java.sun.com/products/jdk/1.1/docs/guide - * /serialization/spec/version.doc.html>details</a>. - */ - private static final long serialVersionUID = -811384981700039389L; - - /** Internal List of IMolecularFormula. */ - private List<IMolecularFormula> components; - - /** - * Constructs an empty AdductFormula. - * - * @see #AdductFormula(IMolecularFormula) - */ - public AdductFormula() { - components = new ArrayList<IMolecularFormula>(); - } - - /** - * Constructs an AdductFormula with a copy AdductFormula of another - * AdductFormula (A shallow copy, i.e., with the same objects as in - * the original AdductFormula). - * - * @param formula An MolecularFormula to copy from - * @see #AdductFormula() - */ - public AdductFormula(IMolecularFormula formula) { - components = new ArrayList<IMolecularFormula>(); - components.add(0, formula); - } - - /** - * Adds an molecularFormula to this chemObject. - * - * @param formula The molecularFormula to be added to this chemObject - */ - @TestMethod("testAddMolecularFormula_IMolecularFormula") - public void addMolecularFormula(IMolecularFormula formula) { - components.add(formula); - } - /** - * Adds all molecularFormulas in the AdductFormula to this chemObject. - * - * @param formulaSet The MolecularFormulaSet - */ - @TestMethod("testAdd_IMolecularFormulaSet") - public void add(IMolecularFormulaSet formulaSet) { - - for (IMolecularFormula mf : formulaSet.molecularFormulas()){ - addMolecularFormula(mf); - } - /* - * notifyChanged() is called by addAtomContainer() - */ - } - - /** - * True, if the AdductFormula contains the given IIsotope object and not - * the instance. The method looks for other isotopes which has the same - * symbol, natural abundance and exact mass. - * - * @param isotope The IIsotope this AdductFormula is searched for - * @return True, if the AdductFormula contains the given isotope object - */ - @TestMethod("testContains_IIsotope") - public boolean contains(IIsotope isotope) { - for(Iterator<IIsotope> it = isotopes(); it.hasNext(); ) { - IIsotope thisIsotope = it.next(); - if(isTheSame(thisIsotope, isotope)){ - return true; - } - } - return false; - } - - /** - * Returns the partial charge of this Adduct. If the charge - * has not been set the return value is Double.NaN. - * - * @return the charge of this Adduct - * - * @see #setCharge - */ - @TestMethod("testGetCharge") - public Double getCharge() { - Double charge = 0.0; - Iterator<IMolecularFormula> componentIterator = components.iterator(); - while (componentIterator.hasNext()) { - charge += componentIterator.next().getCharge(); - } - return charge; - } - - /** - * Checks a set of Nodes for the occurrence of the isotope in the - * adduct formula from a particular isotope. It returns 0 if the does not exist. - * - * @param isotope The IIsotope to look for - * @return The occurrence of this isotope in this adduct - * @see #getIsotopeCount() - */ - @TestMethod("testGetIsotopeCount_IIsotope") - public int getIsotopeCount(IIsotope isotope) { - int count = 0; - Iterator<IMolecularFormula> componentIterator = components.iterator(); - while (componentIterator.hasNext()) { - count += componentIterator.next().getIsotopeCount(isotope); - } - return count; - } - - /** - * Checks a set of Nodes for the number of different isotopes in the - * adduct formula. - * - * @return The the number of different isotopes in this adduct formula - * @see #getIsotopeCount(IIsotope) - */ - @TestMethod("testGetIsotopeCount") - public int getIsotopeCount() { - return isotopesList().size(); - } - - - /** - * Returns an Iterator for looping over all isotopes in this adduct formula. - * - * @return An Iterator with the isotopes in this adduct formula - */ - @TestMethod("testIsotopes") - public Iterator<IIsotope> isotopes() { - return isotopesList().iterator(); - } - - /** - * Returns a List for looping over all isotopes in this adduct formula. - * - * @return A List with the isotopes in this adduct formula - */ - private List<IIsotope> isotopesList() { - List<IIsotope> isotopes = new ArrayList<IIsotope>(); - Iterator<IMolecularFormula> componentIterator = components.iterator(); - while (componentIterator.hasNext()) { - Iterator<IIsotope> compIsotopes = componentIterator.next().isotopes(); - while (compIsotopes.hasNext()) { - IIsotope isotope = compIsotopes.next(); - if (!isotopes.contains(isotope)) { - isotopes.add(isotope); - } - } - } - return isotopes; - } - - /** - * No use this method. The charge is defined in each - * IMolecularFormula. - * - * @param charge The partial charge - * @deprecated - * - * @see #getCharge - */ - @TestMethod("testSetCharge") - public void setCharge(Double charge) { - throw new java.lang.IllegalAccessError(); - } - - /** - * Returns an Iterable for looping over all IMolecularFormula - * in this adduct formula. - * - * @return An Iterable with the IMolecularFormula in this adduct formula - */ - @TestMethod("testMolecularFormulas") - public Iterable<IMolecularFormula> molecularFormulas() { - return components; - } - - /** - * Returns an Iterator for looping over all IMolecularFormula - * in this adduct formula. - * - * @return An Iterator with the IMolecularFormula in this adduct formula - */ - @TestMethod("testIterator") - public Iterator<IMolecularFormula> iterator() { - return components.iterator(); - } - - /** - * Returns the number of MolecularFormulas in this AdductFormula. - * - * @return The number of MolecularFormulas in this AdductFormula - */ - @TestMethod("testSize") - public int size() { - return components.size(); - } - - /** - * True, if the AdductFormula contains the given IMolecularFormula object. - * - * @param formula The IMolecularFormula this AdductFormula is searched for - * @return True, if the AdductFormula contains the given IMolecularFormula object - */ - @TestMethod("testContains_IMolecularFormula") - public boolean contains(IMolecularFormula formula) { - return components.contains(formula); - } - - /** - * - * Returns the MolecularFormula at position <code>number</code> in the - * chemObject. - * - * @param number The position of the IMolecularFormula to be returned. - * @return The IMolecularFormula at position <code>number</code> . - */ - @TestMethod("testGetMolecularFormulas_int") - public IMolecularFormula getMolecularFormula(int position) { - return components.get(position); - } - - /** - * Removes all IMolecularFormula from this chemObject. - */ - @TestMethod("testRemoveAllMolecularFormulas") - public void removeAllMolecularFormulas() { - components.clear(); - } - - /** - * Removes an IMolecularFormula from this chemObject. - * - * @param formula The IMolecularFormula to be removed from this chemObject - */ - @TestMethod("testRemoveMolecularFormula_IMolecularFormula") - public void removeMolecularFormula(IMolecularFormula formula) { - components.remove(formula); - } - - /** - * Removes an MolecularFormula from this chemObject. - * - * @param pos The position of the MolecularFormula to be removed from this chemObject - */ - @TestMethod("testRemoveMolecularFormula_int") - public void removeMolecularFormula(int position) { - components.remove(position); - } - /** - * Clones this AdductFormula object and its content. - * - * @return The cloned object - */ - @TestMethod("testClone") - public Object clone() throws CloneNotSupportedException { - -// /* it is not a super class of chemObject */ -// AdductFormula clone = (AdductFormula) super.clone(); -// // start from scratch -// clone.removeAllMolecularFormulas(); -// // clone all molecularFormulas -// Iterator<IMolecularFormula> iterForm = this.molecularFormulas(); -// while(iterForm.hasNext()){ -// clone.addMolecularFormula((IMolecularFormula) iterForm.next().clone()); -// } - - AdductFormula clone = new AdductFormula(); - for(IMolecularFormula form: this.molecularFormulas()){ - clone.addMolecularFormula((IMolecularFormula) form.clone()); - } - return clone; - } - - /** - * Compare to IIsotope. The method doesn't compare instance but if they - * have the same symbol, natural abundance and exact mass. - * - * @param isotopeOne The first Isotope to compare - * @param isotopeTwo The second Isotope to compare - * @return True, if both isotope are the same - */ - private boolean isTheSame(IIsotope isotopeOne, IIsotope isotopeTwo) { - - if(isotopeOne.getSymbol() != isotopeTwo.getSymbol() ) - return false; - if(isotopeOne.getNaturalAbundance() != isotopeTwo.getNaturalAbundance() ) - return false; - if(isotopeOne.getExactMass() != isotopeTwo.getExactMass() ) - return false; - - return true; - } -} Copied: branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java (from rev 9982, trunk/cdk/src/org/openscience/cdk/formula/AdductFormula.java) =================================================================== --- branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java (rev 0) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/AdductFormula.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,351 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2007-09-03 12:53:05 +0200 (Mon, 03 Sep 2007) $ + * $Revision: 8848 $ + * + * Copyright (C) 2007 Miguel Rojasch <mig...@us...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.cdk.formula; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.openscience.cdk.annotations.TestClass; +import org.openscience.cdk.annotations.TestMethod; +import org.openscience.cdk.interfaces.IIsotope; +import org.openscience.cdk.formula.IMolecularFormula; + +/** + * Class defining an adduct object in a MolecularFormula. It maintains + * a list of list IMolecularFormula.<p> + * + * Examples: + * <ul> + * <li><code>[C2H4O2+Na]+</code></li> + * </ul> + * + * @cdk.module formula + * @author miguelrojasch + * @cdk.created 2007-11-20 + * @cdk.keyword molecular formula + */ +@TestClass("org.openscience.cdk.test.formula.AdductFormulaTest") +public class AdductFormula implements Iterable<IMolecularFormula>, IAdductFormula, Cloneable{ + + /** + * Determines if a de-serialized object is compatible with this class. + * + * This value must only be changed if and only if the new version + * of this class is imcompatible with the old version. See Sun docs + * for <a href=http://java.sun.com/products/jdk/1.1/docs/guide + * /serialization/spec/version.doc.html>details</a>. + */ + private static final long serialVersionUID = -811384981700039389L; + + /** Internal List of IMolecularFormula. */ + private List<IMolecularFormula> components; + + /** + * Constructs an empty AdductFormula. + * + * @see #AdductFormula(IMolecularFormula) + */ + public AdductFormula() { + components = new ArrayList<IMolecularFormula>(); + } + + /** + * Constructs an AdductFormula with a copy AdductFormula of another + * AdductFormula (A shallow copy, i.e., with the same objects as in + * the original AdductFormula). + * + * @param formula An MolecularFormula to copy from + * @see #AdductFormula() + */ + public AdductFormula(IMolecularFormula formula) { + components = new ArrayList<IMolecularFormula>(); + components.add(0, formula); + } + + /** + * Adds an molecularFormula to this chemObject. + * + * @param formula The molecularFormula to be added to this chemObject + */ + @TestMethod("testAddMolecularFormula_IMolecularFormula") + public void addMolecularFormula(IMolecularFormula formula) { + components.add(formula); + } + /** + * Adds all molecularFormulas in the AdductFormula to this chemObject. + * + * @param formulaSet The MolecularFormulaSet + */ + @TestMethod("testAdd_IMolecularFormulaSet") + public void add(IMolecularFormulaSet formulaSet) { + + for (IMolecularFormula mf : formulaSet.molecularFormulas()){ + addMolecularFormula(mf); + } + /* + * notifyChanged() is called by addAtomContainer() + */ + } + + /** + * True, if the AdductFormula contains the given IIsotope object and not + * the instance. The method looks for other isotopes which has the same + * symbol, natural abundance and exact mass. + * + * @param isotope The IIsotope this AdductFormula is searched for + * @return True, if the AdductFormula contains the given isotope object + */ + @TestMethod("testContains_IIsotope") + public boolean contains(IIsotope isotope) { + for(Iterator<IIsotope> it = isotopes(); it.hasNext(); ) { + IIsotope thisIsotope = it.next(); + if(isTheSame(thisIsotope, isotope)){ + return true; + } + } + return false; + } + + /** + * Returns the partial charge of this Adduct. If the charge + * has not been set the return value is Double.NaN. + * + * @return the charge of this Adduct + * + * @see #setCharge + */ + @TestMethod("testGetCharge") + public Double getCharge() { + Double charge = 0.0; + Iterator<IMolecularFormula> componentIterator = components.iterator(); + while (componentIterator.hasNext()) { + charge += componentIterator.next().getCharge(); + } + return charge; + } + + /** + * Checks a set of Nodes for the occurrence of the isotope in the + * adduct formula from a particular isotope. It returns 0 if the does not exist. + * + * @param isotope The IIsotope to look for + * @return The occurrence of this isotope in this adduct + * @see #getIsotopeCount() + */ + @TestMethod("testGetIsotopeCount_IIsotope") + public int getIsotopeCount(IIsotope isotope) { + int count = 0; + Iterator<IMolecularFormula> componentIterator = components.iterator(); + while (componentIterator.hasNext()) { + count += componentIterator.next().getIsotopeCount(isotope); + } + return count; + } + + /** + * Checks a set of Nodes for the number of different isotopes in the + * adduct formula. + * + * @return The the number of different isotopes in this adduct formula + * @see #getIsotopeCount(IIsotope) + */ + @TestMethod("testGetIsotopeCount") + public int getIsotopeCount() { + return isotopesList().size(); + } + + + /** + * Returns an Iterator for looping over all isotopes in this adduct formula. + * + * @return An Iterator with the isotopes in this adduct formula + */ + @TestMethod("testIsotopes") + public Iterator<IIsotope> isotopes() { + return isotopesList().iterator(); + } + + /** + * Returns a List for looping over all isotopes in this adduct formula. + * + * @return A List with the isotopes in this adduct formula + */ + private List<IIsotope> isotopesList() { + List<IIsotope> isotopes = new ArrayList<IIsotope>(); + Iterator<IMolecularFormula> componentIterator = components.iterator(); + while (componentIterator.hasNext()) { + Iterator<IIsotope> compIsotopes = componentIterator.next().isotopes(); + while (compIsotopes.hasNext()) { + IIsotope isotope = compIsotopes.next(); + if (!isotopes.contains(isotope)) { + isotopes.add(isotope); + } + } + } + return isotopes; + } + + /** + * No use this method. The charge is defined in each + * IMolecularFormula. + * + * @param charge The partial charge + * @deprecated + * + * @see #getCharge + */ + @TestMethod("testSetCharge") + public void setCharge(Double charge) { + throw new java.lang.IllegalAccessError(); + } + + /** + * Returns an Iterable for looping over all IMolecularFormula + * in this adduct formula. + * + * @return An Iterable with the IMolecularFormula in this adduct formula + */ + @TestMethod("testMolecularFormulas") + public Iterable<IMolecularFormula> molecularFormulas() { + return components; + } + + /** + * Returns an Iterator for looping over all IMolecularFormula + * in this adduct formula. + * + * @return An Iterator with the IMolecularFormula in this adduct formula + */ + @TestMethod("testIterator") + public Iterator<IMolecularFormula> iterator() { + return components.iterator(); + } + + /** + * Returns the number of MolecularFormulas in this AdductFormula. + * + * @return The number of MolecularFormulas in this AdductFormula + */ + @TestMethod("testSize") + public int size() { + return components.size(); + } + + /** + * True, if the AdductFormula contains the given IMolecularFormula object. + * + * @param formula The IMolecularFormula this AdductFormula is searched for + * @return True, if the AdductFormula contains the given IMolecularFormula object + */ + @TestMethod("testContains_IMolecularFormula") + public boolean contains(IMolecularFormula formula) { + return components.contains(formula); + } + + /** + * + * Returns the MolecularFormula at position <code>number</code> in the + * chemObject. + * + * @param number The position of the IMolecularFormula to be returned. + * @return The IMolecularFormula at position <code>number</code> . + */ + @TestMethod("testGetMolecularFormulas_int") + public IMolecularFormula getMolecularFormula(int position) { + return components.get(position); + } + + /** + * Removes all IMolecularFormula from this chemObject. + */ + @TestMethod("testRemoveAllMolecularFormulas") + public void removeAllMolecularFormulas() { + components.clear(); + } + + /** + * Removes an IMolecularFormula from this chemObject. + * + * @param formula The IMolecularFormula to be removed from this chemObject + */ + @TestMethod("testRemoveMolecularFormula_IMolecularFormula") + public void removeMolecularFormula(IMolecularFormula formula) { + components.remove(formula); + } + + /** + * Removes an MolecularFormula from this chemObject. + * + * @param pos The position of the MolecularFormula to be removed from this chemObject + */ + @TestMethod("testRemoveMolecularFormula_int") + public void removeMolecularFormula(int position) { + components.remove(position); + } + /** + * Clones this AdductFormula object and its content. + * + * @return The cloned object + */ + @TestMethod("testClone") + public Object clone() throws CloneNotSupportedException { + +// /* it is not a super class of chemObject */ +// AdductFormula clone = (AdductFormula) super.clone(); +// // start from scratch +// clone.removeAllMolecularFormulas(); +// // clone all molecularFormulas +// Iterator<IMolecularFormula> iterForm = this.molecularFormulas(); +// while(iterForm.hasNext()){ +// clone.addMolecularFormula((IMolecularFormula) iterForm.next().clone()); +// } + + AdductFormula clone = new AdductFormula(); + for(IMolecularFormula form: this.molecularFormulas()){ + clone.addMolecularFormula((IMolecularFormula) form.clone()); + } + return clone; + } + + /** + * Compare to IIsotope. The method doesn't compare instance but if they + * have the same symbol, natural abundance and exact mass. + * + * @param isotopeOne The first Isotope to compare + * @param isotopeTwo The second Isotope to compare + * @return True, if both isotope are the same + */ + private boolean isTheSame(IIsotope isotopeOne, IIsotope isotopeTwo) { + + if(isotopeOne.getSymbol() != isotopeTwo.getSymbol() ) + return false; + if(isotopeOne.getNaturalAbundance() != isotopeTwo.getNaturalAbundance() ) + return false; + if(isotopeOne.getExactMass() != isotopeTwo.getExactMass() ) + return false; + + return true; + } +} Deleted: branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/formula/IAdductFormula.java 2008-01-31 10:07:16 UTC (rev 9982) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -1,105 +0,0 @@ -/* $RCSfile$ - * $Author: egonw $ - * $Date: 2007-09-03 12:53:05 +0200 (Mon, 03 Sep 2007) $ - * $Revision: 8848 $ - * - * Copyright (C) 2007 Miguel Rojasch <mig...@us...> - * - * Contact: cdk...@li... - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - */ -package org.openscience.cdk.formula; - -import java.util.Iterator; - -import org.openscience.cdk.interfaces.IIsotope; - -/** - * Class defining an adduct object in a MolecularFormula. It maintains - * a list of list IMolecularFormula.<p> - * - * Examples: - * <ul> - * <li><code>[C2H4O2+Na]+</code></li> - * </ul> - * - * @cdk.module formula - * @author miguelrojasch - * @cdk.created 2007-11-20 - * @cdk.keyword molecular formula - */ -public interface IAdductFormula extends IMolecularFormulaSet{ - - /** - * Checks a set of Nodes for the occurrence of the isotope in the - * adduct formula from a particular isotope. It returns 0 if the does not exist. - * - * @param isotope The IIsotope to look for - * @return The occurrence of this isotope in this adduct - * @see #getIsotopeCount() - */ - public int getIsotopeCount(IIsotope isotope); - - /** - * Checks a set of Nodes for the number of different isotopes in the - * adduct formula. - * - * @return The the number of different isotopes in this adduct formula - * @see #getIsotopeCount(IIsotope) - */ - public int getIsotopeCount(); - - /** - * Returns an Iterator for looping over all isotopes in this adduct formula. - * - * @return An Iterator with the isotopes in this adduct formula - */ - public Iterator<IIsotope> isotopes(); - - /** - * Returns the partial charge of this Adduct. If the charge - * has not been set the return value is Double.NaN. - * - * @return the charge of this Adduct - * - * @see #setCharge - */ - public Double getCharge(); - - /** - * True, if the AdductFormula contains the given IIsotope object. - * - * @param isotope The IIsotope this AdductFormula is searched for - * @return True, if the AdductFormula contains the given isotope object - */ - public boolean contains(IIsotope isotope); - - /** - * Sets the partial charge of this adduct formula. - * - * @param charge The partial charge - * - * @see #getCharge - */ - public void setCharge(Double charge) ; - - /** - * Clones this IAdductFormula object and its content. - * - * @return The cloned object - */ - public Object clone() throws CloneNotSupportedException ; -} Copied: branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java (from rev 9982, trunk/cdk/src/org/openscience/cdk/formula/IAdductFormula.java) =================================================================== --- branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java (rev 0) +++ branches/miguelrojasch/reaction/src/org/openscience/cdk/formula/IAdductFormula.java 2008-01-31 15:37:44 UTC (rev 9983) @@ -0,0 +1,105 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2007-09-03 12:53:05 +0200 (Mon, 03 Sep 2007) $ + * $Revision: 8848 $ + * + * Copyright (C) 2007 Miguel Rojasch <mig...@us...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.cdk.formula; + +import java.util.Iterator; + +import org.openscience.cdk.interfaces.IIsotope; + +/** + * Class defining an adduct object in a MolecularFormula. It maintains + * a list of list IMolecularFormula.<p> + * + * Examples: + * <ul> + * <li><code>[C2H4O2+Na]+</code></li> + * </ul> + * + * @cdk.module formula + * @author miguelrojasch + * @cdk.created 2007-11-20 + * @cdk.keyword molecular formula + */ +public interface IAdductFormula extends IMolecularFormulaSet{ + + /** + * Checks a set of Nodes for the occurrence of the isotope in the + * adduct formula from a particular isotope. It returns 0 if the does not exist. + * + * @param isotope The IIsotope to look for + * @return The occurrence of this isotope in this adduct + * @see #getIsotopeCount() + */ + public int getIsotopeCount(IIsotope isotope); + + /** + * Checks a set of Nodes for the number of different isotopes in the + * adduct formula. +... [truncated message content] |