森林2020 MCP
RNA二级结构分析和功能性RNA元件鉴定探针设计工具包
目录
概述
FOREST(RNA元件选择和测试的功能组织)是一个用于RNA二级结构分析和探针设计的综合工具包。该MCP服务器能够从RNA结构中提取末端基序,并设计用于多重亲和力测定和功能性RNA元件鉴定的分子探针。
特性
- 以点括号格式从二级结构中提取末端RNA基序
- 设计带有DNA条形码的RNA探针库,用于多重检测
- 用T7启动子生成DNA模板用于寡核苷酸池合成
- 设计用于RNA探针杂交的微阵列捕获序列
- 支持同步(快速)和异步(后台)处理
- 全面的批处理能力,适用于高通量工作流程
目录结构
./
├── README.md # This file
├── env/ # Conda environment
├── src/
│ └── server.py # MCP server
├── scripts/
│ ├── motif_extraction.py # Extract terminal RNA motifs
│ ├── library_design.py # Design RNA probe library
│ ├── dna_template_design.py # Generate DNA templates
│ ├── microarray_design.py # Design microarray barcodes
│ ├── comprehensive_workflow.py # Complete FOREST workflow
│ └── lib/ # Shared utilities
├── examples/
│ └── data/ # Demo data
├── configs/ # Configuration files
└── repo/ # Original repository______________________________________________________________________
安装
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.10+
- 无需外部科学依赖(仅使用内置Python库)
创建环境
请严格遵守中的信息 reports/step3_environment.md 了解完整的设置过程。工作流程示例如下:
# Navigate to the MCP directory
cd /home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp
# Create conda environment (use mamba if available)
mamba create -p ./env python=3.10 -y
# or: conda create -p ./env python=3.10 -y
# Activate environment
mamba activate ./env
# or: conda activate ./env
# Install MCP dependencies
pip install fastmcp loguru --ignore-installed______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
scripts/motif_extraction.py | 从RNA结构中提取末端基序 | 见下文 |
scripts/library_design.py | 设计带有条形码的RNA探针库 | 见下文 |
scripts/dna_template_design.py | 使用T7启动子生成DNA模板 | 见下文 |
scripts/microarray_design.py | 设计微阵列捕获条形码 | 见下文 |
scripts/comprehensive_workflow.py | 完整的FOREST工作流程 | 见下文 |
脚本示例
RNA基序提取
# Activate environment
mamba activate ./env
# Run script
python scripts/motif_extraction.py \
--input examples/data/test.fa.txt \
--output results/motifs.txt \
--max_length 134参数:
--input, -i:包含RNA序列和点括号结构的FASTA文件(必填)--output, -o:提取图案的输出文件路径(可选)--max_length:要提取的最大图案长度(默认值:134)
RNA文库设计
python scripts/library_design.py \
--input examples/data/test.fa.txt \
--barcodes examples/data/barcode25mer_100000.txt \
--num_barcodes 5 \
--output results/library.txt参数:
--input, -i:包含RNA序列和结构的FASTA文件(必填)--barcodes, -b:带有DNA条形码的文件(每行一个)(必填)--num_barcodes:每个图案的条形码数量(默认值:5)--output, -o:输出文件路径(可选)
DNA模板设计
python scripts/dna_template_design.py \
--input examples/data/test.fa.txt \
--barcodes examples/data/barcode25mer_100000.txt \
--num_barcodes 3 \
--output results/templates.txt微阵列设计
python scripts/microarray_design.py \
--input examples/data/test.fa.txt \
--barcodes examples/data/barcode25mer_100000.txt \
--num_barcodes 2 \
--output results/array.txt完成FOREST工作流程
python scripts/comprehensive_workflow.py \
--input examples/data/test.fa.txt \
--barcodes examples/data/barcode25mer_100000.txt \
--output_dir results/complete/ \
--num_barcodes 2______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
fastmcp install src/server.py --name FOREST2020选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add FOREST2020 -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify installation
claude mcp list选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"FOREST2020": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from FOREST2020?基本用法
Use extract_rna_motifs with input file @examples/data/test.fa.txt通过配置
Run design_rna_library on @examples/data/test.fa.txt using barcodes @examples/data/barcode25mer_100000.txt with 3 barcodes per motif长期运行任务(提交API)
Submit comprehensive_workflow for @examples/data/test_100.fa.txt with barcodes @examples/data/barcode25mer_100000.txt
Then check the job status批处理
Process these files in batch:
- @examples/data/test.fa.txt
- @examples/data/test_100.fa.txt
Use the submit_batch_motif_extraction tool使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/test.fa.txt | 引用特定文件 |
@configs/motif_extraction_config.json | 引用配置文件 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"FOREST2020": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Use extract_rna_motifs with file examples/data/test.fa.txt______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\2分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_motif_extraction | 背景主题提取 | input_file, job_name, output_dir, max_length |
submit_library_design | 背景库设计 | input_file, barcodes_file, job_name, output_dir, num_barcodes |
submit_template_design | 背景模板设计 | input_file, barcodes_file, job_name, output_dir, num_barcodes |
submit_microarray_design | 背景微阵列设计 | input_file, barcodes_file, job_name, output_dir, num_barcodes |
submit_comprehensive_workflow | 后台完整工作流 | input_file, barcodes_file, output_dir, job_name, num_barcodes |
批处理工具
| 工具 | 说明 | 参数 |
|---|---|---|
submit_batch_motif_extraction | 处理多个FASTA文件 | input_files, output_dir, job_name, max_length |
submit_batch_forest_workflow | 在多个文件上运行工作流 | input_files, barcodes_file, output_dir, job_name, num_barcodes |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有作业 |
实用工具
| 工具 | 说明 |
|---|---|
validate_input_format | 验证FASTA/条形码文件格式 |
get_example_data | 列出可用的示例数据集 |
______________________________________________________________________
例子
示例1:终端图案提取
目标: 从二级结构中提取RNA基序进行功能分析
使用脚本:
python scripts/motif_extraction.py \
--input examples/data/test.fa.txt \
--output results/example1/motifs.txt使用MCP(克劳德代码):
Use extract_rna_motifs to process @examples/data/test.fa.txt and save results to results/example1/motifs.txt预期产量:
- FASTA格式提取的终端图案
- 来自2个输入序列的9个基序(用于测试数据)
- 处理时间:\/job.log
**问题:** 作业失败
Use get_job_log with job_id "" and tail 100 to see error details
### 常见文件问题
**问题:** 找不到文件错误
- 使用绝对路径: `/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/forest_mcp/examples/data/test.fa.txt`
- 验证文件是否存在: `ls examples/data/`
- 检查工作目录: `pwd`
**问题:** 无效的文件格式
Use validate_input_format to check file structure before processing
______________________________________________________________________
## 发展
### 运行测试
Activate environment
mamba activate ./env
Run integration tests
python tests/run_integration_tests.py
### 正在启动开发服务器
Run MCP server in dev mode
fastmcp dev src/server.py
### 性能监控
|操作|小数据集|中数据集|大数据集|推荐|
|-----------|---------------|----------------|---------------|----------------|
|主题提取| 2次序列:0.15s | 100次序列:8s | 1000+seq |使用提交>1000|
|库设计|9个图案:0.25秒|100个图案:15秒|10000+个探针|提交>10000个|
|完成工作流程|2次序列:0.30秒|100次序列:45秒|500+次序列|使用提交>500|
______________________________________________________________________
## 许可证
基于 [森林2020](https://github.com/vineetbansal/forest)
## 学分
为RNA二级结构分析和探针设计开发的原始FOREST算法。这种MCP实现为高通量RNA功能元件鉴定工作流程提供了现代接口。