技能简介
蛋白质结构是理解其功能的关键。传统获取蛋白结构需要做实验(X射线晶体学、冷冻电镜),
一个结构可能要等几年。
2021年DeepMind发布的AlphaFold2彻底改变了这一局面,AI预测的蛋白质结构精度可以媲美实验结构。
本教程教你使用三大结构数据库——
AlphaFold DB(2亿+预测结构)、PDB(实验结构库)、UniProt(蛋白质序列和功能),
通过Scientific Skills MCP自动化完成从序列到3D结构可视化的全流程。
几秒钟就能获取目标蛋白的3D结构!
💡 使用场景
药物靶点结构获取
获取药物靶点的3D结构,用于分子对接和虚拟筛选
突变位点分析
可视化疾病相关突变位点在3D结构中的位置
耐药机制研究
分析耐药突变如何影响药物结合
论文结构图制作
生成发表级蛋白质3D结构图用于论文发表
🛠️ 核心技能调用
通过Scientific Skills MCP,可以一键调用三大蛋白质结构数据库:
📊 UniProt Database - 蛋白质序列和功能信息
UniProt是蛋白质序列和功能的权威数据库,提供序列、功能域、PTM位点、变异等丰富信息。
# 调用 UniProt Database 技能 # scientific-skills:uniprot-database # 查询蛋白质信息 uniprot_query( query = "EGFR_HUMAN", # UniProt ID 或基因名 fields = [ "sequence", # 氨基酸序列 "length", # 序列长度 "domains", # 功能域 "ptm", # 翻译后修饰 "variants", # 已知变异 "function", # 功能注释 "subcellular_location" # 亚细胞定位 ] ) # 返回结果示例: # Entry: P00533 (EGFR_HUMAN) # Length: 1210 aa # Domains: Protein kinase (672-976), Receptor L domain (1-165)... # PTMs: Phosphorylation (Y992, Y1068, Y1173...), Glycosylation... # Variants: T790M (pathogenic), C797S (resistance), L858R (activating) # Function: Receptor tyrosine kinase binding to EGF family ligands... # 获取序列(FASTA格式) sequence = uniprot_get_sequence("EGFR_HUMAN", format="fasta")
🧬 AlphaFold Database - AI预测结构
AlphaFold DB包含2亿+蛋白质的AI预测结构,提供置信度评分(pLDDT)和PAE矩阵。
# 调用 AlphaFold Database 技能 # scientific-skills:alphafold-database # 获取AlphaFold预测结构 alphafold_get( protein_id = "EGFR_HUMAN", # UniProt ID output_format = "pdb", # 输出格式: pdb, mmcif include_metadata = True # 包含置信度等信息 ) # 返回结果包含: # - 3D坐标文件(PDB格式) # - pLDDT置信度评分(0-100) # * 90-100: 高置信度(非常可靠) # * 70-90: 良好置信度(通常可靠) # * 50-70: 低置信度(需谨慎) # * <50: 极低置信度(不可靠) # - PAE矩阵(预测对齐误差) # - 结构版本和模型信息 # 可视化结构(按pLDDT着色) visualize_structure( structure = af_structure, color_by = "plddt", # 按置信度着色 show_domains = True, show_ptm = True )
💡 pLDDT置信度解读:
- • 蓝色区域 (90-100):预测非常准确,可用于精细分析
- • 浅蓝/绿色 (70-90):整体结构正确,局部细节可能有偏差
- • 黄色/橙色 (50-70):结构可能正确,但侧链位置不可靠
- • 红色 (<50):无序区域或预测失败,不应作为分析依据
🔬 PDB Database - 实验解析结构
PDB数据库包含X射线、NMR、冷冻电镜等方法解析的实验结构,是验证预测结构的金标准。
# 调用 PDB Database 技能 # scientific-skills:pdb-database # 搜索PDB中的实验结构 pdb_search( protein_name = "EGFR", organism = "Homo sapiens", method = "X-RAY", # 或 "NMR", "ELECTRON MICROSCOPY" min_resolution = 2.5, # 分辨率阈值(Å) max_results = 10 ) # 返回结果示例: # PDB ID Method Resolution Chains Title # 6M2J X-RAY 1.90Å A EGFR... # 6S9B X-RAY 2.05Å A EGFR... # 5WB7 X-RAY 2.20Å A EGFR... # 获取PDB结构 pdb_structure = pdb_get( pdb_id = "6M2J", include_ligands = True, # 包含配体 include_water = False # 不包含水分子 ) # 结构叠合(AlphaFold vs PDB) align_structures( structure1 = af_structure, structure2 = pdb_structure, method = "TM-align" ) # 返回RMSD和TM-score # RMSD: 0.85Å (非常接近) # TM-score: 0.96 (结构高度一致)
📖 实战示例:EGFR结构与耐药突变分析
以下是完整的EGFR蛋白3D结构获取和分析流程,从序列查询到耐药突变可视化:
1 UniProt查询蛋白信息
从UniProt获取EGFR的基本信息和序列:
# Step 1: UniProt查询 egfr_info = uniprot_query( query = "EGFR_HUMAN", fields = ["sequence", "domains", "ptm", "variants"] ) # 获取关键信息 print(f"序列长度: {egfr_info['length']} aa") print(f"分子量: {egfr_info['mass']} Da") # 功能域信息 for domain in egfr_info['domains']: print(f"{domain['name']}: {domain['start']}-{domain['end']}") # 示例输出: # 序列长度: 1210 aa # 分子量: 134336 Da # # 功能域: # Receptor L domain: 1-165 # Receptor L domain: 186-338 # Receptor L domain: 361-480 # Transmembrane: 645-667 # Protein kinase: 672-976 # 耐药突变位点 resistance_mutations = egfr_info['variants'][ egfr_info['variants']['disease'] == '"Lung cancer" ] print("耐药突变:") for mut in resistance_mutations: print(f" {mut['position']}: {mut['wild_type']}→{mut['mutation']} ({mut['description']})")
2 获取AlphaFold预测结构
从AlphaFold DB获取EGFR的预测结构:
# Step 2: 获取AlphaFold结构 af_structure = alphafold_get( protein_id = "EGFR_HUMAN", output_format = "pdb" ) # 检查置信度分布 plddt_stats = calculate_plddt_stats(af_structure) print(plddt_stats) # 示例输出: # 平均pLDDT: 92.3 # 高置信度区域(>90): 89.2% # 良好置信度区域(70-90): 8.5% # 低置信度区域(<70): 2.3% # # 低置信度区域主要是: # - 胞外区部分柔性环 # - C端无序区域 # 生成pLDDT着色结构图 visualize_structure( af_structure, color_by = "plddt", representation = "cartoon", orientation = "biological_assembly" )
3 对比PDB实验结构
与PDB中的实验结构进行对比验证:
# Step 3: 对比PDB结构 # 搜索EGFR的PDB结构 pdb_results = pdb_search( protein_name = "EGFR", organism = "Homo sapiens", method = "X-RAY", min_resolution = 2.5 ) # 选择最佳分辨率的结构 best_pdb = pdb_results[0] # 6M2J, 1.90Å pdb_structure = pdb_get(best_pdb['id']) # 结构叠合 alignment = align_structures( af_structure, pdb_structure, chain1 = "A", chain2 = "A" ) print(f"RMSD: {alignment['rmsd']:.2f}Å") print(f"TM-score: {alignment['tm_score']:.3f}") # 示例输出: # RMSD: 0.85Å # TM-score: 0.96 # # 结论:AlphaFold预测与实验结构高度一致 # 生成叠合对比图 plot_alignment( af_structure, pdb_structure, color1 = "blue", # AlphaFold color2 = "red", # PDB show_rmsd = True )
4 耐药突变位点可视化
在3D结构上标注关键耐药突变位点:
# Step 4: 突变位点可视化 # 定义关键突变位点 resistance_sites = { 'T790M': {'type': 'gatekeeper', 'description': '一代TKI耐药'}, 'C797S': {'type': 'covalent', 'description': '三代TKI耐药'}, 'L858R': {'type': 'activating', 'description': '敏感突变'}, 'L718Q': {'type': 'steric', 'description': '二代TKI耐药'} } # 在结构上标注突变位点 visualize_mutations( structure = af_structure, mutations = resistance_sites, highlight_color = 'red', show_domain_boundaries = True, show_atp_binding_site = True ) # 分析突变对ATP结合袋的影响 atp_pocket_analysis = analyze_pocket( structure = af_structure, pocket_center = 'ATP-binding', mutations = ['T790M', 'C797S'] ) # 示例输出: # T790M突变: # - 位置:ATP结合袋入口 # - 影响:增加空间位阻,阻止一代TKI结合 # - pLDDT:96.2(高置信度) # # C797S突变: # - 位置:共价结合位点 # - 影响:失去半胱氨酸,三代TKI无法共价结合 # - pLDDT:94.8(高置信度)
5 生成发表级结构图
生成高质量的结构图用于论文发表:
# Step 5: 生成发表级图片 generate_publication_figure( structure = af_structure, panels = { 'A': { 'type': 'overview', 'description': 'EGFR全长结构', 'color_by': 'domains', 'orientation': 'side_view' }, 'B': { 'type': 'kinase_domain', 'description': '激酶域详细结构', 'color_by': 'secondary_structure', 'show_atp': True }, 'C': { 'type': 'mutations', 'description': '耐药突变位点', 'highlight': ['T790M', 'C797S', 'L858R'], 'labels': True }, 'D': { 'type': 'surface', 'description': 'ATP结合袋表面图', 'color_by': 'electrostatic', 'show_mutations': True } }, output_format = 'pdf', dpi = 300, width = 8, # 英寸 height = 6 ) # 同时导出交互式HTML(用于补充材料) export_interactive_html( structure = af_structure, mutations = resistance_sites, filename = 'EGFR_mutations.html' )
⚠️ 注意事项
置信度评估
AlphaFold预测的准确性用pLDDT评分衡量。对于关键区域(如结合位点),建议pLDDT > 90。低置信度区域(pLDDT < 70)的结论需谨慎。
复合物结构局限
AlphaFold主要预测单体蛋白结构。对于蛋白质-蛋白质、蛋白质-配体复合物,建议使用专门的复合物预测工具或实验结构。
动态结构信息
AlphaFold预测的是静态结构。对于了解蛋白质的构象变化和动态行为,建议结合分子动力学模拟或多个实验构象进行综合分析。
结构可视化工具
推荐使用PyMOL(专业)、ChimeraX(免费友好)或UCSF Chimera进行结构可视化和图片制作。AlphaFold网站也提供内置的3D查看器。
🔗 相关技能链接
💡 代码包内含 README.md 文档,包含环境配置和运行说明。解压后即可使用。