diff --git a/src/eva2/OptimizerFactory.java b/src/eva2/OptimizerFactory.java
index 72fc2d2c..64f1b3a2 100644
--- a/src/eva2/OptimizerFactory.java
+++ b/src/eva2/OptimizerFactory.java
@@ -85,7 +85,7 @@ import eva2.tools.math.RNG;
* @version 0.1
* @since 2.0
* @author mkron
- * @author Andreas Dräger
+ * @author Andreas Dräger
* @date 17.04.2007
*/
public class OptimizerFactory {
diff --git a/src/eva2/server/go/operators/cluster/ClusterAll.java b/src/eva2/server/go/operators/cluster/ClusterAll.java
index a09f44b3..67458734 100644
--- a/src/eva2/server/go/operators/cluster/ClusterAll.java
+++ b/src/eva2/server/go/operators/cluster/ClusterAll.java
@@ -35,7 +35,6 @@ public class ClusterAll implements InterfaceClustering, Serializable {
* @param referenceSet a reference population for dynamic measures
* @return associative list matching loners to species.
*/
- @Override
public int[] associateLoners(Population loners, Population[] species,
Population referenceSet) {
if (loners!=null && (loners.size()>0)) {
@@ -46,18 +45,27 @@ public class ClusterAll implements InterfaceClustering, Serializable {
} else return null;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.cluster.InterfaceClustering#cluster(eva2.server.go.populations.Population, eva2.server.go.populations.Population)
+ */
public Population[] cluster(Population pop, Population referenceSet) {
// first pop is empty (there are no loners), second pop is complete
return new Population[]{pop.cloneWithoutInds(), pop.cloneShallowInds()};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.cluster.InterfaceClustering#initClustering(eva2.server.go.populations.Population)
+ */
public String initClustering(Population pop) {
return null;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.cluster.InterfaceClustering#mergingSpecies(eva2.server.go.populations.Population, eva2.server.go.populations.Population, eva2.server.go.populations.Population)
+ */
public boolean mergingSpecies(Population species1, Population species2,
Population referenceSet) {
return true;
diff --git a/src/eva2/server/go/operators/mutation/MutateESGlobal.java b/src/eva2/server/go/operators/mutation/MutateESGlobal.java
index bf65fef2..06126152 100644
--- a/src/eva2/server/go/operators/mutation/MutateESGlobal.java
+++ b/src/eva2/server/go/operators/mutation/MutateESGlobal.java
@@ -217,17 +217,26 @@ public class MutateESGlobal implements InterfaceMutation, java.io.Serializable,
return "Choose the crossover type for the strategy parameters.";
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataHeader()
+ */
public String[] getAdditionalDataHeader() {
return new String[] {"sigma"};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataInfo()
+ */
public String[] getAdditionalDataInfo() {
return new String[] {"The ES global mutation step size."};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataValue(eva2.server.go.PopulationInterface)
+ */
public Object[] getAdditionalDataValue(PopulationInterface pop) {
return new Object[]{m_MutationStepSize};
}
diff --git a/src/eva2/server/go/operators/mutation/MutateESLocal.java b/src/eva2/server/go/operators/mutation/MutateESLocal.java
index 0d99e79e..97c7c8a1 100644
--- a/src/eva2/server/go/operators/mutation/MutateESLocal.java
+++ b/src/eva2/server/go/operators/mutation/MutateESLocal.java
@@ -261,17 +261,26 @@ public class MutateESLocal implements InterfaceMutation, InterfaceAdditionalPopu
return "Choose the crossover type for the strategy parameters.";
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataHeader()
+ */
public String[] getAdditionalDataHeader() {
return new String[] {"sigma"};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataInfo()
+ */
public String[] getAdditionalDataInfo() {
return new String[] {"The ES local mutation step sizes."};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataValue(eva2.server.go.PopulationInterface)
+ */
public Object[] getAdditionalDataValue(PopulationInterface pop) {
return new Object[]{m_Sigmas};
}
diff --git a/src/eva2/server/go/operators/paramcontrol/CbpsoFitnessThresholdBasedAdaption.java b/src/eva2/server/go/operators/paramcontrol/CbpsoFitnessThresholdBasedAdaption.java
index 2a48aa38..1269f6fd 100644
--- a/src/eva2/server/go/operators/paramcontrol/CbpsoFitnessThresholdBasedAdaption.java
+++ b/src/eva2/server/go/operators/paramcontrol/CbpsoFitnessThresholdBasedAdaption.java
@@ -53,12 +53,18 @@ public class CbpsoFitnessThresholdBasedAdaption implements ParamAdaption, Generi
maxInterestingRatio = o.maxInterestingRatio;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Object#clone()
+ */
public Object clone() {
return new CbpsoFitnessThresholdBasedAdaption(this);
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.paramcontrol.ParamAdaption#calcValue(java.lang.Object, eva2.server.go.populations.Population, int, int)
+ */
public Object calcValue(Object obj, Population pop, int iteration,
int maxIteration) {
if (obj instanceof CBNPSO) {
@@ -113,32 +119,52 @@ public class CbpsoFitnessThresholdBasedAdaption implements ParamAdaption, Generi
else return true;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.paramcontrol.ParamAdaption#finish(java.lang.Object, eva2.server.go.populations.Population)
+ */
public void finish(Object obj, Population pop) {
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.paramcontrol.ParamAdaption#getControlledParam()
+ */
public String getControlledParam() {
return paramName;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.paramcontrol.ParamAdaption#init(java.lang.Object, eva2.server.go.populations.Population, java.lang.Object[])
+ */
public void init(Object obj, Population pop, Object[] initialValues) {
currentVal=initialVal;
lastAdaption=0;
adptIntervalGenerations = (int)(currentVal/pop.getTargetSize());
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.operators.paramcontrol.GenericParamAdaption#setControlledParam(java.lang.String)
+ */
public void setControlledParam(String prm) {
paramName = prm;
}
+ /**
+ *
+ * @param initialVal
+ */
public void setInitialVal(double initialVal) {
this.initialVal = initialVal;
}
+ /**
+ *
+ * @return
+ */
public double getInitialVal() {
return initialVal;
}
diff --git a/src/eva2/server/go/problems/F21Problem.java b/src/eva2/server/go/problems/F21Problem.java
index efa1949f..96099062 100644
--- a/src/eva2/server/go/problems/F21Problem.java
+++ b/src/eva2/server/go/problems/F21Problem.java
@@ -93,12 +93,18 @@ public class F21Problem extends AbstractProblemDouble implements InterfaceMultim
return "The problem dimension and number of optima.";
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.AbstractOptimizationProblem#clone()
+ */
public Object clone() {
return new F21Problem(this);
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceInterestingHistogram#getHistogram()
+ */
public SolutionHistogram getHistogram() {
return new SolutionHistogram(0, 0.5, 10);
}
diff --git a/src/eva2/server/go/problems/FLensProblem.java b/src/eva2/server/go/problems/FLensProblem.java
index aa2fb031..dda183b5 100644
--- a/src/eva2/server/go/problems/FLensProblem.java
+++ b/src/eva2/server/go/problems/FLensProblem.java
@@ -558,7 +558,10 @@ implements InterfaceOptimizationProblem, InterfaceHasSolutionViewer, java.io.Ser
if (indy instanceof InterfaceDataTypeDouble) this.setEAIndividual((InterfaceDataTypeDouble)indy);
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceHasSolutionViewer#getSolutionViewer()
+ */
public InterfaceSolutionViewer getSolutionViewer() {
return m_Panel;
}
diff --git a/src/eva2/server/go/problems/inference/metabolic/TimeSeries.java b/src/eva2/server/go/problems/inference/metabolic/TimeSeries.java
new file mode 100755
index 00000000..02731372
--- /dev/null
+++ b/src/eva2/server/go/problems/inference/metabolic/TimeSeries.java
@@ -0,0 +1,261 @@
+package eva2.server.go.problems.inference.metabolic;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+/**
+ * This class is able to parse and store the contents of a time series data
+ * file. These files are supposed to be a matrix, whose columns are separated by
+ * spaces or tabs. Every row is supposed to contain a time value in the first
+ * column. Every other column contains the concentration of the appropriate
+ * metabolite. Because the concentrations of different metabolites are not
+ * measured at the same time, it is possible that some values equal -1 or "NaN".
+ * For a given metabolite this class provides methods to extract the appropriate
+ * times as well as the concentration values from this file.
+ *
+ * @since 2.0
+ * @version
+ * @author Andreas Dräger (draeger)
+ * Copyright (c) ZBiT, University of Tübingen, Germany Compiler:
+ * JDK 1.6.0
+ * @date Sep 6, 2007
+ */
+public class TimeSeries implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5744947450930268722L;
+
+ String dataFile[] = new String[] {
+ "\"Time\" \"PYR\" \"AKG\" \"ALA\" \"NAD\" \"DHIV\" \"nadp\" \"Glut\" \"2IPM\" \"AcLac\" \"Val\" \"Leu\" \"KIV\" \"KIC\"",
+ "-3.894 0.69956151035 4.640691888659999 0.8149815245099999 0.43831117728999996 0.12919945973 NaN 39.91322431689 0.01634219825 0.22846321864000002 25.300234279730002 0.31457001595 13.06542276153 0.12828553615000002",
+ "-3.429 0.6887305946 4.4648219135 0.9733354471500001 0.46283738647 0.09269418599 0.01751164422 34.689755620279996 0.016622587119999997 0.26529057205 27.855794163480002 0.21601742448 12.27325468611 0.08806661914",
+ "-2.964 0.648489239 5.16446833661 1.08501337472 0.510398731 0.09668719327 0.015292064690000001 35.94424701067 0.0218616059 0.24372308822 27.512009946459997 0.19358187491999998 11.83868901432 0.08060740248 ",
+ "-2.499 0.66263247645 5.46655875364 1.25007291486 0.54709779337 0.27832465706 0.02017254508 42.09304165779 0.02271131235 0.31096389668 31.734637769419997 0.26547698208000003 9.74938023117 0.09527994438000001 ",
+ "-2.037 0.78148116407 5.01023940504 1.1274704877 0.54374513457 0.10951589105 0.023434610419999998 38.623872567220005 0.02310058527 0.23193180999000002 28.68948017027 0.27338539200999995 9.8790791622 0.06856701949 ",
+ "-1.572 0.7976018096 4.50327160849 0.9657423536899999 0.58804343197 0.07731788865 0.021456078269999998 39.65098562534 0.02122962586 NaN 23.23780871601 0.21372010324 7.35589658416 0.04408823098 ",
+ "-1.107 0.62138120097 5.527992933249999 1.11320796018 0.55468774709 0.19127059402000002 0.02151432978 37.43103867786 0.021760915119999998 0.1961057295 28.06503640484 0.25571800238 7.77390798856 0.08440327591999999 ",
+ "-0.642 0.61440001723 5.6582676904 1.0934342424799999 0.57892866745 0.29234911798 0.02163427084 41.73288066597 0.02358943064 0.23458068462 31.36134966529 0.28291670151 8.77177024347 0.0732470093 ",
+ "0.363 0.70849102753 5.6485532671600005 1.07913785266 0.5494837929699999 0.22848890345 0.03264048454 40.837490521439996 0.02034557524 0.25195151103 27.336329975730003 0.1981060288 6.68584901645 0.07329936145 ",
+ "0.828 0.7284264133299999 5.24081938936 1.20656221781 0.56038053457 0.50828902006 0.02799224444 43.839863948079994 0.02365648322 0.33595864068 30.40658463215 0.25328480297 7.46481961657 0.06727204061 ",
+ "1.293 2.35072982926 12.865197464340001 2.91425720335 0.6174561459100001 0.51680611101 0.0180555805 45.00192868082 0.02789099302 0.27282017381999996 35.47319021015 0.34012252203000004 12.4841096615 0.12075887125 ",
+ "1.758 1.9467590874099998 9.85083850897 2.38135380833 0.47990344534 0.36137563687 0.02083824064 39.874833705 0.02603135155 0.24703878422 35.24799025209 0.25499939033 10.58660287792 0.12011356083 ",
+ "2.220 1.76234822871 12.57168005228 2.535743239 0.58312865514 0.17860360497 0.018047886200000002 48.82282962176 0.02531203769 NaN 31.84083292177 0.21013809416 8.79825645884 0.10474495756 ",
+ "2.685 1.92439252352 11.2260038878 2.8335955021 0.49220203429 0.16592713605 0.0278326992 39.75506759172 0.02115183034 0.24700121622 29.23941353308 0.22169631684000002 8.94277598226 0.09683684583 ",
+ "3.150 1.92008237217 10.682979534100001 2.63737602928 0.36735949621999997 0.1546055768 0.01515236183 39.012881840679995 NaN 0.46143297886 35.812552779769995 0.28387244697 14.20243053826 0.10933158105 ",
+ "4.620 1.81992606678 11.067551454270001 2.70934921435 0.40725580208999995 0.24849740356 0.027964720069999997 40.42309102465 0.0170493166 0.42824885292 37.17528380543 0.33573709864 15.33969385816 0.10861095009 ",
+ "5.085 1.45412618172 8.37506633272 2.5510691881399996 0.5402956812899999 0.29017599822 0.029667666019999997 52.86610489844 0.01551224716 0.37018809756000004 42.07773461152 0.32912302835999996 16.97282365372 0.1127063518 ",
+ "5.550 1.7963431670299999 10.9951402722 3.2730762781499996 0.49909124182 0.36584625016 0.031689318279999996 49.69757534082 0.030182574599999998 0.50230756817 44.18764066063 0.34318150693 14.45568137413 0.13087029789 ",
+ "6.015 1.79488675167 10.58210664143 2.82815659112 0.42028499769 0.33884287302 0.02904992542 47.618463449870006 0.02065291348 0.38243112459999995 41.68555649409 0.31270596242 14.18407754513 0.12297689406000001 ",
+ "6.477 1.71658915979 13.051632359080001 2.86429255047 0.69044126446 0.2906864281 0.02542790495 52.905505205989996 0.0363051233 0.46612294623 51.36020781111 0.52323119427 15.99708653385 0.13462198459000002 ",
+ "6.942 1.70200349375 11.29511994965 2.47410519106 0.61838724543 0.74141022319 0.02954918008 52.05561320903 0.03626130189 0.36020464648 47.08381733066 0.39496256108 15.29065040412 0.12714131781000002 ",
+ "7.407 1.4797133761099999 10.85092666902 2.73282139173 0.60893255673 0.91712444816 0.031866304570000004 54.69762263264 0.034354864900000004 0.50457338093 42.85485451463 0.35559022922000005 11.0783278302 0.11004224548000001 ",
+ "7.872 1.9687388421799998 12.632535436100001 3.38129932903 0.6733727859399999 1.19712426006 0.02287925851 69.03104100976 0.0346858365 0.6115046939 52.213982982809995 0.44352030561 14.17030298056 0.11817042216 ",
+ "8.877 1.66191235556 10.202950777509999 2.7018080554500004 0.65431385574 0.8630518573 0.03842550936 55.18740808596 0.03100906854 0.43636326995 44.94372991982 0.39590424030000004 11.87915174242 0.12055380252 ",
+ "9.342 1.79446423883 9.223736902639999 2.82086676673 0.46928184702 0.25036756575999997 0.0261580927 44.218411563610005 0.02307492312 0.37136132062 34.8715067452 0.23048150172999998 9.83227607934 0.08369892896 ",
+ "9.807 2.02936743557 10.926146897779999 3.40942786382 0.4943626997 0.41616779600000003 0.020775668350000002 57.63290012324 0.02453204368 0.59384364452 41.567799898539995 0.37314942280999996 11.524438278929999 0.10958751164 ",
+ "10.272 1.96339182674 11.26182399865 3.6725323889699997 0.51033452936 0.38195138421 0.02349833226 68.82889744295 0.02130776115 0.56596184217 43.85824526299 0.3563165939 10.882216090570001 0.11761378372 ",
+ "10.734 1.69522699956 9.28644900764 3.09521900994 0.46748976233 0.25486955073 0.024124165519999997 56.23949510944 0.01806823073 NaN 36.05982284756 0.25298007274 8.86586676025 0.07157556397999999 ",
+ "11.199 1.87021691917 9.68208305253 3.2919709268000004 0.5270903229299999 0.42322311943 0.0327964463 59.54087126072 0.022691202100000002 0.47737124454999996 41.842194656909996 0.28466758982 11.91006067162 0.09872917755999999 ",
+ "11.664 2.23471175262 12.19887299453 3.6051454388299997 0.54389398527 0.54313316601 0.01479252184 63.04737515095 0.02776861734 0.48410774037 46.409590689800005 0.44546516811 12.6862786223 0.10475246765999999 ",
+ "12.129 1.58626042008 9.99097297113 3.7513050785999997 0.42925918395999996 0.44080053731999996 0.013039703409999999 54.332315720649994 0.02735050961 0.31900140121 39.37877381533 0.32147277213000003 10.09758737431 0.08824555916 ",
+ "13.134 1.09179740401 6.491353226309999 2.26052958713 0.5481437170200001 NaN 0.01664214786 49.99620609066 0.02341309598 NaN 32.90242406736 0.29822072293 7.4630383928 0.0570285326 ",
+ "13.599 1.3879954566700001 9.38597812226 3.67292411291 0.41493699655 0.35712124297000003 0.01725904447 49.842043735 0.025759816390000002 0.40749356039 36.65749859265 0.31221753187 8.49907762956 0.08041935436999999 ",
+ "14.064 1.46398956252 9.514586394050001 3.8008622291900003 0.48941052945 0.43946239095 0.01718538349 54.47374486523 0.02895368422 0.48952197341 40.26813532416 0.40474806982 9.42390966864 0.07994405853 ",
+ "14.529 1.38755206855 8.484590611449999 3.2508142214399998 0.4940005127 0.48337445569 0.01893519951 47.84282639242 0.026125384369999997 0.4407703548 41.362606442570005 0.27053364357 11.06193869222 0.1028701703 ",
+ "14.991 0.88675119894 6.09938485345 2.0966046727900003 0.51403159937 0.25811120551 0.0228857864 44.11169057688 0.021193232819999998 NaN 31.027494313570003 0.22906790417 7.52510837768 0.053950203 ",
+ "15.456 1.8352414024800001 8.469270941569999 3.3301897663099997 0.4957035248 0.26361946777 0.025116875570000002 36.08517318062 0.025039514409999998 0.38916760052 38.21581762714 0.2746950311 11.731711424339998 0.12009641433 ",
+ "15.921 1.3283163392300001 8.17980680802 3.0409809543 0.38135485122 0.31612171511000003 0.01517163163 32.72595199009 0.02671292861 0.34622186149 42.07802536984 0.2542175654 12.23730313735 0.13746139785 ",
+ "16.386 1.0127505969 4.742491586150001 1.84597095725 0.34553761760999996 NaN NaN 23.37116254961 NaN NaN NaN 0.15254582637 6.9247716185999995 0.07113160166999999 ",
+ "17.391 1.3310395982 7.94156759798 2.53879431682 0.48983728463 0.28795700924 0.026527055879999997 26.57827416636 0.02478540202 0.32631108383999996 33.95632215865 0.23618178628 10.48083524196 0.12515650878 ",
+ "17.856 0.95469028533 6.2343780867100005 2.17715476263 0.38729195765999996 0.28723013923 0.02123345169 24.49108607053 0.02618426224 0.29861161455 32.8592195428 0.2472225415 10.106162722479999 0.10923677735 ",
+ "18.321 NaN 5.49182392648 1.46886777519 0.34474738841999997 0.40646871383 0.01547566737 20.63720807926 0.02820014831 0.24058040600000002 40.71516409524 0.24270642545999999 14.12503277772 0.12899961175000002 ",
+ "18.786 0.82619105906 5.95530539146 2.299362329 0.44373946309 0.41075036223 0.02555677606 38.20802369971 0.02900285112 0.32959703389 34.213028316030005 0.25023635697 9.12222153162 0.10197379988000001 ",
+ "19.248 1.25881942787 6.53214282703 2.7302141736600003 0.50467802709 0.41526312678 0.02242466065 36.837815626659996 0.02483324467 0.38040913803 33.23783851764 0.23737761148 9.48079376972 0.11263783924000001 ",
+ "19.713 1.18507811227 5.4310205666 2.1360162267800002 0.46222885974 NaN 0.03397622205 28.19338823663 0.02104977904 NaN 25.47234120703 0.14638363385 7.60817737184 0.08542327693999999 ",
+ "20.178 0.98680703323 6.8729957498 2.34703189167 0.36189835991 0.35197395012 0.0170510439 26.43911126279 0.03024185129 0.30588350463 36.72827117308 0.23660664184000002 13.6943897464 0.16017717532 ",
+ "20.643 0.97377667062 6.15710096877 2.10492373702 0.46580796436000005 0.38984610765 0.020551778160000003 28.19084298145 0.02817732147 0.31660453741 33.563565688000004 0.17354025424 11.137671980450001 0.11278907400999999" };
+
+ private int dataFileLineCnt = dataFile.length;
+
+ private Map names;
+
+ public static void main(String args[]) {
+ new TimeSeries();
+ }
+
+ /**
+ * This constructs a new instance of this class from the given file. All
+ * entries of the given file are stored in a String matrix.
+ * The names of the metabolites are stored in a hash for easy retrival.
+ *
+ * @param fileName
+ */
+ public TimeSeries() {
+ try {
+ int i = 0, j = 0;
+ this.names = new HashMap();
+ StringTokenizer st = new StringTokenizer(dataFile[0]);
+
+ // Lesen zum ersten Mal und initialisieren Matrix.
+ for (j = 0; st.hasMoreElements(); st.nextElement(), j++)
+ ;
+
+ String data[][] = new String[dataFileLineCnt - 1][j];
+
+ // Jetzt in Matrix einlesen.
+ for (i = 0; i < dataFileLineCnt; i++) {
+ j = 0;
+ st = new StringTokenizer(dataFile[i]);
+ while (st.hasMoreElements())
+ if (i > 0)
+ data[i - 1][j++] = st.nextElement().toString();
+ else
+ names.put(st.nextElement().toString().replaceAll("\"",
+ ""), new Integer(j++));
+ }
+
+ /*
+ * for (i=0; i iter = names.keySet().iterator();
+ while (iter.hasNext())
+ try {
+ double values[][];
+ int tcol = 0, count = 0;
+ String name = iter.next().toString();
+
+ i = 0;
+ j = ((Integer) names.get(name)).intValue();
+ for (i = 0; i < data.length; i++)
+ if (!data[i][j].equals("-1")
+ && !data[i][j].equals("NaN"))
+ count++;
+ values = new double[2][count];
+ // /*
+ // * The times are supposed to be the first column. However,
+ // this
+ // * enables the times to be any column.
+ // */
+ // try {
+ // tcol = ((Integer) this.names.get("Time")).intValue();
+ // } catch (Exception exc) {
+ // };
+ for (i = 0, count = 0; i < data.length; i++)
+ if (!data[i][j].equals("-1")
+ && !data[i][j].equals("NaN")) {
+ values[0][count] = Double
+ .parseDouble(data[i][tcol]);
+ values[1][count++] = Double.parseDouble(data[i][j]);
+ }
+ names.put(name, values);
+ } catch (Exception exc) {
+ exc.printStackTrace();
+ }
+ data = null;
+ } catch (Exception exc) {
+ exc.printStackTrace();
+ }
+ }
+
+ /**
+ * With this method one retrives the time data of the given metabolite or
+ * throws an exception if the given metabolite does not exist.
+ *
+ * @param metabolite
+ * The name of the metabolite, whose time data are desired.
+ * @return The time data.
+ * @throws Exception
+ * @throws If
+ * there is no entry for the desired metabolite, an exeption is
+ * thrown.
+ */
+ public double[] getTimes(String metabolite) throws Exception {
+ if (names == null)
+ System.err.println("getTimes: names is null");
+ if (!names.containsKey(metabolite))
+ throw new Exception("No data measured for this metabolite");
+ if (names.get(metabolite) == null)
+ System.err.println("get(metabolite) is null");
+ return ((double[][]) names.get(metabolite))[0];
+ }
+
+ /**
+ * This method returns all measured times.
+ *
+ * @return An array containing all measurement times.
+ * @throws Exception
+ * If there is no column called "Time" in the data matrix.
+ */
+ public double[] getTimes() throws Exception {
+ return getTimes("Time");
+ }
+
+ /**
+ * This method returns the concentration values of the given metabolite or
+ * throws an exception if there is no measurement for the desired
+ * metabolite.
+ *
+ * @param metabolite
+ * The name of the desired metabolite.
+ * @return an array of concentration values.
+ * @throws Exception
+ * @throws If
+ * there is no entry for the desired metabolite, an exception is
+ * thrown.
+ */
+ public double[] getValues(String metabolite) throws Exception {
+ if (!names.containsKey(metabolite))
+ throw new Exception("No data measured for this metabolite");
+ return ((double[][]) names.get(metabolite))[1];
+ }
+
+ /**
+ * With this method it can be checked wheather measurements have been
+ * perforemd for the given metabolite.
+ *
+ * @param name
+ * The name of the metabolite
+ * @return true
if an entry for this metabolite exists or
+ * false
otherwise.
+ */
+ public boolean containsMetabolite(String name) {
+ return names.keySet().contains(name);
+ }
+
+ /**
+ * Returns the number of measurements taken for this specific metabolite or
+ * zero if there are no measurements.
+ *
+ * @param name
+ * The name of the metabolite
+ * @return The number of available measurement data for this metabolite
+ */
+ public int numberOfMeasurements(String name) {
+ try {
+ return getTimes(name).length;
+ } catch (Exception exc) {
+ return 0;
+ }
+ }
+
+ public Iterator namesIterator() {
+ return this.names.keySet().iterator();
+ }
+
+ public int size() {
+ return names.keySet().size();
+ }
+
+}
diff --git a/src/eva2/server/go/strategies/EvolutionStrategyIPOP.java b/src/eva2/server/go/strategies/EvolutionStrategyIPOP.java
index de8be628..6999c857 100644
--- a/src/eva2/server/go/strategies/EvolutionStrategyIPOP.java
+++ b/src/eva2/server/go/strategies/EvolutionStrategyIPOP.java
@@ -358,17 +358,26 @@ public class EvolutionStrategyIPOP extends EvolutionStrategies implements Interf
}
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataHeader()
+ */
public String[] getAdditionalDataHeader() {
return new String[] {"numArchived", "archivedMeanDist", "lambda"};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataInfo()
+ */
public String[] getAdditionalDataInfo() {
return new String[] {"Number of archived solutions", "Mean distance of archived solutions", "Current population size parameter lambda"};
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.go.problems.InterfaceAdditionalPopulationInformer#getAdditionalDataValue(eva2.server.go.PopulationInterface)
+ */
public Object[] getAdditionalDataValue(PopulationInterface pop) {
return new Object[]{(bestList==null) ? ((int)0) : bestList.size(), (getMeanArchivedDist()), getLambda()};
}
diff --git a/src/eva2/server/stat/EvAJobList.java b/src/eva2/server/stat/EvAJobList.java
index b5b9c7a3..8722f150 100644
--- a/src/eva2/server/stat/EvAJobList.java
+++ b/src/eva2/server/stat/EvAJobList.java
@@ -15,9 +15,7 @@ import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import eva2.gui.BeanInspector;
import eva2.gui.GenericArrayEditor;
-import eva2.gui.JEFrame;
import eva2.gui.JParaPanel;
import eva2.gui.PropertySelectableList;
import eva2.server.go.InterfaceGOParameters;
@@ -266,14 +264,20 @@ public class EvAJobList extends PropertySelectableList implements Serial
} else return false;
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.stat.InterfaceTextListener#print(java.lang.String)
+ */
public void print(String str) {
if (listeners!=null) for (InterfaceTextListener lst : listeners) {
lst.print(str);
}
}
- @Override
+ /*
+ * (non-Javadoc)
+ * @see eva2.server.stat.InterfaceTextListener#println(java.lang.String)
+ */
public void println(String str) {
if (listeners!=null) for (InterfaceTextListener lst : listeners) {
lst.println(str);