-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKP_2PVR_obtain_extAssemblies_and_extPairs.m
More file actions
executable file
·53 lines (51 loc) · 2 KB
/
Copy pathKP_2PVR_obtain_extAssemblies_and_extPairs.m
File metadata and controls
executable file
·53 lines (51 loc) · 2 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
function [extraAssemblies,extraPairs,extAssemblies,matExtraAssemblies,matExtAssemblies] = KP_2PVR_obtain_extAssemblies_and_extPairs(assemblies,pairsInfo)
extraAssemblies = cell(size(assemblies));
extraPairs = cell(size(assemblies));
extAssemblies = assemblies;
for a = 1:length(assemblies)
extraAssemblies{a} = [];
extraPairs{a} = [];
assembly = assemblies{a};
sizeAssembly = length(assembly);
for n = 1:sizeAssembly
neuron = assembly(n);
otherNeurons = assembly(~ismember(assembly,neuron));
for i = 1:size(pairsInfo,1)
neuronPair = pairsInfo(i,[7,8]);
resAnchor = find(neuronPair == neuron);
if ~isempty(resAnchor)
if resAnchor == 1
queryNeuron = neuronPair(2);
elseif resAnchor == 2
queryNeuron = neuronPair(1);
end
if ~ismember(queryNeuron,otherNeurons)
sectorA = pairsInfo(i,5);
sectorB = pairsInfo(i,6);
if sectorA == sectorB
extraAssemblies{a} = [extraAssemblies{a},queryNeuron];
extraPairs{a} = [extraPairs{a};pairsInfo(i,:)];
end
end
end
end
end
if ~isempty(extraAssemblies{a})
extraAssemblies{a} = unique(extraAssemblies{a});
extAssemblies{a} = [extAssemblies{a},extraAssemblies{a}];
end
end
% Final matrix generation
maxSize = max(cellfun(@length, extraAssemblies));
matExtraAssemblies = NaN(length(assemblies), maxSize);
for a = 1:length(extraAssemblies)
extraAssembly = extraAssemblies{a};
matExtraAssemblies(a, 1:length(extraAssembly)) = extraAssembly;
end
maxSize = max(cellfun(@length, extAssemblies));
matExtAssemblies = NaN(length(assemblies), maxSize);
for a = 1:length(extAssemblies)
extAssembly = extAssemblies{a};
matExtAssemblies(a, 1:length(extAssembly)) = extAssembly;
end
end