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 | |