This folder contains a binary for the program linresponseGR.out to 
compute the linear response vector P_1 for two nodes with injection and 
absorption using the doubled Ising protein network, to select 20 top 
nodes with strongs negative values of P_1 and further 20 top nodes with 
stronges positive values of P_1 which gives a group of 40 nodes (proteins 
with a (+) or (-) attribute)) for which the reduced Google matrix, associated 
matrices (set README_filenames for details) and diverse PageRank vectors are 
computes.
This folder also contains some scripts to help to select the two initial 
nodes, to run the program and to create additional G-matrix data files with 
different ordering (see also README_filenames for details).
Furthermore there also two data files for the node names:

PPIdouble.names => file of node names (this file is used by the script 
  help_find and also the binary program and MUST NOT be erased !)
PPIdouble.numbers_names => file with two columns: node number and node names 
  where node numbers start from 1. This file is not used by any script nor 
  the binary program. It is only provided for convenience.

----------------------------------------------
To use the program one first needs to find the numbers of two nodes 
with "+" or "-" pumping.

For this one can use the script: ./help_find.sh, for example:

./help_find.sh word1 word2 ...

which shows all appearances of word1, word2, ... in the list of node names 
with corresponding node numbers. The words "word1" etc. do not need to be 
complete node names. The script shows all nodes names that contain 
(partially) word1 etc. and gives therefore potentially several suggestions.

Example:

./help_find.sh EGFR JAK

gives:

2169:EGFR       P00533 (+)
2170:EGFR       P00533 (-)
3881:JAK1       P23458 (+)
3882:JAK1       P23458 (-)
3883:JAK1/STAT1/STAT3   SIGNOR-C120 (+)
3884:JAK1/STAT1/STAT3   SIGNOR-C120 (-)
3885:JAK2       O60674 (+)
3886:JAK2       O60674 (-)
3887:JAK3       P52333 (+)
3888:JAK3       P52333 (-)

From this we decide we want to use "2169:EGFR P00533 (+)" for injection and 
"3886:JAK2 O60674 (-)" for absorption. The corresponding node numbers 
are therefore: 2169 and 3886

Now we use the run script:

./run.sh 2169 3886 PR

here "PR" is just an example for a name which may be rather arbitrary 
(it must NOT contain spaces and it should be rather short; one should also 
avoid "GR" as name) and it serves only to distinguish results files for 
different pairs of nodes.
The data files will be put in a directory "RES_PR" (or RES_<name> in general)
and the file names therein are explained in README_filenames with "PR_pm_40" 
as GROUPNAME.

This script should take a few seconds (3-6 seconds) for a reasonable actual 
Linux PC. The binary "linresponseGR.out" is for intel/amd 64 bit and 
requires only very basic libraries (libc, libm, libgcc, libstd++) which are 
automatically available on any reasonable Linux system (even rather old 
versions should be okay). (Eventually install gcc/g++ packages which 
should trigger the installation of those libraries but this should normally 
not be a problem.)

Apart from this there are several scripts which require bash shell 
(in /bin/bash) and utilities such as grep, sort, cat, sort, touch, mktemp  
etc. and a program called "insline" which is also provided and which 
depends on the same libraries as "linresponseGR.out".
