# Benchling Integration > Integración con el SDK de Python de Benchling y su API REST para entidades del registro, inventario, entradas del cuaderno electrónico (ELN), workflows, Benchling Apps y consultas al Data Warehouse. Fuente: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/benchling-integration Markdown: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/benchling-integration.md Repositorio: https://github.com/K-Dense-AI/scientific-agent-skills Autor: K-Dense-AI Licencia: MIT Actualizado: el mes pasado Coste de contexto: 53 tok instalada, 1.9k tok al activarse, 17.3k tok con todos los archivos del bundle Bundle: 6 archivos, 68 KB Permisos que pide: read write edit bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent claude-code # Cursor npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent cursor # Codex npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent codex # Gemini CLI npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent gemini # Windsurf npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent windsurf # Cline npx -y skills add K-Dense-AI/scientific-agent-skills --skill benchling-integration --agent cline ``` ## Qué hace - Gestiona entidades del registro (secuencias de ADN, ARN, proteínas y entidades personalizadas) vía el SDK de Benchling - Automatiza operaciones de inventario: contenedores, cajas, placas, ubicaciones y transferencias - Crea y consulta entradas del cuaderno electrónico (ELN) y tablas estructuradas - Construye automatizaciones de workflows, tareas y ejecuciones de ensayo (assay runs) - Consulta el Data Warehouse de Benchling por SQL y configura integraciones con AWS EventBridge ## Cuándo usarla - Automatizar datos de laboratorio con benchling-sdk o la API v2 - Gestionar entidades biológicas (ADN, ARN, proteínas) e inventario de forma programática - Crear o consultar entradas de cuaderno electrónico o construir automatizaciones de workflow - Sincronizar datos entre Benchling y sistemas externos, o configurar eventos con EventBridge ## Qué la activa - "Importa estas secuencias FASTA al registro de Benchling" - "Lista todos los contenedores de esta ubicación en Benchling" - "Actualiza las tareas pendientes de este workflow en Benchling" - "Consulta el Data Warehouse de Benchling por SQL" ## Antes de instalar - Necesita una cuenta de Benchling, la URL del tenant y una API key o credenciales OAuth; instala benchling-sdk con uv pip. ## Archivos - SKILL.md — 7 KB - references/api_endpoints.md — 14 KB - references/authentication.md — 11 KB - references/core_capabilities.md — 10 KB - references/eventbridge.md — 8 KB - references/sdk_reference.md — 17 KB ## SKILL.md Reproducido tal cual desde K-Dense-AI/scientific-agent-skills bajo MIT. Esta sección es el documento original y está en inglés. # Benchling Integration ## Overview Benchling is a cloud platform for life sciences R&D. Access registry entities (DNA, RNA, proteins), inventory, electronic lab notebooks, and workflows programmatically via the Python SDK and REST API. **Version note:** Examples target **benchling-sdk 1.25.0** (latest stable on PyPI). Docs: [benchling.com/sdk-docs](https://benchling.com/sdk-docs/). Platform guide: [docs.benchling.com](https://docs.benchling.com/). ## When to Use This Skill This skill should be used when: - Working with Benchling's Python SDK or REST API - Managing biological sequences (DNA, RNA, proteins) and registry entities - Automating inventory operations (samples, containers, locations, transfers) - Creating or querying electronic lab notebook entries - Building workflow automations or Benchling Apps - Syncing data between Benchling and external systems - Querying the Benchling Data Warehouse for analytics - Setting up event-driven integrations with AWS EventBridge ## Core Capabilities Seven capability areas, each with code, are in [references/core_capabilities.md](references/core_capabilities.md): 1. **Authentication and setup** — API key and OAuth app auth; see [references/authentication.md](references/authentication.md). 2. **Registry and entity management** — DNA and AA sequences, custom entities, schemas, and registration. 3. **Inventory management** — containers, boxes, plates, locations, and transfers. 4. **Notebook and documentation** — entries, day-to-day notes, and structured tables. 5. **Workflows and automation** — tasks, flowcharts, and assay runs. 6. **Events and integration** — EventBridge subscriptions; see [references/eventbridge.md](references/eventbridge.md). 7. **Data warehouse and analytics** — SQL access to the warehouse. Endpoint and SDK detail is in [references/api_endpoints.md](references/api_endpoints.md) and [references/sdk_reference.md](references/sdk_reference.md). ## Best Practices ### Error Handling The SDK automatically retries failed requests: ```python # Automatic retry for 429, 502, 503, 504 status codes # Up to 5 retries with exponential backoff # Customize retry behavior if needed from benchling_sdk.retry import RetryStrategy benchling = Benchling( url=tenant_url, auth_method=ApiKeyAuth(api_key), retry_strategy=RetryStrategy(max_retries=3), ) ``` ### Pagination Efficiency Use generators for memory-efficient pagination: ```python # Generator-based iteration for page in benchling.dna_sequences.list(): for sequence in page: process(sequence) # Check estimated count without loading all pages total = benchling.dna_sequences.list().estimated_count() ``` ### Schema Fields Helper Use the `fields()` helper for custom schema fields: ```python # Convert dict to Fields object custom_fields = benchling.models.fields({ "concentration": "100 ng/μL", "date_prepared": "2025-10-20", "notes": "High quality prep" }) ``` ### Forward Compatibility The SDK handles unknown enum values and types gracefully: - Unknown enum values are preserved - Unrecognized polymorphic types return `UnknownType` - Allows working with newer API versions ### Security Considerations - Never commit API keys or OAuth secrets to version control - Read only named environment variables (`BENCHLING_TENANT_URL`, `BENCHLING_API_KEY`, etc.) - Route network calls exclusively to your tenant URL - Rotate keys if compromised; use OAuth for multi-user production apps - Grant minimal necessary permissions for apps in the Developer Console ## Resources ### references/ Detailed reference documentation for in-depth information: - **authentication.md** - Comprehensive authentication guide including OIDC, security best practices, and credential management - **sdk_reference.md** - Detailed Python SDK reference with advanced patterns, examples, and all entity types - **api_endpoints.md** - REST API endpoint reference for direct HTTP calls without the SDK - **eventbridge.md** - EventBridge setup, event payload schema, rule examples, Lambda handler, validation, and recovery Load these references as needed for specific integration requirements. ## Common Use Cases **1. Bulk Entity Import:** ```python # Import multiple sequences from FASTA file from Bio import SeqIO for record in SeqIO.parse("sequences.fasta", "fasta"): benchling.dna_sequences.create( DnaSequenceCreate( name=record.id, bases=str(record.seq), is_circular=False, folder_id="fld_abc123" ) ) ``` **2. Inventory Audit:** ```python # List all containers in a specific location containers = benchling.containers.list( parent_storage_id="box_abc123" ) for page in containers: for container in page: print(f"{container.name}: {container.barcode}") ``` **3. Workflow Automation:** ```python # Update all pending tasks for a workflow tasks = benchling.workflow_tasks.list( workflow_id="wf_abc123", status="pending" ) for page in tasks: for task in page: # Perform automated checks if auto_validate(task): benchling.workflow_tasks.update( task_id=task.id, workflow_task=WorkflowTaskUpdate( status_id="status_complete" ) ) ``` **4. Data Export:** ```python # Export all sequences with specific properties sequences = benchling.dna_sequences.list() export_data = [] for page in sequences: for seq in page: if seq.schema_id == "target_schema_id": export_data.append({ "id": seq.id, "name": seq.name, "bases": seq.bases, "length": len(seq.bases) }) # Save to CSV or database import csv with open("sequences.csv", "w") as f: writer = csv.DictWriter(f, fieldnames=export_data[0].keys()) writer.writeheader() writer.writerows(export_data) ``` ## Additional Resources - **Official Documentation:** https://docs.benchling.com - **Python SDK Reference:** https://benchling.com/sdk-docs/ - **API Reference:** https://benchling.com/api/reference - **Support:** [email protected] ## Dónde encaja - Categoría: [Investigación](https://skillsagentes.com/categorias/investigacion.md) — Investigación estructurada, búsqueda de fuentes y síntesis. - Creador: [K-Dense-AI](https://skillsagentes.com/creators/k-dense-ai.md) — 163 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Citation Management](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/citation-management.md): Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas. - [Scientific Slides](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scientific-slides.md): Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual. - [Literature Review](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/literature-review.md): Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver). - [Infographics](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/infographics.md): Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo. - [Latex Posters](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/latex-posters.md): Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)