Commit cae69b17 by Chiara Antonini

Upload new file

1 parent 42d1d136
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
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!