Spaces:
Sleeping
Sleeping
% Read the CSV file | |
data = readtable('../MGREL.RRF', Delimiter='|', FileType='text', NumHeaderLines=0, VariableNamingRule='preserve'); | |
data = renamevars(data, '#CUI1', 'CUI1'); | |
ids_1 = data.CUI1; | |
for k = 1 : length(ids_1) | |
cellContents = ids_1{k}; | |
% Truncate and stick back into the cell | |
ids_1{k} = cellContents(2:end); | |
end | |
ids_1 = str2double(ids_1); | |
ids_2 = data.CUI2; | |
for k = 1 : length(ids_2) | |
cellContents = ids_2{k}; | |
% Truncate and stick back into the cell | |
ids_2{k} = cellContents(2:end); | |
end | |
ids_2 = str2double(ids_2); | |
edges = [ids_1, ids_2]; | |
edges = edges(~any(isnan(edges), 2), :); | |
ids_1 = edges(:, 1); | |
ids_2 = edges(:, 2); | |
G = digraph(ids_1, ids_2); | |
% Compute PageRank centrality | |
pg_ranks = centrality(G, 'pagerank'); | |
% Assign PageRank to each node | |
G.Nodes.PageRank = pg_ranks; | |
for i = 1:numnodes(G) | |
if pg_ranks(i) > 1.6487e-07 | |
disp(['Node ', num2str(i), ' PageRank: ', num2str(pg_ranks(i))]); | |
end | |
end | |
%idx = G.Nodes.PageRank > 1.6487e-07; | |
%disp(G.Nodes(idx, :)); | |
% Get the number of unique nodes | |
%nodes = unique([ids_1; ids_2]); | |
%num_nodes = length(nodes); | |
% Initialize sparse adjacency matrix | |
%A = sparse(ids_1, ids_2, 1, max(ids_2), max(ids_2)); | |
% Display adjacency matrix | |
%disp(A); | |
connections = { | |
'A1', 'B2'; | |
'A1', 'A2' | |
}; | |
% Extract unique nodes | |
nodes = unique(connections(:)); | |
% Create a directed graph | |
num_nodes = length(nodes); | |
node_indices = containers.Map(nodes, 1:num_nodes); | |
A = zeros(num_nodes); | |
for i = 1:size(connections, 1) | |
from_node = connections{i, 1}; | |
to_node = connections{i, 2}; | |
from_index = node_indices(from_node); | |
to_index = node_indices(to_node); | |
A(from_index, to_index) = 1; | |
end | |
% Display adjacency matrix | |
disp(A); | |
% Create directed graph | |
G = digraph(A, nodes); | |
% Compute PageRank centrality | |
pg_ranks = centrality(G, 'pagerank'); | |
% Display PageRank for each node | |
for i = 1:num_nodes | |
disp(['PageRank for ', nodes{i}, ': ', num2str(pg_ranks(i))]); | |
end | |