Spaces:
Sleeping
Sleeping
| function visualize_connectedNodes() | |
| % Read the data and create the connections map | |
| data = readtable('MGREL.RRF', 'Delimiter', '|', 'FileType', 'text', 'NumHeaderLines', 0, 'VariableNamingRule', 'preserve'); | |
| data = renamevars(data, '#CUI1', 'CUI1'); | |
| data = data(1:1000,:); | |
| connectionsMap = containers.Map('KeyType', 'char', 'ValueType', 'char'); | |
| for i = 1:size(data, 1) | |
| node = data{i, 'CUI1'}; | |
| char_node = char(node); | |
| connectedNode = data{i, 'CUI2'}; | |
| char_connectedNode = char(connectedNode); | |
| if isKey(connectionsMap, char_node) | |
| connectionsMap(char_node) = [connectionsMap(char_node), '|', char_connectedNode]; | |
| else | |
| connectionsMap(char_node) = char_connectedNode; | |
| end | |
| end | |
| % Prompt the user for input | |
| prompt = 'Enter a key:'; | |
| dlgtitle = 'Input'; | |
| dims = [1 35]; | |
| definput = {'C0000727'}; | |
| userInput = inputdlg(prompt, dlgtitle, dims, definput); | |
| % Check if user canceled the dialog | |
| if isempty(userInput) | |
| disp('User canceled the operation.'); | |
| return; | |
| end | |
| key = userInput{1}; | |
| % Check if the key exists in the connectionsMap | |
| if isKey(connectionsMap, key) | |
| % Split the value string by the pipe symbol '|' | |
| split_values = strsplit(connectionsMap(key), '|'); | |
| % Display the connected nodes | |
| disp(split_values); | |
| % Visualize the graph | |
| G = graph(); | |
| for i = 1:length(split_values) | |
| G = addedge(G, key, split_values{i}); | |
| end | |
| figure; | |
| plot(G, 'Layout', 'force'); | |
| title('Graph of Connected Nodes'); | |
| else | |
| disp('Key does not exist in the connectionsMap.'); | |
| end | |
| end | |