DNALLM MCP Client with LangChain Agents¶
This notebook demonstrates how to integrate DNALLM (DNA Large Language Model Toolkit) with LangChain agents using the Model Context Protocol (MCP).
Overview¶
This example shows how to:
- Start a DNALLM MCP server with streamable HTTP transport
- Connect a LangChain client to the MCP server
- Create an agent that can use DNALLM's DNA analysis tools
- Perform comprehensive DNA sequence analysis using multiple specialized models
Key Components¶
- DNALLM MCP Server: Provides DNA analysis tools via MCP protocol
- LangChain MCP Adapters: Enables LangChain to communicate with MCP servers
- Ollama Integration: Uses local LLM (Qwen3) for natural language processing
- Multi-Model Analysis: Combines promoter, conservation, and chromatin analysis
Prerequisites¶
- DNALLM installed and configured
- Ollama running with Qwen3 model
- Required Python packages installed (see first cell)
Workflow¶
- Install dependencies
- Start DNALLM MCP server
- Configure async environment
- Initialize MCP client connection
- Create LangChain agent with MCP tools
- Analyze DNA sequence using the agent
- Display comprehensive results
In [ ]:
Copied!
# Install required dependencies for LangChain MCP integration
# This cell installs the necessary packages to use LangChain with MCP (Model Context Protocol)
# and Ollama for local LLM inference
!uv pip install -U langchain # Core LangChain framework
!uv pip install -U langchain-mcp-adapters # MCP adapters for LangChain integration
!uv pip install -U langchain-ollama # Ollama integration for local LLM inference
# Install required dependencies for LangChain MCP integration
# This cell installs the necessary packages to use LangChain with MCP (Model Context Protocol)
# and Ollama for local LLM inference
!uv pip install -U langchain # Core LangChain framework
!uv pip install -U langchain-mcp-adapters # MCP adapters for LangChain integration
!uv pip install -U langchain-ollama # Ollama integration for local LLM inference
Using Python 3.13.5 environment at: /Users/forrest/GitHub/DNALLM/.venv Resolved 32 packages in 2.97s ⠙ Preparing packages... (0/22) ⠙ Preparing packages... (0/22)------------- 0 B/69.34 KiB ⠙ Preparing packages... (0/22)------------- 14.85 KiB/69.34 KiB ⠙ Preparing packages... (0/22)------------- 30.85 KiB/69.34 KiB ⠹ Preparing packages... (3/22)--------- 46.85 KiB/69.34 KiB ⠹ Preparing packages... (3/22)--------- 46.85 KiB/69.34 KiB ⠹ Preparing packages... (3/22)--------- 57.26 KiB/69.34 KiB ⠹ Preparing packages... (3/22)--------- 57.26 KiB/69.34 KiB typing-inspection ------------------------------ 0 B/14.27 KiB ⠹ Preparing packages... (3/22)--------- 57.26 KiB/69.34 KiB typing-inspection ------------------------------ 0 B/14.27 KiB ⠹ Preparing packages... (3/22)--------- 57.26 KiB/69.34 KiB typing-inspection ------------------------------ 0 B/14.27 KiB ⠹ Preparing packages... (3/22)--------- 57.26 KiB/69.34 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB ⠹ Preparing packages... (3/22)------------- 0 B/388.03 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB ⠹ Preparing packages... (3/22)------------- 0 B/388.03 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB ⠹ Preparing packages... (3/22)------------- 0 B/388.03 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB ⠹ Preparing packages... (3/22)------------- 0 B/388.03 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB anyio ------------------------------ 0 B/106.54 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB idna ------------------------------ 57.26 KiB/69.34 KiB anyio ------------------------------ 0 B/106.54 KiB langsmith ------------------------------ 0 B/388.03 KiB ⠹ Preparing packages... (3/22)------------- 0 B/456.17 KiB typing-inspection ------------------------------ 0 B/14.27 KiB langgraph-prebuilt ------------------------------ 14.90 KiB/27.79 KiB xxhash ------------------------------ 0 B/30.10 KiB langgraph-checkpoint ------------------------------ 0 B/44.98 KiB langgraph-sdk ------------------------------ 14.91 KiB/55.42 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langchain ------------------------------ 0 B/105.30 KiB anyio ------------------------------ 0 B/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 0 B/151.77 KiB certifi ------------------------------ 14.88 KiB/159.46 KiB pyyaml ------------------------------ 0 B/169.19 KiB charset-normalizer ------------------------------ 0 B/203.21 KiB ormsgpack ------------------------------ 0 B/359.87 KiB langsmith ------------------------------ 0 B/388.03 KiB pydantic ------------------------------ 7.48 KiB/451.59 KiB langchain-core ------------------------------ 0 B/456.17 KiB zstandard ------------------------------ 0 B/625.43 KiB ⠹ Preparing packages... (3/22)------------ 0 B/1.82 MiB typing-inspection ------------------------------ 0 B/14.27 KiB langgraph-prebuilt ------------------------------ 14.90 KiB/27.79 KiB xxhash ------------------------------ 0 B/30.10 KiB langgraph-checkpoint ------------------------------ 0 B/44.98 KiB langgraph-sdk ------------------------------ 14.91 KiB/55.42 KiB idna ------------------------------ 57.26 KiB/69.34 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 0 B/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 0 B/151.77 KiB certifi ------------------------------ 14.88 KiB/159.46 KiB pyyaml ------------------------------ 0 B/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 0 B/359.87 KiB langsmith ------------------------------ 0 B/388.03 KiB pydantic ------------------------------ 7.48 KiB/451.59 KiB langchain-core ------------------------------ 0 B/456.17 KiB zstandard ------------------------------ 0 B/625.43 KiB ⠹ Preparing packages... (3/22)------------ 0 B/1.82 MiB typing-inspection ------------------------------ 8.77 KiB/14.27 KiB langgraph-prebuilt ------------------------------ 14.90 KiB/27.79 KiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 14.87 KiB/44.98 KiB langgraph-sdk ------------------------------ 14.91 KiB/55.42 KiB idna ------------------------------ 69.34 KiB/69.34 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 14.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 16.00 KiB/388.03 KiB pydantic ------------------------------ 7.48 KiB/451.59 KiB langchain-core ------------------------------ 16.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠹ Preparing packages... (3/22)------------ 14.90 KiB/1.82 MiB typing-inspection ------------------------------ 14.27 KiB/14.27 KiB langgraph-prebuilt ------------------------------ 14.90 KiB/27.79 KiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 14.87 KiB/44.98 KiB langgraph-sdk ------------------------------ 14.91 KiB/55.42 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 16.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 16.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠹ Preparing packages... (3/22)------------ 14.90 KiB/1.82 MiB langgraph-prebuilt ------------------------------ 14.90 KiB/27.79 KiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 14.87 KiB/44.98 KiB langgraph-sdk ------------------------------ 14.91 KiB/55.42 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 16.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 16.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠹ Preparing packages... (3/22)------------ 14.90 KiB/1.82 MiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 14.87 KiB/44.98 KiB langgraph-sdk ------------------------------ 30.91 KiB/55.42 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 16.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 16.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 14.90 KiB/1.82 MiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 14.87 KiB/44.98 KiB langgraph-sdk ------------------------------ 30.91 KiB/55.42 KiB langchain ------------------------------ 14.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 14.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 14.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 16.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 16.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 14.90 KiB/1.82 MiB xxhash ------------------------------ 16.00 KiB/30.10 KiB langgraph-checkpoint ------------------------------ 24.88 KiB/44.98 KiB langgraph-sdk ------------------------------ 30.91 KiB/55.42 KiB langchain ------------------------------ 30.85 KiB/105.30 KiB anyio ------------------------------ 16.00 KiB/106.54 KiB orjson ------------------------------ 30.91 KiB/125.85 KiB langgraph ------------------------------ 16.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 30.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 32.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 32.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 30.90 KiB/1.82 MiB langgraph-checkpoint ------------------------------ 24.88 KiB/44.98 KiB langgraph-sdk ------------------------------ 30.91 KiB/55.42 KiB langchain ------------------------------ 30.85 KiB/105.30 KiB anyio ------------------------------ 32.00 KiB/106.54 KiB orjson ------------------------------ 30.91 KiB/125.85 KiB langgraph ------------------------------ 32.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 16.00 KiB/169.19 KiB charset-normalizer ------------------------------ 30.90 KiB/203.21 KiB ormsgpack ------------------------------ 16.00 KiB/359.87 KiB langsmith ------------------------------ 32.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 32.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 30.90 KiB/1.82 MiB langgraph-checkpoint ------------------------------ 24.88 KiB/44.98 KiB langgraph-sdk ------------------------------ 30.91 KiB/55.42 KiB langchain ------------------------------ 30.85 KiB/105.30 KiB anyio ------------------------------ 32.00 KiB/106.54 KiB orjson ------------------------------ 30.91 KiB/125.85 KiB langgraph ------------------------------ 32.00 KiB/151.77 KiB certifi ------------------------------ 30.88 KiB/159.46 KiB pyyaml ------------------------------ 32.00 KiB/169.19 KiB charset-normalizer ------------------------------ 30.90 KiB/203.21 KiB ormsgpack ------------------------------ 32.00 KiB/359.87 KiB langsmith ------------------------------ 32.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 32.00 KiB/456.17 KiB zstandard ------------------------------ 15.89 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 30.90 KiB/1.82 MiB langgraph-checkpoint ------------------------------ 24.88 KiB/44.98 KiB langgraph-sdk ------------------------------ 46.91 KiB/55.42 KiB langchain ------------------------------ 46.85 KiB/105.30 KiB anyio ------------------------------ 32.00 KiB/106.54 KiB orjson ------------------------------ 46.91 KiB/125.85 KiB langgraph ------------------------------ 32.00 KiB/151.77 KiB certifi ------------------------------ 46.88 KiB/159.46 KiB pyyaml ------------------------------ 32.00 KiB/169.19 KiB charset-normalizer ------------------------------ 46.90 KiB/203.21 KiB ormsgpack ------------------------------ 32.00 KiB/359.87 KiB langsmith ------------------------------ 32.00 KiB/388.03 KiB pydantic ------------------------------ 14.88 KiB/451.59 KiB langchain-core ------------------------------ 32.00 KiB/456.17 KiB zstandard ------------------------------ 17.68 KiB/625.43 KiB ⠸ Preparing packages... (6/22)------------ 30.90 KiB/1.82 MiB langgraph-checkpoint ------------------------------ 40.88 KiB/44.98 KiB langgraph-sdk ------------------------------ 46.91 KiB/55.42 KiB langchain ------------------------------ 46.85 KiB/105.30 KiB anyio ------------------------------ 48.00 KiB/106.54 KiB orjson ------------------------------ 46.91 KiB/125.85 KiB langgraph ------------------------------ 48.00 KiB/151.77 KiB certifi ------------------------------ 46.88 KiB/159.46 KiB pyyaml ------------------------------ 48.00 KiB/169.19 KiB charset-normalizer ------------------------------ 46.90 KiB/203.21 KiB ormsgpack ------------------------------ 48.00 KiB/359.87 KiB langsmith ------------------------------ 48.00 KiB/388.03 KiB pydantic ------------------------------ 30.88 KiB/451.59 KiB langchain-core ------------------------------ 48.00 KiB/456.17 KiB zstandard ------------------------------ 33.68 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 46.80 KiB/1.82 MiB langgraph-checkpoint ------------------------------ 40.88 KiB/44.98 KiB langchain ------------------------------ 46.85 KiB/105.30 KiB anyio ------------------------------ 48.00 KiB/106.54 KiB orjson ------------------------------ 46.91 KiB/125.85 KiB langgraph ------------------------------ 48.00 KiB/151.77 KiB certifi ------------------------------ 62.77 KiB/159.46 KiB pyyaml ------------------------------ 48.00 KiB/169.19 KiB charset-normalizer ------------------------------ 46.90 KiB/203.21 KiB ormsgpack ------------------------------ 48.00 KiB/359.87 KiB langsmith ------------------------------ 48.00 KiB/388.03 KiB pydantic ------------------------------ 30.88 KiB/451.59 KiB langchain-core ------------------------------ 48.00 KiB/456.17 KiB zstandard ------------------------------ 33.68 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 46.80 KiB/1.82 MiB langchain ------------------------------ 62.85 KiB/105.30 KiB anyio ------------------------------ 48.00 KiB/106.54 KiB orjson ------------------------------ 62.91 KiB/125.85 KiB langgraph ------------------------------ 48.00 KiB/151.77 KiB certifi ------------------------------ 62.77 KiB/159.46 KiB pyyaml ------------------------------ 48.00 KiB/169.19 KiB charset-normalizer ------------------------------ 62.90 KiB/203.21 KiB ormsgpack ------------------------------ 48.00 KiB/359.87 KiB langsmith ------------------------------ 48.00 KiB/388.03 KiB pydantic ------------------------------ 30.88 KiB/451.59 KiB langchain-core ------------------------------ 48.00 KiB/456.17 KiB zstandard ------------------------------ 33.68 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 46.80 KiB/1.82 MiB langchain ------------------------------ 62.85 KiB/105.30 KiB anyio ------------------------------ 48.00 KiB/106.54 KiB orjson ------------------------------ 62.91 KiB/125.85 KiB langgraph ------------------------------ 48.00 KiB/151.77 KiB certifi ------------------------------ 62.77 KiB/159.46 KiB pyyaml ------------------------------ 48.00 KiB/169.19 KiB charset-normalizer ------------------------------ 62.90 KiB/203.21 KiB ormsgpack ------------------------------ 48.00 KiB/359.87 KiB langsmith ------------------------------ 48.00 KiB/388.03 KiB pydantic ------------------------------ 46.88 KiB/451.59 KiB langchain-core ------------------------------ 48.00 KiB/456.17 KiB zstandard ------------------------------ 33.68 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 62.80 KiB/1.82 MiB langchain ------------------------------ 78.85 KiB/105.30 KiB anyio ------------------------------ 64.00 KiB/106.54 KiB orjson ------------------------------ 78.91 KiB/125.85 KiB langgraph ------------------------------ 79.48 KiB/151.77 KiB certifi ------------------------------ 77.49 KiB/159.46 KiB pyyaml ------------------------------ 64.00 KiB/169.19 KiB charset-normalizer ------------------------------ 78.90 KiB/203.21 KiB ormsgpack ------------------------------ 64.00 KiB/359.87 KiB langsmith ------------------------------ 77.49 KiB/388.03 KiB pydantic ------------------------------ 66.25 KiB/451.59 KiB langchain-core ------------------------------ 76.18 KiB/456.17 KiB zstandard ------------------------------ 48.00 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 78.80 KiB/1.82 MiB langchain ------------------------------ 94.85 KiB/105.30 KiB anyio ------------------------------ 64.00 KiB/106.54 KiB orjson ------------------------------ 94.91 KiB/125.85 KiB langgraph ------------------------------ 79.48 KiB/151.77 KiB certifi ------------------------------ 93.49 KiB/159.46 KiB pyyaml ------------------------------ 80.00 KiB/169.19 KiB charset-normalizer ------------------------------ 94.90 KiB/203.21 KiB ormsgpack ------------------------------ 80.00 KiB/359.87 KiB langsmith ------------------------------ 77.49 KiB/388.03 KiB pydantic ------------------------------ 66.25 KiB/451.59 KiB langchain-core ------------------------------ 76.18 KiB/456.17 KiB zstandard ------------------------------ 57.47 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 78.80 KiB/1.82 MiB langchain ------------------------------ 94.85 KiB/105.30 KiB anyio ------------------------------ 80.00 KiB/106.54 KiB orjson ------------------------------ 110.91 KiB/125.85 KiB langgraph ------------------------------ 95.48 KiB/151.77 KiB certifi ------------------------------ 109.49 KiB/159.46 KiB pyyaml ------------------------------ 96.00 KiB/169.19 KiB charset-normalizer ------------------------------ 94.90 KiB/203.21 KiB ormsgpack ------------------------------ 83.62 KiB/359.87 KiB langsmith ------------------------------ 93.49 KiB/388.03 KiB pydantic ------------------------------ 78.40 KiB/451.59 KiB langchain-core ------------------------------ 92.18 KiB/456.17 KiB zstandard ------------------------------ 73.47 KiB/625.43 KiB ⠼ Preparing packages... (7/22)------------ 78.90 KiB/1.82 MiB anyio ------------------------------ 80.00 KiB/106.54 KiB orjson ------------------------------ 110.91 KiB/125.85 KiB langgraph ------------------------------ 95.48 KiB/151.77 KiB certifi ------------------------------ 109.49 KiB/159.46 KiB pyyaml ------------------------------ 96.00 KiB/169.19 KiB charset-normalizer ------------------------------ 110.90 KiB/203.21 KiB ormsgpack ------------------------------ 83.62 KiB/359.87 KiB langsmith ------------------------------ 109.49 KiB/388.03 KiB pydantic ------------------------------ 78.40 KiB/451.59 KiB langchain-core ------------------------------ 97.61 KiB/456.17 KiB zstandard ------------------------------ 73.47 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 78.90 KiB/1.82 MiB anyio ------------------------------ 96.00 KiB/106.54 KiB orjson ------------------------------ 125.85 KiB/125.85 KiB langgraph ------------------------------ 111.48 KiB/151.77 KiB certifi ------------------------------ 125.38 KiB/159.46 KiB pyyaml ------------------------------ 112.00 KiB/169.19 KiB charset-normalizer ------------------------------ 110.90 KiB/203.21 KiB ormsgpack ------------------------------ 99.62 KiB/359.87 KiB langsmith ------------------------------ 109.49 KiB/388.03 KiB pydantic ------------------------------ 94.40 KiB/451.59 KiB langchain-core ------------------------------ 97.61 KiB/456.17 KiB zstandard ------------------------------ 89.47 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 94.90 KiB/1.82 MiB anyio ------------------------------ 96.00 KiB/106.54 KiB langgraph ------------------------------ 111.48 KiB/151.77 KiB certifi ------------------------------ 125.38 KiB/159.46 KiB pyyaml ------------------------------ 112.00 KiB/169.19 KiB charset-normalizer ------------------------------ 110.90 KiB/203.21 KiB ormsgpack ------------------------------ 99.62 KiB/359.87 KiB langsmith ------------------------------ 109.49 KiB/388.03 KiB pydantic ------------------------------ 94.40 KiB/451.59 KiB langchain-core ------------------------------ 97.61 KiB/456.17 KiB zstandard ------------------------------ 89.47 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 94.90 KiB/1.82 MiB anyio ------------------------------ 96.00 KiB/106.54 KiB langgraph ------------------------------ 127.48 KiB/151.77 KiB certifi ------------------------------ 125.38 KiB/159.46 KiB pyyaml ------------------------------ 112.00 KiB/169.19 KiB charset-normalizer ------------------------------ 126.90 KiB/203.21 KiB ormsgpack ------------------------------ 99.62 KiB/359.87 KiB langsmith ------------------------------ 125.49 KiB/388.03 KiB pydantic ------------------------------ 94.40 KiB/451.59 KiB langchain-core ------------------------------ 113.61 KiB/456.17 KiB zstandard ------------------------------ 89.47 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 94.90 KiB/1.82 MiB langgraph ------------------------------ 127.48 KiB/151.77 KiB certifi ------------------------------ 141.38 KiB/159.46 KiB pyyaml ------------------------------ 112.95 KiB/169.19 KiB charset-normalizer ------------------------------ 142.90 KiB/203.21 KiB ormsgpack ------------------------------ 128.00 KiB/359.87 KiB langsmith ------------------------------ 125.49 KiB/388.03 KiB pydantic ------------------------------ 110.40 KiB/451.59 KiB langchain-core ------------------------------ 124.18 KiB/456.17 KiB zstandard ------------------------------ 105.47 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 126.90 KiB/1.82 MiB langgraph ------------------------------ 143.48 KiB/151.77 KiB certifi ------------------------------ 141.49 KiB/159.46 KiB pyyaml ------------------------------ 128.00 KiB/169.19 KiB charset-normalizer ------------------------------ 158.90 KiB/203.21 KiB ormsgpack ------------------------------ 144.00 KiB/359.87 KiB langsmith ------------------------------ 141.49 KiB/388.03 KiB pydantic ------------------------------ 142.40 KiB/451.59 KiB langchain-core ------------------------------ 140.18 KiB/456.17 KiB zstandard ------------------------------ 112.00 KiB/625.43 KiB ⠴ Preparing packages... (10/22)----------- 142.90 KiB/1.82 MiB certifi ------------------------------ 141.49 KiB/159.46 KiB pyyaml ------------------------------ 128.00 KiB/169.19 KiB charset-normalizer ------------------------------ 158.90 KiB/203.21 KiB ormsgpack ------------------------------ 144.00 KiB/359.87 KiB langsmith ------------------------------ 150.07 KiB/388.03 KiB pydantic ------------------------------ 142.40 KiB/451.59 KiB langchain-core ------------------------------ 140.18 KiB/456.17 KiB zstandard ------------------------------ 112.00 KiB/625.43 KiB ⠴ Preparing packages... (10/22)------------ 142.90 KiB/1.82 MiB certifi ------------------------------ 141.49 KiB/159.46 KiB pyyaml ------------------------------ 128.00 KiB/169.19 KiB charset-normalizer ------------------------------ 174.90 KiB/203.21 KiB ormsgpack ------------------------------ 160.00 KiB/359.87 KiB langsmith ------------------------------ 150.07 KiB/388.03 KiB pydantic ------------------------------ 142.40 KiB/451.59 KiB langchain-core ------------------------------ 156.18 KiB/456.17 KiB zstandard ------------------------------ 112.00 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 142.90 KiB/1.82 MiB pyyaml ------------------------------ 144.00 KiB/169.19 KiB charset-normalizer ------------------------------ 190.90 KiB/203.21 KiB ormsgpack ------------------------------ 176.00 KiB/359.87 KiB langsmith ------------------------------ 182.07 KiB/388.03 KiB pydantic ------------------------------ 149.99 KiB/451.59 KiB langchain-core ------------------------------ 172.18 KiB/456.17 KiB zstandard ------------------------------ 144.00 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 158.90 KiB/1.82 MiB pyyaml ------------------------------ 160.00 KiB/169.19 KiB ormsgpack ------------------------------ 192.00 KiB/359.87 KiB langsmith ------------------------------ 189.49 KiB/388.03 KiB pydantic ------------------------------ 163.90 KiB/451.59 KiB langchain-core ------------------------------ 188.18 KiB/456.17 KiB zstandard ------------------------------ 160.00 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 174.90 KiB/1.82 MiB pyyaml ------------------------------ 160.00 KiB/169.19 KiB ormsgpack ------------------------------ 192.00 KiB/359.87 KiB langsmith ------------------------------ 189.49 KiB/388.03 KiB pydantic ------------------------------ 163.90 KiB/451.59 KiB langchain-core ------------------------------ 188.18 KiB/456.17 KiB zstandard ------------------------------ 160.00 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 190.90 KiB/1.82 MiB ormsgpack ------------------------------ 192.00 KiB/359.87 KiB langsmith ------------------------------ 189.49 KiB/388.03 KiB pydantic ------------------------------ 179.90 KiB/451.59 KiB langchain-core ------------------------------ 188.18 KiB/456.17 KiB zstandard ------------------------------ 162.95 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 190.90 KiB/1.82 MiB ormsgpack ------------------------------ 192.00 KiB/359.87 KiB langsmith ------------------------------ 189.49 KiB/388.03 KiB pydantic ------------------------------ 195.90 KiB/451.59 KiB langchain-core ------------------------------ 188.18 KiB/456.17 KiB zstandard ------------------------------ 162.95 KiB/625.43 KiB ⠦ Preparing packages... (13/22)------------ 206.90 KiB/1.82 MiB ormsgpack ------------------------------ 216.35 KiB/359.87 KiB langsmith ------------------------------ 221.49 KiB/388.03 KiB pydantic ------------------------------ 206.40 KiB/451.59 KiB langchain-core ------------------------------ 220.18 KiB/456.17 KiB zstandard ------------------------------ 176.00 KiB/625.43 KiB ⠧ Preparing packages... (16/22)------------ 206.90 KiB/1.82 MiB ormsgpack ------------------------------ 232.35 KiB/359.87 KiB langsmith ------------------------------ 221.49 KiB/388.03 KiB pydantic ------------------------------ 222.40 KiB/451.59 KiB langchain-core ------------------------------ 236.18 KiB/456.17 KiB zstandard ------------------------------ 176.00 KiB/625.43 KiB ⠧ Preparing packages... (16/22)------------ 222.90 KiB/1.82 MiB ormsgpack ------------------------------ 248.35 KiB/359.87 KiB langsmith ------------------------------ 253.49 KiB/388.03 KiB pydantic ------------------------------ 238.29 KiB/451.59 KiB langchain-core ------------------------------ 252.18 KiB/456.17 KiB zstandard ------------------------------ 192.00 KiB/625.43 KiB ⠧ Preparing packages... (16/22)------------ 238.90 KiB/1.82 MiB ormsgpack ------------------------------ 256.00 KiB/359.87 KiB langsmith ------------------------------ 253.49 KiB/388.03 KiB pydantic ------------------------------ 270.29 KiB/451.59 KiB langchain-core ------------------------------ 252.18 KiB/456.17 KiB zstandard ------------------------------ 216.23 KiB/625.43 KiB ⠧ Preparing packages... (16/22)------------ 254.90 KiB/1.82 MiB ormsgpack ------------------------------ 272.00 KiB/359.87 KiB langsmith ------------------------------ 269.49 KiB/388.03 KiB pydantic ------------------------------ 270.29 KiB/451.59 KiB langchain-core ------------------------------ 268.18 KiB/456.17 KiB zstandard ------------------------------ 232.23 KiB/625.43 KiB ⠧ Preparing packages... (16/22)------------ 270.90 KiB/1.82 MiB ormsgpack ------------------------------ 288.00 KiB/359.87 KiB langsmith ------------------------------ 293.49 KiB/388.03 KiB pydantic ------------------------------ 286.40 KiB/451.59 KiB langchain-core ------------------------------ 300.18 KiB/456.17 KiB zstandard ------------------------------ 256.00 KiB/625.43 KiB ⠇ Preparing packages... (16/22)------------ 286.90 KiB/1.82 MiB ormsgpack ------------------------------ 304.00 KiB/359.87 KiB langsmith ------------------------------ 309.49 KiB/388.03 KiB pydantic ------------------------------ 302.40 KiB/451.59 KiB langchain-core ------------------------------ 316.08 KiB/456.17 KiB zstandard ------------------------------ 272.00 KiB/625.43 KiB ⠇ Preparing packages... (16/22)------------ 302.90 KiB/1.82 MiB ormsgpack ------------------------------ 336.00 KiB/359.87 KiB langsmith ------------------------------ 317.49 KiB/388.03 KiB pydantic ------------------------------ 334.40 KiB/451.59 KiB langchain-core ------------------------------ 316.18 KiB/456.17 KiB zstandard ------------------------------ 295.77 KiB/625.43 KiB ⠇ Preparing packages... (16/22)------------ 334.90 KiB/1.82 MiB langsmith ------------------------------ 333.49 KiB/388.03 KiB pydantic ------------------------------ 334.40 KiB/451.59 KiB langchain-core ------------------------------ 332.18 KiB/456.17 KiB zstandard ------------------------------ 304.00 KiB/625.43 KiB ⠇ Preparing packages... (16/22)------------ 334.90 KiB/1.82 MiB langsmith ------------------------------ 333.49 KiB/388.03 KiB pydantic ------------------------------ 350.40 KiB/451.59 KiB langchain-core ------------------------------ 348.18 KiB/456.17 KiB zstandard ------------------------------ 304.00 KiB/625.43 KiB ⠇ Preparing packages... (16/22)------------ 350.90 KiB/1.82 MiB langsmith ------------------------------ 365.49 KiB/388.03 KiB pydantic ------------------------------ 366.40 KiB/451.59 KiB langchain-core ------------------------------ 363.86 KiB/456.17 KiB zstandard ------------------------------ 336.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 382.90 KiB/1.82 MiB pydantic ------------------------------ 398.40 KiB/451.59 KiB langchain-core ------------------------------ 395.86 KiB/456.17 KiB zstandard ------------------------------ 352.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 398.80 KiB/1.82 MiB pydantic ------------------------------ 398.40 KiB/451.59 KiB langchain-core ------------------------------ 395.86 KiB/456.17 KiB zstandard ------------------------------ 368.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 398.80 KiB/1.82 MiB pydantic ------------------------------ 430.40 KiB/451.59 KiB langchain-core ------------------------------ 412.18 KiB/456.17 KiB zstandard ------------------------------ 400.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 414.90 KiB/1.82 MiB langchain-core ------------------------------ 444.08 KiB/456.17 KiB zstandard ------------------------------ 416.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 446.90 KiB/1.82 MiB langchain-core ------------------------------ 444.08 KiB/456.17 KiB zstandard ------------------------------ 432.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 462.90 KiB/1.82 MiB zstandard ------------------------------ 432.00 KiB/625.43 KiB ⠋ Preparing packages... (17/22)------------ 462.90 KiB/1.82 MiB zstandard ------------------------------ 496.00 KiB/625.43 KiB ⠙ Preparing packages... (20/22)------------ 510.90 KiB/1.82 MiB zstandard ------------------------------ 592.00 KiB/625.43 KiB ⠙ Preparing packages... (20/22)------------ 558.90 KiB/1.82 MiB ⠙ Preparing packages... (20/22)------------ 654.90 KiB/1.82 MiB ⠙ Preparing packages... (20/22)------------ 686.90 KiB/1.82 MiB ⠙ Preparing packages... (20/22)------------ 814.90 KiB/1.82 MiB ⠹ Preparing packages... (21/22)------------ 990.90 KiB/1.82 MiB ⠹ Preparing packages... (21/22)------------ 1.09 MiB/1.82 MiB ⠹ Preparing packages... (21/22)[2m--------- 1.22 MiB/1.82 MiB ⠹ Preparing packages... (21/22)-------- 1.40 MiB/1.82 MiB ⠸ Preparing packages... (21/22)-------- 1.54 MiB/1.82 MiB Prepared 22 packages in 2.28s Uninstalled 9 packages in 39ms Installed 22 packages in 16ms - anyio==4.10.0 + anyio==4.11.0 - certifi==2025.8.3 + certifi==2025.10.5 - charset-normalizer==3.4.3 + charset-normalizer==3.4.4 - idna==3.10 + idna==3.11 + jsonpatch==1.33 + langchain==1.0.2 + langchain-core==1.0.1 + langgraph==1.0.1 + langgraph-checkpoint==3.0.0 + langgraph-prebuilt==1.0.1 + langgraph-sdk==0.2.9 + langsmith==0.4.38 + orjson==3.11.4 + ormsgpack==1.11.0 - pydantic==2.11.7 + pydantic==2.12.3 - pydantic-core==2.33.2 + pydantic-core==2.41.4 - pyyaml==6.0.2 + pyyaml==6.0.3 + requests-toolbelt==1.0.0 + tenacity==9.1.2 - typing-inspection==0.4.1 + typing-inspection==0.4.2 - xxhash==3.5.0 + xxhash==3.6.0 + zstandard==0.25.0 Using Python 3.13.5 environment at: /Users/forrest/GitHub/DNALLM/.venv Resolved 40 packages in 1.76s ⠙ Preparing packages... (0/12) ⠙ Preparing packages... (0/12)------------------ 0 B/18.00 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB httpx-sse ------------------------------ 0 B/8.75 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB httpx-sse ------------------------------ 8.75 KiB/8.75 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB httpx-sse ------------------------------ 8.75 KiB/8.75 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB ⠙ Preparing packages... (0/12)-------------- 14.86 KiB/18.00 KiB ⠙ Preparing packages... (0/12)-------------- 18.00 KiB/18.00 KiB ⠙ Preparing packages... (0/12)-------------- 18.00 KiB/18.00 KiB jsonschema-specifications ------------------------------ 18.00 KiB/18.00 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/47.47 KiB jsonschema-specifications ------------------------------ 18.00 KiB/18.00 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/47.47 KiB jsonschema-specifications ------------------------------ 18.00 KiB/18.00 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/47.47 KiB jsonschema-specifications ------------------------------ 18.00 KiB/18.00 KiB pydantic-settings ------------------------------ 0 B/47.47 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/72.44 KiB jsonschema-specifications ------------------------------ 18.00 KiB/18.00 KiB pydantic-settings ------------------------------ 0 B/47.47 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/72.44 KiB pydantic-settings ------------------------------ 0 B/47.47 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/72.44 KiB pydantic-settings ------------------------------ 14.90 KiB/47.47 KiB ⠙ Preparing packages... (0/12)------------------ 0 B/72.44 KiB pydantic-settings ------------------------------ 14.90 KiB/47.47 KiB ⠹ Preparing packages... (2/12)------------------ 14.88 KiB/72.44 KiB pydantic-settings ------------------------------ 14.90 KiB/47.47 KiB ⠹ Preparing packages... (2/12)------------------ 14.88 KiB/72.44 KiB pydantic-settings ------------------------------ 30.90 KiB/47.47 KiB ⠹ Preparing packages... (2/12)------------------ 14.88 KiB/72.44 KiB pydantic-settings ------------------------------ 30.90 KiB/47.47 KiB ⠹ Preparing packages... (2/12)m----------------- 30.88 KiB/72.44 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB ⠹ Preparing packages... (2/12)m----------------- 30.88 KiB/72.44 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB ⠹ Preparing packages... (2/12)m----------------- 30.88 KiB/72.44 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB ⠹ Preparing packages... (2/12)m----------------- 30.88 KiB/72.44 KiB langchain-mcp-adapters ------------------------------ 0 B/15.38 KiB python-dotenv ------------------------------ 0 B/20.73 KiB referencing ------------------------------ 0 B/26.14 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB attrs ------------------------------ 0 B/66.03 KiB uvicorn ------------------------------ 14.85 KiB/66.51 KiB starlette ------------------------------ 46.88 KiB/72.44 KiB click ------------------------------ 0 B/104.78 KiB mcp ------------------------------ 0 B/166.12 KiB ⠹ Preparing packages... (2/12)----------------- 0 B/340.08 KiB langchain-mcp-adapters ------------------------------ 0 B/15.38 KiB python-dotenv ------------------------------ 0 B/20.73 KiB referencing ------------------------------ 14.88 KiB/26.14 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB attrs ------------------------------ 14.88 KiB/66.03 KiB uvicorn ------------------------------ 14.85 KiB/66.51 KiB starlette ------------------------------ 46.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)----------------- 0 B/340.08 KiB python-dotenv ------------------------------ 16.00 KiB/20.73 KiB referencing ------------------------------ 14.88 KiB/26.14 KiB pydantic-settings ------------------------------ 38.81 KiB/47.47 KiB attrs ------------------------------ 14.88 KiB/66.03 KiB uvicorn ------------------------------ 14.85 KiB/66.51 KiB starlette ------------------------------ 46.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 2.39 KiB/340.08 KiB python-dotenv ------------------------------ 16.00 KiB/20.73 KiB referencing ------------------------------ 14.88 KiB/26.14 KiB attrs ------------------------------ 14.88 KiB/66.03 KiB uvicorn ------------------------------ 14.85 KiB/66.51 KiB starlette ------------------------------ 46.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 2.39 KiB/340.08 KiB referencing ------------------------------ 14.88 KiB/26.14 KiB attrs ------------------------------ 14.88 KiB/66.03 KiB uvicorn ------------------------------ 14.85 KiB/66.51 KiB starlette ------------------------------ 62.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 2.39 KiB/340.08 KiB referencing ------------------------------ 26.14 KiB/26.14 KiB attrs ------------------------------ 30.88 KiB/66.03 KiB uvicorn ------------------------------ 30.85 KiB/66.51 KiB starlette ------------------------------ 62.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 18.39 KiB/340.08 KiB attrs ------------------------------ 30.88 KiB/66.03 KiB uvicorn ------------------------------ 30.85 KiB/66.51 KiB starlette ------------------------------ 62.88 KiB/72.44 KiB click ------------------------------ 14.86 KiB/104.78 KiB mcp ------------------------------ 14.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 18.39 KiB/340.08 KiB attrs ------------------------------ 46.88 KiB/66.03 KiB uvicorn ------------------------------ 46.85 KiB/66.51 KiB click ------------------------------ 46.86 KiB/104.78 KiB mcp ------------------------------ 46.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 34.39 KiB/340.08 KiB attrs ------------------------------ 60.44 KiB/66.03 KiB uvicorn ------------------------------ 62.85 KiB/66.51 KiB click ------------------------------ 62.86 KiB/104.78 KiB mcp ------------------------------ 62.92 KiB/166.12 KiB ⠹ Preparing packages... (2/12)------------------ 50.39 KiB/340.08 KiB attrs ------------------------------ 60.44 KiB/66.03 KiB click ------------------------------ 62.86 KiB/104.78 KiB mcp ------------------------------ 62.92 KiB/166.12 KiB ⠸ Preparing packages... (8/12)------------------ 60.11 KiB/340.08 KiB click ------------------------------ 78.86 KiB/104.78 KiB mcp ------------------------------ 76.98 KiB/166.12 KiB ⠸ Preparing packages... (8/12)------------------ 60.11 KiB/340.08 KiB mcp ------------------------------ 108.98 KiB/166.12 KiB ⠸ Preparing packages... (8/12)------------------ 108.11 KiB/340.08 KiB mcp ------------------------------ 124.98 KiB/166.12 KiB ⠸ Preparing packages... (8/12)------------------ 108.11 KiB/340.08 KiB ⠸ Preparing packages... (8/12)-------------- 188.11 KiB/340.08 KiB Prepared 12 packages in 520ms Uninstalled 11 packages in 68ms Installed 12 packages in 7ms - attrs==25.3.0 + attrs==25.4.0 - click==8.2.1 + click==8.3.0 - httpx-sse==0.4.1 + httpx-sse==0.4.3 - jsonschema-specifications==2025.4.1 + jsonschema-specifications==2025.9.1 + langchain-mcp-adapters==0.1.11 - mcp==1.13.1 + mcp==1.19.0 - pydantic-settings==2.10.1 + pydantic-settings==2.11.0 - python-dotenv==1.1.1 + python-dotenv==1.2.1 - referencing==0.36.2 + referencing==0.37.0 - rpds-py==0.27.1 + rpds-py==0.28.0 - starlette==0.47.3 + starlette==0.49.1 - uvicorn==0.35.0 + uvicorn==0.38.0 Using Python 3.13.5 environment at: /Users/forrest/GitHub/DNALLM/.venv Resolved 27 packages in 1.22s ⠙ Preparing packages... (0/2) ⠙ Preparing packages... (0/2)-------------- 0 B/28.33 KiB ⠙ Preparing packages... (0/2)-------------- 0 B/28.33 KiB ollama ------------------------------ 0 B/13.80 KiB ⠙ Preparing packages... (0/2)-------------- 0 B/28.33 KiB ollama ------------------------------ 0 B/13.80 KiB ⠙ Preparing packages... (0/2)-------------- 13.98 KiB/28.33 KiB ollama ------------------------------ 13.80 KiB/13.80 KiB ⠙ Preparing packages... (0/2)-------------- 13.98 KiB/28.33 KiB ollama ------------------------------ 13.80 KiB/13.80 KiB ⠙ Preparing packages... (0/2)-------------- 13.98 KiB/28.33 KiB ⠙ Preparing packages... (0/2)-------------- 13.98 KiB/28.33 KiB ⠙ Preparing packages... (0/2)---------- 28.33 KiB/28.33 KiB Prepared 2 packages in 178ms Uninstalled 1 package in 2ms Installed 2 packages in 2ms + langchain-ollama==1.0.0 - ollama==0.5.3 + ollama==0.6.0
In [ ]:
Copied!
# Start the DNALLM MCP server
# This command starts the DNALLM MCP server with streamable HTTP transport
# The server will be available at http://localhost:8000/mcp
# Note: This cell should be run before the client connection cells
!dnallm mcp-server --transport streamable-http
# Start the DNALLM MCP server
# This command starts the DNALLM MCP server with streamable HTTP transport
# The server will be available at http://localhost:8000/mcp
# Note: This cell should be run before the client connection cells
!dnallm mcp-server --transport streamable-http
In [ ]:
Copied!
# Configure asyncio for Jupyter notebook compatibility
# nest_asyncio allows nested event loops, which is necessary for running async code in Jupyter
import nest_asyncio
import asyncio
import time
# Apply nest_asyncio to enable nested event loops
nest_asyncio.apply()
# Configure asyncio for Jupyter notebook compatibility
# nest_asyncio allows nested event loops, which is necessary for running async code in Jupyter
import nest_asyncio
import asyncio
import time
# Apply nest_asyncio to enable nested event loops
nest_asyncio.apply()
In [ ]:
Copied!
# Initialize MCP client to connect to DNALLM server
# This creates a connection to the DNALLM MCP server running on localhost:8000
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
# Create MCP client with DNALLM server configuration
# The server should be running on port 8000 with streamable HTTP transport
client = MultiServerMCPClient(
{
"dnallm": {
"transport": "streamable_http", # HTTP-based remote server transport
"url": "http://localhost:8000/mcp", # DNALLM MCP server endpoint
}
}
)
# Initialize MCP client to connect to DNALLM server
# This creates a connection to the DNALLM MCP server running on localhost:8000
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
# Create MCP client with DNALLM server configuration
# The server should be running on port 8000 with streamable HTTP transport
client = MultiServerMCPClient(
{
"dnallm": {
"transport": "streamable_http", # HTTP-based remote server transport
"url": "http://localhost:8000/mcp", # DNALLM MCP server endpoint
}
}
)
In [ ]:
Copied!
# Create LangChain agent with MCP tools
# This retrieves available tools from the DNALLM MCP server and creates a LangChain agent
# that can use these tools for DNA sequence analysis
# Get available tools from the MCP server
tools = await client.get_tools()
# Create a LangChain agent using Ollama's Qwen3 model with MCP tools
# The agent can now use DNALLM's DNA analysis capabilities through the MCP tools
agent = create_agent(
"ollama:qwen3:latest", # Local LLM model via Ollama
tools # MCP tools from DNALLM server
)
# Create LangChain agent with MCP tools
# This retrieves available tools from the DNALLM MCP server and creates a LangChain agent
# that can use these tools for DNA sequence analysis
# Get available tools from the MCP server
tools = await client.get_tools()
# Create a LangChain agent using Ollama's Qwen3 model with MCP tools
# The agent can now use DNALLM's DNA analysis capabilities through the MCP tools
agent = create_agent(
"ollama:qwen3:latest", # Local LLM model via Ollama
tools # MCP tools from DNALLM server
)
In [ ]:
Copied!
# Perform DNA sequence analysis using the LangChain agent
# This demonstrates how to use the agent to analyze a DNA sequence using DNALLM's models
# The agent will automatically select and use the appropriate MCP tools for analysis
# Define the DNA sequence to analyze
dna_sequence = """AGAAAAAACATGACAAGAAATCGATAATAATACAAAAGCTATGATGGTGTGCAATGTCCGTGTGCATGCGTGCACGCATTGCAACCGGCCCAAATCAAGGCCCATCGATCAGTGAATACTCATGGGCCGGCGGCCCACCACCGCTTCATCTCCTCCTCCGACGACGGGAGCACCCCCGCCGCATCGCCACCGACGAGGAGGAGGCCATTGCCGGCGGCGCCCCCGGTGAGCCGCTGCACCACGTCCCTGA"""
# Invoke the agent to analyze the DNA sequence
# The agent will use DNALLM's specialized models to provide comprehensive analysis
dnallm_response = await agent.ainvoke(
{"messages": [{"role": "user", "content": f'What is the function of following DNA sequence? Please analyze it thoroughly using all available models:\n{dna_sequence}'}]}
)
# Perform DNA sequence analysis using the LangChain agent
# This demonstrates how to use the agent to analyze a DNA sequence using DNALLM's models
# The agent will automatically select and use the appropriate MCP tools for analysis
# Define the DNA sequence to analyze
dna_sequence = """AGAAAAAACATGACAAGAAATCGATAATAATACAAAAGCTATGATGGTGTGCAATGTCCGTGTGCATGCGTGCACGCATTGCAACCGGCCCAAATCAAGGCCCATCGATCAGTGAATACTCATGGGCCGGCGGCCCACCACCGCTTCATCTCCTCCTCCGACGACGGGAGCACCCCCGCCGCATCGCCACCGACGAGGAGGAGGCCATTGCCGGCGGCGCCCCCGGTGAGCCGCTGCACCACGTCCCTGA"""
# Invoke the agent to analyze the DNA sequence
# The agent will use DNALLM's specialized models to provide comprehensive analysis
dnallm_response = await agent.ainvoke(
{"messages": [{"role": "user", "content": f'What is the function of following DNA sequence? Please analyze it thoroughly using all available models:\n{dna_sequence}'}]}
)
In [ ]:
Copied!
# Display the analysis results
# This prints the comprehensive DNA sequence analysis provided by the LangChain agent
# The analysis includes insights from multiple DNALLM models (promoter, conservation, chromatin)
# The results show detailed functional interpretation of the DNA sequence
print(dnallm_response['messages'][-1].content)
# Display the analysis results
# This prints the comprehensive DNA sequence analysis provided by the LangChain agent
# The analysis includes insights from multiple DNALLM models (promoter, conservation, chromatin)
# The results show detailed functional interpretation of the DNA sequence
print(dnallm_response['messages'][-1].content)
The provided DNA sequence has been analyzed using three specialized models, revealing key functional insights: 1. **Promoter Analysis**: - **Core Promoter**: The sequence is confidently identified as a core promoter region (score: 94.0%). Core promoters are critical for initiating transcription by RNA polymerase. 2. **Conservation Analysis**: - **Conserved Region**: The sequence shows strong conservation across species (score: 92.0%), indicating evolutionary importance. This suggests it likely serves a regulatory function preserved through evolution. 3. **Open Chromatin Analysis**: - **Full Open Chromatin**: The sequence is classified as "Full open" (score: 94.6%), indicating it resides in an actively accessible chromatin state. Open chromatin is typically associated with enhancers, promoters, or regulatory elements. **Functional Interpretation**: This sequence represents a **highly conserved core promoter region** in an **actively transcribed genomic locus**. The combination of: - Core promoter identification - Strong conservation - Open chromatin state Strongly suggests it is a **regulatory region controlling gene expression**, likely serving as both a transcription start site and a distal regulatory element. The near-perfect scores across all models indicate this is a biologically significant region with critical roles in gene regulation.
In [ ]:
Copied!