-
Notifications
You must be signed in to change notification settings - Fork 0
/
fig3c.m
216 lines (189 loc) · 11.1 KB
/
fig3c.m
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
% for fig3c. Composition of touch cells and whisking cells. and mixed.
% in L2/3 C2, L2/3 non-C2, L4 C2, and L4 non-C2. Pie graph
load('cellFunctionLassoDE010')
%% all naive
touches = zeros(length(naive), 4); % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
whiskings = zeros(length(naive), 4);
mixed = zeros(length(naive), 4);
others = zeros(length(naive), 4);
for i = 1 : length(naive)
temp = naive(i);
indL23 = find(temp.cellDepths < 350);
indL4 = find(temp.cellDepths >= 350);
indC2 = find(temp.isC2);
indnonC2 = find(temp.isC2==0);
indTouch = find(ismember(temp.cellNums, temp.touchID));
indWhisking = find(ismember(temp.cellNums, temp.whiskingID));
indMixed = intersect(indTouch, indWhisking);
indOther = find(ismember(temp.cellNums, union(temp.soundID, union(temp.rewardID, temp.lickingID))));
touches(i,1) = length(intersect(indTouch, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
touches(i,2) = length(intersect(indTouch, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
touches(i,3) = length(intersect(indTouch, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
touches(i,4) = length(intersect(indTouch, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
whiskings(i,1) = length(intersect(indWhisking, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
whiskings(i,2) = length(intersect(indWhisking, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
whiskings(i,3) = length(intersect(indWhisking, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
whiskings(i,4) = length(intersect(indWhisking, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
mixed(i,1) = length(intersect(indMixed, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
mixed(i,2) = length(intersect(indMixed, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
mixed(i,3) = length(intersect(indMixed, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
mixed(i,4) = length(intersect(indMixed, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
others(i,1) = length(intersect(indOther, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
others(i,2) = length(intersect(indOther, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
others(i,3) = length(intersect(indOther, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
others(i,4) = length(intersect(indOther, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
end
%%
figure, hold all
% for legend ordering
i = 1;
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
bar(i, touchOnly, 'b')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
for i = 1 : 4
% subplot(2,2,i) % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
% pie([touchOnly, touchNwhisking, whiskingOnly, other, 1-touchOnly - touchNwhisking - whiskingOnly - other])
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly, 'b')
end
legend({'Touch', 'Touch & Whisking', 'Whisking', 'Others'}, 'box', 'off')
xticks([1:4])
xticklabels({'L2/3 C2', 'L2/3 non-C2', 'L4 C2', 'L4 non-C2'})
xtickangle(45)
ylabel('Proportion')
set(gca, 'fontsize', 14)
%% expert
touches = zeros(length(expert), 4); % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
whiskings = zeros(length(expert), 4);
mixed = zeros(length(expert), 4);
others = zeros(length(expert), 4);
for i = 1 : length(expert)
temp = expert(i);
indL23 = find(temp.cellDepths < 350);
indL4 = find(temp.cellDepths >= 350);
indC2 = find(temp.isC2);
indnonC2 = find(temp.isC2==0);
indTouch = find(ismember(temp.cellNums, temp.touchID));
indWhisking = find(ismember(temp.cellNums, temp.whiskingID));
indMixed = intersect(indTouch, indWhisking);
indOther = find(ismember(temp.cellNums, union(temp.soundID, union(temp.rewardID, temp.lickingID))));
touches(i,1) = length(intersect(indTouch, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
touches(i,2) = length(intersect(indTouch, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
touches(i,3) = length(intersect(indTouch, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
touches(i,4) = length(intersect(indTouch, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
whiskings(i,1) = length(intersect(indWhisking, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
whiskings(i,2) = length(intersect(indWhisking, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
whiskings(i,3) = length(intersect(indWhisking, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
whiskings(i,4) = length(intersect(indWhisking, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
mixed(i,1) = length(intersect(indMixed, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
mixed(i,2) = length(intersect(indMixed, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
mixed(i,3) = length(intersect(indMixed, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
mixed(i,4) = length(intersect(indMixed, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
others(i,1) = length(intersect(indOther, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
others(i,2) = length(intersect(indOther, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
others(i,3) = length(intersect(indOther, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
others(i,4) = length(intersect(indOther, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
end
%%
figure, hold all
% for legend ordering
i = 1;
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
bar(i, touchOnly, 'b')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
for i = 1 : 4
% subplot(2,2,i) % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
% pie([touchOnly, touchNwhisking, whiskingOnly, other, 1-touchOnly - touchNwhisking - whiskingOnly - other])
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly, 'b')
end
legend({'Touch', 'Touch & Whisking', 'Whisking', 'Others'}, 'box', 'off')
xticks([1:4])
xticklabels({'L2/3 C2', 'L2/3 non-C2', 'L4 C2', 'L4 non-C2'})
xtickangle(45)
ylabel('Proportion')
set(gca,'fontsize', 14)
%% from Scnn1a
touches = zeros(2, 4); % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
whiskings = zeros(2, 4);
mixed = zeros(2, 4);
others = zeros(2, 4);
for i = 1 : 2
temp = L4(i+2);
indL23 = find(temp.cellDepths < 350);
indL4 = find(temp.cellDepths >= 350);
indC2 = find(temp.isC2);
indnonC2 = find(temp.isC2==0);
indTouch = find(ismember(temp.cellNums, temp.touchID));
indWhisking = find(ismember(temp.cellNums, temp.whiskingID));
indMixed = intersect(indTouch, indWhisking);
indOther = find(ismember(temp.cellNums, union(temp.soundID, union(temp.rewardID, temp.lickingID))));
touches(i,1) = length(intersect(indTouch, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
touches(i,2) = length(intersect(indTouch, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
touches(i,3) = length(intersect(indTouch, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
touches(i,4) = length(intersect(indTouch, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
whiskings(i,1) = length(intersect(indWhisking, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
whiskings(i,2) = length(intersect(indWhisking, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
whiskings(i,3) = length(intersect(indWhisking, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
whiskings(i,4) = length(intersect(indWhisking, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
mixed(i,1) = length(intersect(indMixed, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
mixed(i,2) = length(intersect(indMixed, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
mixed(i,3) = length(intersect(indMixed, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
mixed(i,4) = length(intersect(indMixed, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
others(i,1) = length(intersect(indOther, intersect(indL23, indC2))) / length(intersect(indL23, indC2));
others(i,2) = length(intersect(indOther, intersect(indL23, indnonC2))) / length(intersect(indL23, indnonC2));
others(i,3) = length(intersect(indOther, intersect(indL4, indC2))) / length(intersect(indL4, indC2));
others(i,4) = length(intersect(indOther, intersect(indL4, indnonC2))) / length(intersect(indL4, indnonC2));
end
%
figure, hold all
% for legend ordering
i = 1;
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
bar(i, touchOnly, 'b')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
for i = 1 : 4
% subplot(2,2,i) % 1: L2/3 C2, 2: L2/3 non-C2, 3: L4 C2, 4: L4 non-C2
touchOnly = mean(touches(:,i)) - mean(mixed(:,i));
touchNwhisking = mean(mixed(:,i));
whiskingOnly = mean(whiskings(:,i)) - mean(mixed(:,i));
other = mean(others(:,i));
% pie([touchOnly, touchNwhisking, whiskingOnly, other, 1-touchOnly - touchNwhisking - whiskingOnly - other])
bar(i, touchOnly + touchNwhisking + whiskingOnly + other, 'facecolor', [0.7 0.7 0.7])
bar(i, touchOnly + touchNwhisking + whiskingOnly, 'g')
bar(i, touchOnly + touchNwhisking, 'y')
bar(i, touchOnly, 'b')
end
legend({'Touch', 'Touch & Whisking', 'Whisking', 'Others'}, 'box', 'off')
xticks([1:4])
xticklabels({'L2/3 C2', 'L2/3 non-C2', 'L4 C2', 'L4 non-C2'})
xtickangle(45)
ylabel('Proportion')
set(gca, 'linewidth', 2, 'fontweight', 'bold', 'fontsize', 10)