ConSurf|蛋白质进化保守性图谱 会分析蛋白质的序列保守性,并按分析结果给模型着色。如果你研究的蛋白质结构上保守、序列上却有差异,这个工具会很有用。
保守性分析
你只需要准备一个蛋白质模型;如果没有模型,至少要提供序列,结构可以根据序列预测出来。
如果你有多序列比对(MSA)文件,可以上传,网站会用这些序列生成保守性分析结果。
模型随后就会按照分析结果着色。
自定义颜色
ConSurf 不能直接在模型上选择颜色,但你可以用 Pymol 自己调整。
下载用于 Pymol 的结果文件。
在 RAMPGEN.COM 上生成一个颜色渐变,然后复制 JSON 格式的结果,替换脚本中的颜色:
Note步数要设为 9,因为 ConSurf 把保守性分成 9 级。
将你的颜色渐变粘贴到脚本中,并保存为
set_colors.py:Python# This script was completed with the help of ChatGPT color_data = [ # Paste your color ramp here. ] # Define colors and set colors to corresponding objects for i, item in enumerate(color_data, start=1): hex_color = item['color'] # Convert HEX to RGB r, g, b = int(hex_color[1:3], 16), int(hex_color[3:5], 16), int(hex_color[5:], 16) rgb = (r/255.0, g/255.0, b/255.0) # Set the color color_name = f"color_{i}" pymol.cmd.set_color(color_name, rgb) # Apply color to objects object_name = f"all_group_{i}" pymol.cmd.color(color_name, object_name) # Ensure that views are updated pymol.cmd.rebuild()你的脚本应该像这样:
Pythoncolor_data = [ { "values": 0, "color": "#F6936F" }, { "value": 12.50, "color": "#F8AE93" }, { "value": 25.00, "color": "#FAC9B7" }, { "value": 37.50, "color": "#FCE4DB" }, { "value": 50.00, "color": "#FFFFFF" }, { "value": 62.50, "color": "#DDEBF1" }, { "value": 75.00, "color": "#BCD7E4" }, { "value": 87.50, "color": "#9BC3D6" }, { "value": 100, "color": "#7AAFC9" } ] # Define colors and set colors to corresponding objects for i, item in enumerate(color_data, start=1): hex_color = item['color'] # Convert HEX to RGB r, g, b = int(hex_color[1:3], 16), int(hex_color[3:5], 16), int(hex_color[5:], 16) rgb = (r/255.0, g/255.0, b/255.0) # Set the color color_name = f"color_{i}" pymol.cmd.set_color(color_name, rgb) # Apply color to objects object_name = f"all_group_{i}" pymol.cmd.color(color_name, object_name) # Ensure that views are updated pymol.cmd.rebuild()在 Pymol 中加载 ConSurf 结果,然后通过“File -> Run Script...”运行脚本。