Signification of data files (in folders GR_PR or similar where PR=group_name)
-----------------------------------------------------------------------------

1) G-matrix files for different variants of reduced Google matrix
with extension G*.txt


(i) Name format: GXX_NETWORK_GROUPNAME_dalpha_Nr.YYY.txt

with XX=pr, qr, R, rr, rrplusGqr rrSIGNGqr for 6 G-matrix variants 
(see below in (iii) for explanations).

NETWORK = name of used basis network, e.g. here: PPIdouble

GROUPNAME = name of group of nodes used, e.g. here "PR_pm_40" if "PR" is 
the chosen group_name when invoking the script "./run.sh" 

dalpha=1-alpha (=1-0.85=0.15) with alpha beeing the ususal damping factor

Nr = matrix dimension, e.g. here: 40

YYY=one of five possibilities total_order, rwo_wise column_wise, friends, 
followers corresponding to different ordering of matrix elements (see 
below in (ii) for more details)

(ii) Content format: 
There are 6 columns with each line representing one matrix element G(i,j)
The columns are: i, j, value of G(i,j), name of node i, the symbols "###" 
(to better separate visually both node names) and finally name of node j
all separated by tab-symbols ("\t" in C). Note that now everywhere node 
numbers (either groups or total network) start with 1 (and no longer with 0).

ordering variants:

total_order: The lines are ordred with decreasing values of G_{ij} 
for ALL elements i,j.

row_wise: The index j is moving faster with line number of file. The blocks 
corresponding to one value of i ("one matrix row") are separated by an 
empty line.

column_wise: The index i is moving faster with line number of file. The blocks 
corresponding to one value of j ("one matrix column") are separated by an 
empty line.

followers: The index j is ordered with decreasing values of G_{ij} 
inside each block of i for one matrix row giving the followers of node i. 

friends: The index i is ordered with decreasing values of G_{ij} 
inside each block of j for one matrix column giving the friends of node j. 

(iii) Signification of different G-matrix variants:

The names GR etc. correspond (mostly) to the definitions of the paper:
Eur. Phys. J. B (2016) 89: 269

in detail:
Grr is defined as the 11-Block of eq. (3) of the above paper and 
  corresponds to the direct links inside the group of nodes. 
GR is the full reduced Google matrix given by eqs. (8) and (16). 
Gpr is the main projector part given by eq. (17).
Gqr is the given by eq. (18).
(GI = Gpr + Gqr is the full "indirect" or Interaction contribution, also given 
  by the second term of second equation in (8), no longer given here since 
it is less important)
GrrplusGqr is the renormalized effective Google matrix obtained from the 
  sum of Grr and Gqr but only using non-diagonal terms of Gqr (the large 
  diagonal elements of Gqr are not taken into account here). Eventual negative 
  elements are made positive and afterwards the columns are sum normalized 
  such that GrrplusGqr will have the symmetries of a Google matrix.
  Note that Gqr may have negative elements.

GrrSIGNGqr is the sum of Grr and Gqr but only using non-diagonal terms of 
  Gqr (the large  diagonal elements of Gqr are not taken into account 
  here). Here the sign is kept and no renormalization of columns 
  is done. 

(iv) the File Gweight_(....).dat gives the realive weights of the these 
G-matrices. Note that GrrplusGqr (=RA(Grr+Gqr) has allways weight 1 due to the 
renormalization which is purely artifical. 


2) Gmatrix files with extensions G*.mat:

(i) Name format: GXX_NETWORK_GROUPNAME_Nr.mat
similar as above.

(ii) Content format: 
1st line: => Nr^2
2nd line: => Nr
further lines all matrix elements G(i,j)
with i=1,...,Nr outer loop and j=1,...,Nr inner loop 
(i.e. Nr lines in file for first row of G, than Nr lines for second row etc.).

These files are more suitable for input in other programs (e.g. 
creation of density plots etc.). 


3) pagerank files: 

