Generate detailed laboratory protocols from natural language descriptions using AI, producing step-by-step experimental procedures ready for lab execution.
Use the same DrugSDAClient class pattern with Thoth-Plan server.
This workflow generates detailed laboratory protocols from natural language descriptions, useful for experimental planning and automation.
Workflow Steps:
Implementation:
client = DrugSDAClient("https://scp.intern-ai.org.cn/api/v1/mcp/19/Thoth-Plan")
if not await client.connect():
print("connection failed")
return
## Step 1: Provide protocol description
user_prompt = """
I need a PCR protocol for amplifying a 500bp DNA fragment.
Use a standard Taq polymerase with the following conditions:
- Annealing temperature: 55°C
- Extension time: 30 seconds
- 30 cycles total
Include primer concentrations and buffer composition.
"""
## Step 2: Generate detailed protocol
result = await client.session.call_tool(
"protocol_generation",
arguments={
"user_prompt": user_prompt
}
)
protocol_text = client.parse_result(result)["protocol"]
print("Generated Protocol:")
print("=" * 80)
print(protocol_text)
print("=" * 80)
## Step 3 (Optional): Convert to executable JSON for lab automation
result = await client.session.call_tool(
"generate_executable_json",
arguments={
"protocol": protocol_text
}
)
executable_json = client.parse_result(result)["executable_json"]
print("\nExecutable JSON for lab automation:")
print(executable_json)
## Step 4 (Optional): Execute protocol via lab automation system
result = await client.session.call_tool(
"execute_json",
arguments={
"executable_json": executable_json
}
)
execution_info = client.parse_result(result)
print("\nExecution Info:")
print(execution_info)
await client.disconnect()
Thoth-Plan Server:
protocol_generation: Generate detailed laboratory protocol from description
user_prompt (str) - Natural language description of desired protocolprotocol (str) - Detailed step-by-step protocol textgenerate_executable_json: Convert protocol text to machine-readable format
protocol (str) - Protocol textexecutable_json (str) - JSON format for Opentrons/lab automationexecute_json: Execute protocol via connected lab automation systems
executable_json (str) - Executable protocol JSONInput:
user_prompt: Natural language description of desired experimental protocol
Output:
protocol: Detailed step-by-step protocol including:
The system can generate protocols for various laboratory procedures:
Generated protocols include:
The generated protocols can be converted to executable JSON format compatible with:
For optimal protocol generation:
Example Good Prompts:
"Generate a Western blot protocol for detecting GAPDH (37 kDa) in HEK293 cell lysates using a standard semi-dry transfer system"
"I need a DNA extraction protocol from plant tissue (Arabidopsis leaves) optimized for downstream PCR. Yield target is 50 µg from 100mg tissue"
"Create a protein purification protocol for His-tagged recombinant protein from E. coli using IMAC chromatography. Starting culture volume is 500mL"