-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcreate_SLEM_wings_list
executable file
·140 lines (130 loc) · 9.82 KB
/
create_SLEM_wings_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
source $vini_dir/globals
SLEM_FILE=$WORKDIR/${CANCER_PATHWAY}_results/SLEM_values_${cell_line}_thl${therapy_level}_${exp}
SLEM_WINGS=$WORKDIR/${CANCER_PATHWAY}_results/SLEM_wings_${cell_line}_thl${therapy_level}_${exp}
> $SLEM_WINGS
while read -r line
do
echo -n "."
word=`echo $line | awk '{print $1;}' | cut -c 6-` #Get SLEM indices
echo $word | tr '.' ' ' > tmp
word=`cat tmp`
case $therapy_level in
1) i=`echo $word | awk '{print $1}'` ;;
2) i=`echo $word | awk '{print $1}'`; j=`echo $word | awk '{print $2}'` ;;
3) i=`echo $word | awk '{print $1}'`; j=`echo $word | awk '{print $2}'`; k=`echo $word | awk '{print $3}'` ;;
4) i=`echo $word | awk '{print $1}'`; j=`echo $word | awk '{print $2}'`; k=`echo $word | awk '{print $3}'`; l=`echo $word | awk '{print $4}'` ;;
esac
rm tmp
if [[ $therapy_level == 1 ]] #do not create SLEM wings list for th level 1
then
echo $line > /dev/null
fi
if [[ $therapy_level == 2 ]] #create SLEM wing entry for th level 2 (2! permutations)
then
word=`echo $line | awk '{print $1}'`
dot_count=$(echo "$word" | tr -cd '.' | wc -c)
if [[ ${dot_count} == $ONES ]] && [[ $i -ne $j ]]
then
line_transpose1=`grep -w SLEM_${i}.${j} ${SLEM_FILE}_reduced`
line_transpose2=`grep -w SLEM_${j}.${i} ${SLEM_FILE}_reduced`
SLEM_1=`echo ${line_transpose1} | awk 'NF>1{print $NF}'` #Get transposed SLEM value
SLEM_2=`echo ${line_transpose2} | awk 'NF>1{print $NF}'` #Get transposed SLEM value
SLEM_wing=`echo ${SLEM_1} ${SLEM_2} | awk '{printf "%.18f \n", $1 + $2}'` #compute SLEM wing
SLEM_wing=`echo ${SLEM_wing} ${therapy_level} | awk '{printf "%.18f \n", $1 / $2}'`
printf "%s%s%s%s%s%s\n" "SLEM_" $i "." $j " " $SLEM_wing >> ${SLEM_WINGS}
fi
fi
if [[ $therapy_level == 3 ]] #create SLEM wing entry for th level 3 (3! permutations)
then
word=`echo $line | awk '{print $1}'`
dot_count=$(echo "$word" | tr -cd '.' | wc -c)
if [[ ${dot_count} == $TWO ]] && [[ $i -ne $j ]] && [[ $i -ne $k ]] && [[ $j -ne $k ]]
#if [[ ${dot_count} == $TWO ]]
then
line_transpose1=`grep -w SLEM_${i}.${j}.${k} ${SLEM_FILE}_reduced`
line_transpose2=`grep -w SLEM_${i}.${k}.${j} ${SLEM_FILE}_reduced`
line_transpose3=`grep -w SLEM_${j}.${k}.${i} ${SLEM_FILE}_reduced`
line_transpose4=`grep -w SLEM_${j}.${i}.${k} ${SLEM_FILE}_reduced`
line_transpose5=`grep -w SLEM_${k}.${j}.${i} ${SLEM_FILE}_reduced`
line_transpose6=`grep -w SLEM_${k}.${i}.${j} ${SLEM_FILE}_reduced`
SLEM_1=`echo ${line_transpose1} | awk 'NF>1{print $NF}'` #Get 1st transposed SLEM value
SLEM_2=`echo ${line_transpose2} | awk 'NF>1{print $NF}'` #Get 2nd transposed SLEM value
SLEM_3=`echo ${line_transpose3} | awk 'NF>1{print $NF}'` #Get 3rd transposed SLEM value
SLEM_4=`echo ${line_transpose4} | awk 'NF>1{print $NF}'` #Get 4th transposed SLEM value
SLEM_5=`echo ${line_transpose5} | awk 'NF>1{print $NF}'` #Get 5th transposed SLEM value
SLEM_6=`echo ${line_transpose6} | awk 'NF>1{print $NF}'` #Get 6th transposed SLEM value
SLEM_wing=`echo ${SLEM_1} ${SLEM_2} ${SLEM_3} ${SLEM_4} ${SLEM_5} ${SLEM_6} | awk '{printf "%.18f \n", $1 + $2 + $3 +$4 + $5 + $6}'` #compute SLEM wing
echo ${SLEM_1} ${SLEM_2} ${SLEM_3} ${SLEM_4} ${SLEM_5} ${SLEM_6}
echo $SLEM_wing
PERM=6
SLEM_wing=`echo ${SLEM_wing} ${PERM} | awk '{printf "%.18f \n", $1 / $2}'`
echo $SLEM_wing
printf "%s%s%s%s%s%s%s%s\n" "SLEM_" $i "." $j "." $k " " $SLEM_wing >> ${SLEM_WINGS}
fi
fi
if [[ $therapy_level == 4 ]] #create SLEM wing entry for th level 4 (4! permutations)
then
word=`echo $line | awk '{print $1}'`
dot_count=$(echo "$word" | tr -cd '.' | wc -c)
if [[ ${dot_count} == $THREE ]] && [[ $i -ne $j ]]
then
line_transpose1=`grep -w SLEM_${i}.${j}.${k}.${l} ${SLEM_FILE}_reduced`
line_transpose2=`grep -w SLEM_${i}.${j}.${l}.${k} ${SLEM_FILE}_reduced`
line_transpose3=`grep -w SLEM_${i}.${k}.${j}.${l} ${SLEM_FILE}_reduced`
line_transpose4=`grep -w SLEM_${i}.${k}.${l}.${j} ${SLEM_FILE}_reduced`
line_transpose5=`grep -w SLEM_${i}.${l}.${k}.${j} ${SLEM_FILE}_reduced`
line_transpose6=`grep -w SLEM_${i}.${l}.${j}.${k} ${SLEM_FILE}_reduced`
line_transpose7=`grep -w SLEM_${j}.${i}.${k}.${l} ${SLEM_FILE}_reduced`
line_transpose8=`grep -w SLEM_${j}.${i}.${l}.${k} ${SLEM_FILE}_reduced`
line_transpose9=`grep -w SLEM_${j}.${k}.${i}.${l} ${SLEM_FILE}_reduced`
line_transpose10=`grep -w SLEM_${j}.${k}.${l}.${i} ${SLEM_FILE}_reduced`
line_transpose11=`grep -w SLEM_${j}.${l}.${i}.${k} ${SLEM_FILE}_reduced`
line_transpose12=`grep -w SLEM_${j}.${l}.${k}.${i} ${SLEM_FILE}_reduced`
line_transpose13=`grep -w SLEM_${k}.${i}.${j}.${l} ${SLEM_FILE}_reduced`
line_transpose14=`grep -w SLEM_${k}.${i}.${l}.${j} ${SLEM_FILE}_reduced`
line_transpose15=`grep -w SLEM_${k}.${j}.${i}.${l} ${SLEM_FILE}_reduced`
line_transpose16=`grep -w SLEM_${k}.${j}.${l}.${i} ${SLEM_FILE}_reduced`
line_transpose17=`grep -w SLEM_${k}.${l}.${i}.${j} ${SLEM_FILE}_reduced`
line_transpose18=`grep -w SLEM_${k}.${l}.${j}.${i} ${SLEM_FILE}_reduced`
line_transpose19=`grep -w SLEM_${l}.${i}.${j}.${k} ${SLEM_FILE}_reduced`
line_transpose20=`grep -w SLEM_${l}.${i}.${k}.${j} ${SLEM_FILE}_reduced`
line_transpose21=`grep -w SLEM_${l{.${j}.${i}.${k} ${SLEM_FILE}_reduced`
line_transpose22=`grep -w SLEM_${l}.${j}.${k}.${i} ${SLEM_FILE}_reduced`
line_transpose23=`grep -w SLEM_${l}.${k}.${i}.${j} ${SLEM_FILE}_reduced`
line_transpose24=`grep -w SLEM_${l}.${k}.${j}.${i} ${SLEM_FILE}_reduced`
SLEM_1=`echo ${line_transpose1} | awk 'NF>1{print $NF}'` #Get 1st transposed SLEM value
SLEM_2=`echo ${line_transpose2} | awk 'NF>1{print $NF}'` #Get 2nd transposed SLEM value
SLEM_3=`echo ${line_transpose3} | awk 'NF>1{print $NF}'` #Get 3rd transposed SLEM value
SLEM_4=`echo ${line_transpose4} | awk 'NF>1{print $NF}'` #Get 4th transposed SLEM value
SLEM_5=`echo ${line_transpose5} | awk 'NF>1{print $NF}'` #Get 5th transposed SLEM value
SLEM_6=`echo ${line_transpose6} | awk 'NF>1{print $NF}'` #Get 6th transposed SLEM value
SLEM_7=`echo ${line_transpose7} | awk 'NF>1{print $NF}'` #Get 7th transposed SLEM value
SLEM_8=`echo ${line_transpose8} | awk 'NF>1{print $NF}'` #Get 8th transposed SLEM value
SLEM_9=`echo ${line_transpose9} | awk 'NF>1{print $NF}'` #Get 9th transposed SLEM value
SLEM_10=`echo ${line_transpose10} | awk 'NF>1{print $NF}'` #Get 10th transposed SLEM value
SLEM_11=`echo ${line_transpose11} | awk 'NF>1{print $NF}'` #Get 11th transposed SLEM value
SLEM_12=`echo ${line_transpose12} | awk 'NF>1{print $NF}'` #Get 12th transposed SLEM value
SLEM_13=`echo ${line_transpose13} | awk 'NF>1{print $NF}'` #Get 13th transposed SLEM value
SLEM_14=`echo ${line_transpose14} | awk 'NF>1{print $NF}'` #Get 14th transposed SLEM value
SLEM_15=`echo ${line_transpose15} | awk 'NF>1{print $NF}'` #Get 15th transposed SLEM value
SLEM_16=`echo ${line_transpose16} | awk 'NF>1{print $NF}'` #Get 16th transposed SLEM value
SLEM_17=`echo ${line_transpose17} | awk 'NF>1{print $NF}'` #Get 17th transposed SLEM value
SLEM_18=`echo ${line_transpose18} | awk 'NF>1{print $NF}'` #Get 18th transposed SLEM value
SLEM_19=`echo ${line_transpose19} | awk 'NF>1{print $NF}'` #Get 19th transposed SLEM value
SLEM_20=`echo ${line_transpose20} | awk 'NF>1{print $NF}'` #Get 20th transposed SLEM value
SLEM_21=`echo ${line_transpose21} | awk 'NF>1{print $NF}'` #Get 21th transposed SLEM value
SLEM_22=`echo ${line_transpose22} | awk 'NF>1{print $NF}'` #Get 22th transposed SLEM value
SLEM_23=`echo ${line_transpose23} | awk 'NF>1{print $NF}'` #Get 23th transposed SLEM value
SLEM_24=`echo ${line_transpose24} | awk 'NF>1{print $NF}'` #Get 24th transposed SLEM value
SLEM_wing=`echo ${SLEM_1} ${SLEM_2} ${SLEM_3} ${SLEM_4} ${SLEM_5} ${SLEM_6} ${SLEM_7} ${SLEM_8} ${SLEM_9} ${SLEM_10} ${SLEM_11} ${SLEM_12} ${SLEM_13} ${SLEM_14} ${SLEM_15} ${SLEM_16} ${SLEM_17} ${SLEM_18} ${SLEM_19} ${SLEM_20} ${SLEM_21} ${SLEM_22} ${SLEM_23} ${SLEM_24} | awk '{printf "%.18f \n", $1 + $2 + $3 +$4 + $5 + $6 + $7 + $8 + $9 + $10 + $11 + $12 + $13 + $14 + $15 + $16 + $17 + $18 + $19 + $20 + $21 + $22 + $23 + $24}'` #compute SLEM wing
PERM=24
SLEM_wing=`echo ${SLEM_wing} ${PERM} | awk '{printf "%.18f \n", $1 / $2}'`
printf "%s%s%s%s%s%s%s%s%s%s\n" "SLEM_" $i "." $j "." $k "." $l " " $SLEM_wing >> ${SLEM_WINGS}
fi
fi
done < $SLEM_FILE$reduced
if [[ $therapy_level != 1 ]] #Sorting the list
then
mv ${SLEM_WINGS} $WORKDIR/temp_buf
sort -k2 -n $WORKDIR/temp_buf > ${SLEM_WINGS}
fi