From: <tho...@us...> - 2009-03-02 20:33:37
|
Revision: 14322 http://cdk.svn.sourceforge.net/cdk/?rev=14322&view=rev Author: thomaskuhn Date: 2009-03-02 20:33:24 +0000 (Mon, 02 Mar 2009) Log Message: ----------- Remove unit test for deleted classes Removed Paths: ------------- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateDensityBasedClustererModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateEMClusterTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateJ48WModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateKMeanClusterTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateLinearRegressionWModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateMultilayerPerceptronModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateNaiveBayesModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateSMOModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateSMOregModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateSimpleLinearRegressionModelTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/WFilterSupervisedResampleTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/WFilterUnSupervisedRandomizeTest.java cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/WFilterUnSupervisedResampleTest.java Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateDensityBasedClustererModelTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateDensityBasedClustererModelTest.java 2009-03-02 20:32:21 UTC (rev 14321) +++ cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateDensityBasedClustererModelTest.java 2009-03-02 20:33:24 UTC (rev 14322) @@ -1,220 +0,0 @@ -/* - * $Author$ - * $Date$ - * $Revision$ - * - * Copyright (C) 2006 by Mario Baseda <mar...@us...> - * - * 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. - * All we ask is that proper credit is given for our work, which includes - * - but is not limited to - adding the above copyright notice to the beginning - * of your source code files, and to any copyright notice that you may distribute - * with programs based on this work. - * - * 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.applications.taverna.qsar.model.weka; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.embl.ebi.escience.baclava.DataThing; -import org.openscience.cdk.applications.taverna.CDKTavernaTestCases; -import org.openscience.cdk.applications.taverna.CDKTavernaTestData; -import org.openscience.cdk.applications.taverna.CMLChemFile; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomDegree; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomValence; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.BondsToAtom; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.CovalentRadius; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.PiElectronegativity; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.ProtonTotalPartialCharge; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.AtomCount; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.BCUT; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.Weight; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.XLogP; - -/** - * TestSuite that runs a test for the GenerateDensityBasedClustererModel - * - * @author Mario Baseda - * @cdk.module taverna test-qsar - */ -public class GenerateDensityBasedClustererModelTest extends CDKTavernaTestCases{ -// CMLChemFile which contains the original data for the calculation of the descriptors - private CMLChemFile[] originalData = null; - // inputList which contains a list of the input data for the local workers - private List<CMLChemFile> inputList = null; - // map for the local worker input - private Map<String, DataThing> inputMap = null; - // map for the local worker result - private Map<String, DataThing> resultMap = null; - // Lists which contains the calculated results of the local worker - private List<CMLChemFile> resultList = null; - private List<CMLChemFile> newResultList = null; - // String[] contains the descriptor titles of which the descriptor values should be select - private String[] attributs = {"org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor", - "org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.BondsToAtomDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.BCUT", - "org.openscience.cdk.qsar.descriptors.atomic.AtomDegreeDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.PiElectronegativityDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.AtomValenceDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor"}; - // String[] contains the dependent values in the same order like the CML Chemfiles - private String[] y = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Aromat", "Amin", "Alkan", "Alkohol", "Amin"}; - // String[] contains the possible class attributes - private String[] classAttribs = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Amin"}; - - /** - * Constructor of the GenerateDensityBasedClustererModelTest - */ - public GenerateDensityBasedClustererModelTest(){} - - /** - * A unit test suite for JUnit - * - * @return The test suite - */ - public static Test suite() { - return new TestSuite(GenerateDensityBasedClustererModelTest.class); - } - - /** Generate a model of the given CML Chemfiles - * @throws Exception - */ - @SuppressWarnings("unchecked") - public void test_LocalWorkerGenerateDensityBasedClustererModel()throws Exception { - boolean hasAnError = false; - GenerateDensityBasedClustererModel gdbcm = new GenerateDensityBasedClustererModel(); - gdbcm.setY(y); - gdbcm.setClassAttributs(classAttribs); - Map<String, DataThing> resultMap = generate(gdbcm); - - if (resultMap.get(gdbcm.outputNames()[0])!= null){ - List<Double> tmp = (List<Double>) ((DataThing)(resultMap.get(gdbcm.outputNames()[0]))).getDataObject(); - if (tmp.size() == 0) hasAnError = true; - } else hasAnError = true; - if (resultMap.get(gdbcm.outputNames()[1])!= null){ - List<List<Double>> tmp = (List<List<Double>>) ((DataThing)(resultMap.get(gdbcm.outputNames()[1]))).getDataObject(); - if (tmp.size() == 0) hasAnError = true; - } else hasAnError = true; - if (resultMap.get(gdbcm.outputNames()[2])!= null){ - List<Double> tmp = (List<Double>) ((DataThing)(resultMap.get(gdbcm.outputNames()[2]))).getDataObject(); - if (tmp.size() == 0) hasAnError = true; - } else hasAnError = true; - if (resultMap.get(gdbcm.outputNames()[3])!= null){ - List<List<Double>> tmp = (List<List<Double>>) ((DataThing)(resultMap.get(gdbcm.outputNames()[3]))).getDataObject(); - if (tmp.size() == 0) hasAnError = true; - } else hasAnError = true; - if (resultMap.get(gdbcm.outputNames()[4])!= null){ - List<List<Double>> tmp = (List<List<Double>>) ((DataThing)(resultMap.get(gdbcm.outputNames()[4]))).getDataObject(); - if (tmp.size() == 0) hasAnError = true; - } else hasAnError = true; - assertEquals(hasAnError, false); - } - - /** This method lets calculate the descriptor values for the molecules - * @param gdbcm The model which should be built - * @return Map A Map with specific model parameters - * @throws Exception - */ - @SuppressWarnings("unchecked") - public Map<String, DataThing> generate(GenerateDensityBasedClustererModel gdbcm) throws Exception{ - resultMap = new HashMap<String, DataThing>(); - inputMap = new HashMap<String, DataThing>(); - AtomCount atomcount = new AtomCount(); - XLogP xLogP = new XLogP(); - AtomDegree ad = new AtomDegree(); - Weight weight = new Weight(); - BondsToAtom bondsToAtom = new BondsToAtom(); - BCUT bcut = new BCUT(); - ProtonTotalPartialCharge ptpc = new ProtonTotalPartialCharge(); - PiElectronegativity piE = new PiElectronegativity(); - AtomValence aVa = new AtomValence(); - CovalentRadius coRadius = new CovalentRadius(); - Selection selection = new Selection(); - Standardise standardise = new Standardise(); - standardise.setMinMax(0.1, 0.9); - selection.setDescriptor(attributs); - Map<String, Integer> cases = new HashMap<String, Integer>(); - for (int i = 0; i < attributs.length; i++){ - switch (i) - { - case 3: cases.put(attributs[i], 1); - break; - case 4: cases.put(attributs[i], 2); - break; - case 5: cases.put(attributs[i], 3); - break; - case 6: cases.put(attributs[i], 4); - break; - case 7: cases.put(attributs[i], 5); - break; - case 8: cases.put(attributs[i], 6); - break; - default: - break; - } - } - standardise.setCases(cases); - inputList = new ArrayList<CMLChemFile>(); - resultList = new ArrayList<CMLChemFile>(); - newResultList = new ArrayList<CMLChemFile>(); - CDKTavernaTestData.reloadTestData(); - originalData = CDKTavernaTestData.getCMLChemFile(); - for (int i = 0; i < originalData.length; i++) { - inputList.add(originalData[i]); - } - resultList = inputList; - inputMap.put(atomcount.inputNames()[0], new DataThing(inputList)); - resultMap = atomcount.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(atomcount.outputNames()[0]))).getDataObject(); - inputMap.put(xLogP.inputNames()[0], new DataThing(resultList)); - resultMap = xLogP.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(xLogP.outputNames()[0]))).getDataObject(); - inputMap.put(ad.inputNames()[0], new DataThing(resultList)); - resultMap = ad.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ad.outputNames()[0]))).getDataObject(); - inputMap.put(weight.inputNames()[0], new DataThing(resultList)); - resultMap = weight.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(weight.outputNames()[0]))).getDataObject(); - inputMap.put(bondsToAtom.inputNames()[0], new DataThing(resultList)); - resultMap = bondsToAtom.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bondsToAtom.outputNames()[0]))).getDataObject(); - inputMap.put(bcut.inputNames()[0], new DataThing(resultList)); - resultMap = bcut.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bcut.outputNames()[0]))).getDataObject(); - inputMap.put(ptpc.inputNames()[0], new DataThing(resultList)); - resultMap = ptpc.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ptpc.outputNames()[0]))).getDataObject(); - inputMap.put(piE.inputNames()[0], new DataThing(resultList)); - resultMap = piE.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(piE.outputNames()[0]))).getDataObject(); - inputMap.put(aVa.inputNames()[0], new DataThing(resultList)); - resultMap = aVa.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(aVa.outputNames()[0]))).getDataObject(); - inputMap.put(coRadius.inputNames()[0], new DataThing(resultList)); - resultMap = coRadius.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(coRadius.outputNames()[0]))).getDataObject(); - inputMap.put(selection.inputNames()[0], new DataThing(resultList)); - for (int i = 0; i < resultList.size(); i++) { - if (i%2 == 0) newResultList.add(resultList.get(i)); - } - inputMap.put(selection.inputNames()[1], new DataThing(newResultList)); - resultMap = selection.execute(inputMap); - resultMap = standardise.execute(resultMap); - return gdbcm.execute(resultMap); - } -} Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateEMClusterTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateEMClusterTest.java 2009-03-02 20:32:21 UTC (rev 14321) +++ cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateEMClusterTest.java 2009-03-02 20:33:24 UTC (rev 14322) @@ -1,239 +0,0 @@ -/* - * $Author$ - * $Date$ - * $Revision$ - * - * Copyright (C) 2006 by Mario Baseda <mar...@us...> - * - * 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. - * All we ask is that proper credit is given for our work, which includes - * - but is not limited to - adding the above copyright notice to the beginning - * of your source code files, and to any copyright notice that you may distribute - * with programs based on this work. - * - * 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.applications.taverna.qsar.model.weka; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.embl.ebi.escience.baclava.DataThing; -import org.openscience.cdk.applications.taverna.CDKTavernaTestCases; -import org.openscience.cdk.applications.taverna.CDKTavernaTestData; -import org.openscience.cdk.applications.taverna.CMLChemFile; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomDegree; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomValence; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.BondsToAtom; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.CovalentRadius; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.PiElectronegativity; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.ProtonTotalPartialCharge; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.AtomCount; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.BCUT; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.Weight; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.XLogP; - -/** - * TestSuite that runs a test for the GenerateEMCluster - * - * @author Mario Baseda - * @cdk.module taverna test-qsar - */ -public class GenerateEMClusterTest extends CDKTavernaTestCases{ -// CMLChemFile which contains the original data for the calculation of the descriptors - private CMLChemFile[] originalData = null; - // inputList which contains a list of the input data for the local workers - private List<CMLChemFile> inputList = null; - // map for the local worker input - private Map<String, DataThing> inputMap = null; - // map for the local worker result - private Map<String, DataThing> resultMap = null; - // List which contains the calculated results of the local worker - private List<CMLChemFile> resultList = null; - private List<CMLChemFile> newResultList = null; - // String[] contains the descriptor titles of which the descriptor values should be select - private String[] attributs = {"org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor", - "org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.BondsToAtomDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.BCUT", - "org.openscience.cdk.qsar.descriptors.atomic.AtomDegreeDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.PiElectronegativityDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.AtomValenceDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor"}; - // String[] contains the dependent values in the same order like the CML Chemfiles - private String[] y = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Aromat", "Amin", "Alkan", "Alkohol", "Amin"}; - // String[] contains the possible class attributes - private String[] classAttribs = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Amin"}; - - /** - * Constructor of the GenerateEMClusterTest object - * - */ - public GenerateEMClusterTest(){} - - /** - * A unit test suite for JUnit - * - * @return The test suite - */ - public static Test suite() { - return new TestSuite(GenerateEMClusterTest.class); - } - - /** Generate a cluster of the given CMLChemfiles - * @throws Exception - */ - @SuppressWarnings("unchecked") - public void test_LocalWorkerGenerateEMCluster()throws Exception { - boolean hasAnError = false; - GenerateEMCluster gemc = new GenerateEMCluster(); - gemc.setClassAttributs(classAttribs); - gemc.setY(y); - gemc.setOptions(new String[]{"M", "0.0001"}); - Map<String, DataThing> resultMap = generate(gemc); - - if ((resultMap.get(gemc.outputNames()[2]) == null) || ((Double)((List)((DataThing)(resultMap.get(gemc.outputNames()[2]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if ((resultMap.get(gemc.outputNames()[5]) == null) || ((Double)((List)((DataThing)(resultMap.get(gemc.outputNames()[5]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if ((resultMap.get(gemc.outputNames()[6]) == null) || ((Double)((List)((DataThing)(resultMap.get(gemc.outputNames()[6]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if ((resultMap.get(gemc.outputNames()[7]) == null) || ((Double)((List)((DataThing)(resultMap.get(gemc.outputNames()[7]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if ((resultMap.get(gemc.outputNames()[8]) == null) || ((Double)((List)((DataThing)(resultMap.get(gemc.outputNames()[8]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if (resultMap.get(gemc.outputNames()[3]) != null){ - List<Double> clusterSizes = (List<Double>) ((DataThing)(resultMap.get(gemc.outputNames()[3]))).getDataObject(); - for (Double element : clusterSizes) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - if (resultMap.get(gemc.outputNames()[4]) != null){ - List<Double> clusterSizes = (List<Double>) ((DataThing)(resultMap.get(gemc.outputNames()[4]))).getDataObject(); - for (Double element : clusterSizes) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - if (resultMap.get(gemc.outputNames()[0]) != null){ - List<List<List<Double>>> list = (List<List<List<Double>>>)((DataThing)(resultMap.get(gemc.outputNames()[0]))).getDataObject(); - for (List<List<Double>> list2 : list) { - for (List<Double> list3 : list2) { - for (Double elem : list3) { - if (elem.isNaN()) hasAnError = true; - } - } - } - } else hasAnError = true; - if (resultMap.get(gemc.outputNames()[1]) != null){ - List<List<Double>> Stds = (List<List<Double>>)((DataThing)(resultMap.get(gemc.outputNames()[1]))).getDataObject(); - for (List<Double> list : Stds) { - for (Double elem : list) { - if (elem.isNaN()) hasAnError = true; - } - } - } else hasAnError = true; - assertEquals(hasAnError, false); - - } - /** This method lets calculate the descriptor values of the molecules - * @param gemc The cluster which should be built - * @return Map A Map with specific parameters for the built model - * @throws Exception - */ - @SuppressWarnings("unchecked") - public Map<String, DataThing> generate(GenerateEMCluster gemc) throws Exception{ - resultMap = new HashMap<String, DataThing>(); - inputMap = new HashMap<String, DataThing>(); - AtomCount atomcount = new AtomCount(); - XLogP xLogP = new XLogP(); - AtomDegree ad = new AtomDegree(); - Weight weight = new Weight(); - BondsToAtom bondsToAtom = new BondsToAtom(); - BCUT bcut = new BCUT(); - ProtonTotalPartialCharge ptpc = new ProtonTotalPartialCharge(); - PiElectronegativity piE = new PiElectronegativity(); -// PartialTChargePEOE pTC = new PartialTChargePEOE(); - AtomValence aVa = new AtomValence(); - CovalentRadius coRadius = new CovalentRadius(); - Selection selection = new Selection(); - Standardise standardise = new Standardise(); - standardise.setMinMax(0.1, 0.9); - selection.setDescriptor(attributs); - Map<String, Integer> cases = new HashMap<String, Integer>(); - for (int i = 0; i < attributs.length; i++){ - switch (i) - { - case 3: cases.put(attributs[i], 1); - break; - case 4: cases.put(attributs[i], 2); - break; - case 5: cases.put(attributs[i], 3); - break; - case 6: cases.put(attributs[i], 4); - break; - case 7: cases.put(attributs[i], 5); - break; - case 8: cases.put(attributs[i], 6); - break; - default: - break; - } - } - standardise.setCases(cases); - inputList = new ArrayList<CMLChemFile>(); - newResultList = new ArrayList<CMLChemFile>(); - resultList = new ArrayList<CMLChemFile>(); - CDKTavernaTestData.reloadTestData(); - originalData = CDKTavernaTestData.getCMLChemFile(); - for (int i = 0; i < originalData.length; i++) { - inputList.add(originalData[i]); - } - resultList = inputList; - inputMap.put(atomcount.inputNames()[0], new DataThing(inputList)); - resultMap = atomcount.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(atomcount.outputNames()[0]))).getDataObject(); - inputMap.put(xLogP.inputNames()[0], new DataThing(resultList)); - resultMap = xLogP.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(xLogP.outputNames()[0]))).getDataObject(); - inputMap.put(ad.inputNames()[0], new DataThing(resultList)); - resultMap = ad.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ad.outputNames()[0]))).getDataObject(); - inputMap.put(weight.inputNames()[0], new DataThing(resultList)); - resultMap = weight.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(weight.outputNames()[0]))).getDataObject(); - inputMap.put(bondsToAtom.inputNames()[0], new DataThing(resultList)); - resultMap = bondsToAtom.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bondsToAtom.outputNames()[0]))).getDataObject(); - inputMap.put(bcut.inputNames()[0], new DataThing(resultList)); - resultMap = bcut.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bcut.outputNames()[0]))).getDataObject(); - inputMap.put(ptpc.inputNames()[0], new DataThing(resultList)); - resultMap = ptpc.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ptpc.outputNames()[0]))).getDataObject(); - inputMap.put(piE.inputNames()[0], new DataThing(resultList)); - resultMap = piE.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(piE.outputNames()[0]))).getDataObject(); - inputMap.put(aVa.inputNames()[0], new DataThing(resultList)); - resultMap = aVa.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(aVa.outputNames()[0]))).getDataObject(); - inputMap.put(coRadius.inputNames()[0], new DataThing(resultList)); - resultMap = coRadius.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(coRadius.outputNames()[0]))).getDataObject(); - ////////////////////////////////////////////////////////////////////// - inputMap.put(selection.inputNames()[0], new DataThing(resultList)); - for (int i = 0; i < resultList.size(); i++) { - if (i%2 == 0) newResultList.add(resultList.get(i)); - } - inputMap.put(selection.inputNames()[1], new DataThing(newResultList)); - resultMap = selection.execute(inputMap); - resultMap = standardise.execute(resultMap); - return gemc.execute(resultMap); - } -} Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateJ48WModelTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateJ48WModelTest.java 2009-03-02 20:32:21 UTC (rev 14321) +++ cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateJ48WModelTest.java 2009-03-02 20:33:24 UTC (rev 14322) @@ -1,231 +0,0 @@ -/* - * $Author$ - * $Date$ - * $Revision$ - * - * Copyright (C) 2006 by Mario Baseda <mar...@us...> - * - * 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. - * All we ask is that proper credit is given for our work, which includes - * - but is not limited to - adding the above copyright notice to the beginning - * of your source code files, and to any copyright notice that you may distribute - * with programs based on this work. - * - * 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.applications.taverna.qsar.model.weka; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.embl.ebi.escience.baclava.DataThing; -import org.openscience.cdk.applications.taverna.CDKTavernaTestCases; -import org.openscience.cdk.applications.taverna.CDKTavernaTestData; -import org.openscience.cdk.applications.taverna.CMLChemFile; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomDegree; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomValence; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.BondsToAtom; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.CovalentRadius; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.PiElectronegativity; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.ProtonTotalPartialCharge; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.AtomCount; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.BCUT; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.Weight; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.XLogP; - -/** - * TestSuite that runs a test for the GenerateJ48WModel - * - * @author Mario Baseda - * @cdk.module taverna test-qsar - */ -public class GenerateJ48WModelTest extends CDKTavernaTestCases { - // CMLChemFile which contains the original data for the calculation of the descriptors - private CMLChemFile[] originalData = null; - // inputList which contains a list of the input data for the local workers - private List<CMLChemFile> inputList = null; - // map for the local worker input - private Map<String, DataThing> inputMap = null; - // map for the local worker result - private Map<String, DataThing> resultMap = null; - // Lists which contains the calculated results of the local worker - private List<CMLChemFile> resultList = null; - private List<CMLChemFile> newResultList = null; - // String[] contains the descriptor titles of which the descriptor values should be select - private String[] attributs = {"org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor", - "org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.BondsToAtomDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.BCUT", - "org.openscience.cdk.qsar.descriptors.atomic.AtomDegreeDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.PiElectronegativityDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.AtomValenceDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor"}; - // String[] contains the dependent values in the same order like the CML Chemfiles - private String[] y = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Aromat", "Amin", "Alkan", "Alkohol", "Amin"}; - // String[] contains the possible class attributes - private String[] classAttribs = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Amin"}; - /** - * Constructor of the GenerateJ48WModelTest - */ - public GenerateJ48WModelTest() {} - - /** - * A unit test suite for JUnit - * - * @return The test suite - */ - public static Test suite() { - return new TestSuite(GenerateJ48WModelTest.class); - } - - /** Generate a model of the given CML Chemfiles - * @throws Exception - */ - @SuppressWarnings("unchecked") - public void test_LocalWorkerGenerateJ48WModel_Default()throws Exception { - boolean hasAnError = false; - GenerateJ48WModel j48w = new GenerateJ48WModel(); - j48w.setY(y); - j48w.setClassAttributs(classAttribs); - j48w.setOptions(new String[] {"-U", "-A", "-M", "2","B","-L","-Q","2"}); - Map<String, DataThing> resultMap_D = generate(j48w); - - if (resultMap_D.get(j48w.outputNames()[0])!= null){ - List<String> tmp = (List<String>) ((DataThing)resultMap_D.get(j48w.outputNames()[0])).getDataObject(); - for (int i = 0; i < tmp.size(); i++) { - switch (i) - { - case 0: if ((String)tmp.get(i) != "Alkan") hasAnError = true; - break; - case 1: if ((String)tmp.get(i) != "Alkohol") hasAnError = true; - break; -// case 2: if ((String)tmp.get(i) != "Ether") hasAnError = true; -// break; - case 3: if ((String)tmp.get(i) != "Aromat") hasAnError = true; - break; -// case 4: if ((String)tmp.get(i) != "Alken") hasAnError = true; -// break; - case 5: if ((String)tmp.get(i) != "Aromat") hasAnError = true; - break; - case 6: if ((String)tmp.get(i) != "Amin") hasAnError = true; - break; - case 7: if ((String)tmp.get(i) != "Alkan") hasAnError = true; - break; - case 8: if ((String)tmp.get(i) != "Alkohol") hasAnError = true; - break; - case 9: if ((String)tmp.get(i) != "Amin") hasAnError = true; - break; - default: - break; - } - } - } - assertEquals(hasAnError, false); - } - /** This method lets calculate the descriptor values for the molecules - * @param j48w The model which should be built - * @return Map A Map with predicted dependent values - * @throws Exception - */ - @SuppressWarnings("unchecked") - public Map<String, DataThing> generate(GenerateJ48WModel j48w) throws Exception{ - resultMap = new HashMap<String, DataThing>(); - inputMap = new HashMap<String, DataThing>(); - AtomCount atomcount = new AtomCount(); - XLogP xLogP = new XLogP(); - AtomDegree ad = new AtomDegree(); - Weight weight = new Weight(); - BondsToAtom bondsToAtom = new BondsToAtom(); - BCUT bcut = new BCUT(); - ProtonTotalPartialCharge ptpc = new ProtonTotalPartialCharge(); - PiElectronegativity piE = new PiElectronegativity(); - AtomValence aVa = new AtomValence(); - CovalentRadius coRadius = new CovalentRadius(); - Selection selection = new Selection(); - Standardise standardise = new Standardise(); - standardise.setMinMax(0.1, 0.9); - selection.setDescriptor(attributs); - Map<String, Integer> cases = new HashMap<String, Integer>(); - for (int i = 0; i < attributs.length; i++){ - switch (i) - { - case 3: cases.put(attributs[i], 1); - break; - case 4: cases.put(attributs[i], 2); - break; - case 5: cases.put(attributs[i], 3); - break; - case 6: cases.put(attributs[i], 4); - break; - case 7: cases.put(attributs[i], 5); - break; - case 8: cases.put(attributs[i], 6); - break; - default: - break; - } - } - standardise.setCases(cases); - inputList = new ArrayList<CMLChemFile>(); - resultList = new ArrayList<CMLChemFile>(); - newResultList = new ArrayList<CMLChemFile>(); - CDKTavernaTestData.reloadTestData(); - originalData = CDKTavernaTestData.getCMLChemFile(); - for (int i = 0; i < originalData.length; i++) { - inputList.add(originalData[i]); - } - resultList = inputList; - inputMap.put(atomcount.inputNames()[0], new DataThing(inputList)); - resultMap = atomcount.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(atomcount.outputNames()[0]))).getDataObject(); - inputMap.put(xLogP.inputNames()[0], new DataThing(resultList)); - resultMap = xLogP.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(xLogP.outputNames()[0]))).getDataObject(); - inputMap.put(ad.inputNames()[0], new DataThing(resultList)); - resultMap = ad.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ad.outputNames()[0]))).getDataObject(); - inputMap.put(weight.inputNames()[0], new DataThing(resultList)); - resultMap = weight.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(weight.outputNames()[0]))).getDataObject(); - inputMap.put(bondsToAtom.inputNames()[0], new DataThing(resultList)); - resultMap = bondsToAtom.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bondsToAtom.outputNames()[0]))).getDataObject(); - inputMap.put(bcut.inputNames()[0], new DataThing(resultList)); - resultMap = bcut.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bcut.outputNames()[0]))).getDataObject(); - inputMap.put(ptpc.inputNames()[0], new DataThing(resultList)); - resultMap = ptpc.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ptpc.outputNames()[0]))).getDataObject(); - inputMap.put(piE.inputNames()[0], new DataThing(resultList)); - resultMap = piE.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(piE.outputNames()[0]))).getDataObject(); - inputMap.put(aVa.inputNames()[0], new DataThing(resultList)); - resultMap = aVa.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(aVa.outputNames()[0]))).getDataObject(); - inputMap.put(coRadius.inputNames()[0], new DataThing(resultList)); - resultMap = coRadius.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(coRadius.outputNames()[0]))).getDataObject(); - ////////////////////////////////////////////////////////////////////////////////// - inputMap.put(selection.inputNames()[0], new DataThing(resultList)); -// for (int i = 0; i < resultList.size(); i++) { -// if (i%2 == 0) newResultList.add(resultList.get(i)); -// } - newResultList.addAll(resultList); - inputMap.put(selection.inputNames()[1], new DataThing(newResultList)); - resultMap = selection.execute(inputMap); - resultMap = standardise.execute(resultMap); - return j48w.execute(resultMap); - } -} Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateKMeanClusterTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateKMeanClusterTest.java 2009-03-02 20:32:21 UTC (rev 14321) +++ cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateKMeanClusterTest.java 2009-03-02 20:33:24 UTC (rev 14322) @@ -1,325 +0,0 @@ -/* - * $Author$ - * $Date$ - * $Revision$ - * - * Copyright (C) 2006 by Mario Baseda <mar...@us...> - * - * 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. - * All we ask is that proper credit is given for our work, which includes - * - but is not limited to - adding the above copyright notice to the beginning - * of your source code files, and to any copyright notice that you may distribute - * with programs based on this work. - * - * 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.applications.taverna.qsar.model.weka; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.embl.ebi.escience.baclava.DataThing; -import org.openscience.cdk.applications.taverna.CDKTavernaTestCases; -import org.openscience.cdk.applications.taverna.CDKTavernaTestData; -import org.openscience.cdk.applications.taverna.CMLChemFile; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomDegree; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.AtomValence; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.BondsToAtom; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.CovalentRadius; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.PiElectronegativity; -import org.openscience.cdk.applications.taverna.qsar.descriptors.atomic.ProtonTotalPartialCharge; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.AtomCount; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.BCUT; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.Weight; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.XLogP; - - -/** - * TestSuite that runs a test for the GenerateKmeanCluster - * - * @author Mario Baseda - * @cdk.module taverna test-qsar - */ -@SuppressWarnings("unchecked") -public class GenerateKMeanClusterTest extends CDKTavernaTestCases { -// CMLChemFile which contains the original data for the calculation of the descriptors - private CMLChemFile[] originalData = null; - // inputList which contains a list of the input data for the local workers - private List<CMLChemFile> inputList = null; - // map for the local worker input - private Map<String, DataThing> inputMap = null; - // map for the local worker result - private Map<String, DataThing> resultMap = null; - // List which contains the calculated results of the local worker - private List<CMLChemFile> resultList = null; - private List<CMLChemFile> newResultList = null; -// String[] contains the descriptor titles of which the descriptor values should be select - private String[] attributs = {"org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor", - "org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.BondsToAtomDescriptor", "org.openscience.cdk.qsar.descriptors.molecular.BCUT", - "org.openscience.cdk.qsar.descriptors.atomic.AtomDegreeDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.PiElectronegativityDescriptor", - "org.openscience.cdk.qsar.descriptors.atomic.AtomValenceDescriptor", "org.openscience.cdk.qsar.descriptors.atomic.CovalentRadiusDescriptor"}; -// String[] contains the dependent values in the same order like the CML Chemfiles - private String[] y = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Aromat", "Amin", "Alkan", "Alkohol", "Amin"}; - // String[] contains the possible class attributes - private String[] classAttribs = {"Alkan", "Alkohol", "Ether", "Aromat", "Alken", "Amin"}; - - /** - * Constructor of the GenerateKmeanClusterTest - */ - public GenerateKMeanClusterTest() {} - - /** - * A unit test suite for JUnit - * - * @return The test suite - */ - public static Test suite() { - return new TestSuite(GenerateKMeanClusterTest.class); - } - - /** Generate a k mean cluster without set the options and so as default - * @throws Exception - */ - public void test_LocalWorkerGenerateKMeanCluster_Default()throws Exception { - boolean hasAnError = false; - GenerateKMeanCluster kMean_D = new GenerateKMeanCluster(); - kMean_D.setClassAttributs(classAttribs); - kMean_D.setY(y); - Map<String, DataThing> resultMap_D = generate(kMean_D); - if ((resultMap_D.get(kMean_D.outputNames()[0]) == null) || ((Integer)((List<Integer>)((DataThing)(resultMap_D.get(kMean_D.outputNames()[0]))).getDataObject()).get(0))== 0) hasAnError = true; - if ((resultMap_D.get(kMean_D.outputNames()[1]) == null) || ((Double) ((List<Double>)((DataThing)(resultMap_D.get(kMean_D.outputNames()[1]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if (resultMap_D.get(kMean_D.outputNames()[2]) != null){ - List<Double> clusterSizes = (List<Double>) ((DataThing)(resultMap_D.get(kMean_D.outputNames()[2]))).getDataObject(); - for (Double element : clusterSizes) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - if (resultMap_D.get(kMean_D.outputNames()[3]) != null){ - List<List<Double>> centroids = (List<List<Double>>)((DataThing)(resultMap_D.get(kMean_D.outputNames()[3]))).getDataObject(); - for (List<Double> list : centroids) { - for (Double elem : list) { - if (elem.isNaN()) hasAnError = true; - } - } - } else hasAnError = true; - if (resultMap_D.get(kMean_D.outputNames()[4]) != null){ - List<List<Double>> Stds = (List<List<Double>>)((DataThing)(resultMap_D.get(kMean_D.outputNames()[4]))).getDataObject(); - for (List<Double> list2 : Stds) { - int i = 0; - for (Double elem : list2) { - if (i < 9){ if (elem.isNaN()) hasAnError = true; - i++; - } - } - } - } else hasAnError = true; - if (resultMap_D.get(kMean_D.outputNames()[5]) != null){ - List<Double> list = (List<Double>) ((DataThing)(resultMap_D.get(kMean_D.outputNames()[5]))).getDataObject(); - for (Double element : list) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - assertEquals(hasAnError, false); - } - - /** Generate a k mean cluster with the set of the options to build 3 clusters - * @throws Exception - */ - public void test_LocalWorkerGenerateKMeanCluster_N()throws Exception { - boolean hasAnError = false; - GenerateKMeanCluster kMean_N = new GenerateKMeanCluster(); - kMean_N.setClassAttributs(classAttribs); - kMean_N.setY(y); - kMean_N.setOptions(new String[]{"-N", "3"}); - Map<String, DataThing> resultMap_N = generate(kMean_N); - if ((resultMap_N.get(kMean_N.outputNames()[0]) == null) || ((Integer)((List<Integer>)((DataThing)(resultMap_N.get(kMean_N.outputNames()[0]))).getDataObject()).get(0)!= 3)) hasAnError = true; - if ((resultMap_N.get(kMean_N.outputNames()[1]) == null) || ((Double) ((List<Double>)((DataThing)(resultMap_N.get(kMean_N.outputNames()[1]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if (resultMap_N.get(kMean_N.outputNames()[2]) != null){ - List<Double> clusterSizes = (List<Double>) ((DataThing)(resultMap_N.get(kMean_N.outputNames()[2]))).getDataObject(); - for (Double element : clusterSizes) { - if (element == 0) hasAnError = true; - } - } else hasAnError = true; - if (resultMap_N.get(kMean_N.outputNames()[3]) != null){ - List<List<Double>> centroids = (List<List<Double>>)((DataThing)(resultMap_N.get(kMean_N.outputNames()[3]))).getDataObject(); - for (List<Double> list : centroids) { - for (Double elem : list) { - if (elem.isNaN()) hasAnError = true; - } - } - } else hasAnError = true; - if (resultMap_N.get(kMean_N.outputNames()[4]) != null){ - List<List<Double>> Stds = (List<List<Double>>)((DataThing)(resultMap_N.get(kMean_N.outputNames()[4]))).getDataObject(); - for (List<Double> list2 : Stds) { - int i = 0; - for (Double elem : list2) { - if (i < 9){ if (elem.isNaN()) hasAnError = true; - i++; - } - } - } - } else hasAnError = true; - if (resultMap_N.get(kMean_N.outputNames()[5]) != null){ - List<Double> list = (List<Double>) ((DataThing)(resultMap_N.get(kMean_N.outputNames()[5]))).getDataObject(); - for (Double element : list) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - assertEquals(hasAnError, false); - } - - /** Generate a k mean cluster with the set of the options to S - * @throws Exception - */ - public void test_LocalWorkerGenerateKMeanCluster_S()throws Exception { - boolean hasAnError = false; - GenerateKMeanCluster kMean_S = new GenerateKMeanCluster(); - kMean_S.setClassAttributs(classAttribs); - kMean_S.setY(y); - kMean_S.setOptions(new String[]{"-S", "10"}); - Map<String, DataThing> resultMap_S = generate(kMean_S); - if ((resultMap_S.get(kMean_S.outputNames()[0]) == null) || ((Integer)((List)((DataThing)(resultMap_S.get(kMean_S.outputNames()[0]))).getDataObject()).get(0)== 0)) hasAnError = true; - if ((resultMap_S.get(kMean_S.outputNames()[1]) == null) || ((Double) ((List)((DataThing)(resultMap_S.get(kMean_S.outputNames()[1]))).getDataObject()).get(0)).isNaN()) hasAnError = true; - if (resultMap_S.get(kMean_S.outputNames()[2]) != null){ - List<Double> clusterSizes = (List<Double>) ((DataThing)(resultMap_S.get(kMean_S.outputNames()[2]))).getDataObject(); - for (Double element : clusterSizes) { - if (element == 0) hasAnError = true; - } - } else hasAnError = true; - if (resultMap_S.get(kMean_S.outputNames()[3]) != null){ - List<List<Double>> centroids = (List<List<Double>>)((DataThing)(resultMap_S.get(kMean_S.outputNames()[3]))).getDataObject(); - for (List<Double> list : centroids) { - for (Double elem : list) { - if (elem.isNaN()) hasAnError = true; - } - } - } else hasAnError = true; - if (resultMap_S.get(kMean_S.outputNames()[4]) != null){ - List<List<Double>> Stds = (List<List<Double>>)((DataThing)(resultMap_S.get(kMean_S.outputNames()[4]))).getDataObject(); - for (List<Double> list2 : Stds) { - int i = 0; - for (Double elem : list2) { - if (i < 9){ if (elem.isNaN()) hasAnError = true; - i++; - } - } - } - } else hasAnError = true; - if (resultMap_S.get(kMean_S.outputNames()[5]) != null){ - List<Double> list = (List<Double>) ((DataThing)(resultMap_S.get(kMean_S.outputNames()[5]))).getDataObject(); - for (Double element : list) { - if (element.isNaN()) hasAnError = true; - } - } else hasAnError = true; - assertEquals(hasAnError, false); - } - - /** This method lets calculate the descriptor values for the molecules - * @param kMean The k mean cluster which should be build - * @return A Map with molecules, each of them has calculated descriptor values - * @throws Exception - */ - public Map<String, DataThing> generate(GenerateKMeanCluster kMean) throws Exception{ - resultMap = new HashMap<String, DataThing>(); - inputMap = new HashMap<String, DataThing>(); - AtomCount atomcount = new AtomCount(); - XLogP xLogP = new XLogP(); - AtomDegree ad = new AtomDegree(); - Weight weight = new Weight(); - BondsToAtom bondsToAtom = new BondsToAtom(); - BCUT bcut = new BCUT(); - ProtonTotalPartialCharge ptpc = new ProtonTotalPartialCharge(); - PiElectronegativity piE = new PiElectronegativity(); - AtomValence aVa = new AtomValence(); - CovalentRadius coRadius = new CovalentRadius(); - Selection selection = new Selection(); - Standardise standardise = new Standardise(); - standardise.setMinMax(0.1, 0.9); - selection.setDescriptor(attributs); - Map<String, Integer> cases = new HashMap<String, Integer>(); - for (int i = 0; i < attributs.length; i++){ - switch (i) - { - case 3: cases.put(attributs[i], 1); - break; - case 4: cases.put(attributs[i], 2); - break; - case 5: cases.put(attributs[i], 3); - break; - case 6: cases.put(attributs[i], 4); - break; - case 7: cases.put(attributs[i], 5); - break; - case 8: cases.put(attributs[i], 6); - break; - default: - break; - } - } - standardise.setCases(cases); - inputList = new ArrayList<CMLChemFile>(); - resultList = new ArrayList<CMLChemFile>(); - newResultList = new ArrayList<CMLChemFile>(); - CDKTavernaTestData.reloadTestData(); - originalData = CDKTavernaTestData.getCMLChemFile(); - for (int i = 0; i < originalData.length; i++) { - inputList.add(originalData[i]); - } - resultList = inputList; - inputMap.put(atomcount.inputNames()[0], new DataThing(inputList)); - resultMap = atomcount.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(atomcount.outputNames()[0]))).getDataObject(); - inputMap.put(xLogP.inputNames()[0], new DataThing(resultList)); - resultMap = xLogP.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(xLogP.outputNames()[0]))).getDataObject(); - inputMap.put(ad.inputNames()[0], new DataThing(resultList)); - resultMap = ad.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ad.outputNames()[0]))).getDataObject(); - inputMap.put(weight.inputNames()[0], new DataThing(resultList)); - resultMap = weight.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(weight.outputNames()[0]))).getDataObject(); - inputMap.put(bondsToAtom.inputNames()[0], new DataThing(resultList)); - resultMap = bondsToAtom.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bondsToAtom.outputNames()[0]))).getDataObject(); - inputMap.put(bcut.inputNames()[0], new DataThing(resultList)); - resultMap = bcut.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bcut.outputNames()[0]))).getDataObject(); - inputMap.put(ptpc.inputNames()[0], new DataThing(resultList)); - resultMap = ptpc.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(ptpc.outputNames()[0]))).getDataObject(); - inputMap.put(piE.inputNames()[0], new DataThing(resultList)); - resultMap = piE.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(piE.outputNames()[0]))).getDataObject(); - inputMap.put(aVa.inputNames()[0], new DataThing(resultList)); - resultMap = aVa.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(aVa.outputNames()[0]))).getDataObject(); - inputMap.put(coRadius.inputNames()[0], new DataThing(resultList)); - resultMap = coRadius.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(coRadius.outputNames()[0]))).getDataObject(); - inputMap.put(selection.inputNames()[0], new DataThing(resultList)); - for (int i = 0; i < resultList.size(); i++) { - if (i%2 == 0) newResultList.add(resultList.get(i)); - } - inputMap.put(selection.inputNames()[1], new DataThing(newResultList)); - resultMap = selection.execute(inputMap); - resultMap = standardise.execute(resultMap); - return kMean.execute(resultMap); - } -} Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateLinearRegressionWModelTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateLinearRegressionWModelTest.java 2009-03-02 20:32:21 UTC (rev 14321) +++ cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateLinearRegressionWModelTest.java 2009-03-02 20:33:24 UTC (rev 14322) @@ -1,147 +0,0 @@ -/* - * $Author$ - * $Date$ - * $Revision$ - * - * Copyright (C) 2006 by Mario Baseda <mar...@us...> - * - * 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. - * All we ask is that proper credit is given for our work, which includes - * - but is not limited to - adding the above copyright notice to the beginning - * of your source code files, and to any copyright notice that you may distribute - * with programs based on this work. - * - * 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.applications.taverna.qsar.model.weka; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.embl.ebi.escience.baclava.DataThing; -import org.openscience.cdk.applications.taverna.CDKTavernaTestCases; -import org.openscience.cdk.applications.taverna.CDKTavernaTestData; -import org.openscience.cdk.applications.taverna.CMLChemFile; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.AtomCount; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.BCUT; -import org.openscience.cdk.applications.taverna.qsar.descriptors.molecular.Weight; - -/** - * TestSuite that runs a test for the GenerateLinearRegressionWModel - * - * @author Mario Baseda - * @cdk.module taverna test-qsar - */ -public class GenerateLinearRegressionWModelTest extends CDKTavernaTestCases { - // CMLChemFile which contains the original data for the calculation of the descriptors - private CMLChemFile[] originalData = null; - // inputList which contains a list of the input data for the local workers - private List<CMLChemFile> inputList = null; - // map for the local worker input - private Map<String, DataThing> inputMap = null; - // map for the local worker result - private Map<String, DataThing> resultMap = null; - // Lists which contains the calculated results of the local worker - private List<CMLChemFile> resultList = null; - private List<CMLChemFile> newResultList = null; - // String[] contains the descriptor titles of which the descriptor values should be select - private String[] attributs = {"org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor","org.openscience.cdk.qsar.descriptors.molecular.BCUT", - "org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor"}; - private String[] yAttributs = {"org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor"}; - - /** - * Constructor of the GenerateLinearRegressionWModelTest object - * - */ - public GenerateLinearRegressionWModelTest(){} - - /** - * A unit test suite for JUnit - * - * @return The test suite - */ - public static Test suite() { - return new TestSuite(GenerateLinearRegressionWModelTest.class); - } - - /** Generate a model of the given CML Chemfiles - * @throws Exception - */ - @SuppressWarnings("unchecked") - public void test_LocalWorkerGenerateLinearRegressionWModel()throws Exception { - boolean hasAnError = false; - GenerateLinearRegressionWModel glrwm = new GenerateLinearRegressionWModel(); -// glrwm.setOptions(new String[] {"-R", "1.0e-8"}); - Map<String, DataThing> resultMap_D = generate(glrwm); - if (resultMap_D.get(glrwm.outputNames()[0])!= null){ - List<Double> tmp = (List<Double>) ((DataThing)resultMap_D.get(glrwm.outputNames()[0])).getDataObject(); - if (tmp.size() != 5) hasAnError = true; - } else hasAnError = true; - assertEquals(hasAnError, false); - } - - /** This method lets calculate the descriptor values for the molecules - * @param glrwm The model which should be built - * @return Map A Map with predicted dependent values - * @throws Exception - */ - @SuppressWarnings("unchecked") - public Map<String, DataThing> generate(GenerateLinearRegressionWModel glrwm) throws Exception{ - resultMap = new HashMap<String, DataThing>(); - inputMap = new HashMap<String, DataThing>(); - AtomCount atomcount = new AtomCount(); - Weight weight = new Weight(); - BCUT bcut = new BCUT(); - Selection selection = new Selection(); - Standardise standardise = new Standardise(); - selection.setDescriptor(attributs); - selection.setDependent(yAttributs); - Map<String, Integer> cases = new HashMap<String, Integer>(); - cases.put(attributs[1], 5); - standardise.setCases(cases); - inputList = new ArrayList<CMLChemFile>(); - resultList = new ArrayList<CMLChemFile>(); - newResultList = new ArrayList<CMLChemFile>(); - CDKTavernaTestData.reloadTestData(); - originalData = CDKTavernaTestData.getCMLChemFile(); - for (int i = 0; i < originalData.length; i++) { - inputList.add(originalData[i]); - } - resultList = inputList; - inputMap.put(atomcount.inputNames()[0], new DataThing(inputList)); - resultMap = atomcount.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(atomcount.outputNames()[0]))).getDataObject(); - inputMap.put(weight.inputNames()[0], new DataThing(resultList)); - resultMap = weight.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(weight.outputNames()[0]))).getDataObject(); - inputMap.put(bcut.inputNames()[0], new DataThing (resultList)); - resultMap = bcut.execute(inputMap); - resultList = (List<CMLChemFile>)((DataThing)(resultMap.get(bcut.outputNames()[0]))).getDataObject(); - inputMap.put(selection.inputNames()[0], new DataThing(resultList)); - for (int i = 0; i < resultList.size(); i++) { - if (i%2 == 0) newResultList.add(resultList.get(i)); - } - inputMap.put(selection.inputNames()[1], new DataThing(newResultList)); -// List list = new ArrayList(); -// list.add("org.openscience.cdk.qsar.descriptors.molecular.WeightDescriptor"); -// inputMap.put(glrwm.inputNames()[2], new DataThing(list)); - resultMap = selection.execute(inputMap); - resultMap = standardise.execute(resultMap); - return glrwm.execute(resultMap); - } -} Deleted: cdk-taverna/trunk/src/test/java/org/openscience/cdk/applications/taverna/qsar/model/weka/GenerateMultilayerPerceptronModelTest.java =================================================================== --- cdk-taverna/trunk/src/test/java/org/open... [truncated message content] |