网上有vmd进行原子数值着色方法的教程,格式要求较为严格,譬如,原子序号与数值全部对应,数值只能是一列数据。其实,可以不必要求这么严格的格式,只要有原子与数值对应关系即可。这里采用数值替换氨基酸的B-factor数据的例子,然后在chimera中采用render by attribute显示。
该例子中氨基酸的数值是用生物信息学方法计算得到的保守打分,采用的是SCA5(statistics coupling analysis)算法得到。计算结果由Matlab导出,最终转到文本可编辑的数据,数据格式是
序列号 TAB 数值
例如:
1 0.58
2 0.34
...
采用bash脚本处理
[code=Bash width=600px]
#!/bin/bash
#usage: chBfactor.sh cons_score.file pdb.file > new_pdb.file
#reading conservation from file
declare -a cons_score_data
while read residue cons_score; do
cons_score_data[$residue]=$cons_score
done < $1
#reading pdb file
cat $2 | grep '^ATOM' > tmp.pdb
while read LINE; do
res_number=${LINE:22:4}
echo "${LINE:0:60}" ${cons_score_data[`echo $res_number`]}"${LINE:67:13}"
done < tmp.pdb
rm tmp.pdb
[/code]
pymol中也是可以替换b factor来数值着色,可是同样在pymol中替换b factor也需要经过处理。该脚本简单易用,输出的new_pdb.file可以在pymol, chimera, vmd等各个软件中重新着色。