У меня есть сценарий AWK, который окрашивает последовательность в соответствии с оценкой,
он окрашивает остатки в режиме RGB, и эти последовательности можно визуализировать с помощью некоторого программного обеспечения. Проблема заключается в том, что сценарий окрашивает в красный цвет для более высокого диапазона оценок и зеленый для среднего и в белый для низкого диапазона. Я хотел бы изменить его так, назначает красный для низкого диапазона, синий для среднего, или, другими словами, я хочу, чтобы скрипт работал по-другому, от низкого к высокому, от высокого к низкому ... как мне справиться с этим. Я биолог и Я понятия не имею, как работает awk. Пожалуйста, помогите мне в этом.
Расцветка основана на этом.
http://www.pymolwiki.org/index.php/Spectrum
/usr/bin/awk -v aa_shift=$2 '
BEGIN{
r1=1; g1=1; b1=1;
r2=1; g2=1; b2=0;
r3=1; g3=0; b3=0;
maxfrq=-1*10000;
minfrq=1*10000;
aan=0;
}
{
if ($1!="" && $2!="") {
aan++;
aa_ind[aan]=1.0*$2;
aa_frq[aan]=1.0*$3;
}
}
END{
for(i=1;i<=aan;i++) {
if(aa_frq[i]>maxfrq) {
maxfrq=aa_frq[i];
}
if(aa_frq[i]<minfrq) {
minfrq=aa_frq[i];
}
}
half=(maxfrq-minfrq)/2
for(i=1;i<=aan;i++) {
aa_frq[i]=aa_frq[i]-minfrq
if (aa_frq[i]<half) {
fraction=aa_frq[i]/half
aa_r[i]=r1+fraction*(r2-r1)
aa_g[i]=g1+fraction*(g2-g1)
aa_b[i]=b1+fraction*(b2-b1)
} else {
fraction=(aa_frq[i]-half)/half
aa_r[i]=r2+fraction*(r3-r2)
aa_g[i]=g2+fraction*(g3-g2)
aa_b[i]=b2+fraction*(b3-b2)
}
print "set_color c" i ", [" aa_r[i] "," aa_g[i] "," aa_b[i] "]"
print "color c" i ", resi " aa_ind[i]+aa_shift " and prot"
}
}' $1
сценарий использует последовательности и их оценку, например, первая последовательность A с оценкой 53,8 будет окрашена в красный цвет, а самая низкая последовательность оценок L - в белый или любой более светлый, но я бы хотел вместо этого покрасить их в красный цвет и изменить порядок .
sequence no. score
A 394 53.8314
E 395 12.7202
L 396 4.5191
L 397 22.1270
Q 398 47.6526
Заранее благодарим за ваши бесценные предложения.