00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef _SBMLRESULTS_H_
00037 #define _SBMLRESULTS_H_
00038
00039 #include "sbmlsolver/exportdefs.h"
00040
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046
00047 typedef struct timeCourse timeCourse_t ;
00051 struct timeCourse {
00052 int timepoints;
00054 char *name;
00055 double *values;
00056 double **sensitivity;
00057 } ;
00058
00059 typedef struct timeCourseArray timeCourseArray_t ;
00061 struct timeCourseArray {
00062 int num_val;
00063 timeCourse_t **tc;
00064 } ;
00065
00066
00067 typedef struct _SBMLResults SBMLResults_t;
00073 struct _SBMLResults {
00074
00075 timeCourse_t *time;
00077
00078 timeCourseArray_t *species;
00079 timeCourseArray_t *compartments;
00081 timeCourseArray_t *parameters;
00083 timeCourseArray_t *fluxes;
00085 int nsens;
00087 char **param;
00088
00089 } ;
00090
00091
00092
00093 typedef struct _SBMLResultsMatrix SBMLResultsMatrix_t;
00096 struct _SBMLResultsMatrix {
00097 SBMLResults_t ***results;
00098 int i;
00099 int j;
00100 } ;
00101
00102 SBML_ODESOLVER_API timeCourse_t *SBMLResults_getTime(SBMLResults_t *);
00103 SBML_ODESOLVER_API timeCourse_t *SBMLResults_getTimeCourse(SBMLResults_t *, const char *);
00104 SBML_ODESOLVER_API int SBMLResults_getNout(SBMLResults_t *);
00105 SBML_ODESOLVER_API int SBMLResults_getNumSens(SBMLResults_t *);
00106 SBML_ODESOLVER_API const char *SBMLResults_getSensParam(SBMLResults_t *, int);
00107 SBML_ODESOLVER_API timeCourse_t *Compartment_getTimeCourse(Compartment_t *, SBMLResults_t *);
00108 SBML_ODESOLVER_API timeCourse_t *Species_getTimeCourse(Species_t *, SBMLResults_t *);
00109 SBML_ODESOLVER_API timeCourse_t *Parameter_getTimeCourse(Parameter_t *, SBMLResults_t *);
00110 SBML_ODESOLVER_API const char*TimeCourse_getName(timeCourse_t *);
00111 SBML_ODESOLVER_API int TimeCourse_getNumValues(timeCourse_t *);
00112 SBML_ODESOLVER_API double TimeCourse_getValue(timeCourse_t *, int);
00113 SBML_ODESOLVER_API double TimeCourse_getSensitivity(timeCourse_t *, int, int);
00114 SBML_ODESOLVER_API void SBMLResults_dump(SBMLResults_t *);
00115 SBML_ODESOLVER_API void SBMLResults_dumpSpecies(SBMLResults_t *);
00116 SBML_ODESOLVER_API void SBMLResults_dumpCompartments(SBMLResults_t *);
00117 SBML_ODESOLVER_API void SBMLResults_dumpParameters(SBMLResults_t *);
00118 SBML_ODESOLVER_API void SBMLResults_dumpFluxes(SBMLResults_t *);
00119 SBML_ODESOLVER_API void SBMLResults_free(SBMLResults_t *);
00120 SBML_ODESOLVER_API void SBMLResultsMatrix_free(SBMLResultsMatrix_t *);
00121 SBML_ODESOLVER_API SBMLResults_t *SBMLResultsMatrix_getResults(SBMLResultsMatrix_t *, int i, int j);
00122
00123
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127
00128
00129 SBMLResults_t *SBMLResults_create(Model_t *, int timepoints);
00130 SBMLResultsMatrix_t *SBMLResultsMatrix_allocate(int values, int timepoints);
00131
00132 #endif
00133
00134