LinearDesign MCP服务器
🧬 基于LinearDesign算法的mRNA优化模型上下文协议服务器
提供同步(快速)和异步(背景)API,用于密码子使用和RNA结构约束下的蛋白质到mRNA优化。
目录
特性
✨ API双重设计
- 同步工具:快速操作(\5个λ值,>10个序列|
| submit_codon_optimization |多生物比较|>3个生物,>20个序列| | submit_batch_processing |大数据集处理|>100个序列| | submit_comprehensive_analysis |完整的分析流程|研究工作流程|
🔧 作业管理
跟踪和管理后台操作:
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度和状态 |
get_job_result | 检索已完成的作业结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有具有筛选功能的作业 |
🛠️ 公用事业
用于验证和发现的辅助工具:
| 工具 | 说明 |
|---|---|
validate_protein_sequence | 验证蛋白质序列格式 |
get_supported_organisms | 列出可用于密码子优化的生物体 |
get_example_data | 显示用于测试的示例数据集 |
工作流示例
1.快速单体优化
Use optimize_single_sequence with protein "MNDTEAI" and verbose true退货:即时mRNA优化结果
{
"result": {
"mRNA": "AUGAACGAUACGGAGGCGAUC",
"MFE": -1.1,
"CAI": 0.695
}
}2.参数探索
Use optimize_lambda_tuning with sequences "MNDTEAI,MLDQVNKLKYPEVSLT" and lambda_value 3.0退货:显示MFE与CAI权衡的比较分析
3.多生物比较
Use optimize_codon_usage with protein "MNDTEAI", organism "yeast", and compare_organisms true退货:跨多个生物体的优化结果
4.大规模分析(背景)
# 1. Submit analysis
Use submit_comprehensive_analysis with input_data "@examples/data/test_sequences.fasta"
→ Returns: {"job_id": "abc123", "status": "submitted"}
# 2. Monitor progress
Use get_job_status with job_id "abc123"
→ Returns: {"status": "running", "progress": 45}
# 3. Check logs
Use get_job_log with job_id "abc123" and tail 20
→ Returns: Recent execution logs
# 4. Get results (when completed)
Use get_job_result with job_id "abc123"
→ Returns: Complete analysis with all optimization strategies5.批处理工作流程
# Small batch (immediate)
Use batch_process_small with input_data "@examples/data/small_proteins.fasta" and output_format "csv"
# Large batch (background)
Use submit_batch_processing with input_data "@examples/data/multiple_proteins.fasta" and output_format "all"支持的生物体
| 代码 | 生物体 | 描述 |
|---|---|---|
human | 智人 | 人类密码子优化 |
yeast | 酿酒酵母 | 贝克酵母 |
ecoli | 大肠杆菌 | 大肠杆菌 |
mouse | 小家鼠 |
*自定义密码子表可以通过CSV文件提供*
演示数据
这 examples/data/ 目录包含用于测试的示例数据集:
| 文件 | 描述 | 大小 | 与一起使用 |
|---|---|---|---|
single_protein.txt | 单一测试蛋白(MNDTEAI) | 7个字符 | 单一优化 |
small_proteins.fasta | 具有2个蛋白质的小FASTA | 2个序列 | 批处理 |
test_sequences.fasta | 测试序列(MPNTLACP、MLDQVNKLKYPEVSLT) | 2个序列 | Lambda优化 |
multiple_proteins.fasta | 包括严重急性呼吸系统综合征冠状病毒2型刺突片段在内的多种蛋白质 | 5+序列 | 大批量处理 |
codon_usage_freq_table_human.csv | 人类密码子使用频率 | - | 密码子优化 |
codon_usage_freq_table_yeast.csv | 酵母密码子使用频率 | - | 密码子优化 |
coding_wheel.txt | 遗传密码图谱 | - | 内部使用 |
示例用法
# View demo data
ls -la @examples/data/
# Use specific demo files in Claude Code
"Use optimize_single_sequence with @examples/data/single_protein.txt"
"Process @examples/data/small_proteins.fasta using batch_process_small"
"Optimize @examples/data/test_sequences.fasta for organism yeast"性能指南
何时使用同步API
- 单序列:任何尺寸,即时结果
- 小参数扫描:\5个lambda值
- 多生物分析:>3个生物体
- 大型数据集:>100个序列
- 研究管道:综合分析
- 长时间运行的任务:预计>30秒
性能估算
Single optimization: ~0.003s per sequence
Lambda tuning: ~0.045s per sequence per lambda
Codon optimization: ~0.05s per sequence per organism
Batch processing: ~21.65 sequences/second (with analysis)错误处理
服务器提供结构化错误响应:
{
"status": "error",
"error": "File not found: sequences.fasta",
"error_type": "FileNotFoundError"
}常见问题
- 缺失的文件:检查输入文件路径
- 无效序列:使用
validate_protein_sequence第一 - 未找到二进制文件:确保安装了LinearDesign
- 大型数据集:对于>100个序列,使用submit API
发展
项目结构
src/
├── server.py # Main MCP server
├── utils.py # Shared utilities
├── jobs/
│ ├── manager.py # Job management system
│ └── __init__.py
└── tools/ # Tool organization
└── __init__.py
scripts/ # Clean optimization scripts
├── single_optimization.py
├── lambda_optimization.py
├── codon_usage_optimization.py
├── batch_processing.py
└── lib/ # Shared libraries
├── io.py
└── utils.py
configs/ # Configuration files
├── single_optimization_config.json
├── lambda_optimization_config.json
├── codon_usage_optimization_config.json
└── batch_processing_config.json
examples/data/ # Example datasets测试
# Run comprehensive integration tests
python tests/direct_tool_tests.py
# Run individual tool tests
python tests/run_integration_tests.py
# Test individual scripts
python scripts/single_optimization.py --input MNDTEAI --verbose
# Test server startup (will timeout - this is normal)
timeout 10 python src/server.py故障排除
常见问题
服务器无法启动
# Check Python environment
which python
python --version
# Test basic imports
python -c "from src.server import mcp"
# Check dependencies
pip list | grep -E "fastmcp|loguru"未找到工具
# List available tools directly
python -c "
import sys, asyncio
sys.path.insert(0, '.')
from src.server import mcp
async def show_tools():
tools = await mcp.get_tools()
print(f'Found {len(tools)} tools:')
for name in tools:
print(f' - {name}')
asyncio.run(show_tools())
"工作悬而未决
# Check job directory
ls -la jobs/
# View recent job logs
tail -50 jobs/*/job.log
# Check job status directly
python -c "
from src.jobs.manager import job_manager
print(job_manager.list_jobs())
"Claude代码连接问题
# Remove and re-add server
claude mcp remove LinearDesign
claude mcp add LinearDesign -- $(which python) $(pwd)/src/server.py
# Check server health
claude mcp list
# Test in isolation
fastmcp dev src/server.py权限错误
# Check file permissions
ls -la src/server.py
chmod +x src/server.py
# Check directory permissions
ls -la jobs/
mkdir -p jobs && chmod 755 jobs性能问题
工作耗时太长
- 对小型数据集(<100个序列)使用同步API
- 在批处理过程中检查系统资源
- 监控日志以查找瓶颈
内存问题
- 在batch_process_small中减少批量大小
- 对大型数据集使用submit API
- 定期清除旧作业数据
整合问题
MCP服务器未连接
- 验证Python路径:
which python - 检查服务器导入:
python -c "from src.server import mcp" - 测试服务器启动:
fastmcp dev src/server.py - 检查克劳德代码日志以了解详细错误
工具调用失败
- 直接测试工具:
python tests/direct_tool_tests.py - 检查路径解析问题
- 验证示例数据是否存在:
ls examples/data/ - 使用绝对路径而不是相对路径进行测试
添加新工具
- 创建脚本 在
scripts/目录 - 导入功能 在
src/server.py - 添加MCP工具 随着
@mcp.tool()装饰器 - 添加提交版本 用于长时间运行的任务
- 更新文档
算法详细信息
线性设计 通过以下方式优化mRNA序列:
- 鳕鱼选择:根据以下因素选择最佳密码子:
- 生物体特定密码子使用频率 - tRNA丰度和充电水平 - 翻译效率指标
- 结构约束:考虑RNA二级结构:
- 最小自由能(MFE)计算 - 发夹和环状结构 - 核糖体结合的可及性
- 参数平衡:使用lambda参数(λ):
- λ=0:专注于密码子优化 - λ>0:密码子使用和结构之间的平衡 - 更高的λ:优先考虑结构而不是密码子使用
关键指标
- 鳕鱼适应指数:翻译效率得分(0-1)
- MFE(最小自由能):RNA结构稳定性(kcal/mol)
- 结构:显示碱基对的点括号符号
- GC含量:G+C核苷酸百分比
引用
如果您在研究中使用LinearDesign MCP,请引用:
- 线性设计算法:\[原始线性设计论文\]
- MCP实施:此工具和存储库
许可证
此项目遵循与原始LinearDesign工具相同的许可证。有关详细信息,请参阅存储库许可证。
支持
- 文档:参见
reports/step6_mcp_tools.mdAPI详细文档 - 问题:通过GitHub问题报告错误和功能请求
- 例子:检查
examples/data/用于样本数据集
______________________________________________________________________
🧬 准备好优化您的mRNA序列了! 从开始 optimize_single_sequence 对于快速测试,然后扩展到 submit_comprehensive_analysis 用于研究工作流程。