(i) Name fomat: pagerank_YYYY_GROUPNAME_NETWORK_ALPHA.dat
with GROUPNAME and NETWORK as above, ALPHA=0.15 = 1-damping factor 
with damping factor = 0.85).
YYYY corresponds to:
"full" => full PageRank vector of the NETWORK
"left" => left eigenvector of G_{ss} (see page 4, first column, last paragraph 
	of above paper for explanations).
"right" => right eigenvector of G_{ss}; note that the latter two were crucial 
	to compute GR etc. according to eqs. (12) to (18).
"small" => the PageRank vector of the reduced Google matrix GR
"GrrplusGqr" => the PageRank vector of the effective Google matrix GrrplusGqr
	as explained above, the latter two were directly computed by the 
	powermethod using the small reduced matrices
Now here all node indices and Kranks etc. are starting with 1 (and no longer 0)
These files are ordered in decreasing PageRank values and contain also 
node names 

(ii) Content format:
first line: "# size =    <size_of_vector>
further lines: four columns and the lines are ordered 
according to K-index of each vector (i.e. first line => largest value 
of vector etc.).
1st column = K-index (note in the file K-index starts with 1 and 
  no longer 0), 
2nd column = the value of the vector
3rd column = original node index (also starting with 1)
4th column = node name


3a) special case: for full PageRank there is also a file of type:

pagerank1_mag_full_GROUPNAME_NETWORK_ALPHA.dat

with GROUPNAME and NETWORK as above, ALPHA=0.15 = 1-damping factor 
with damping factor = 0.85)

and content:

1st column = K-index of the single non-doubled network (without 
  (+)/(-) attributes)
2nd column = PageRank value of the single non-doubled network (without 
  (+)/(-) attributes)
3rd column = magnetization=[P_+(j)-P_-(j)]/[P_+(j)+P_-(j)]
4th column = (single) original node index (also starting with 1)
5th column = (single) node name

Here the single-PageRank is computed from the analytical identity: 
P(j)=P_+(j)+P_-(j)



4) subpagerank files

(i) Name format: similar as above but name starting with "subpagerank" 
instead of "pagerank"

(ii) Content format: These file give the different (pagerank and other) 
vectors but only in the small space of reduced nodes with 6 columns which 
ares explained in second lines of each each file:
# reduced index, value, normalized value, original index, K index, name
For the three cases full, left and right the normalization changes from big 
to small network. For left and right the shown vectors are not \psi_L/R 
(which are actually "0" on reduced nodes !) but the related vectors 
in small space given by 
a=G_{rs}\psi_R and b=G_{sr}^T\psi_L such that G_{pr}=ab^T 
according to eq. (17) of above paper. Here G_{rs} and G_{sr} are the 
12 and 21 blocks in (3).
For small and GrrplusGqr "small" and "big" space are the same (i.e. only 
"small" space).
These files are NOT PageRank ordered but there are in original Group-node 
order.


5) lambda.dat

a small file containing essentially 
the leading eigenvalue lambda_c of G_{ss} (typically 
very close to unity) for the left and right eigenvectors \psi_L,R.

6) output_groupname
some lengthy general output file about convergence, possible error 
messages etc.

7) Files: (with PR as example group name):
linear_pumprank_PPIdouble_PR_0.15.dat
=> file containing P0 (PageRank) and P1 (delta_P)
with 6 columns explained in first line of file

linear_pumprank_PPIdouble_PR_0.15_pos.dat
as above but only for nodes with P1>=0

linear_pumprank_PPIdouble_PR_0.15_neg.dat
as above but only for nodes with P1<0

8) Files beginning with group_name (e.g. PR):
PR.nodelist = list of two node numbers uses
PR_pm_40.group_names = names of 20 top nodes with P1<0 and 
  20 top nodes with P1>=0
PR_pm_40.group_nodes = nodenumbers (here exceptionnally nodes numbers start from 0 and not 1 !!) of 20 top with P1<0 and 
20 top with P1>=0 and with first line containing the number "40" as 
  number of nodes
PR_pm_40.all = as linear_pumprank_PPIdouble_PR_0.15.dat but only for the 
20+20 nodes in the group


