Generating_random_networks.m 569 Bytes
clear;clc;

%% Generating Random Networks

[ndrugs, ntargets] = size(adjacencyR);
nedges = sum(adjacencyR(:));
A=zeros(ndrugs,ntargets);
t=randperm(numel(A));
A(t(1:nedges))=1;

clearvars t
%% Calculate NBI through drug target adjacency matrix
%A=[1, 1, 0, 1;0,1, 1, 0; 0, 1, 1,1];

Ky = diag(1./sum(A));
n = size(A,1);
m = size(A,2);
Ky(isinf(Ky)| isnan(Ky))=0;
kx = sum(A,2)';
Nx = repmat(1./kx,n,1);
Nx(isinf(Nx) | isnan(Nx))=0;
kx(isinf(kx) | isnan(kx))=0;
W = (A*Ky)';
W1 = A*W;
W2 = Nx .* W1;
R = W2*A;

clearvars Ky n m kx Nx W W1 W2