bfabric-tools

Registers datasets and queries project metadata in B-Fabric LIMS via btools CLI and Python API.

Updated May 28, 2026
One-click install
npx skills add https://github.com/cpanse/skills --skill bfabric-tools-cpanse
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bfabric-tools
Source: https://github.com/cpanse/skills/tree/main/bfabric-lims/skills/bfabric-tools
Command: npx skills add https://github.com/cpanse/skills --skill bfabric-tools-cpanse

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires bfabric, and includes references (resource) components.

What problem does it solve? Bioinformatics teams at FGCZ need to register SUSHI/gStore analysis results into the B-Fabric LIMS and query project, sample, and workunit metadata without manually clicking through the web interface, which is slow and error-prone. ## Core Features & Use Cases - Dataset Registration: Register SUSHI result datasets into B-Fabric from TSV files with automatic resource creation and checksum handling. - Metadata Queries: Retrieve projects, orders, samples, workunits, annotations, and dataset lineage through the bfabric Python API. - Resource Management: Update resource statuses (available, pending, archived, deleted), delete workunits, and audit storage usage. - Use Case: After running an RNAseqCount SUSHI app, register the results TSV into project p31662 under order o39391, then verify the dataset exists and mark its resources as archived. ## Quick Start Ask the agent to register the SUSHI results TSV for project p31662 into B-Fabric and confirm the dataset was created.

Frequently Asked Questions about bfabric-tools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I register a SUSHI dataset into B-Fabric?

Run register_sushi_dataset_into_bfabric with the project ID, dataset TSV file, workunit name, and optionally the order ID and SUSHI app name. The TSV must use tagged column headers like [File] so resources are created for each file path.

How to query B-Fabric project metadata with Python?

Use the bfabric Python library: create a client with Bfabric.from_config() and call bf.read() with endpoints like project, order, sample, or workunit. Queries accept filters such as id, containerid, or projectid and return lists of dictionaries.

What TSV format does B-Fabric dataset registration require?

The TSV needs tagged column headers: [File] for resource paths, [Link] or [Html] for web links, and Extract Id for sample references. File paths must be relative to /srv/gstore/projects/ and start with the project prefix like p1234/.

Why does B-Fabric authentication fail with bfabricpy?

Authentication failures usually come from a missing or malformed ~/.bfabricpy.yml credentials file or a wrong environment setting. Verify the YAML indentation, check the BFABRICPY_CONFIG_ENV variable, and test the connection with a simple bf.read() call.

How do I update or audit resource statuses in B-Fabric?

Use update_resource_status with a resource ID and a status of available, pending, archived, or deleted. For audits, iterate workunits in Python, read their resources, and aggregate counts and sizes by status.