界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
设计与创意 · SKILL.md

tooluniverse-synthetic-biology-parts

tooluniverse-synthetic-biology-parts

【设计与创意】Look up synthetic biology genetic parts (promoters, RBS, CDS/genes, terminators, reporters, composite devices) from the SynBioHub repository, including the iGEM Registry of Standard Biological Parts. Use when someone asks to "find a genetic part", "look up a BioBrick", "search SynBioHub", "get the sequence for BBa_...", "browse iGEM part collections"…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: tooluniverse-synthetic-biology-parts description: "Look up synthetic biology genetic parts (promoters, RBS, CDS/genes, terminators, reporters, composite devices) from the SynBioHub repository, including the iGEM Registry of Standard Biological Parts. Use when someone asks to "find a genetic part", "look up a BioBrick", "search SynBioHub", "get the sequence for BBa_...", "browse iGEM part collections", "find a promoter/RBS/terminator for a genetic circuit", or "what parts are available for [organism/function]". NOT for plasmid backbone/vector lookup by catalog ID (use tooluniverse-molecular-cloning's Addgene coverage), NOT for primer design once a part sequence is chosen (use tooluniverse-primer-design). Honest: SynBioHub disabled anonymous public REST access upstream — every unauthenticated call currently returns 401/HTML-login-page, verified live. This skill explains that limitation plainly and how to unlock real access (SYNBIOHUB_API_TOKEN) rather than pretending the tools work with no setup."

Synthetic Biology Parts Lookup (SynBioHub)

Search and retrieve genetic parts — promoters, ribosome binding sites (RBS), coding sequences, terminators, reporters, and composite genetic devices — from SynBioHub, the standard synthetic-biology parts repository that hosts the iGEM Registry of Standard Biological Parts (20,000+ BioBricks), CIDAR Lab parts, Free Genes libraries, and other public SBOL collections.

Honesty contract (read first) — verify auth status before promising results

Live-verified as of this writing: every anonymous call to all 3 tools below fails. SynBioHub disabled anonymous access to its public REST endpoints upstream. Confirmed by actually running each tool with no token set:

$ tu run SynBioHub_get_collections '{}'
Error: SynBioHub API HTTP error: 401 (login required). synbiohub.org now
requires an authenticated session for this endpoint (no SYNBIOHUB_API_TOKEN
is set). Log in at synbiohub.org, then set SYNBIOHUB_API_TOKEN to the
session token to retry.

$ tu run SynBioHub_search_parts '{"query": "GFP"}'
Error: SynBioHub API HTTP error: 401 (login required). ...

$ tu run SynBioHub_get_part '{"display_id": "BBa_E0040"}'
Error: SynBioHub did not return SBOL/XML data for
'https://synbiohub.org/public/igem/BBa_E0040/1' (got non-XML content, likely
an HTML login or error page). The part may not exist, or SynBioHub may now
require authentication for this request.

Before using this skill, always try one call first (e.g. SynBioHub_get_collections with no arguments — cheapest possible check). If it returns a 401/login-required error:

  1. Tell the user plainly: SynBioHub now requires authentication for these reads; this is an upstream policy change, not a bug in the request.
  2. Point them to create a free account at https://synbiohub.org, log in, and retrieve a session token, then set SYNBIOHUB_API_TOKEN in the environment before retrying.
  3. Never fabricate a part record, sequence, or collection list to work around the error. If the token isn't available, say the lookup cannot be completed right now — do not guess a BioBrick's sequence from training-data memory and present it as a live SynBioHub result.

If a valid SYNBIOHUB_API_TOKEN is set and the call succeeds, proceed with the workflow below using the real returned data.

When to Use This Skill

Apply when users:

  • Want to find a genetic part by function (promoter, RBS, terminator, CDS, reporter) or by keyword (gene name, biological description)
  • Have a BioBrick ID (e.g. BBa_E0040) or a SynBioHub part URI and want its sequence, role, and provenance
  • Want to browse what part collections/libraries exist on SynBioHub before searching (iGEM Registry, CIDAR Lab, Free Genes, organism-specific sets)
  • Are assembling a genetic circuit and need to identify candidate parts (promoter + RBS + CDS + terminator) before moving to cloning/plasmid design

NOT for (route elsewhere):

  • Plasmid backbone/vector catalog lookup by Addgene ID — the registry has Addgene_search_plasmids, Addgene_get_plasmid, Addgene_search_depositors (src/tooluniverse/data/addgene_tools.json) for this. These only appear in tu list once an ADDGENE_API_KEY environment variable is set (ToolUniverse deliberately hides any tool with unmet required_api_keys until the key is present — verified, not a bug); register for a free key at https://developers.addgene.org/ if it's missing.
  • Cloning workflow steps (restriction sites, Gibson/Golden Gate assembly planning) once parts are chosen -> tooluniverse-molecular-cloning
  • Primer design for amplifying a chosen part/sequence -> tooluniverse-primer-design

Workflow

1. Browse available collections (optional starting point)

SynBioHub_get_collections {}

No parameters. Returns collection name, description, display_id, uri, version, and member_count for every public collection (iGEM Registry, CIDAR Lab parts, Free Genes, organism-specific sets, etc.) — useful when the user wants to know what's searchable before committing to a query.

2. Search for a part by keyword

SynBioHub_search_parts {"query": "<keyword>", "limit": <1-50, default 10>, "offset": <int, default 0>}

query accepts gene names, functional descriptions, or BioBrick IDs — e.g. "GFP", "lac promoter", "BBa_E0040", "terminator", "riboswitch", "CRISPR", "T7 promoter". Returns an array of candidate parts, each with display_id, name, description, uri (feed this into step 3), version, sbol_type (e.g. ComponentDefinition), and role (promoter, CDS, terminator, RBS, etc.).

When narrowing a search (e.g. by organism or exact function), refine the query text itself — there is no separate organism/role filter parameter. If the first query is too broad, tighten the keyword and re-search rather than trying to filter client-side on an incomplete result page.

3. Get full detail for one part

SynBioHub_get_part {"display_id": "<BioBrick ID>"}
# or, for parts outside the iGEM collection:
SynBioHub_get_part {"part_uri": "<uri from step 2's search results>"}

Exactly one of display_id or part_uri should be supplied (display_id for iGEM BioBricks like BBa_E0040, part_uri for anything else — take the uri field straight from a SynBioHub_search_parts result). Returns title, description, type (SBOL biological type, e.g. DnaRegion), role (array of SO terms / iGEM part types), sequence (first 500 bp — note this is truncated, not the full sequence, for long parts), sequence_length (the true full length), created/modified dates, and derived_from (original source URI, e.g. the iGEM registry page).

sequence is capped at 500 characters. For a part longer than that, report sequence_length honestly and say the returned sequence field is a prefix, not the complete sequence — do not imply completeness.

Downstream Handoff

Once parts are identified: move to tooluniverse-molecular-cloning for assembly planning (Gibson/Golden Gate/restriction-based cloning of the chosen parts into a vector) and tooluniverse-primer-design for amplification primers.

Reference

  • references/synbiohub_tool_reference.md — full parameter/response tables for all 3 tools, plus the exact live error text observed when testing this skill (for future maintainers to recognize the same failure mode).
我的收藏