-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFISuperclass.m
More file actions
119 lines (115 loc) · 5.53 KB
/
FISuperclass.m
File metadata and controls
119 lines (115 loc) · 5.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
function [fi_reorder,class_reorder,fi_reorderinds] = FISuperclass(matdir_,study_,type_)
if strcmp(study_,'Zeisel')
load([matdir_ filesep 'Zeisel_Ontology.mat'],'zeisel_ontology_cns');
zeisel_classes = unique(zeisel_ontology_cns(:,2));
zeisel_fi_class = zeros(length(zeisel_classes),10); % k = 10
switch type_
case 'All'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_all');
zeisel_fi = zeisel_fi_all;
case 'Long'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_long');
zeisel_fi = zeisel_fi_long;
case 'Short'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_short');
zeisel_fi = zeisel_fi_short;
case 'Out'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_out');
zeisel_fi = zeisel_fi_out;
case 'In'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_in');
zeisel_fi = zeisel_fi_in;
case 'Out Long'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_outlong');
zeisel_fi = zeisel_fi_outlong;
case 'Out Short'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_outshort');
zeisel_fi = zeisel_fi_outshort;
case 'In Long'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_inlong');
zeisel_fi = zeisel_fi_inlong;
case 'In Short'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_inshort');
zeisel_fi = zeisel_fi_inshort;
case 'NeoToTha'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_tha');
zeisel_fi = zeisel_fi_ncx_tha;
case 'NeoToTha Out'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_tha_out');
zeisel_fi = zeisel_fi_ncx_tha_out;
case 'NeoToTha In'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_tha_in');
zeisel_fi = zeisel_fi_ncx_tha_in;
case 'NeoToNeo'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_ncx');
zeisel_fi = zeisel_fi_ncx_ncx;
case 'NeoToNeo Out'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_ncx_out');
zeisel_fi = zeisel_fi_ncx_ncx_out;
case 'NeoToNeo In'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_ncx_in');
zeisel_fi = zeisel_fi_ncx_ncx_in;
case 'NeoToAll Out'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_all_out');
zeisel_fi = zeisel_fi_ncx_all_out;
case 'NeoToAll In'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_ncx_all_in');
zeisel_fi = zeisel_fi_ncx_all_in;
case 'Classification'
load([matdir_ filesep 'Zeisel_FeatureImportance.mat'],'zeisel_fi_classification');
zeisel_fi = zeisel_fi_classification;
end
for i = 1:length(zeisel_classes)
classinds = ismember(zeisel_ontology_cns(:,2),zeisel_classes{i});
zeisel_fi_class(i,:) = mean(zeisel_fi(classinds,:));
end
zeisel_fi_class_mean = mean(zeisel_fi_class,2);
[~,fi_reorderinds] = sort(zeisel_fi_class_mean,'descend');
fi_reorder = zeisel_fi_class(fi_reorderinds,:);
class_reorder = zeisel_classes(fi_reorderinds);
elseif strcmp(study_,'Tasic')
load([matdir_ filesep 'Tasic_Ontology.mat'],'tasic_ontology_cns');
tasic_classes = unique(tasic_ontology_cns(:,2));
tasic_fi_class = zeros(length(tasic_classes),10); % k = 10
switch type_
case 'All'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_all');
tasic_fi = tasic_fi_all;
case 'Long'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_long');
tasic_fi = tasic_fi_long;
case 'Short'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_short');
tasic_fi = tasic_fi_short;
case 'Out'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_out');
tasic_fi = tasic_fi_out;
case 'In'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_in');
tasic_fi = tasic_fi_in;
case 'Out Long'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_outlong');
tasic_fi = tasic_fi_outlong;
case 'Out Short'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_outshort');
tasic_fi = tasic_fi_outshort;
case 'In Long'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_inlong');
tasic_fi = tasic_fi_inlong;
case 'In Short'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_inshort');
tasic_fi = tasic_fi_inshort;
case 'Classification'
load([matdir_ filesep 'Tasic_FeatureImportance.mat'],'tasic_fi_classification');
tasic_fi = tasic_fi_classification;
end
for i = 1:length(tasic_classes)
classinds = ismember(tasic_ontology_cns(:,2),tasic_classes{i});
tasic_fi_class(i,:) = mean(tasic_fi(classinds,:));
end
tasic_fi_class_mean = mean(tasic_fi_class,2);
[~,fi_reorderinds] = sort(tasic_fi_class_mean,'descend');
fi_reorder = tasic_fi_class(fi_reorderinds,:);
class_reorder = tasic_classes(fi_reorderinds);
end
end