Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
SysBiOThe
/
CRA-Matlab
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit cae69b17
authored
2019-03-31 21:27:38 +0200
by
Chiara Antonini
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Upload new file
1 parent
42d1d136
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
448 additions
and
0 deletions
CRA_Updated_Version/CRA_Toolbox_GUI/gui_CRA.m
CRA_Updated_Version/CRA_Toolbox_GUI/gui_CRA.m
0 → 100644
View file @
cae69b1
function
varargout
=
gui_CRA
(
varargin
)
% GUI_CRA MATLAB code for gui_CRA.fig
% GUI_CRA, by itself, creates a new GUI_CRA or raises the existing
% singleton*.
%
% H = GUI_CRA returns the handle to a new GUI_CRA or the handle to
% the existing singleton*.
%
% GUI_CRA('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in GUI_CRA.M with the given input arguments.
%
% GUI_CRA('Property','Value',...) creates a new GUI_CRA or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before gui_CRA_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to gui_CRA_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help gui_CRA
% Last Modified by GUIDE v2.5 18-Jun-2018 17:15:15
% Begin initialization code - DO NOT EDIT
gui_Singleton
=
1
;
gui_State
=
struct
(
'gui_Name'
,
mfilename
,
...
'gui_Singleton'
,
gui_Singleton
,
...
'gui_OpeningFcn'
,
@
gui_CRA_OpeningFcn
,
...
'gui_OutputFcn'
,
@
gui_CRA_OutputFcn
,
...
'gui_LayoutFcn'
,
[]
,
...
'gui_Callback'
,
[]);
if
nargin
&&
ischar
(
varargin
{
1
})
gui_State
.
gui_Callback
=
str2func
(
varargin
{
1
});
end
if
nargout
[
varargout
{
1
:
nargout
}]
=
gui_mainfcn
(
gui_State
,
varargin
{:});
else
gui_mainfcn
(
gui_State
,
varargin
{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before gui_CRA is made visible.
function
gui_CRA_OpeningFcn
(
hObject
,
eventdata
,
handles
,
varargin
)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to gui_CRA (see VARARGIN)
% Choose default command line output for gui_CRA
handles
.
output
=
hObject
;
% Update handles structure
guidata
(
hObject
,
handles
);
% UIWAIT makes gui_CRA wait for user response (see UIRESUME)
%uiwait(handles.gui_CRA);
% --- Outputs from this function are returned to the command line.
function
varargout
=
gui_CRA_OutputFcn
(
hObject
,
eventdata
,
handles
)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout
{
1
}
=
handles
.
output
;
%function for inserting the folder where results are saved
function
edit10_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit10 as text
% str2double(get(hObject,'String')) returns contents of edit10 as a double
handles
.
folder
=
(
get
(
hObject
,
'String'
));
if
isempty
(
handles
.
folder
)
msg
=
'Specify the name of a folder where results are saved'
;
errordlg
(
msg
);
else
if
(
ispc
)
% Windows does not allow special characters on folder's name
try
mkdir
(
handles
.
folder
);
catch
ME
errordlg
(
ME
.
message
);
end
end
mkdir
(
handles
.
folder
);
%create the specified folder
end
guidata
(
hObject
,
handles
);
% --- Executes during object creation, after setting all properties.
function
edit10_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
set
(
hObject
,
'String'
,
''
)
% --- Executes on button press in pushbutton1.
%pushbutton1 is the button for loading the SBML model and creating a Model
%object
function
pushbutton1_Callback
(
hObject
,
eventdata
,
handles
)
[
modelname
,
modelpath
]
=
uigetfile
(
'*.*'
);
try
handles
.
Model
=
sbmlimport
([
modelpath
modelname
]);
set
(
handles
.
text2
,
'string'
,
strcat
(
modelname
(
1
:
length
(
modelname
)
-
4
),
' succesfully loaded'
));
handles
.
obs_name
=
get
(
handles
.
Model
.
Species
,
'Name'
);
set
(
handles
.
listbox4
,
'String'
,
handles
.
obs_name
);
guidata
(
hObject
,
handles
);
catch
ME
errordlg
(
ME
.
identifier
);
end
% --- Executes during object creation, after setting all properties.
function
text2_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to text2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
%function for inserting the stop time of the simulation
function
edit3_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3 as a double
handles
.
stop_time
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
stop_time
)
||
(
handles
.
stop_time
<=
0
)
errordlg
(
'Input must be a positive number'
);
end
% --- Executes during object creation, after setting all properties.
function
edit3_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
%function for inserting the step size of the Matlab ODE solver
function
edit4_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
% str2double(get(hObject,'String')) returns contents of edit4 as a double
try
handles
.
step_size
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
step_size
)
||
~
(
handles
.
step_size
>
0
&&
handles
.
step_size
<
handles
.
stop_time
)
errordlg
(
'Input must be a positive number less than the stop time'
);
end
catch
msg
=
'Insert the stop time before the step size'
;
errordlg
(
msg
);
end
% --- Executes during object creation, after setting all properties.
function
edit4_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
% --- Executes on button press in pushbutton2.
%pushbutton2 sets the stop time and the step size for the simulation in the
%configuration set of the Model
function
pushbutton2_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
try
handles
.
csObj
=
getconfigset
(
handles
.
Model
);
guidata
(
hObject
,
handles
);
set
(
handles
.
csObj
,
'StopTime'
,
handles
.
stop_time
);
set
(
handles
.
csObj
.
SolverOptions
,
'OutputTimes'
,[
0
:
handles
.
step_size
:
handles
.
csObj
.
StopTime
]);
switch
handles
.
ode_solver
case
'ode45'
set
(
handles
.
csObj
,
'SolverType'
,
'ode45'
);
case
'ode15s'
set
(
handles
.
csObj
,
'SolverType'
,
'ode15s'
);
case
'ode23t'
set
(
handles
.
csObj
,
'SolverType'
,
'ode23t'
);
case
'sundials'
set
(
handles
.
csObj
,
'SolverType'
,
'sundials'
);
case
'stochastic'
set
(
handles
.
csObj
,
'SolverType'
,
'stochastic'
);
case
'explicit tau'
set
(
handles
.
csObj
,
'SolverType'
,
'explicit tau'
);
case
'implicit tau'
set
(
handles
.
csObj
,
'SolverType'
,
'implicit tau'
);
end
catch
ME
errordlg
(
ME
.
message
);
end
%function for inserting the lower bound LBpi of the hypercube for the parameters
%perturbation
function
edit6_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of edit6 as a double
handles
.
LBpi
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
LBpi
)
||
handles
.
LBpi
<
0
errordlg
(
'Input must be a positive number less than UBpi'
);
end
% --- Executes during object creation, after setting all properties.
function
edit6_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
%function for inserting the upper bound UBpi of the hypercube for the parameters
%perturbation
function
edit7_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit7 as text
% str2double(get(hObject,'String')) returns contents of edit7 as a double
handles
.
UBpi
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
UBpi
)
||
~
(
handles
.
UBpi
>
0
&&
handles
.
UBpi
>
handles
.
LBpi
)
errordlg
(
'Input must be a positive number greater than LBpi'
);
end
% --- Executes during object creation, after setting all properties.
function
edit7_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
%function for inserting the number of parameter samples Nsample of the
%hypercube
function
edit8_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit8 as text
% str2double(get(hObject,'String')) returns contents of edit8 as a double
handles
.
Nsample
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
Nsample
)
||
~
(
floor
(
handles
.
Nsample
)
==
handles
.
Nsample
)
||
(
handles
.
Nsample
<=
0
)
errordlg
(
'Input must be a integer number'
);
end
% --- Executes during object creation, after setting all properties.
function
edit8_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
%function for inserting the number of independent realizations Nr to
%perform
function
edit9_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit9 as text
% str2double(get(hObject,'String')) returns contents of edit9 as a double
handles
.
Nr
=
str2double
(
get
(
hObject
,
'String'
));
guidata
(
hObject
,
handles
);
if
isnan
(
handles
.
Nr
)
||
~
(
floor
(
handles
.
Nr
)
==
handles
.
Nr
)
||
(
handles
.
Nr
<
1
)
errordlg
(
'Input must be an integer number greater or equal to 1'
);
end
% --- Executes during object creation, after setting all properties.
function
edit9_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
% --- Executes on button press in pushbutton5.
%pushbutton5 starts the function start_simulation
function
pushbutton5_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% set(handles.gui_CRA, 'HandleVisibility', 'off');
% close all;
% set(handles.gui_CRA, 'HandleVisibility', 'on');
%
% cla reset
%try
startingtime
=
tic
;
start_simulation
(
handles
,
hObject
)
elapsedtime
=
toc
(
startingtime
);
set
(
handles
.
text14
,
'string'
,
strcat
(
'All done! Time employed for model simulation is'
,{
' '
},
sprintf
(
'%.2f'
,
elapsedtime
),
's'
));
drawnow
;
%catch
% msg='Set all variables before performing simulation';
% errordlg(msg);
%end
%when the simulation is finished, the button for choosing the target
%variable is enabled
set
(
handles
.
pushbutton11
,
'Enable'
,
'on'
);
% --- Executes on selection change in listbox4.
%function for saving the name and index of the chosen variable in the model
function
listbox4_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to listbox4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns listbox4 contents as cell array
% contents{get(hObject,'Value')} returns selected item from listbox4
handles
.
num_variable
=
get
(
handles
.
listbox4
,
'Value'
);
handles
.
chosen_variable
=
handles
.
obs_name
{
handles
.
num_variable
,
1
};
guidata
(
hObject
,
handles
);
% --- Executes during object creation, after setting all properties.
function
listbox4_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to listbox4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
% --- Executes on button press in pushbutton11.
%pushbutton11 opens the second gui for computing MIRI and allows the two
%GUI's to share their variables
function
pushbutton11_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to pushbutton11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%handles_guiCRA=guidata(gui_CRA);
fig1
=
gcf
();
fig2
=
gui_MIRI
();
handles2
=
guidata
(
fig2
);
handles2
.
fig1
=
fig1
;
guidata
(
fig2
,
handles2
);
gui_MIRI
;
% --- Executes on selection change in listbox5.
function
listbox5_Callback
(
hObject
,
eventdata
,
handles
)
% hObject handle to listbox5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns listbox5 contents as cell array
% contents{get(hObject,'Value')} retu;rns selected item from listbox5
index_ode
=
get
(
handles
.
listbox5
,
'Value'
);
listbox_items
=
get
(
handles
.
listbox5
,
'String'
);
handles
.
ode_solver
=
listbox_items
{
index_ode
};
guidata
(
hObject
,
handles
);
% --- Executes during object creation, after setting all properties.
function
listbox5_CreateFcn
(
hObject
,
eventdata
,
handles
)
% hObject handle to listbox5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if
ispc
&&
isequal
(
get
(
hObject
,
'BackgroundColor'
),
get
(
0
,
'defaultUicontrolBackgroundColor'
))
set
(
hObject
,
'BackgroundColor'
,
'white'
);
end
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment