L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

tooluniverse-bioinformatics-resource-discovery

tooluniverse-bioinformatics-resource-discovery

Discover which bioinformatics software tool, biomedical REST API, R/Bioconductor package, CRAN package, or training material exists for a task, before writing analysis code or building a pipeline. Covers ELIXIR bio.tools (30,000+ software tools/databases by keyword, EDAM topic, or EDAM operation), SmartAPI (biomedical API registry, incl. NCATS Translator co…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: tooluniverse-bioinformatics-resource-discovery description: "Discover which bioinformatics software tool, biomedical REST API, R/Bioconductor package, CRAN package, or training material exists for a task, before writing analysis code or building a pipeline. Covers ELIXIR bio.tools (30,000+ software tools/databases by keyword, EDAM topic, or EDAM operation), SmartAPI (biomedical API registry, incl. NCATS Translator components), ELIXIR TeSS (bioinformatics training materials/events), Bioconductor (R packages for computational biology), and CRAN (general R packages). Use when someone asks 'is there an existing tool/package for X', 'what software does [analysis]', 'find an API for Y', or 'is there a tutorial on Z'."

Bioinformatics Resource Discovery

Answers "what already exists for this task" — software, APIs, R packages, or training material — before writing new analysis code, choosing an nf-core pipeline, or wrapping a new REST API by hand.

LOOK UP, DON'T GUESS: Never assert that a tool/package/API does or doesn't exist for a task from memory. These 5 registries are live and current — search them.

When to Use This Skill

  • "Is there existing software for [bioinformatics task]?" -> bio.tools
  • "What biomedical APIs exist for [domain], and where's the base URL/spec?" -> SmartAPI
  • "Is there a tutorial/course on [technique]?" -> ELIXIR TeSS
  • "What R package does [analysis] in Bioconductor?" -> Bioconductor
  • "What does CRAN package X do / what version / what does it depend on?" -> CRAN

NOT for: actually running an nf-core pipeline once you've picked one (-> tooluniverse-nfcore-pipelines); resolving IDs between databases (-> tooluniverse-sequence-retrieval's Bioregistry/Identifiers.org/TogoID section); retrieving biological data itself (sequences, structures, expression) rather than software/APIs about it.

1. bio.tools — Bioinformatics Software & Database Registry

ELIXIR's registry of 30,000+ bioinformatics tools, web services, and databases.

ToolUse forKey params
BioTools_searchFree-text keyword search across name/description/topicsq, page, size (max 50)
BioTools_get_toolFull record for a known tool by its bio.tools IDbiotoolsID
BioTools_search_by_topicFilter by EDAM scientific topic (e.g. "Genomics", "Proteomics")topic, page, size
BioTools_search_by_operationFilter by EDAM operation — what the tool DOES (e.g. "Sequence alignment", "Variant calling")operation, page, size
BioTools_search_by_typeFilter by resource typetoolType (e.g. "Database portal"), q, page, size

Which tool for "what software does X?": start with BioTools_search (free text). Results are relevance-ranked (sort=score): q="blast" returns BLAST first and q="variant calling" returns the GATK tools first. The _by_topic / _by_operation / _by_type filters are for narrowing and counting: they return the exact EDAM set (multi-word terms are sent as exact phrases, so operation="Variant calling" matches 1,015 tools, not the 4,165 a loose match gives), but upstream's ordering within a filter is not by relevance, so do not read the first few hits as "the best tools". Combine both: read the count from a filter, then rank with a text query.

