fgcz-custom-analysis-register

Wraps hand-written R Markdown analyses into SUSHI-shaped gstore folders with B-Fabric and SUSHI registration.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? One-off R Markdown analyses at FGCZ produce outputs that cannot be chained as parent datasets by downstream SUSHI apps and leave no trace in the B-Fabric audit trail. This Skill promotes a custom analysis into the exact on-disk folder contract every SUSHI app honours, making it visible in the SUSHI lineage tree and UI. ## Core Features & Use Cases - SUSHI-shaped scaffolding: Generates the timestamped {order_id}_{analysis_name}_{timestamp} folder with dataset.tsv, parameters.tsv, and input_dataset.tsv using the correct SUSHI column-type tags like [File,Link]. - Reproducible launcher: Emits a vanilla bash script that renders the Rmd via R --vanilla --slave, captures stdout/stderr logs, and copies the result to gstore with g-req. - Dual registration: Registers a B-Fabric workunit and dataset via register_custom_analysis.py, then inserts the production SUSHI data_sets row directly via MySQL with correct parent_id lineage and Ruby hash-rocket samples.key_value syntax. - Use Case: You rendered a QC Rmd consuming a FeatureCounts output for project p40992 and the user wants it delivered to gstore, chainable by ScSeurat, and visible at fgcz-sushi.uzh.ch/data_set/.... ## Quick Start Ask the agent to register your rendered R Markdown analysis as a SUSHI dataset for a given project and order ID, providing the upstream SUSHI dataset path and ID.

Frequently Asked Questions about fgcz-custom-analysis-register

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

FAQPage Schema
How do I register a custom R Markdown analysis in SUSHI?

Build a timestamped folder named {order_id}_{analysis_name}_{timestamp} containing dataset.tsv, parameters.tsv, and input_dataset.tsv, render the Rmd via a vanilla bash launcher, copy it to gstore with g-req, then register a B-Fabric workunit and insert a production SUSHI data_sets row via MySQL with the upstream parent_id.

How do I make a custom analysis chainable by downstream SUSHI apps?

The output folder must follow the exact SUSHI contract: an order-prefixed timestamped name, dataset.tsv with [File] and [File,Link] column tags, and a copied input_dataset.tsv from the upstream dataset. The MySQL insert must also set parent_id to the upstream SUSHI dataset ID.

Why should I not use --register-sushi with register_custom_analysis.py?

The --register-sushi flag POSTs to the dev SUSHI Python API on fgcz-h-083, so the dataset never appears on production SUSHI at fgcz-sushi.uzh.ch. Production registration requires a direct MySQL insert into the sushi database on fgcz-h-082.

When should I not use this custom analysis registration workflow?

Do not use it to build a real SUSHI app, which belongs in the fgcz-sushi-app-dev workflow, or for simple Rmd rendering with retry logic, which fits autonomous-render. It is only for promoting finished one-off analyses into the SUSHI dataset graph.

Why does the SUSHI samples table use hash rockets instead of JSON?

The samples.key_value column is parsed as a Ruby hash, so it requires => hash-rocket syntax rather than JSON colons. SUSHI also displays sample columns in reverse insertion order, so Name should be placed first in the hash.