1
- %% MetaboRePort:
1
+ %% MetaboRePort:
2
2
3
3
% Set path to the cobratoolbox
4
4
global CBTDIR
5
5
6
+ currentDir = pwd ;
6
7
% Set root directory
7
- root = ' ' ;
8
+ root = ' /Users/ines/Dropbox/MY PAPERS/SUBMITTED/Submitted/150k/metaboReports/APOLLOreconstructions ' ;
8
9
9
10
% user defined path
10
11
folder = [root filesep ' refinedReconstructions' ]; % Set path to folder with reconstructions
33
34
34
35
% Ensure that the name of the rBioNet metabolite structure is metabolite_structure_rBioNet
35
36
metabolite_structure_rBioNet = load(metstructPath );
36
- metabolite_structure_rBioNet = metabolite_structure_rBioNet.(string(fieldnames( metabolite_structure_rBioNet ))) ;
37
+ metabolite_structure_rBioNet = metabolite_structure_rBioNet .metabolite_structure_rBioNet ;
37
38
38
39
% Get reconstructions and reconstruction paths
39
40
directory = what(folder );
40
41
modelPaths = append(directory .path , filesep , directory .mat );
41
- modelList = getModelPaths(folder );
42
+ modelList = modelPaths ;
43
+ modelList(~contains(modelList(: ,1 ),' .mat' ),: )=[];
44
+
42
45
43
46
% Preallocate ScoresOverall table for speed
47
+ if ~exist(ScoresOverall ,' var' )
44
48
ScoresOverall = cell(length(modelList ),2 );
49
+ end
45
50
46
51
tic ;
47
- for i = 1 : length(modelList )
52
+ for i = 1 : 100 % length(modelList)
48
53
disp(i )
49
54
% Load model
50
- model = load(modelPaths( i ) );
55
+ model = load(modelPaths{ i } );
51
56
model = model.(string(fieldnames(model ))); % ensure that the name of the loaded model is "model".
52
57
53
58
% [modelProp1,ScoresOverall1] = generateMemoteLikeScore(model);
63
68
64
69
[modelProp2 ,ScoresOverall2 ] = generateMetaboScore(modelUpdated );
65
70
66
- modelProperties.(regexprep(modelList{i },' .mat' ,' ' )).ScoresOverall = ScoresOverall2 ;
67
- modelProperties.(regexprep(modelList{i },' .mat' ,' ' )).modelUpdated = modelUpdated ;
68
- modelProperties.(regexprep(modelList{i },' .mat' ,' ' )).modelProp2 = modelProp2 ;
69
- ScoresOverall{i ,1 } = regexprep(modelList{i },' .mat' ,' ' );
71
+ chdir(strcat(updatedReconstructPath , filesep ));
72
+ fileName = regexprep(modelList{i },folder ,' ' );% replace folder name if present
73
+ fileName = regexprep(fileName ,' \/' ,' ' );% replace folder name if present
74
+ fileName = regexprep(fileName ,' .mat' ,' ' );
75
+ modelName = strcat(' model_' ,fileName );
76
+ modelProperties.(modelName ).ScoresOverall = ScoresOverall2 ;
77
+ modelProperties.(modelName ).modelUpdated = modelUpdated ;
78
+ modelProperties.(modelName ).modelProp2 = modelProp2 ;
79
+ ScoresOverall{i ,1 } = regexprep(fileName ,' .mat' ,' ' );
70
80
ScoresOverall{i ,2 } = num2str(ScoresOverall2 );
71
81
72
82
if mod(i ,10 ) % Save every ten models
75
85
76
86
% save updated mat file
77
87
model = modelUpdated ;
78
- save(strcat(updatedReconstructPath , filesep , modelList(i ), ' .mat' ),' model' );
88
+ if ~contains(fileName ,' .mat' )
89
+ save(strcat(fileName , ' .mat' ),' model' );
90
+ else
91
+ save(fileName ,' model' );
92
+ end
93
+ chdir(currentDir )
79
94
80
- %% generate sbml file
95
+ % generate sbml file
81
96
% remove description from model structure as this causes issues
82
97
if any(contains(fieldnames(modelUpdated ), {' description' }))
83
98
modelUpdated = rmfield(modelUpdated ,' description' );
84
99
end
85
100
86
101
% Set sbml path
87
- sbmlPath = char(strcat(annotatedSBMLreconstructions , filesep , ' Annotated_' ,modelList( i ) ));
102
+ sbmlPath = char(strcat(annotatedSBMLreconstructions , filesep , ' Annotated_' ,fileName ));
88
103
% Save model
89
104
outmodel = writeCbModel(modelUpdated , ' format' ,' sbml' , ' fileName' , sbmlPath );
90
- end
91
- toc ;
92
-
105
+
93
106
% Generate a generateMetaboReport for each reconstruction
94
- evalc(' generateMetaboReport(modelProperties,reportDir)' );
107
+ evalc(' generateMetaboReport(modelProperties,reportDir)' );
108
+ end
109
+ toc ;
0 commit comments