Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions unilabos/compile/run_column_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import networkx as nx
import logging
import re
from .utils.vessel_parser import get_vessel
from .pump_protocol import generate_pump_protocol_with_rinsing

logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -403,9 +404,9 @@ def generate_run_column_protocol(
"""

# 🔧 核心修改:从字典中提取容器ID
from_vessel_id = from_vessel["id"]
to_vessel_id = to_vessel["id"]
from_vessel_id, _ = get_vessel(from_vessel)
to_vessel_id, _ = get_vessel(to_vessel)

debug_print("🏛️" * 20)
debug_print("🚀 开始生成柱层析协议(支持vessel字典和体积运算)✨")
debug_print(f"📝 输入参数:")
Expand Down Expand Up @@ -772,26 +773,26 @@ def generate_gradient_column_protocol(G: nx.DiGraph, from_vessel: dict, to_vesse
column: str, start_ratio: str = "10:90",
end_ratio: str = "50:50") -> List[Dict[str, Any]]:
"""梯度洗脱柱层析(中等比例)"""
from_vessel_id = from_vessel["id"]
to_vessel_id = to_vessel["id"]
from_vessel_id, _ = get_vessel(from_vessel)
to_vessel_id, _ = get_vessel(to_vessel)
debug_print(f"📈 梯度柱层析: {from_vessel_id} → {to_vessel_id} ({start_ratio} → {end_ratio})")
# 使用中间比例作为近似
return generate_run_column_protocol(G, from_vessel, to_vessel, column, ratio="30:70")

def generate_polar_column_protocol(G: nx.DiGraph, from_vessel: dict, to_vessel: dict,
column: str) -> List[Dict[str, Any]]:
"""极性化合物柱层析(高极性溶剂比例)"""
from_vessel_id = from_vessel["id"]
to_vessel_id = to_vessel["id"]
from_vessel_id, _ = get_vessel(from_vessel)
to_vessel_id, _ = get_vessel(to_vessel)
debug_print(f"⚡ 极性化合物柱层析: {from_vessel_id} → {to_vessel_id}")
return generate_run_column_protocol(G, from_vessel, to_vessel, column,
solvent1="ethyl_acetate", solvent2="hexane", ratio="70:30")

def generate_nonpolar_column_protocol(G: nx.DiGraph, from_vessel: dict, to_vessel: dict,
column: str) -> List[Dict[str, Any]]:
"""非极性化合物柱层析(低极性溶剂比例)"""
from_vessel_id = from_vessel["id"]
to_vessel_id = to_vessel["id"]
from_vessel_id, _ = get_vessel(from_vessel)
to_vessel_id, _ = get_vessel(to_vessel)
debug_print(f"🛢️ 非极性化合物柱层析: {from_vessel_id} → {to_vessel_id}")
return generate_run_column_protocol(G, from_vessel, to_vessel, column,
solvent1="ethyl_acetate", solvent2="hexane", ratio="5:95")
Expand All @@ -804,4 +805,3 @@ def test_run_column_protocol():

if __name__ == "__main__":
test_run_column_protocol()

Loading