From 8ef1e173362f7335600394d6db88018aaa7a316f Mon Sep 17 00:00:00 2001 From: Yiwen Xiang Date: Mon, 15 Jul 2019 12:04:03 -0700 Subject: [PATCH 1/4] added simple model and standard deviation --- source/measurement/basic.ipp | 21 ++++++++++-- test/simple_model/init_conc.csv | 1 + test/simple_model/model_impl.hpp | 46 +++++++++++++++++++++++++++ test/simple_model/param_sets.csv | 17 ++++++++++ test/simple_model/reaction_deltas.hpp | 27 ++++++++++++++++ test/simple_model/reactions_list.hpp | 21 ++++++++++++ test/simple_model/specie_list.hpp | 23 ++++++++++++++ 7 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 test/simple_model/init_conc.csv create mode 100644 test/simple_model/model_impl.hpp create mode 100644 test/simple_model/param_sets.csv create mode 100644 test/simple_model/reaction_deltas.hpp create mode 100644 test/simple_model/reactions_list.hpp create mode 100644 test/simple_model/specie_list.hpp diff --git a/source/measurement/basic.ipp b/source/measurement/basic.ipp index cba7b40f..0ce39508 100644 --- a/source/measurement/basic.ipp +++ b/source/measurement/basic.ipp @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include template BasicAnalysis::BasicAnalysis ( @@ -13,6 +15,7 @@ BasicAnalysis::BasicAnalysis ( mins(observed_species.size(), std::numeric_limits::infinity()), maxs(observed_species.size(), Real{0}), means(observed_species.size(), Real{0}), + sd(observed_species.size(), Real{0}), mins_by_context(Analysis<>::max - Analysis<>::min, mins), maxs_by_context(Analysis<>::max - Analysis<>::min, maxs), means_by_context(Analysis<>::max - Analysis<>::min, means) { @@ -21,6 +24,8 @@ BasicAnalysis::BasicAnalysis ( template void BasicAnalysis::update (Simulation& simulation, std::ostream&) { + Real mean = 0.0, M2 = 0.0; + int n = 0; for (Natural cell_no = this->min; cell_no < this->max; ++cell_no) { for (std::size_t i = 0; i < this->observed_species_.size(); ++i) { Real concentration = simulation.get_concentration(cell_no, this->observed_species_[i]); @@ -30,6 +35,11 @@ void BasicAnalysis::update (Simulation& simulation, std::ostream&) { mins_by_context[cell_no][i] = std::min(concentration, mins_by_context[cell_no][i]); maxs_by_context[cell_no][i] = std::max(concentration, maxs_by_context[cell_no][i]); means_by_context[cell_no][i] += concentration; + Real delta = concentration - mean; + mean += delta / (n + 1); + M2 += delta * (concentration - mean); + sd[i] = sqrt(M2 / (n+1)); + n++; } } ++Analysis<>::samples; @@ -63,13 +73,20 @@ void BasicAnalysis::show (csvw * csv_out) { Analysis<>::show(csv_out); if (csv_out) { auto & out = *csv_out; - out << "Species,Minimum Concentration,Mean Concentration,Maximum Concentration\n"; + out << "Species,Minimum Concentration,Mean Concentration,Maximum Concentration,Standard Deviation \n"; //out << std::scientific << std::setprecision(5); for (specie_id species : Analysis<>::observed_species_) { out << specie_str[species] << "," << mins[species] << "," << means[species] / (Analysis<>::samples * (Analysis<>::max - Analysis<>::min)) << "," << - maxs[species] << "\n"; + maxs[species] << "," << + sd[species] << "\n" ; + const char* path = "./test/ndiff/test.out"; + std::ofstream outfile (path); + outfile<::samples * (Analysis<>::max - Analysis<>::min))<<"\n"<< + sd[species]< + +/* + +Define all of your reaction rate functions in `model_impl.hpp`. +For example, if you enumerated a reaction `R_ONE`, you should declare a + function like this: + + RATETYPE reaction::active_rate(const Ctxt& c) { return 6.0; } + + +Or, for a more interesting reaction rate, you might do something like: + + + RATETYPE reaction::active_rate(const Ctxt& c) { + return c.getRate(R_TWO) * c.getCon(SPECIE_ONE) * c.neighbors.calculateNeighborAvg(SPECIE_TWO); + } + +Refer to the Context API (Section ) for instructions on how to get delays + and critical values for more complex reaction rate functions. + +*/ + +template<> +template +RATETYPE reaction::active_rate(const Ctxt& c) { + return c.getRate(synthesis)/(5.0f+c.getCon(ASPECIE)); +} + +template<> +template +RATETYPE reaction::active_rate(const Ctxt& c) { + return c.getRate(degradation)*c.getCon(ASPECIE); +} + +#endif // MODEL_IMPL_H diff --git a/test/simple_model/param_sets.csv b/test/simple_model/param_sets.csv new file mode 100644 index 00000000..0832aac5 --- /dev/null +++ b/test/simple_model/param_sets.csv @@ -0,0 +1,17 @@ +# CSV Specification,,,, +# Ignored by the file readers are:,,,, +# (1) Empty cells / Blank rows / Whitespace,,,, +# (2) Comment whose rows always begin with a '#',,,, +# For best results delete all comments before loading this file into any Excel-like program.,,,, +# (3) Any cell which does not conform to the scientific notation format 3.14e-41 or simple whole numbers and decimals,,,, +# Often times cells which do not contain numbers are intended to be column headers. These are not parsed by the simulation and can technically be modified by the users as they wish.,,,, +# It is futile to add/remove/modify the column headers with the expectation of changing the program's behavior. Data must be entered in the default order for it to be parsed correctly.,,,, +# None of these comments include commas because it messes with the column widths when loaded into Excel-like programs.,,,, +# For more information and examples see README.md section 2.2.0,,,, +,,,, +"# Rename this file by removing the ""_template"" from the file name (or just change the name entirely) once the data has been entered!",,,, +# This file can contain more than one set (each being on their own line). All sets are initialized and executed in parallel when a file is loaded into the simulation.,,,, +# For more information and examples see README.md section 2.2.1,,,, +,,,, +synthesis, degradation, , , +105000,10,,, diff --git a/test/simple_model/reaction_deltas.hpp b/test/simple_model/reaction_deltas.hpp new file mode 100644 index 00000000..a7e0c94b --- /dev/null +++ b/test/simple_model/reaction_deltas.hpp @@ -0,0 +1,27 @@ +#include "utility/common_utils.hpp" +#include "core/reaction.hpp" + +#include + +/* + +Define each reaction's reactants and products in reaction_deltas.hpp. +Say a reaction enumerated as R_ONE has the following chemical formula: + + 2A + B --> C + +The proper way to define that reaction's state change vector is as follows: + +STATIC_VAR int num_deltas_R_ONE = 3; +STATIC_VAR int deltas_R_ONE[] = {-2, -1, 1}; +STATIC_VAR specie_id delta_ids_R_ONE[] = {A, B, C}; + +*/ + +STATIC_VAR int num_deltas_synthesis = 1; +STATIC_VAR int deltas_synthesis[] = {1}; +STATIC_VAR specie_id delta_ids_synthesis[] = {ASPECIE}; + +STATIC_VAR int num_deltas_degradation = 1; +STATIC_VAR int deltas_degradation[] = {-1}; +STATIC_VAR specie_id delta_ids_degradation[] = {ASPECIE}; \ No newline at end of file diff --git a/test/simple_model/reactions_list.hpp b/test/simple_model/reactions_list.hpp new file mode 100644 index 00000000..c77a3b0f --- /dev/null +++ b/test/simple_model/reactions_list.hpp @@ -0,0 +1,21 @@ +/* +Declare reactions in `reactions_list.hpp`. List the reaction names between the two sets of C++ macros (the lines that begin with `#`) in the same format as below. The following example lists one delay reaction, `alpha_synthesis`, and three normal reactions, `bravo_synthesis`, `alpha_degredation`, and `bravo_degredation`. While this particular reaction naming scheme is not required, it can be helpful. + DELAY_REACTION(alpha_synthesis) + REACTION(bravo_synthesis) + REACTION(alpha_degredation) + REACTION(bravo_degredation) +*/ + +#ifndef DELAY_REACTION +#define DELAY_REACTION REACTION +#define UNDO_DELAY_REACTION_DEF +#endif + +//DEFINE REACTIONS HERE +REACTION(synthesis) +REACTION(degradation) + +#ifdef UNDO_DELAY_REACTION_DEF +#undef DELAY_REACTION +#undef UNDO_DELAY_REACTION_DEF +#endif \ No newline at end of file diff --git a/test/simple_model/specie_list.hpp b/test/simple_model/specie_list.hpp new file mode 100644 index 00000000..c1df3ef3 --- /dev/null +++ b/test/simple_model/specie_list.hpp @@ -0,0 +1,23 @@ +/* +Declare species in `specie_list.hpp`. List the specie names between the + two sets of C++ macros (the lines that begin with `#`) in the same format + as below. The following example lists two species, `alpha` and `bravo`, + and one critical speice, `charlie`. + SPECIE(alpha) + SPECIE(bravo) + CRITICAL_SPECIE(charlie) +*/ +#ifndef CRITICAL_SPECIE +#define CRITICAL_SPECIE SPECIE +#define UNDO_CRITICAL_SPECIE_DEF +#endif + +//DEFINE SPECIES HERE + +SPECIE(ASPECIE) + + +#ifdef UNDO_CRITICAL_SPECIE_DEF +#undef CRITICAL_SPECIE +#undef UNDO_CRITICAL_SPECIE_DEF +#endif \ No newline at end of file From 9a724d45686cf1554f5e9c11e1be4973fd1d9835 Mon Sep 17 00:00:00 2001 From: John Stratton Date: Tue, 16 Jul 2019 12:20:09 -0700 Subject: [PATCH 2/4] Adjusted variance calculation algorithm in basic analysis --- CMakeLists.txt | 7 +++-- source/measurement/basic.hpp | 2 +- source/measurement/basic.ipp | 53 +++++++++++++++++------------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c87e953..336b4c0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,10 @@ endif(NOT CMAKE_BUILD_TYPE) project (DDESimulatorTemplate CXX C) set(DENSE_SOURCE_DIR "${PROJECT_SOURCE_DIR}") -set(DENSE_SOURCE_DIR "${PROJECT_SOURCE_DIR}" PARENT_SCOPE) +get_directory_property(hasParent PARENT_DIRECTORY) +if(hasParent) + set(DENSE_SOURCE_DIR "${PROJECT_SOURCE_DIR}" PARENT_SCOPE) +endif(hasParent) #Would prefer to use CMAKE_CXX_STANDARD in CMake 3.1, but not yet include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) @@ -31,7 +34,7 @@ endif() set(Real "double" CACHE STRING "dense::Real") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDENSE_CONFIGURABLE_Real=\"${Real}\"") -find_package(CUDA 6.0 QUIET) +#find_package(CUDA 6.0 QUIET) if (${CUDA_FOUND}) SET(CUDA_PROPAGATE_HOST_FLAGS OFF) set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) diff --git a/source/measurement/basic.hpp b/source/measurement/basic.hpp index 84e7e621..d640fead 100644 --- a/source/measurement/basic.hpp +++ b/source/measurement/basic.hpp @@ -50,7 +50,7 @@ class BasicAnalysis : public Analysis { private: - std::vector mins, maxs, means; + std::vector mins, maxs, means, variance; bool finalized; diff --git a/source/measurement/basic.ipp b/source/measurement/basic.ipp index 0ce39508..abb46d7d 100644 --- a/source/measurement/basic.ipp +++ b/source/measurement/basic.ipp @@ -15,7 +15,7 @@ BasicAnalysis::BasicAnalysis ( mins(observed_species.size(), std::numeric_limits::infinity()), maxs(observed_species.size(), Real{0}), means(observed_species.size(), Real{0}), - sd(observed_species.size(), Real{0}), + variance(observed_species.size(), Real{0}), mins_by_context(Analysis<>::max - Analysis<>::min, mins), maxs_by_context(Analysis<>::max - Analysis<>::min, maxs), means_by_context(Analysis<>::max - Analysis<>::min, means) { @@ -24,23 +24,31 @@ BasicAnalysis::BasicAnalysis ( template void BasicAnalysis::update (Simulation& simulation, std::ostream&) { - Real mean = 0.0, M2 = 0.0; - int n = 0; - for (Natural cell_no = this->min; cell_no < this->max; ++cell_no) { - for (std::size_t i = 0; i < this->observed_species_.size(); ++i) { + Natural n_min1 = Analysis<>::samples; + for (std::size_t i = 0; i < this->observed_species_.size(); ++i) { + Real concsum = 0.0; + for (Natural cell_no = this->min; cell_no < this->max; ++cell_no) { Real concentration = simulation.get_concentration(cell_no, this->observed_species_[i]); mins[i] = std::min(concentration, mins[i]); maxs[i] = std::max(concentration, maxs[i]); - means[i] += concentration; mins_by_context[cell_no][i] = std::min(concentration, mins_by_context[cell_no][i]); maxs_by_context[cell_no][i] = std::max(concentration, maxs_by_context[cell_no][i]); - means_by_context[cell_no][i] += concentration; - Real delta = concentration - mean; - mean += delta / (n + 1); - M2 += delta * (concentration - mean); - sd[i] = sqrt(M2 / (n+1)); - n++; + means_by_context[cell_no][i] = + (means_by_context[cell_no][i]*n_min1 + concentration)/(n_min1 + 1); + concsum += concentration; } + + Real oldmean = means[i]; + means[i] = (means[i]*n_min1 + (concsum/(this->max - this->min)))/(n_min1 + 1); + Real meandiff = oldmean - means[i]; + Real sumsqdiff = 0.0f; + for (Natural cell_no = this->min; cell_no < this->max; ++cell_no) { + Real concdiff = simulation.get_concentration(cell_no, this->observed_species_[i]) - means[i]; + sumsqdiff += concdiff*concdiff; + } + Real prev_samples = n_min1*(this->max - this->min); + variance[i] = ((prev_samples - 1)*variance[i] + prev_samples*meandiff*meandiff + sumsqdiff) + / (prev_samples + (this->max - this->min) - 1 ); } ++Analysis<>::samples; } @@ -48,13 +56,8 @@ void BasicAnalysis::update (Simulation& simulation, std::ostream&) { template void BasicAnalysis::finalize () { -if(!finalized){ - finalized = true; -} - for (auto & cell_means : means_by_context) { - for (auto & mean : cell_means) { - mean /= Analysis<>::samples; - } + if(!finalized){ + finalized = true; } detail.concs = means; detail.other_details.emplace_back(mins); @@ -78,15 +81,9 @@ void BasicAnalysis::show (csvw * csv_out) { for (specie_id species : Analysis<>::observed_species_) { out << specie_str[species] << "," << mins[species] << "," << - means[species] / (Analysis<>::samples * (Analysis<>::max - Analysis<>::min)) << "," << + means[species] << "," << maxs[species] << "," << - sd[species] << "\n" ; - const char* path = "./test/ndiff/test.out"; - std::ofstream outfile (path); - outfile<::samples * (Analysis<>::max - Analysis<>::min))<<"\n"<< - sd[species]< Date: Tue, 16 Jul 2019 16:31:41 -0700 Subject: [PATCH 3/4] built-in ctest and fixed a bug in next reaction main file --- source/CMakeLists.txt | 24 -------------------- source/Next_Reaction_Main.cpp | 3 ++- source/measurement/basic.ipp | 12 +++++----- test/CMakeLists.txt | 9 ++++---- test/simple_model/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++ test/simple_model/analesysa.xml | 10 ++++++++ test/simple_model/analesysb.xml | 10 ++++++++ test/simple_model/ndiff | 1 + test/simple_model/test.cfg | 13 +++++++++++ test/simple_model/test.ref | 10 ++++++++ 10 files changed, 96 insertions(+), 35 deletions(-) create mode 100644 test/simple_model/CMakeLists.txt create mode 100644 test/simple_model/analesysa.xml create mode 100644 test/simple_model/analesysb.xml create mode 160000 test/simple_model/ndiff create mode 100644 test/simple_model/test.cfg create mode 100644 test/simple_model/test.ref diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 2bcbc615..5c60acc5 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -67,16 +67,6 @@ function(STOCH_NR_SIMULATION localname simdir) SIMULATION(${localname} ${simdir} ${DENSE_SOURCE_DIR}/source/Next_Reaction_Main.cpp) endfunction(STOCH_NR_SIMULATION localname simdir) - -function(PARAMSEARCH localname simdir) - SIMCORELIB(${localname}_lib ${simdir}) - add_executable(${localname} ${PROJECT_SOURCE_DIR}/source/param_search_main.cpp) - target_include_directories(${localname} PUBLIC ${simdir}) - target_include_directories(${localname} PUBLIC ${PROJECT_SOURCE_DIR}/source) - target_link_libraries(${localname} PUBLIC ${localname}_lib) -endfunction(PARAMSEARCH localname simdir) - - function(BENCHMARK localname simdir) SIMCORELIB(${localname}_lib ${simdir}) add_executable(${localname} ${PROJECT_SOURCE_DIR}/source/Fast_Gillespie_Main.cpp) @@ -125,18 +115,6 @@ function(CUDA_SIMULATION localname simdir) target_link_libraries(${localname} ${localname}_lib) endfunction(CUDA_SIMULATION localname simdir) -function(PARAM_SEARCH_LIB localname simdir) - if (NOT TARGET ${localname}) - add_library(${localname} - ${DENSE_SOURCE_DIR}/source/search/libsres/ESES.cpp - ${DENSE_SOURCE_DIR}/source/search/libsres/ESSRSort.cpp - ${DENSE_SOURCE_DIR}/source/search/libsres/sharefunc.cpp - ${DENSE_SOURCE_DIR}/source/search/sres.cpp) - target_include_directories(${localname} PUBLIC ${simdir}) - target_include_directories(${localname} PUBLIC ${DENSE_SOURCE_DIR}/source) - endif (NOT TARGET ${localname}) -endfunction(PARAM_SEARCH_LIB localname simdir) - if( ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${PROJECT_BINARY_DIR}/source) set(BUILD_TESTS_ONLY FALSE) @@ -167,8 +145,6 @@ if( ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${PROJECT_BINARY_DIR}/source) set_target_properties(gillespie PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") STOCH_NR_SIMULATION(nextreaction ${PROJECT_BINARY_DIR}) set_target_properties(nextreaction PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") - PARAMSEARCH(paramsearch ${PROJECT_BINARY_DIR}) - set_target_properties(paramsearch PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") if (${CUDA_FOUND}) CUDA_SIMULATION(cuda_simulation ${PROJECT_BINARY_DIR}) set_target_properties(cuda_simulation PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") diff --git a/source/Next_Reaction_Main.cpp b/source/Next_Reaction_Main.cpp index 00977fb2..121ed40b 100644 --- a/source/Next_Reaction_Main.cpp +++ b/source/Next_Reaction_Main.cpp @@ -49,7 +49,8 @@ int main(int argc, char* argv[]){ if(args.help == 2){ return EXIT_FAILURE; } + int num_vertices = args.adj_graph.num_vertices(); using Simulation = Next_Reaction_Simulation; Sim_Builder sim = Sim_Builder(args.perturbation_factors, args.gradient_factors, std::move(args.adj_graph), ac, av); - run_simulation(args.simulation_duration, args.analysis_interval, std::move(sim.get_simulations(args.param_sets)),parse_analysis_entries(argc, argv, args.adj_graph.num_vertices())); + run_simulation(args.simulation_duration, args.analysis_interval, std::move(sim.get_simulations(args.param_sets)),parse_analysis_entries(argc, argv, num_vertices)); } diff --git a/source/measurement/basic.ipp b/source/measurement/basic.ipp index abb46d7d..6c2f1c56 100644 --- a/source/measurement/basic.ipp +++ b/source/measurement/basic.ipp @@ -76,14 +76,14 @@ void BasicAnalysis::show (csvw * csv_out) { Analysis<>::show(csv_out); if (csv_out) { auto & out = *csv_out; - out << "Species,Minimum Concentration,Mean Concentration,Maximum Concentration,Standard Deviation \n"; + //out << "Species,Minimum Concentration,Mean Concentration,Maximum Concentration,Standard Deviation \n"; //out << std::scientific << std::setprecision(5); for (specie_id species : Analysis<>::observed_species_) { - out << specie_str[species] << "," << - mins[species] << "," << - means[species] << "," << - maxs[species] << "," << - std::sqrt(variance[species]) << "\n" ; + out << specie_str[species] << "\n" << + "Minimum Concentration:\n" << mins[species] << "\n" << + "Mean Concentration:\n" << means[species] << "\n" << + "Maximum Concentration:\n" << maxs[species] << "\n" << + "Standard Deviation:\n" << std::sqrt(variance[species]) << "\n" ; } } } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d78d895c..33b5c5b7 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,6 @@ -add_subdirectory(her_model_2014) -add_subdirectory(Belousov-Zhabotinksy) -add_subdirectory(Nan_Test) -add_subdirectory(time_test) +#add_subdirectory(her_model_2014) +#add_subdirectory(Belousov-Zhabotinksy) +#add_subdirectory(Nan_Test) +#add_subdirectory(time_test) +add_subdirectory(simple_model) #add_subdirectory(new_model) diff --git a/test/simple_model/CMakeLists.txt b/test/simple_model/CMakeLists.txt new file mode 100644 index 00000000..625df1cc --- /dev/null +++ b/test/simple_model/CMakeLists.txt @@ -0,0 +1,39 @@ +add_subdirectory(ndiff) + +include_directories("${CMAKE_CURRENT_SOURCE_DIR}") + +add_subdirectory("${DENSE_SOURCE_DIR}/source" "${CMAKE_CURRENT_BINARY_DIR}/source") + +GILLESPIE_SIMULATION(simple_gillespie ${CMAKE_CURRENT_SOURCE_DIR}) +STOCH_NR_SIMULATION(simple_nr ${CMAKE_CURRENT_SOURCE_DIR}) + +add_test(NAME run-gillespie + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/simple_gillespie -p ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv -t 100 -c 100 -w 10 -u 0.01 -d ${CMAKE_CURRENT_SOURCE_DIR}/init_conc.csv -a ${CMAKE_CURRENT_SOURCE_DIR}/analesysa.xml + + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_test(NAME run-next-reaction + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/simple_nr -p ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv -t 100 -c 100 -w 10 -u 0.01 -d ${CMAKE_CURRENT_SOURCE_DIR}/init_conc.csv -a ${CMAKE_CURRENT_SOURCE_DIR}/analesysb.xml + + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_test(NAME gillespie-result + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/ndiff/maddiff gillespie.out test.ref test.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_test(NAME next-reaction-result + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/ndiff/maddiff nextreaction.out test.ref test.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + + +set_tests_properties( gillespie-result + PROPERTIES FAIL_REGULAR_EXPRESSION "diffs have been detected" +) + +set_tests_properties( next-reaction-result + PROPERTIES FAIL_REGULAR_EXPRESSION "diffs have been detected" +) diff --git a/test/simple_model/analesysa.xml b/test/simple_model/analesysa.xml new file mode 100644 index 00000000..a048e37b --- /dev/null +++ b/test/simple_model/analesysa.xml @@ -0,0 +1,10 @@ + + + ASPECIE + 0 + 99 + 0 + 100 + gillespie.out + + diff --git a/test/simple_model/analesysb.xml b/test/simple_model/analesysb.xml new file mode 100644 index 00000000..fdc2b996 --- /dev/null +++ b/test/simple_model/analesysb.xml @@ -0,0 +1,10 @@ + + + ASPECIE + 0 + 99 + 0 + 100 + nextreaction.out + + diff --git a/test/simple_model/ndiff b/test/simple_model/ndiff new file mode 160000 index 00000000..a2be3a91 --- /dev/null +++ b/test/simple_model/ndiff @@ -0,0 +1 @@ +Subproject commit a2be3a91e9f541a7b357f672c21b2e6fa491d794 diff --git a/test/simple_model/test.cfg b/test/simple_model/test.cfg new file mode 100644 index 00000000..364e3dd6 --- /dev/null +++ b/test/simple_model/test.cfg @@ -0,0 +1,13 @@ +#rows cols commands +1 * skip +4 * skip +6 * abs=0.5 +8 * skip +10 * abs=0.3 + + + + + + + diff --git a/test/simple_model/test.ref b/test/simple_model/test.ref new file mode 100644 index 00000000..dbf0cbd8 --- /dev/null +++ b/test/simple_model/test.ref @@ -0,0 +1,10 @@ +# Showing cells 0-99 until 100.04 min +ASPECIE +Minimum Concentration: +70 +Mean Concentration: +100 +Maximum Concentration: +133 +Standard Deviation: +7 From 94807af89e1ef1e16816d8155cbda03328e93792 Mon Sep 17 00:00:00 2001 From: Yiwen Xiang Date: Fri, 19 Jul 2019 16:20:56 -0700 Subject: [PATCH 4/4] refactored ctest for simple model and submoduled ndiff --- .gitmodules | 3 + source/CMakeLists.txt | 2 - test/Belousov-Zhabotinksy/anlys_basic_a.csv | 33 +- test/Belousov-Zhabotinksy/anlys_basic_b.csv | 33 +- test/Belousov-Zhabotinksy/anlys_basic_c.csv | 33 +- test/Belousov-Zhabotinksy/anlys_basic_d.csv | 33 +- test/Belousov-Zhabotinksy/anlys_basic_e.csv | 33 +- test/Belousov-Zhabotinksy/anlys_oscil.csv | 1103 ++++++++++++----- test/CMakeLists.txt | 9 +- test/Nan_Test/anlys_basic_a.csv | 31 +- test/her_model_2014/CMakeLists.txt | 2 +- test/her_model_2014/anlys_basic_a.csv | 21 +- test/her_model_2014/cell_width_test_anlys.csv | 21 +- .../total_time_test_01_anlys.csv | 21 +- test/her_model_2014/total_time_test_anlys.csv | 21 +- test/{simple_model => }/ndiff | 0 test/simple_model/CMakeLists.txt | 45 +- .../{analesysa.xml => analesys.xml} | 0 test/simple_model/analesysb.xml | 10 - test/simple_model/run_test.cmake | 26 + 20 files changed, 1096 insertions(+), 384 deletions(-) create mode 100644 .gitmodules rename test/{simple_model => }/ndiff (100%) rename test/simple_model/{analesysa.xml => analesys.xml} (100%) delete mode 100644 test/simple_model/analesysb.xml create mode 100644 test/simple_model/run_test.cmake diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..82171fe6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "test/ndiff"] + path = test/ndiff + url = https://github.com/quinoacomputing/ndiff.git diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index c90482bd..7b1b4d13 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -152,8 +152,6 @@ if( ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${PROJECT_BINARY_DIR}/source) set_target_properties(cell_growth PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") STOCH_NR_SIMULATION(nextreaction ${PROJECT_BINARY_DIR}) set_target_properties(nextreaction PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") - PARAMSEARCH(paramsearch ${PROJECT_BINARY_DIR}) - set_target_properties(paramsearch PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") if (${CUDA_FOUND}) CUDA_SIMULATION(cuda_simulation ${PROJECT_BINARY_DIR}) set_target_properties(cuda_simulation PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") diff --git a/test/Belousov-Zhabotinksy/anlys_basic_a.csv b/test/Belousov-Zhabotinksy/anlys_basic_a.csv index bcbca63a..e88003de 100644 --- a/test/Belousov-Zhabotinksy/anlys_basic_a.csv +++ b/test/Belousov-Zhabotinksy/anlys_basic_a.csv @@ -1,5 +1,28 @@ -# Showing cells 0-99 until 14.5438 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,0,0.722222,6 -FE3,0,0.757576,7 -BR,0,0.734848,6 +# Showing cells 0-99 until 14.5482 min +FE2 +Minimum Concentration: +0 +Mean Concentration: +0.777778 +Maximum Concentration: +8 +Standard Deviation: +1.49974 +FE3 +Minimum Concentration: +0 +Mean Concentration: +0.762626 +Maximum Concentration: +7 +Standard Deviation: +1.18609 +BR +Minimum Concentration: +0 +Mean Concentration: +0.825758 +Maximum Concentration: +9 +Standard Deviation: +1.56462 diff --git a/test/Belousov-Zhabotinksy/anlys_basic_b.csv b/test/Belousov-Zhabotinksy/anlys_basic_b.csv index b352e49e..db007499 100644 --- a/test/Belousov-Zhabotinksy/anlys_basic_b.csv +++ b/test/Belousov-Zhabotinksy/anlys_basic_b.csv @@ -1,5 +1,28 @@ -# Showing cells 0-99 between 3 min and 14.5438 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,0,1.45455,6 -FE3,0,3.03283,13 -BR,0,1.98485,9 +# Showing cells 0-99 between 3 min and 14.5482 min +FE2 +Minimum Concentration: +0 +Mean Concentration: +1.19697 +Maximum Concentration: +6 +Standard Deviation: +1.62 +FE3 +Minimum Concentration: +0 +Mean Concentration: +3.34343 +Maximum Concentration: +11 +Standard Deviation: +2.17191 +BR +Minimum Concentration: +0 +Mean Concentration: +2.05303 +Maximum Concentration: +12 +Standard Deviation: +2.45974 diff --git a/test/Belousov-Zhabotinksy/anlys_basic_c.csv b/test/Belousov-Zhabotinksy/anlys_basic_c.csv index 84de0521..acc56e3b 100644 --- a/test/Belousov-Zhabotinksy/anlys_basic_c.csv +++ b/test/Belousov-Zhabotinksy/anlys_basic_c.csv @@ -1,5 +1,28 @@ -# Showing cells 0-99 between 6 min and 14.5438 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,0,1.48485,8 -FE3,0,4.7601,17 -BR,0,2.56566,14 +# Showing cells 0-99 between 6 min and 14.5482 min +FE2 +Minimum Concentration: +0 +Mean Concentration: +1.42424 +Maximum Concentration: +8 +Standard Deviation: +1.79784 +FE3 +Minimum Concentration: +0 +Mean Concentration: +5.60859 +Maximum Concentration: +21 +Standard Deviation: +4.03225 +BR +Minimum Concentration: +0 +Mean Concentration: +3 +Maximum Concentration: +22 +Standard Deviation: +3.52639 diff --git a/test/Belousov-Zhabotinksy/anlys_basic_d.csv b/test/Belousov-Zhabotinksy/anlys_basic_d.csv index 77382d6d..5a86872f 100644 --- a/test/Belousov-Zhabotinksy/anlys_basic_d.csv +++ b/test/Belousov-Zhabotinksy/anlys_basic_d.csv @@ -1,5 +1,28 @@ -# Showing cells 0-99 between 9 min and 14.5438 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,0,1.33838,8 -FE3,0,6.30303,32 -BR,0,3.49495,16 +# Showing cells 0-99 between 9 min and 14.5482 min +FE2 +Minimum Concentration: +0 +Mean Concentration: +1.32323 +Maximum Concentration: +8 +Standard Deviation: +1.75645 +FE3 +Minimum Concentration: +0 +Mean Concentration: +7.25758 +Maximum Concentration: +35 +Standard Deviation: +5.84434 +BR +Minimum Concentration: +0 +Mean Concentration: +3.78283 +Maximum Concentration: +28 +Standard Deviation: +4.9935 diff --git a/test/Belousov-Zhabotinksy/anlys_basic_e.csv b/test/Belousov-Zhabotinksy/anlys_basic_e.csv index 510e70ca..bb05d405 100644 --- a/test/Belousov-Zhabotinksy/anlys_basic_e.csv +++ b/test/Belousov-Zhabotinksy/anlys_basic_e.csv @@ -1,5 +1,28 @@ -# Showing cells 0-99 between 12 min and 14.5438 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,0,1.30808,8 -FE3,0,8.07071,42 -BR,0,4.82071,33 +# Showing cells 0-99 between 12 min and 14.5482 min +FE2 +Minimum Concentration: +0 +Mean Concentration: +1.29293 +Maximum Concentration: +8 +Standard Deviation: +1.73863 +FE3 +Minimum Concentration: +0 +Mean Concentration: +9.90909 +Maximum Concentration: +72 +Standard Deviation: +10.898 +BR +Minimum Concentration: +0 +Mean Concentration: +5.88384 +Maximum Concentration: +62 +Standard Deviation: +8.7651 diff --git a/test/Belousov-Zhabotinksy/anlys_oscil.csv b/test/Belousov-Zhabotinksy/anlys_oscil.csv index 934ee35c..6e42f6bb 100644 --- a/test/Belousov-Zhabotinksy/anlys_oscil.csv +++ b/test/Belousov-Zhabotinksy/anlys_oscil.csv @@ -1,502 +1,1003 @@ -# Showing cells 0-100 until 14.5438 min +# Showing cells 0-100 until 14.5482 min # Showing cell 0 Species,FE2,FE3,BR -avg peak,4,6,4.33333, -avg amp,2,2.5,2.16667, -avg per,3,5,3.1, +avg peak,4.5,5,3.25, +avg amp,2.25,2.25,1.625, +avg per,4,2.5,3.25, # Showing cell 1 Species,FE2,FE3,BR -avg peak,3.33333,9.5,3, -avg amp,1.66667,3.08333,1.5, -avg per,5.625,3.5,3.9, +avg peak,2.4,3,2.66667, +avg amp,1.2,-0.25,1.33333, +avg per,3.375,7,5.16667, # Showing cell 2 Species,FE2,FE3,BR -avg peak,4.4,2.8,11.6667, -avg amp,2.03333,1.4,2.45833, -avg per,2.88889,2.64286,4.2, +avg peak,3.5,5,0, +avg amp,1.55,2,-nan, +avg per,3.5,5,-nan, # Showing cell 3 Species,FE2,FE3,BR -avg peak,3.5,17,3.75, -avg amp,1.75,7,1.875, -avg per,3.66667,6,4, +avg peak,4.5,6,7, +avg amp,2.25,2,3.25, +avg per,3.35714,7.83333,2, # Showing cell 4 Species,FE2,FE3,BR -avg peak,5,4.75,8, -avg amp,2.5,1.875,3.5, -avg per,3.14286,4.2,4.125, +avg peak,3,16,3, +avg amp,1.5,4.75,1.5, +avg per,2.78571,6.5,3.7, +# Showing cell 5# Showing cells 0-100 until 14.5482 min + +# Showing cell 0 +Species,FE2,FE3,BR +avg peak,4.5,5,3.25, +avg amp,2.25,2.25,1.625, +avg per,4,2.5,3.25, +# Showing cell 1 +Species,FE2,FE3,BR +avg peak,2.4,3,2.66667, +avg amp,1.2,-0.25,1.33333, +avg per,3.375,7,5.16667, +# Showing cell 2 +Species,FE2,FE3,BR +avg peak,3.5,5,0, +avg amp,1.55,2,-nan, +avg per,3.5,5,-nan, +# Showing cell 3 +Species,FE2,FE3,BR +avg peak,4.5,6,7, +avg amp,2.25,2,3.25, +avg per,3.35714,7.83333,2, +# Showing cell 4 +Species,FE2,FE3,BR +avg peak,3,16,3, +avg amp,1.5,4.75,1.5, +avg per,2.78571,6.5,3.7, # Showing cell 5 Species,FE2,FE3,BR -avg peak,3.6,7,3.75, -avg amp,1.8,2,1.875, -avg per,2.27778,3.33333,2.57143, +avg peak,5.33333,4,12.3333, +avg amp,2.66667,1.83333,3.5, +avg per,4.6,4.83333,3.875, +# Showing cell 6 +Species,FE2,FE3,BR +avg peak,4.5,15.5,5, +avg amp,2.25,4.08333,2.5, +avg per,3.64286,4.83333,3.3, +# Showing cell 7 +Species,FE2,FE3,BR +avg peak,4,5,7, +avg amp,2,1.66667,2.75, +avg per,3.57143,5.5,6.75, +# Showing cell 8 +Species,FE2,FE3,BR +avg peak,5.5,11,5.5, +avg amp,2.75,3.16667,2.75, +avg per,3.85714,5.83333,5.5, +# Showing cell 9 +Species,FE2,FE3,BR +avg peak,5.33333,5.66667,5.66667, +avg amp,2.66667,1.83333,2.83333, +avg per,3.2,2.7,3.2, +# Showing cell 10 +Species,FE2,FE3,BR +avg peak,3,8.5,2.5, +avg amp,1.5,3.75,1.25, +avg per,7,3.25,4.16667, +# Showing cell 11 +Species,FE2,FE3,BR +avg peak,4,10,10, +avg amp,2,3.5,5, +avg per,2,8,8.5, +# Showing cell 12 +Species,FE2,FE3,BR +avg peak,4.5,6.5,5.33333, +avg amp,2.25,3.08333,2.5, +avg per,3.64286,5.5,4.25, +# Showing cell 13 +Species,FE2,FE3,BR +avg peak,4,3.5,6.33333, +avg amp,2,1.75,3.16667, +avg per,1.95,5.16667,5, +# Showing cell 14 +Species,FE2,FE3,BR +avg peak,4,7,4.33333, +avg amp,2,3.25,2.16667, +avg per,4.41667,6,5, +# Showing cell 15 +Species,FE2,FE3,BR +avg peak,4.4,2.6,5.66667, +avg amp,2.2,1.21667,2.33333, +avg per,3.1875,2.38889,4.375, +# Showing cell 16 +Species,FE2,FE3,BR +avg peak,5.33333,5.33333,3.66667, +avg amp,2.66667,2.33333,1.83333, +avg per,4,4,3.625, +# Showing cell 17 +Species,FE2,FE3,BR +avg peak,3.14286,9.33333,3, +avg amp,1.57143,2.79167,1.5, +avg per,2.04167,4,2.5625, +# Showing cell 18 +Species,FE2,FE3,BR +avg peak,3.5,9,10, +avg amp,1.75,3.5,4.25, +avg per,4,8.5,6.5, +# Showing cell 19 +Species,FE2,FE3,BR +avg peak,3.2,8.5,3.75, +avg amp,1.6,3.75,1.875, +avg per,2.55556,12,2.66667, +# Showing cell 20 +Species,FE2,FE3,BR +avg peak,4,5,5.66667, +avg amp,2,2,2.83333, +avg per,2,5,3.83333, +# Showing cell 21 +Species,FE2,FE3,BR +avg peak,4,5,4.5, +avg amp,2,2.5,2.25, +avg per,3.8,3.5,5, +# Showing cell 22 +Species,FE2,FE3,BR +avg peak,2.33333,6.66667,3.33333, +avg amp,1.16667,1.5,1.66667, +avg per,2.45455,5.25,3.75, +# Showing cell 23 +Species,FE2,FE3,BR +avg peak,4,3.5,2, +avg amp,2,1.58333,1, +avg per,3,4.66667,-nan, +# Showing cell 24 +Species,FE2,FE3,BR +avg peak,3,13,3.25, +avg amp,1.5,3.75,1.625, +avg per,3.5,8,3.5, +# Showing cell 25 +Species,FE2,FE3,BR +avg peak,4,2.75,11, +avg amp,2,1.25,2.5, +avg per,2.25,3.75,3, +# Showing cell 26 +Species,FE2,FE3,BR +avg peak,2.4,11,3.25, +avg amp,1.2,4.5,1.625, +avg per,3.0625,5.5,3.5, +# Showing cell 27 +Species,FE2,FE3,BR +avg peak,2.33333,4.33333,2, +avg amp,1.16667,1.33333,1, +avg per,2.13636,4.625,1.83333, +# Showing cell 28 +Species,FE2,FE3,BR +avg peak,3.5,2.5,5, +avg amp,1.75,0.916667,2.33333, +avg per,4,3,4.625, +# Showing cell 29 +Species,FE2,FE3,BR +avg peak,5.5,6.33333,6.66667, +avg amp,2.75,3.16667,2.33333, +avg per,3.07143,7.16667,3.625, +# Showing cell 30 +Species,FE2,FE3,BR +avg peak,4,9.33333,3.66667, +avg amp,2,3.33333,1.83333, +avg per,4.8,4.625,3.6, +# Showing cell 31 +Species,FE2,FE3,BR +avg peak,4,2.75,5.5, +avg amp,2,1.375,1.75, +avg per,3.41667,3.41667,3.25, +# Showing cell 32 +Species,FE2,FE3,BR +avg peak,3,7.5,3.66667, +avg amp,1.5,2.41667,1.83333, +avg per,3.42857,2.66667,4, +# Showing cell 33 +Species,FE2,FE3,BR +avg peak,4,3,6, +avg amp,2,1.33333,2, +avg per,3.35714,4.375,2, +# Showing cell 34 +Species,FE2,FE3,BR +avg peak,2.5,0,2.66667, +avg amp,1.25,-nan,1.33333, +avg per,3.35714,-nan,3.5, +# Showing cell 35 +Species,FE2,FE3,BR +avg peak,4,2.8,22, +avg amp,2,1,2, +avg per,3.4,2.8125,10, +# Showing cell 36 +Species,FE2,FE3,BR +avg peak,4.4,0,4, +avg amp,2.2,-nan,2, +avg per,2.6875,-nan,2, +# Showing cell 37 +Species,FE2,FE3,BR +avg peak,4.8,4,8, +avg amp,2.4,1.75,3.25, +avg per,2.05556,3.16667,4.5, +# Showing cell 38 +Species,FE2,FE3,BR +avg peak,3.5,0,4, +avg amp,1.75,-nan,2, +avg per,2.42857,-nan,5.16667, +# Showing cell 39 +Species,FE2,FE3,BR +avg peak,5.33333,4.33333,6, +avg amp,2.66667,1.91667,2.16667, +avg per,3.6,6.5,3.125, +# Showing cell 40 +Species,FE2,FE3,BR +avg peak,4.4,5.75,5, +avg amp,2.2,2.25,2.5, +avg per,1.88889,3.16667,5, +# Showing cell 41 +Species,FE2,FE3,BR +avg peak,4,6,4.66667, +avg amp,2,2.33333,2.33333, +avg per,2.7,4.875,2.6, +# Showing cell 42 +Species,FE2,FE3,BR +avg peak,4,5,4.33333, +avg amp,1.83333,2.5,1.83333, +avg per,2.94444,4.16667,4.625, +# Showing cell 43 +Species,FE2,FE3,BR +avg peak,5.5,9.5,4.75, +avg amp,2.75,2.91667,2.20833, +avg per,2.66667,5,3.3, +# Showing cell 44 +Species,FE2,FE3,BR +avg peak,3.6,10,4.66667, +avg amp,1.8,4.5,2.33333, +avg per,2.16667,7.5,3, +# Showing cell 45 +Species,FE2,FE3,BR +avg peak,4,7.33333,6.33333, +avg amp,2,2.5,2.54167, +avg per,3.6,4.375,3.7, +# Showing cell 46 +Species,FE2,FE3,BR +avg peak,6,6,5, +avg amp,3,2.5,2.5, +avg per,5.66667,5.5,4.16667, +# Showing cell 47 +Species,FE2,FE3,BR +avg peak,4.5,12,7, +avg amp,2.25,5.5,3.16667, +avg per,3.66667,8.5,3.75, +# Showing cell 48 +Species,FE2,FE3,BR +avg peak,4,7.5,5, +avg amp,2,3.25,2.25, +avg per,3.91667,6.33333,6.16667, +# Showing cell 49 +Species,FE2,FE3,BR +avg peak,4,5.75,6.33333, +avg amp,2,1.675,3.16667, +avg per,2.77778,2.64286,4, +# Showing cell 50 +Species,FE2,FE3,BR +avg peak,2.66667,5.5,3.5, +avg amp,1.33333,1.58333,1.75, +avg per,3.9,5.5,3.83333, +# Showing cell 51 +Species,FE2,FE3,BR +avg peak,4.4,6.5,5.5, +avg amp,2.2,2.41667,2.75, +avg per,3.125,4.66667,5.25, +# Showing cell 52 +Species,FE2,FE3,BR +avg peak,4,8.66667,5.5, +avg amp,2,3.5,2.75, +avg per,3,3.125,3.5, +# Showing cell 53 +Species,FE2,FE3,BR +avg peak,4.33333,4.33333,5.25, +avg amp,2.16667,1.83333,2.625, +avg per,2.09091,4.125,4, +# Showing cell 54 +Species,FE2,FE3,BR +avg peak,4,6,3.6, +avg amp,2,2.33333,1.8, +avg per,3.125,5.66667,2.92857, +# Showing cell 55 +Species,FE2,FE3,BR +avg peak,4,7.75,5, +avg amp,2,1.70833,2.5, +avg per,4.3,3.5,5.75, +# Showing cell 56 +Species,FE2,FE3,BR +avg peak,4,6.33333,6.5, +avg amp,2,2.33333,3.25, +avg per,4.2,4.75,4.5, +# Showing cell 57 +Species,FE2,FE3,BR +avg peak,3.5,5,4, +avg amp,1.75,2,2, +avg per,3.07143,3.25,1.83333, +# Showing cell 58 +Species,FE2,FE3,BR +avg peak,3.5,4.25,4.75, +avg amp,1.75,1.45833,2.375, +avg per,2.57143,3.8,2.5, +# Showing cell 59 +Species,FE2,FE3,BR +avg peak,3.2,9,3.75, +avg amp,1.6,2.33333,1.875, +avg per,2.75,5.33333,4.1, +# Showing cell 60 +Species,FE2,FE3,BR +avg peak,3.2,8,3, +avg amp,1.6,2.66667,1.5, +avg per,2.72222,5,3.5, +# Showing cell 61 +Species,FE2,FE3,BR +avg peak,3.5,3,8, +avg amp,1.75,1.16667,3.5, +avg per,2.85714,2.875,9.5, +# Showing cell 62 +Species,FE2,FE3,BR +avg peak,6,15,10.5, +avg amp,3,6.25,5.25, +avg per,3.5,12.5,7, +# Showing cell 63 +Species,FE2,FE3,BR +avg peak,3.33333,4.66667,9, +avg amp,1.66667,2.33333,3.5, +avg per,2.27273,3.625,4.83333, +# Showing cell 64 +Species,FE2,FE3,BR +avg peak,2.5,5.33333,4.66667, +avg amp,1.25,2,1.83333, +avg per,3.21429,5.875,3.875, +# Showing cell 65 +Species,FE2,FE3,BR +avg peak,4,5.5,7, +avg amp,2,1.91667,3.5, +avg per,2.64286,4.33333,8.5, +# Showing cell 66 +Species,FE2,FE3,BR +avg peak,4.5,11,6.66667, +avg amp,2.25,4.75,3.33333, +avg per,2.75,9.5,3.125, +# Showing cell 67 +Species,FE2,FE3,BR +avg peak,4.5,9.75,4.75, +avg amp,2.25,2.75,2.375, +avg per,2.85714,3.91667,3.16667, +# Showing cell 68 +Species,FE2,FE3,BR +avg peak,4.66667,8.5,5.5, +avg amp,2.33333,3.5,2.75, +avg per,4.8,6.75,4.83333, +# Showing cell 69 +Species,FE2,FE3,BR +avg peak,2.8,4.33333,9, +avg amp,1.4,1.83333,3.16667, +avg per,2.5,4.375,3.5, +# Showing cell 70 +Species,FE2,FE3,BR +avg peak,2.66667,16,3.33333, +avg amp,1.33333,7,1.66667, +avg per,2.04545,-nan,3.75, +# Showing cell 71 +Species,FE2,FE3,BR +avg peak,2.5,3.66667,9.5, +avg amp,1.25,1.08333,2.5, +avg per,3.21429,3.5,6.75, +# Showing cell 72 +Species,FE2,FE3,BR +avg peak,3.2,7,2.75, +avg amp,1.6,2.5,1.375, +avg per,2.5,6,2.58333, +# Showing cell 73 +Species,FE2,FE3,BR +avg peak,3.6,15,3.5, +avg amp,1.8,4,1.75, +avg per,3,6.5,3, +# Showing cell 74 +Species,FE2,FE3,BR +avg peak,4,4,21, +avg amp,2,1.5,5, +avg per,4.1,3.33333,7.5, +# Showing cell 75 +Species,FE2,FE3,BR +avg peak,2.66667,0,2, +avg amp,1.33333,-nan,1, +avg per,4.3,-nan,4.16667, +# Showing cell 76 +Species,FE2,FE3,BR +avg peak,4,3.8,3, +avg amp,2,1.31667,1.5, +avg per,2.75,2.22222,2.33333, +# Showing cell 77 +Species,FE2,FE3,BR +avg peak,5.33333,4,6, +avg amp,2.66667,1.16667,2.875, +avg per,4.2,3.375,2.9, +# Showing cell 78 +Species,FE2,FE3,BR +avg peak,3.5,7.33333,4.25, +avg amp,1.75,2.5,1.875, +avg per,2.71429,2.75,3, +# Showing cell 79 +Species,FE2,FE3,BR +avg peak,4.66667,6,3.66667, +avg amp,2.33333,2,1.83333, +avg per,6.375,7.16667,4, +# Showing cell 80 +Species,FE2,FE3,BR +avg peak,4.5,6.25,6, +avg amp,2.25,2.45833,3, +avg per,2.92857,4.1,5, +# Showing cell 81 +Species,FE2,FE3,BR +avg peak,4.5,4.5,5, +avg amp,2.25,2.08333,2.5, +avg per,4.16667,3.66667,5.66667, +# Showing cell 82 +Species,FE2,FE3,BR +avg peak,3.5,7,8.5, +avg amp,1.75,2.5,4.25, +avg per,3.41667,5.66667,6.75, +# Showing cell 83 +Species,FE2,FE3,BR +avg peak,4.4,6,5, +avg amp,2.2,2.16667,2.5, +avg per,2.875,3,3, +# Showing cell 84 +Species,FE2,FE3,BR +avg peak,3,7.33333,7.33333, +avg amp,1.5,2.16667,2.16667, +avg per,3.64286,4.75,4.375, +# Showing cell 85 +Species,FE2,FE3,BR +avg peak,3.2,6,3.33333, +avg amp,1.6,2.25,1.66667, +avg per,2.44444,4,4.25, +# Showing cell 86 +Species,FE2,FE3,BR +avg peak,3.5,3.33333,18.5, +avg amp,1.75,1.41667,6.75, +avg per,3.5,3.2,10.5, +# Showing cell 87 +Species,FE2,FE3,BR +avg peak,2,17,2.33333, +avg amp,1,3.66667,1.16667, +avg per,2.21429,4.16667,3.5, +# Showing cell 88 +Species,FE2,FE3,BR +avg peak,4.4,4.75,13, +avg amp,2.2,1.75,4, +avg per,3.3125,3.33333,7.5, +# Showing cell 89 +Species,FE2,FE3,BR +avg peak,3.6,15,4.33333, +avg amp,1.8,5.5,2.16667, +avg per,3,7.5,3.9, +# Showing cell 90 +Species,FE2,FE3,BR +avg peak,4.66667,4.33333,7.66667, +avg amp,2.33333,1.83333,3.83333, +avg per,4.1,5,3.83333, +# Showing cell 91 +Species,FE2,FE3,BR +avg peak,4,7.25,5, +avg amp,2,2.5,2.5, +avg per,4.3,2.91667,3.1, +# Showing cell 92 +Species,FE2,FE3,BR +avg peak,3.33333,11,4, +avg amp,1.66667,3.75,1.875, +avg per,3.6,9,3.6, +# Showing cell 93 +Species,FE2,FE3,BR +avg peak,4,4.33333,6.5, +avg amp,2,1.83333,2.25, +avg per,3.57143,3.75,5, +# Showing cell 94 +Species,FE2,FE3,BR +avg peak,3.5,7,3.66667, +avg amp,1.75,1.75,1.83333, +avg per,3.21429,4.5,3.125, +# Showing cell 95 +Species,FE2,FE3,BR +avg peak,4.8,7.66667,7, +avg amp,2.4,2.5,2.75, +avg per,2.94444,4,2.5, +# Showing cell 96 +Species,FE2,FE3,BR +avg peak,4,15.5,5, +avg amp,2,7.75,2.5, +avg per,1.92857,12.5,3, +# Showing cell 97 +Species,FE2,FE3,BR +avg peak,3.2,11,6, +avg amp,1.6,4.5,3, +avg per,3,9,6.75, +# Showing cell 98 +Species,FE2,FE3,BR +avg peak,3.2,5.33333,3.66667, +avg amp,1.6,2.5,1.66667, +avg per,3.25,3.625,5.125, +# Showing cell 99 +Species,FE2,FE3,BR +avg peak,4,2.66667,5, +avg amp,2,1.33333,1.75, +avg per,3,4.1,8, +Species,FE2,FE3,BR +avg peak,5.33333,4,12.3333, +avg amp,2.66667,1.83333,3.5, +avg per,4.6,4.83333,3.875, # Showing cell 6 Species,FE2,FE3,BR -avg peak,4,7,6, -avg amp,2,3,2.66667, -avg per,2.71429,5.5,2.83333, +avg peak,4.5,15.5,5, +avg amp,2.25,4.08333,2.5, +avg per,3.64286,4.83333,3.3, # Showing cell 7 Species,FE2,FE3,BR -avg peak,4.66667,10.5,5, -avg amp,2.33333,3.75,2.5, -avg per,5.625,6.75,5.5, +avg peak,4,5,7, +avg amp,2,1.66667,2.75, +avg per,3.57143,5.5,6.75, # Showing cell 8 Species,FE2,FE3,BR -avg peak,5.5,5,8, -avg amp,2.75,2.33333,3, -avg per,3.28571,4,3.4, +avg peak,5.5,11,5.5, +avg amp,2.75,3.16667,2.75, +avg per,3.85714,5.83333,5.5, # Showing cell 9 Species,FE2,FE3,BR -avg peak,3.66667,10.3333,3.75, -avg amp,1.83333,3.91667,1.875, -avg per,2.25,5.66667,4.1, +avg peak,5.33333,5.66667,5.66667, +avg amp,2.66667,1.83333,2.83333, +avg per,3.2,2.7,3.2, # Showing cell 10 Species,FE2,FE3,BR -avg peak,4,9,2.5, -avg amp,2,3,1.25, -avg per,4.5,7,2.75, +avg peak,3,8.5,2.5, +avg amp,1.5,3.75,1.25, +avg per,7,3.25,4.16667, # Showing cell 11 Species,FE2,FE3,BR -avg peak,4.66667,5.33333,5, -avg amp,2.33333,1.41667,2.5, -avg per,4.2,2.7,3, +avg peak,4,10,10, +avg amp,2,3.5,5, +avg per,2,8,8.5, # Showing cell 12 Species,FE2,FE3,BR -avg peak,4.5,5,7.33333, -avg amp,2.25,2.16667,3.66667, -avg per,3.08333,2.875,4.83333, +avg peak,4.5,6.5,5.33333, +avg amp,2.25,3.08333,2.5, +avg per,3.64286,5.5,4.25, # Showing cell 13 Species,FE2,FE3,BR -avg peak,3.42857,4.66667,4, -avg amp,1.71429,1.70833,2, -avg per,2.04167,3.8,4.25, +avg peak,4,3.5,6.33333, +avg amp,2,1.75,3.16667, +avg per,1.95,5.16667,5, # Showing cell 14 Species,FE2,FE3,BR -avg peak,4,5,5, -avg amp,2,2.16667,2.5, -avg per,2.33333,3.25,3.4, +avg peak,4,7,4.33333, +avg amp,2,3.25,2.16667, +avg per,4.41667,6,5, # Showing cell 15 Species,FE2,FE3,BR -avg peak,3,5.5,7, -avg amp,1.5,2.41667,3.25, -avg per,4.16667,6.33333,8.25, +avg peak,4.4,2.6,5.66667, +avg amp,2.2,1.21667,2.33333, +avg per,3.1875,2.38889,4.375, # Showing cell 16 Species,FE2,FE3,BR -avg peak,3.33333,11,4.5, -avg amp,1.66667,3.25,2.25, -avg per,4,7,4.16667, +avg peak,5.33333,5.33333,3.66667, +avg amp,2.66667,2.33333,1.83333, +avg per,4,4,3.625, # Showing cell 17 Species,FE2,FE3,BR -avg peak,4.5,3.5,14, -avg amp,2.05,1.41667,3.83333, -avg per,3.21429,3.8,4.16667, +avg peak,3.14286,9.33333,3, +avg amp,1.57143,2.79167,1.5, +avg per,2.04167,4,2.5625, # Showing cell 18 Species,FE2,FE3,BR -avg peak,2,9.66667,1.5, -avg amp,1,2.45833,0.75, -avg per,5.33333,4,2.5, +avg peak,3.5,9,10, +avg amp,1.75,3.5,4.25, +avg per,4,8.5,6.5, # Showing cell 19 Species,FE2,FE3,BR -avg peak,4.66667,7.5,3.75, -avg amp,2.33333,1.5,1.875, -avg per,3.1,3.66667,2.85714, +avg peak,3.2,8.5,3.75, +avg amp,1.6,3.75,1.875, +avg per,2.55556,12,2.66667, # Showing cell 20 Species,FE2,FE3,BR -avg peak,4,3.66667,5, -avg amp,2,1.83333,2.5, -avg per,2.61111,6.66667,-nan, +avg peak,4,5,5.66667, +avg amp,2,2,2.83333, +avg per,2,5,3.83333, # Showing cell 21 Species,FE2,FE3,BR -avg peak,3.5,7,4.66667, -avg amp,1.75,2,2.33333, -avg per,4.25,1,4.75, +avg peak,4,5,4.5, +avg amp,2,2.5,2.25, +avg per,3.8,3.5,5, # Showing cell 22 Species,FE2,FE3,BR -avg peak,5.5,7,10.5, -avg amp,2.75,3,5.25, -avg per,3.83333,4.33333,4.25, +avg peak,2.33333,6.66667,3.33333, +avg amp,1.16667,1.5,1.66667, +avg per,2.45455,5.25,3.75, # Showing cell 23 Species,FE2,FE3,BR -avg peak,4.5,10.5,5.5, -avg amp,2.25,5.25,2.75, -avg per,2.78571,9.25,4.16667, +avg peak,4,3.5,2, +avg amp,2,1.58333,1, +avg per,3,4.66667,-nan, # Showing cell 24 Species,FE2,FE3,BR -avg peak,4.66667,3.5,5.66667, -avg amp,2.33333,1.5,1.95833, -avg per,3.6,3.41667,3.2, +avg peak,3,13,3.25, +avg amp,1.5,3.75,1.625, +avg per,3.5,8,3.5, # Showing cell 25 Species,FE2,FE3,BR -avg peak,4,8.5,4.4, -avg amp,2,3,2.2, -avg per,2.25,5,2.64286, +avg peak,4,2.75,11, +avg amp,2,1.25,2.5, +avg per,2.25,3.75,3, # Showing cell 26 Species,FE2,FE3,BR -avg peak,4,5,5.5, -avg amp,2,2.16667,2.75, -avg per,3.07143,3.75,4.5, +avg peak,2.4,11,3.25, +avg amp,1.2,4.5,1.625, +avg per,3.0625,5.5,3.5, # Showing cell 27 Species,FE2,FE3,BR -avg peak,4.5,8,3.75, -avg amp,2.25,2.5,1.75, -avg per,2.85714,3.5,2.66667, +avg peak,2.33333,4.33333,2, +avg amp,1.16667,1.33333,1, +avg per,2.13636,4.625,1.83333, # Showing cell 28 Species,FE2,FE3,BR -avg peak,4.8,7,9, -avg amp,2.4,3.5,4.5, -avg per,2.16667,6,3.75, +avg peak,3.5,2.5,5, +avg amp,1.75,0.916667,2.33333, +avg per,4,3,4.625, # Showing cell 29 Species,FE2,FE3,BR -avg peak,4,13,2.66667, -avg amp,2,3.16667,1.33333, -avg per,4.2,4.83333,3, +avg peak,5.5,6.33333,6.66667, +avg amp,2.75,3.16667,2.33333, +avg per,3.07143,7.16667,3.625, # Showing cell 30 Species,FE2,FE3,BR -avg peak,4.5,5,8, -avg amp,2.25,2.16667,2.83333, -avg per,3.41667,6.16667,3.5, +avg peak,4,9.33333,3.66667, +avg amp,2,3.33333,1.83333, +avg per,4.8,4.625,3.6, # Showing cell 31 Species,FE2,FE3,BR -avg peak,3,11,3.66667, -avg amp,1.5,3,1.83333, -avg per,2.42857,8.25,2.4, +avg peak,4,2.75,5.5, +avg amp,2,1.375,1.75, +avg per,3.41667,3.41667,3.25, # Showing cell 32 Species,FE2,FE3,BR -avg peak,3.5,12,3, -avg amp,1.75,4,1.5, -avg per,3.5,5.25,5, +avg peak,3,7.5,3.66667, +avg amp,1.5,2.41667,1.83333, +avg per,3.42857,2.66667,4, # Showing cell 33 Species,FE2,FE3,BR -avg peak,4,5,8.5, -avg amp,2,2,3.58333, -avg per,2.61111,4.83333,3.83333, +avg peak,4,3,6, +avg amp,2,1.33333,2, +avg per,3.35714,4.375,2, # Showing cell 34 Species,FE2,FE3,BR -avg peak,4.4,6.66667,4.5, -avg amp,2.2,2.45833,2.25, -avg per,3.1875,4.1,3.08333, +avg peak,2.5,0,2.66667, +avg amp,1.25,-nan,1.33333, +avg per,3.35714,-nan,3.5, # Showing cell 35 Species,FE2,FE3,BR -avg peak,4,4,6, -avg amp,2,1.33333,3, -avg per,3.42857,4,5.5, +avg peak,4,2.8,22, +avg amp,2,1,2, +avg per,3.4,2.8125,10, # Showing cell 36 Species,FE2,FE3,BR -avg peak,4.8,5.33333,5.66667, -avg amp,2.4,2.29167,2.83333, -avg per,3.0625,4.3,4.375, +avg peak,4.4,0,4, +avg amp,2.2,-nan,2, +avg per,2.6875,-nan,2, # Showing cell 37 Species,FE2,FE3,BR -avg peak,3.5,5,7, -avg amp,1.75,2.25,3.5, -avg per,3.35714,3.8,6.75, +avg peak,4.8,4,8, +avg amp,2.4,1.75,3.25, +avg per,2.05556,3.16667,4.5, # Showing cell 38 Species,FE2,FE3,BR -avg peak,2.8,10,3.5, -avg amp,1.4,4.75,1.75, -avg per,2.55556,7,2.83333, +avg peak,3.5,0,4, +avg amp,1.75,-nan,2, +avg per,2.42857,-nan,5.16667, # Showing cell 39 Species,FE2,FE3,BR -avg peak,5.33333,3.5,17, -avg amp,2.66667,1.55,7.5, -avg per,4.625,2.85714,7.5, +avg peak,5.33333,4.33333,6, +avg amp,2.66667,1.91667,2.16667, +avg per,3.6,6.5,3.125, # Showing cell 40 Species,FE2,FE3,BR -avg peak,2.4,12.6667,2.5, -avg amp,1.2,2.83333,1.25, -avg per,2.5,4.3,3, +avg peak,4.4,5.75,5, +avg amp,2.2,2.25,2.5, +avg per,1.88889,3.16667,5, # Showing cell 41 Species,FE2,FE3,BR -avg peak,4,2.66667,8, -avg amp,2,0.958333,2, -avg per,3.1,2.8,2.66667, +avg peak,4,6,4.66667, +avg amp,2,2.33333,2.33333, +avg per,2.7,4.875,2.6, # Showing cell 42 Species,FE2,FE3,BR -avg peak,3.5,4,3.66667, -avg amp,1.75,2,1.83333, -avg per,4.33333,-nan,5.5, +avg peak,4,5,4.33333, +avg amp,1.83333,2.5,1.83333, +avg per,2.94444,4.16667,4.625, # Showing cell 43 Species,FE2,FE3,BR -avg peak,4,3.25,9, -avg amp,2,1.625,3.75, -avg per,2.88889,3.33333,5.5, +avg peak,5.5,9.5,4.75, +avg amp,2.75,2.91667,2.20833, +avg per,2.66667,5,3.3, # Showing cell 44 Species,FE2,FE3,BR -avg peak,2.66667,12.5,2.66667, -avg amp,1.33333,2.75,1.33333, -avg per,3.1,4.66667,3.1, +avg peak,3.6,10,4.66667, +avg amp,1.8,4.5,2.33333, +avg per,2.16667,7.5,3, # Showing cell 45 Species,FE2,FE3,BR -avg peak,4.66667,2.33333,8, -avg amp,2.33333,1.16667,3.75, -avg per,4.2,2.9,4.5, +avg peak,4,7.33333,6.33333, +avg amp,2,2.5,2.54167, +avg per,3.6,4.375,3.7, # Showing cell 46 Species,FE2,FE3,BR -avg peak,4,7.25,6, -avg amp,2,2.125,3, -avg per,2.7,3.58333,3.5, +avg peak,6,6,5, +avg amp,3,2.5,2.5, +avg per,5.66667,5.5,4.16667, # Showing cell 47 Species,FE2,FE3,BR -avg peak,3.5,14,3.75, -avg amp,1.75,6,1.875, -avg per,3.35714,11,2.91667, +avg peak,4.5,12,7, +avg amp,2.25,5.5,3.16667, +avg per,3.66667,8.5,3.75, # Showing cell 48 Species,FE2,FE3,BR -avg peak,4.4,2.5,8, -avg amp,2.03333,1.125,3.25, -avg per,2.16667,3,3, +avg peak,4,7.5,5, +avg amp,2,3.25,2.25, +avg per,3.91667,6.33333,6.16667, # Showing cell 49 Species,FE2,FE3,BR -avg peak,2,0,2, -avg amp,1,-nan,1, -avg per,2.6,-nan,2.6, +avg peak,4,5.75,6.33333, +avg amp,2,1.675,3.16667, +avg per,2.77778,2.64286,4, # Showing cell 50 Species,FE2,FE3,BR -avg peak,4,4,12.5, -avg amp,2,1.83333,5.5, -avg per,2.77778,4.5,5.75, +avg peak,2.66667,5.5,3.5, +avg amp,1.33333,1.58333,1.75, +avg per,3.9,5.5,3.83333, # Showing cell 51 Species,FE2,FE3,BR -avg peak,4,22.5,4, -avg amp,2,6.08333,2, -avg per,3.35714,5,3.375, +avg peak,4.4,6.5,5.5, +avg amp,2.2,2.41667,2.75, +avg per,3.125,4.66667,5.25, # Showing cell 52 Species,FE2,FE3,BR -avg peak,3.5,3,10, -avg amp,1.75,1.2,3.5, -avg per,2.78571,2.85714,4.5, +avg peak,4,8.66667,5.5, +avg amp,2,3.5,2.75, +avg per,3,3.125,3.5, # Showing cell 53 Species,FE2,FE3,BR -avg peak,4,14.3333,3, -avg amp,2,6.16667,1.5, -avg per,2.64286,5.33333,3.625, +avg peak,4.33333,4.33333,5.25, +avg amp,2.16667,1.83333,2.625, +avg per,2.09091,4.125,4, # Showing cell 54 Species,FE2,FE3,BR -avg peak,4,4,4, -avg amp,2,1.66667,2, -avg per,3.64286,5.375,-nan, +avg peak,4,6,3.6, +avg amp,2,2.33333,1.8, +avg per,3.125,5.66667,2.92857, # Showing cell 55 Species,FE2,FE3,BR -avg peak,4.5,7.25,5.25, -avg amp,2.25,2.25,2.625, -avg per,3.07143,3.75,3, +avg peak,4,7.75,5, +avg amp,2,1.70833,2.5, +avg per,4.3,3.5,5.75, # Showing cell 56 Species,FE2,FE3,BR -avg peak,4,3.5,6, -avg amp,2,1.75,3, -avg per,3.28571,6,5.66667, +avg peak,4,6.33333,6.5, +avg amp,2,2.33333,3.25, +avg per,4.2,4.75,4.5, # Showing cell 57 Species,FE2,FE3,BR -avg peak,4.33333,10.3333,6, -avg amp,2.16667,3.66667,3, -avg per,2.45455,3.125,4.33333, +avg peak,3.5,5,4, +avg amp,1.75,2,2, +avg per,3.07143,3.25,1.83333, # Showing cell 58 Species,FE2,FE3,BR -avg peak,5.2,5.75,6.33333, -avg amp,2.6,1.875,3, -avg per,3.25,3.8,3.375, +avg peak,3.5,4.25,4.75, +avg amp,1.75,1.45833,2.375, +avg per,2.57143,3.8,2.5, # Showing cell 59 Species,FE2,FE3,BR -avg peak,3,8,4, -avg amp,1.5,3,2, -avg per,3.71429,5.66667,4.2, +avg peak,3.2,9,3.75, +avg amp,1.6,2.33333,1.875, +avg per,2.75,5.33333,4.1, # Showing cell 60 Species,FE2,FE3,BR -avg peak,3.33333,6,5, -avg amp,1.66667,2.66667,2.5, -avg per,3.9,4,4.5, +avg peak,3.2,8,3, +avg amp,1.6,2.66667,1.5, +avg per,2.72222,5,3.5, # Showing cell 61 Species,FE2,FE3,BR -avg peak,2.66667,12,3, -avg amp,1.33333,5.25,1.5, -avg per,4.875,9.5,2.9, +avg peak,3.5,3,8, +avg amp,1.75,1.16667,3.5, +avg per,2.85714,2.875,9.5, # Showing cell 62 Species,FE2,FE3,BR -avg peak,6,6.5,7.5, -avg amp,3,2.91667,3.75, -avg per,4.3,2.83333,7.75, +avg peak,6,15,10.5, +avg amp,3,6.25,5.25, +avg per,3.5,12.5,7, # Showing cell 63 Species,FE2,FE3,BR -avg peak,4,11,4.5, -avg amp,2,2.75,2.25, -avg per,2.61111,3.08333,3.83333, +avg peak,3.33333,4.66667,9, +avg amp,1.66667,2.33333,3.5, +avg per,2.27273,3.625,4.83333, # Showing cell 64 Species,FE2,FE3,BR -avg peak,4,5.5,4, -avg amp,2,2.5,2, -avg per,6.25,7.75,-nan, +avg peak,2.5,5.33333,4.66667, +avg amp,1.25,2,1.83333, +avg per,3.21429,5.875,3.875, # Showing cell 65 Species,FE2,FE3,BR -avg peak,3.2,9.5,3.75, -avg amp,1.6,3.25,1.875, -avg per,2.72222,5.25,2.91667, +avg peak,4,5.5,7, +avg amp,2,1.91667,3.5, +avg per,2.64286,4.33333,8.5, # Showing cell 66 Species,FE2,FE3,BR -avg peak,3.5,4.75,4, -avg amp,1.75,1.625,2, -avg per,3.07143,3.25,3, +avg peak,4.5,11,6.66667, +avg amp,2.25,4.75,3.33333, +avg per,2.75,9.5,3.125, # Showing cell 67 Species,FE2,FE3,BR -avg peak,3.5,12,3.33333, -avg amp,1.75,2.375,1.66667, -avg per,3.35714,3.5,3.375, +avg peak,4.5,9.75,4.75, +avg amp,2.25,2.75,2.375, +avg per,2.85714,3.91667,3.16667, # Showing cell 68 Species,FE2,FE3,BR -avg peak,2.8,5.66667,9, -avg amp,1.4,2,4.5, -avg per,2.5,4.5,10, +avg peak,4.66667,8.5,5.5, +avg amp,2.33333,3.5,2.75, +avg per,4.8,6.75,4.83333, # Showing cell 69 Species,FE2,FE3,BR -avg peak,3.2,9,6.33333, -avg amp,1.6,3.33333,3.16667, -avg per,3.3125,5.5,4.5, +avg peak,2.8,4.33333,9, +avg amp,1.4,1.83333,3.16667, +avg per,2.5,4.375,3.5, # Showing cell 70 Species,FE2,FE3,BR -avg peak,4,11,4.25, -avg amp,2,4.25,2.125, -avg per,1.54545,9.5,2.5, +avg peak,2.66667,16,3.33333, +avg amp,1.33333,7,1.66667, +avg per,2.04545,-nan,3.75, # Showing cell 71 Species,FE2,FE3,BR -avg peak,5,3,7, -avg amp,2.5,1.33333,2.66667, -avg per,4.16667,3.8,4.33333, +avg peak,2.5,3.66667,9.5, +avg amp,1.25,1.08333,2.5, +avg per,3.21429,3.5,6.75, # Showing cell 72 Species,FE2,FE3,BR -avg peak,3.2,8.66667,3.5, -avg amp,1.6,2.83333,1.75, -avg per,2.77778,3.1,3, +avg peak,3.2,7,2.75, +avg amp,1.6,2.5,1.375, +avg per,2.5,6,2.58333, # Showing cell 73 Species,FE2,FE3,BR -avg peak,3.42857,3,5, -avg amp,1.71429,1.33333,2.16667, -avg per,2.25,4.33333,4, +avg peak,3.6,15,3.5, +avg amp,1.8,4,1.75, +avg per,3,6.5,3, # Showing cell 74 Species,FE2,FE3,BR -avg peak,4.4,8.33333,5, -avg amp,2.2,3.33333,2.5, -avg per,2.72222,5.75,3.25, +avg peak,4,4,21, +avg amp,2,1.5,5, +avg per,4.1,3.33333,7.5, # Showing cell 75 Species,FE2,FE3,BR -avg peak,4,6.66667,7, -avg amp,2,2.08333,3.5, -avg per,3.5,4.1,7.5, +avg peak,2.66667,0,2, +avg amp,1.33333,-nan,1, +avg per,4.3,-nan,4.16667, # Showing cell 76 Species,FE2,FE3,BR -avg peak,3.5,9.33333,4.25, -avg amp,1.75,3,2.125, -avg per,3.14286,4.875,2.35714, +avg peak,4,3.8,3, +avg amp,2,1.31667,1.5, +avg per,2.75,2.22222,2.33333, # Showing cell 77 Species,FE2,FE3,BR -avg peak,2.57143,4.5,4.5, -avg amp,1.28571,1.75,2.25, -avg per,1.875,4,7, +avg peak,5.33333,4,6, +avg amp,2.66667,1.16667,2.875, +avg per,4.2,3.375,2.9, # Showing cell 78 Species,FE2,FE3,BR -avg peak,3,8,4, -avg amp,1.5,2.66667,2, -avg per,2.83333,5.375,3.875, +avg peak,3.5,7.33333,4.25, +avg amp,1.75,2.5,1.875, +avg per,2.71429,2.75,3, # Showing cell 79 Species,FE2,FE3,BR -avg peak,3.33333,3.8,8.33333, -avg amp,1.66667,1.4,3.33333, -avg per,2.65,2.55556,5.25, +avg peak,4.66667,6,3.66667, +avg amp,2.33333,2,1.83333, +avg per,6.375,7.16667,4, # Showing cell 80 Species,FE2,FE3,BR -avg peak,3.6,7.33333,4, -avg amp,1.8,3.16667,2, -avg per,2.61111,7.83333,4.2, +avg peak,4.5,6.25,6, +avg amp,2.25,2.45833,3, +avg per,2.92857,4.1,5, # Showing cell 81 Species,FE2,FE3,BR -avg peak,4,3,4.5, -avg amp,2,1.25,2.25, -avg per,4.875,3.2,5.16667, +avg peak,4.5,4.5,5, +avg amp,2.25,2.08333,2.5, +avg per,4.16667,3.66667,5.66667, # Showing cell 82 Species,FE2,FE3,BR -avg peak,3,6,3.2, -avg amp,1.5,1.5,1.6, -avg per,2.6,3.5,2.78571, +avg peak,3.5,7,8.5, +avg amp,1.75,2.5,4.25, +avg per,3.41667,5.66667,6.75, # Showing cell 83 Species,FE2,FE3,BR -avg peak,3,4,4, -avg amp,1.5,1.375,2, -avg per,2.83333,3,2.66667, +avg peak,4.4,6,5, +avg amp,2.2,2.16667,2.5, +avg per,2.875,3,3, # Showing cell 84 Species,FE2,FE3,BR -avg peak,5,3.66667,5.33333, -avg amp,2.5,1.58333,2.5, -avg per,4.25,4.6,4.5, +avg peak,3,7.33333,7.33333, +avg amp,1.5,2.16667,2.16667, +avg per,3.64286,4.75,4.375, # Showing cell 85 Species,FE2,FE3,BR -avg peak,5.33333,6,5.33333, -avg amp,2.66667,2.25,2.66667, -avg per,3.25,4.1,3.25, +avg peak,3.2,6,3.33333, +avg amp,1.6,2.25,1.66667, +avg per,2.44444,4,4.25, # Showing cell 86 Species,FE2,FE3,BR -avg peak,2.8,4,4.66667, -avg amp,1.4,1.66667,2, -avg per,2.38889,4.625,4.125, +avg peak,3.5,3.33333,18.5, +avg amp,1.75,1.41667,6.75, +avg per,3.5,3.2,10.5, # Showing cell 87 Species,FE2,FE3,BR -avg peak,4.4,4.5,6, -avg amp,2.2,1.75,3, -avg per,2.8125,7.16667,7, +avg peak,2,17,2.33333, +avg amp,1,3.66667,1.16667, +avg per,2.21429,4.16667,3.5, # Showing cell 88 Species,FE2,FE3,BR -avg peak,3.2,5,4, -avg amp,1.6,2,2, -avg per,3,5,3.1, +avg peak,4.4,4.75,13, +avg amp,2.2,1.75,4, +avg per,3.3125,3.33333,7.5, # Showing cell 89 Species,FE2,FE3,BR -avg peak,4,4,7.5, -avg amp,2,1.375,0, -avg per,1.875,3.83333,4.5, +avg peak,3.6,15,4.33333, +avg amp,1.8,5.5,2.16667, +avg per,3,7.5,3.9, # Showing cell 90 Species,FE2,FE3,BR -avg peak,4,12.5,4.33333, -avg amp,2,3.91667,2.16667, -avg per,4,5.33333,4, +avg peak,4.66667,4.33333,7.66667, +avg amp,2.33333,1.83333,3.83333, +avg per,4.1,5,3.83333, # Showing cell 91 Species,FE2,FE3,BR -avg peak,4,9,8.66667, -avg amp,2,4.25,2, -avg per,3.2,6.75,3.875, +avg peak,4,7.25,5, +avg amp,2,2.5,2.5, +avg per,4.3,2.91667,3.1, # Showing cell 92 Species,FE2,FE3,BR -avg peak,3.5,10.5,8.5, -avg amp,1.75,2.41667,4.25, -avg per,4.5,4.83333,9.5, +avg peak,3.33333,11,4, +avg amp,1.66667,3.75,1.875, +avg per,3.6,9,3.6, # Showing cell 93 Species,FE2,FE3,BR -avg peak,5,11,10, -avg amp,2.5,4.75,5, -avg per,3.57143,12,10.5, +avg peak,4,4.33333,6.5, +avg amp,2,1.83333,2.25, +avg per,3.57143,3.75,5, # Showing cell 94 Species,FE2,FE3,BR -avg peak,3.2,8.5,3, -avg amp,1.6,4,1.5, -avg per,2.44444,6,3.5, +avg peak,3.5,7,3.66667, +avg amp,1.75,1.75,1.83333, +avg per,3.21429,4.5,3.125, # Showing cell 95 Species,FE2,FE3,BR -avg peak,4,3.5,5, -avg amp,2,1.58333,2.33333, -avg per,4.3,4.5,4.5, +avg peak,4.8,7.66667,7, +avg amp,2.4,2.5,2.75, +avg per,2.94444,4,2.5, # Showing cell 96 Species,FE2,FE3,BR -avg peak,2.66667,8,2.25, -avg amp,1.33333,2,1.125, -avg per,3,3.5,3.33333, +avg peak,4,15.5,5, +avg amp,2,7.75,2.5, +avg per,1.92857,12.5,3, # Showing cell 97 Species,FE2,FE3,BR -avg peak,4,5,15, -avg amp,2,2.5,5.75, -avg per,2.375,5.66667,3.5, +avg peak,3.2,11,6, +avg amp,1.6,4.5,3, +avg per,3,9,6.75, # Showing cell 98 Species,FE2,FE3,BR -avg peak,4.66667,8.5,6.5, -avg amp,2.33333,1.75,3.25, -avg per,3.9,5.25,5.5, +avg peak,3.2,5.33333,3.66667, +avg amp,1.6,2.5,1.66667, +avg per,3.25,3.625,5.125, # Showing cell 99 Species,FE2,FE3,BR -avg peak,4.5,5.5,7, -avg amp,2.25,2.5,2.75, -avg per,3,8.75,6, \ No newline at end of file +avg peak,4,2.66667,5, +avg amp,2,1.33333,1.75, +avg per,3,4.1,8, diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 33b5c5b7..dc19c4cc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,6 +1,9 @@ -#add_subdirectory(her_model_2014) +#Must be first for use in tests +add_subdirectory(ndiff) +#Actual tests +add_subdirectory(her_model_2014) #add_subdirectory(Belousov-Zhabotinksy) -#add_subdirectory(Nan_Test) -#add_subdirectory(time_test) +add_subdirectory(Nan_Test) +add_subdirectory(time_test) add_subdirectory(simple_model) #add_subdirectory(new_model) diff --git a/test/Nan_Test/anlys_basic_a.csv b/test/Nan_Test/anlys_basic_a.csv index 334f7f17..0f5dbb6b 100644 --- a/test/Nan_Test/anlys_basic_a.csv +++ b/test/Nan_Test/anlys_basic_a.csv @@ -1,5 +1,28 @@ # Showing cells 0-99 until 14.5 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -FE2,-nan,-nan,-nan -FE3,-nan,-nan,-nan -BR,-nan,-nan,-nan +FE2 +Minimum Concentration: +-nan +Mean Concentration: +-nan +Maximum Concentration: +-nan +Standard Deviation: +-nan +FE3 +Minimum Concentration: +-nan +Mean Concentration: +-nan +Maximum Concentration: +-nan +Standard Deviation: +-nan +BR +Minimum Concentration: +-nan +Mean Concentration: +-nan +Maximum Concentration: +-nan +Standard Deviation: +-nan diff --git a/test/her_model_2014/CMakeLists.txt b/test/her_model_2014/CMakeLists.txt index 7bd16280..3e44ac50 100644 --- a/test/her_model_2014/CMakeLists.txt +++ b/test/her_model_2014/CMakeLists.txt @@ -7,7 +7,7 @@ DETERMINISTIC_SIMULATION(her2014_simulation ${CMAKE_CURRENT_SOURCE_DIR}) set(test_cmd ${CMAKE_CURRENT_BINARY_DIR}/her2014_simulation) -set(test_args "--param-sets ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv --cell-total 10 --tissue-width 5 --time-total 3000 --anlys-intvl .01 --step-size .01 --analysis ${CMAKE_CURRENT_SOURCE_DIR}/analyses.xml") +set(test_args " --param-sets ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv --cell-total 10 --tissue-width 5 --time-total 3000 --anlys-intvl .01 --step-size .01 --analysis ${CMAKE_CURRENT_SOURCE_DIR}/analyses.xml") add_test( "her_test" ${CMAKE_COMMAND} -D test_cmd=${test_cmd} diff --git a/test/her_model_2014/anlys_basic_a.csv b/test/her_model_2014/anlys_basic_a.csv index 27fa7351..4d6cb765 100644 --- a/test/her_model_2014/anlys_basic_a.csv +++ b/test/her_model_2014/anlys_basic_a.csv @@ -1,4 +1,19 @@ # Showing cells 0-9 until 2999.99 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -ph1,0,188.374,252.34 -ph7,0,218.24,290.925 +ph1 +Minimum Concentration: +0 +Mean Concentration: +188.374 +Maximum Concentration: +252.34 +Standard Deviation: +54.4004 +ph7 +Minimum Concentration: +0 +Mean Concentration: +218.24 +Maximum Concentration: +290.925 +Standard Deviation: +61.6938 diff --git a/test/her_model_2014/cell_width_test_anlys.csv b/test/her_model_2014/cell_width_test_anlys.csv index 27fa7351..4d6cb765 100644 --- a/test/her_model_2014/cell_width_test_anlys.csv +++ b/test/her_model_2014/cell_width_test_anlys.csv @@ -1,4 +1,19 @@ # Showing cells 0-9 until 2999.99 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -ph1,0,188.374,252.34 -ph7,0,218.24,290.925 +ph1 +Minimum Concentration: +0 +Mean Concentration: +188.374 +Maximum Concentration: +252.34 +Standard Deviation: +54.4004 +ph7 +Minimum Concentration: +0 +Mean Concentration: +218.24 +Maximum Concentration: +290.925 +Standard Deviation: +61.6938 diff --git a/test/her_model_2014/total_time_test_01_anlys.csv b/test/her_model_2014/total_time_test_01_anlys.csv index 8208d951..feaa7f26 100644 --- a/test/her_model_2014/total_time_test_01_anlys.csv +++ b/test/her_model_2014/total_time_test_01_anlys.csv @@ -1,4 +1,19 @@ # Showing cells 0-9 until 4999.99 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -ph1,0,188.374,252.34 -ph7,0,218.24,290.925 +ph1 +Minimum Concentration: +0 +Mean Concentration: +188.374 +Maximum Concentration: +252.34 +Standard Deviation: +54.4004 +ph7 +Minimum Concentration: +0 +Mean Concentration: +218.24 +Maximum Concentration: +290.925 +Standard Deviation: +61.6938 diff --git a/test/her_model_2014/total_time_test_anlys.csv b/test/her_model_2014/total_time_test_anlys.csv index ab391761..365696ae 100644 --- a/test/her_model_2014/total_time_test_anlys.csv +++ b/test/her_model_2014/total_time_test_anlys.csv @@ -1,4 +1,19 @@ # Showing cells 0-9 until 299.99 min -Species,Minimum Concentration,Mean Concentration,Maximum Concentration -ph1,0,188.374,252.34 -ph7,0,218.24,290.925 +ph1 +Minimum Concentration: +0 +Mean Concentration: +188.374 +Maximum Concentration: +252.34 +Standard Deviation: +54.4004 +ph7 +Minimum Concentration: +0 +Mean Concentration: +218.24 +Maximum Concentration: +290.925 +Standard Deviation: +61.6938 diff --git a/test/simple_model/ndiff b/test/ndiff similarity index 100% rename from test/simple_model/ndiff rename to test/ndiff diff --git a/test/simple_model/CMakeLists.txt b/test/simple_model/CMakeLists.txt index 625df1cc..419b8841 100644 --- a/test/simple_model/CMakeLists.txt +++ b/test/simple_model/CMakeLists.txt @@ -1,5 +1,3 @@ -add_subdirectory(ndiff) - include_directories("${CMAKE_CURRENT_SOURCE_DIR}") add_subdirectory("${DENSE_SOURCE_DIR}/source" "${CMAKE_CURRENT_BINARY_DIR}/source") @@ -7,33 +5,28 @@ add_subdirectory("${DENSE_SOURCE_DIR}/source" "${CMAKE_CURRENT_BINARY_DIR}/sourc GILLESPIE_SIMULATION(simple_gillespie ${CMAKE_CURRENT_SOURCE_DIR}) STOCH_NR_SIMULATION(simple_nr ${CMAKE_CURRENT_SOURCE_DIR}) -add_test(NAME run-gillespie - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/simple_gillespie -p ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv -t 100 -c 100 -w 10 -u 0.01 -d ${CMAKE_CURRENT_SOURCE_DIR}/init_conc.csv -a ${CMAKE_CURRENT_SOURCE_DIR}/analesysa.xml - - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) +set (test_args "-p ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv -t 100 -c 100 -w 10 -u 0.01 -d ${CMAKE_CURRENT_SOURCE_DIR}/init_conc.csv -a ${CMAKE_CURRENT_SOURCE_DIR}/analesys.xml") +set (ndiff_cmd "${CMAKE_CURRENT_SOURCE_DIR}/maddiff ") +set (ndiff_args "${CMAKE_CURRENT_BINARY_DIR}/test.out ${CMAKE_CURRENT_SOURCE_DIR}/test.ref ${CMAKE_CURRENT_SOURCE_DIR}/test.cfg") -add_test(NAME run-next-reaction - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/simple_nr -p ${CMAKE_CURRENT_SOURCE_DIR}/param_sets.csv -t 100 -c 100 -w 10 -u 0.01 -d ${CMAKE_CURRENT_SOURCE_DIR}/init_conc.csv -a ${CMAKE_CURRENT_SOURCE_DIR}/analesysb.xml - - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) +set (run_gillespie_cmd ${CMAKE_CURRENT_BINARY_DIR}/simple_gillespie) -add_test(NAME gillespie-result - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/ndiff/maddiff gillespie.out test.ref test.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +add_test("simple-gillespie-test" + ${CMAKE_COMMAND} + -D test_cmd=${run_gillespie_cmd} + -D test_args:string=${test_args} + -D cmp=${ndiff_cmd} + -D args:string=${ndiff_args} + -P ${CMAKE_SOURCE_DIR}/test/simple_model/run_test.cmake ) -add_test(NAME next-reaction-result - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/ndiff/maddiff nextreaction.out test.ref test.cfg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) - - -set_tests_properties( gillespie-result - PROPERTIES FAIL_REGULAR_EXPRESSION "diffs have been detected" -) +set (run_nr_cmd ${CMAKE_CURRENT_BINARY_DIR}/simple_nr) -set_tests_properties( next-reaction-result - PROPERTIES FAIL_REGULAR_EXPRESSION "diffs have been detected" +add_test("simple-nr-test" + ${CMAKE_COMMAND} + -D test_cmd=${run_nr_cmd} + -D test_args:string=${test_args} + -D cmp=${ndiff_cmd} + -D args:string=${ndiff_args} + -P ${CMAKE_SOURCE_DIR}/test/simple_model/run_test.cmake ) diff --git a/test/simple_model/analesysa.xml b/test/simple_model/analesys.xml similarity index 100% rename from test/simple_model/analesysa.xml rename to test/simple_model/analesys.xml diff --git a/test/simple_model/analesysb.xml b/test/simple_model/analesysb.xml deleted file mode 100644 index fdc2b996..00000000 --- a/test/simple_model/analesysb.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - ASPECIE - 0 - 99 - 0 - 100 - nextreaction.out - - diff --git a/test/simple_model/run_test.cmake b/test/simple_model/run_test.cmake new file mode 100644 index 00000000..1721d797 --- /dev/null +++ b/test/simple_model/run_test.cmake @@ -0,0 +1,26 @@ +message(${test_cmd} ${test_args} ) +separate_arguments( test_args ) + +execute_process( + COMMAND ${test_cmd} ${test_args} + OUTPUT_VARIABLE run + RESULT_VARIABLE run_fail +) + +message (${cmp} ${args}) +separate_arguments(args) + +execute_process( + COMMAND ${cmp} ${args} + ERROR_VARIABLE diffout +) + +if(${diffout} MATCHES "diffs have been detected") + set (test_not_successful TRUE) +else() + set (test_not_successful FALSE) +endif() + +if( test_not_successful ) + message( SEND_ERROR "test.out does not match test.ref!" ) +endif( test_not_successful )