Spaces:
Runtime error
Runtime error
# ProteinAgentQA: 智能蛋白质功能问答引擎 | |
`ProteinAgentQA` 是一个基于大型语言模型(LLM)的智能问答系统,旨在弥合海量蛋白质数据与研究人员自然语言提问之间的鸿沟。项目内置两种针对不同应用场景的模式,使用户能够以最高效、最可靠的方式探索或查询蛋白质的功能信息。 | |
- **项目状态**: 研发阶段 | |
- **核心技术**: 生物信息学分析 (BLAST, InterProScan), 深度学习 (ProTrek), 大型语言模型 (LLM) | |
--- | |
## 核心理念 | |
传统的蛋白质功能研究依赖于研究人员手动操作复杂的生物信息学工具并解读其结果。`ProteinAgentQA` 将这一过程自动化和智能化,通过两种独特的模式服务于蛋白质研究的全周期:从全新蛋白的初步功能探索,到对已知明星蛋白的快速信息检索。 | |
## 两大核心模式 | |
用户可以根据研究对象的性质,选择进入最适合的问答模式。 | |
### 1. 未知探索模式 (Unknown Exploration Mode) | |
**此模式专为功能未知、未经实验验证、或注释信息稀少的新型蛋白质设计。** | |
当您面对一个全新的蛋白质序列,传统工具的注释结果可能充满噪音或过于笼统。本模式的目标是,通过一个先进的、经过严格验证的生物信息学流程,为该蛋白生成一个**高可信度的功能(GO)与结构域(Motif)集合**,并以此作为LLM回答问题的唯一事实依据。这确保了对未知蛋白功能推断的严谨性和可靠性。 | |
#### 核心工作流: | |
1. **输入**: 用户提供蛋白质的氨基酸序列。 | |
2. **后端自动化分析**: 系统自动触发三步分析流程: | |
* **第一步:候选功能集生成 (Candidate Generation)** | |
* 系统并行使用 **BLASTp** (对Swiss-Prot等高质量数据库) 和 **InterProScan** (整合Pfam, PROSITE等多个特征数据库) 对输入序列进行分析。 | |
* 此阶段采用宽松策略,合并(Union)所有搜集到的GO Terms,旨在最大化**召回率(Recall)**,确保不遗漏任何潜在的功能线索。 | |
* **第二步:AI语义过滤 (AI-Powered Semantic Filtering)** | |
* 所有候选GO term都将通过 **ProTrek** 模型进行打分。ProTrek是一个蛋白质-文本相关性评估工具,它能直接计算蛋白质序列与其功能描述文本之间的语义相关性分数。 | |
* 这一步引入了与序列比对和特征匹配完全**正交(Orthogonal)**的证据,能极其有效地过滤掉由BLAST带来的“同源但功能不相关”或由InterProScan带来的“过于笼统”的假阳性注释。 | |
* **第三步:数据驱动的阈值筛选 (Data-Driven Thresholding)** | |
* 系统会根据一个预设的ProTrek分数阈值,筛选出最终的“高可信度GO集”。 | |
* **该阈值并非主观设定**,而是通过对一个包含607个新入库酶蛋白的验证集进行严格测试确定的。我们通过绘制**Precision-Recall曲线**,选取了使**F1-Score达到峰值**的分数作为最佳阈值,实现了准确率(Precision)和召回率(Recall)的最佳平衡。 | |
3. **LLM整合与问答**: | |
* 只有通过上述流程筛选出的高可信度GO Terms和Motifs,才会被作为上下文(Context)信息喂给大型语言模型。 | |
* 用户的所有提问(如“这个蛋白可能的功能是什么?”、“它属于哪个蛋白家族?”、“它可能参与哪些生物学过程?”)都将由LLM**严格基于这份高质量的上下文**来回答,杜绝模型产生幻觉或进行无依据的猜测。 | |
### 2. 已知问答模式 (Known Q&A Mode) | |
**此模式专为已有充分研究和可靠注释的蛋白质(例如Swiss-Prot中的明星蛋白)设计,充当一个高效、精准的“蛋白质知识库私人助手”。** | |
#### 核心工作流: | |
1. **输入**: 用户提供已知蛋白质的通用ID(如UniProt ID: `P53_HUMAN`)。 | |
2. **后端直接查询**: 系统直接访问并解析UniProt/Swiss-Prot等权威数据库,获取该蛋白质的**“金标准”(Ground Truth)**信息,包括但不限于: | |
* 官方功能注释 | |
* 亚细胞定位 | |
* 序列变体 | |
* 翻译后修饰 | |
* 相关通路等 | |
3. **LLM整合与问答**: | |
* 系统将这些权威、详尽的资料作为上下文提供给LLM。 | |
* 用户可以围绕该蛋白进行任何提问,获得精准、可靠的答案。例如:“人类P53蛋白的亚细胞定位在哪里?”、“它有哪些主要的翻译后修饰位点?”。 | |
## 系统架构示意图 | |
```mermaid | |
graph TD | |
A[用户] --> B{ProteinAgentQA}; | |
B --> C{模式选择}; | |
C --> D[未知探索模式]; | |
C --> E[已知问答模式]; | |
D --> F[输入: 蛋白序列]; | |
F --> G[后台分析流程]; | |
G --> H[1. BLAST + InterProScan <br> (生成候选GO集)]; | |
H --> I[2. ProTrek语义打分]; | |
I --> J[3. F1最优阈值筛选]; | |
J --> K[最终高可信GO/Motif]; | |
K --> L[LLM上下文]; | |
E --> M[输入: 蛋白ID]; | |
M --> N[查询Swiss-Prot等数据库]; | |
N --> O[获取Ground Truth信息]; | |
O --> L[LLM上下文]; | |
L --> P[大型语言模型]; | |
A --> Q[提问]; | |
Q --> P; | |
P --> R[生成回答]; | |
R --> A; | |
subgraph "后端核心处理" | |
G | |
H | |
I | |
J | |
N | |
end | |
``` | |
## 使用示例 | |
### 未知探索模式 | |
> **用户输入**: | |
> `> MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVIDB...` | |
> **用户提问**: | |
> `这个蛋白的功能是什么?它依赖于什么离子?` | |
> **系统回答**: | |
> `基于对其序列的分析,该蛋白极有可能是一种GTP结合蛋白。其预测的分子功能包括“GTP binding (GO:0005525)”和“GTPase activity (GO:0003924)”。分析显示其包含一个P-loop NTPase结构域,该结构域通常需要镁离子(Magnesium ion)作为辅因子。` | |
### 已知问答模式 | |
> **用户输入**: | |
> `P04637` (人类P53蛋白的UniProt ID) | |
> **用户提问**: | |
> `总结一下这个蛋白在细胞周期调控中的作用。` | |
> **系统回答**: | |
> `根据UniProt的记录,细胞肿瘤抗原p53 (TP53) 是一个核心的肿瘤抑制因子。在细胞周期中,它充当一个关键的检查点调控蛋白。当检测到DNA损伤时,p53会被激活并积累,通过转录激活CDKN1A/p21等下游基因,来阻止细胞从G1期进入S期,从而为DNA修复提供时间。如果损伤无法修复,p53可以诱导细胞凋亡。` | |