Verified live: BioTools_search {"q": "RNA-seq", "size": 3} -> 6,081 total matches. BioTools_get_tool {"biotoolsID": "blast"} -> the real BLAST record (homepage, EDAM operations, full description). BioTools_search_by_topic {"topic": "Genomics"} -> 10,165 matches; BioTools_search_by_operation {"operation": "Sequence alignment"} -> 5,890 matches; BioTools_search_by_type {"toolType": "Database portal"} -> 2,597 matches — note toolType is the required param name, not tool_type, and topic/operation searches return a real, differently-sized result set per filter even when the very top-ranked item coincides across filters (bio.tools' own relevance/recency ranking, not a wrapper bug) — always check count and page through more than the first result.

2. SmartAPI — Biomedical API Registry

~270 OpenAPI-described biomedical web APIs, many of them NCATS Biomedical Data Translator components (BioThings APIs, knowledge-provider APIs).

ToolUse forKey params
SmartAPI_search_apisKeyword or field-scoped Lucene search (e.g. tags.name:translator)query, limit (max 100)
SmartAPI_get_apiFull spec for one API: base URLs, endpoint list, contactapi_id

Verified live: SmartAPI_search_apis {"query": "biothings", "limit": 3} -> real APIs including "Biothings Therapeutic Target Database API" (base_url: https://biothings.transltr.io/ttd) and "MyGeneset.info API". Feeding that api_id into SmartAPI_get_api returns base_urls (prod/test/CI variants), endpoint_count: 5, and the actual endpoint paths (/query, /metadata, /association/{id}, ...).

Use this to find an API not yet wrapped as a dedicated ToolUniverse tool — resolve its base URL and endpoints here, then either call it directly (if simple/one-off) or use tooluniverse-create-tool/devtu-create-tool to wrap it properly. Also useful for resolving an API mentioned in a paper's methods section to its actual current base URL.

3. ELIXIR TeSS — Training Materials & Events

Aggregates bioinformatics/life-science tutorials, courses, webinars, and events from ELIXIR nodes and partners.

ToolUse forKey params
ELIXIRTeSS_search_materialsFind tutorials/courses/webinarsq, scientific_topics (EDAM), target_audience, difficulty_level, licence, page_size, page
ELIXIRTeSS_search_eventsFind live/scheduled training eventsq, plus similar filters

Verified live: ELIXIRTeSS_search_materials {"q": "RNA-seq", "page_size": 3} -> real materials, e.g. "A practical introduction to bioinformatics and RNA-seq using Galaxy". ELIXIRTeSS_search_events {"q": "bioinformatics"} -> real upcoming events (e.g. a 2026-09-21 SIB Swiss Institute of Bioinformatics course, "Feature Selection for Bioinformatics with Python"). A query with zero matches (e.g. q: "CRISPR" at time of testing) returns a clean empty list, not an error — confirmed by re-running with a broader query and an empty-query call, both of which returned real, different, non-empty result sets, so treat an empty result as "nothing currently listed for that exact term," not a broken call.

4. Bioconductor — R Packages for Computational Biology

2,200+ R packages for RNA-seq, single-cell, proteomics, epigenomics, and more, indexed via the R-universe search API.

ToolUse forKey params
Bioconductor_search_packagesKeyword/topic searchq, limit (max 100)
Bioconductor_get_packageFull metadata for a known packagepackage_name (exact, case-sensitive)

Verified live: Bioconductor_search_packages {"q": "differential expression", "limit": 3} -> real packages ranked by relevance score (_score), e.g. compcodeR. Bioconductor_get_package {"package_name": "DESeq2"} -> the real current DESeq2 record (Version: "1.53.3", full author list, description) — note the param is package_name, not package (that name is reserved for the separate CRAN tools below; passing package to this tool fails validation).

5. CRAN — General R Package Registry

20,000+ general R packages (via the crandb mirror) — use for R packages outside Bioconductor's bio-specific scope (stats, viz, data wrangling, and bio-adjacent packages like survival).

ToolUse forKey params
CRAN_get_packageCurrent metadata: version, description, license, dependenciespackage (exact, case-sensitive)
CRAN_get_package_versionsFull release historypackage

Verified live: CRAN_get_package {"package": "ggplot2"} -> real current metadata (Version: "4.0.3", full author list, license). CRAN_get_package_versions {"package": "ggplot2"} -> full version history back to 0.5 (2007-01-01) with each version's own metadata snapshot.

Choosing Among the Five Resources

ResourceWhat it holdsExample question
bio.tools (Sec. 1)Bioinformatics software/services/databases, catalogued by EDAM topic & operation"What tools do variant calling from BAM files?"
SmartAPI (Sec. 2)Live biomedical REST APIs with machine-readable specs"What's the base URL and endpoints for the BioThings TTD API?"
ELIXIR TeSS (Sec. 3)Training materials and events"Is there a beginner RNA-seq course I can point someone to?"
Bioconductor (Sec. 4)R packages specifically for computational biology"What Bioconductor package does differential expression on RNA-seq counts?"
CRAN (Sec. 5)General-purpose R packages (incl. bio-adjacent)"What does the survival package's current version support?"

A Bioconductor_search_packages hit and a CRAN_get_package hit can both resolve for a genuinely bio-relevant R package (e.g. survival lives on CRAN, not Bioconductor) — try Bioconductor first for a task that sounds computational-biology-specific, and fall back to CRAN if it's a general statistics/viz need or Bioconductor returns nothing relevant.

Common Pitfalls

  • Parameter name mismatches across similarly-shaped tools: Bioconductor_get_package takes package_name; CRAN_get_package/CRAN_get_package_versions take package; BioTools_search_by_type takes toolType (camelCase), not tool_type. Don't assume a shared convention across these 5 resources — check each tool's own schema.
  • A shared top result across different filters on bio.tools is not a bug — verify by checking the count field, which does differ, and by paging further if the very top hit looks generic.
  • An empty ELIXIR TeSS result is a real "nothing listed," not a broken call — retry with a broader query before concluding the tool is down.
Skills enregistrées