Data2Dynamics / d2d

a modeling environment tailored to parameter estimation in dynamical systems
https://github.com/Data2Dynamics/d2d
57 stars 29 forks source link

PEtab export fails for multiple preequilibration conditions #159

Open elbaraim opened 4 years ago

elbaraim commented 4 years ago

Dear d2d team,

I am currently trying to export a d2d model into the PEtab format by using arExportPEtab('model_name', true). This model has 4 different preequilibration conditions,

>>> length(ar.model(1).ss_condition)
4

Therefore the following error occurs:

Index exceeds matrix dimensions.

Error in arExportPEtab (line 196)
                    num2str(ar.model(imodel).condition(ar.model(imodel).ss_condition.src).dLink)]};

Which relates in the code to:

% pre-equiblibration
if isfield(ar, 'ss_conditions')
        preEquilibrationId = cell(length(time),1);
        preEquilibrationId(:) = ...
                    {['model' num2str(imodel) '_data' ...
                    num2str(ar.model(imodel).condition(ar.model(imodel).ss_condition.src).dLink)]};
        rowsToAdd = [rowsToAdd, table(preEquilibrationId)];
end

I am working with the latest d2d version on master branch.