AWKスクリプトでは、スコアに応じてシーケンスを色づけします。 RGBモードで残基を色付けします。これらのシーケンスは、いくつかのソフトウェアを使用して視覚化できます。スクリプトの色は高いスコアの範囲では赤、中程度では緑、低い範囲では白です。低範囲では赤、中間では青、言い換えればスクリプトを欲しがるように変更したい私は生物学者であり、どのようにawkが動作するのかわかりません。私を助けてください。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
スクリプトは、配列を使用し、それらのスコアが、例えばスコア53.8を有する第一のシーケンスAは赤色に着色され、最低のスコア配列Lが白または明るい色に着色されているが、私はそれらを着色したいです赤を代わりに使用し、順序を変更します。
sequence no. score
A 394 53.8314
E 395 12.7202
L 396 4.5191
L 397 22.1270
Q 398 47.6526
貴重なご意見をお寄せいただきありがとうございます。
私はスコアの場合と同様に、これは今までに緑の行く方法を確認することはできません平均値は[1,1,1](白)から[1,1,0](黄色)の範囲で始まり、平均値より上では[1,1,0]から[1,0,1] 0](赤色)。赤色成分は決して変化しない。 – cmbuckley