fgcz-sushi-app-dev

Guides development of FGCZ SUSHI applications using ezRun R methods and Ruby on Rails frontends.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developing SUSHI pipeline applications at FGCZ requires coordinating an R backend method (ezRun), a Ruby on Rails frontend, and an Rmd report template while following strict institutional coding standards. This Skill provides the complete workflow, templates, and reference documentation so developers avoid parameter-passing bugs, style violations, and deployment errors. ## Core Features & Use Cases - End-to-End App Templates: Ready-to-use R method template (template_app.R), Ruby app template (template_app.rb), and Rmd report template covering the full SUSHI app structure. - Coding Standards Enforcement: Mandatory FGCZ style rules (camelCase variables, underscore_separated functions, seq_along iteration, ezLoadPackage usage) with a detailed style guide and checklist. - ezRun Function Reference: Documentation of 100+ helper functions (ezRead.table, ezNorm, ezMclapply, makeRmdReport) plus a concise quick-reference for logging, I/O, and system calls. - Working Example: A complete XeniumQC spatial transcriptomics QC app demonstrating multi-sample processing, JSON parsing, and tabset report generation. - Use Case: A bioinformatician asks to create a new ATAC-seq QC app; the Skill supplies the R method skeleton, Ruby frontend with resource parameters, report template, and a testing checklist for deployment to SUSHI. ## Quick Start Ask the agent to create a new SUSHI app for your analysis type, for example by saying: create a SUSHI app that processes bulk RNA-seq QC metrics with an interactive report.

Frequently Asked Questions about fgcz-sushi-app-dev

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

FAQPage Schema
How do I create a new SUSHI app with ezRun?

Create three files: an R method ezMethodYourApp plus an EzAppYourApp reference class in ezRun/R/, a Ruby frontend YourAppApp.rb in sushi/master/lib/, and an Rmd report template in ezRun/inst/templates/. The Skill provides complete templates for all three.

How does parameter passing work between Ruby and R in SUSHI?

Ruby defines parameters via @params entries, which always arrive in R as strings. Access them through the param argument (param$myParam) and convert types explicitly with as.integer(), as.numeric(), or as.logical() inside your ezMethod function.

What is the difference between SAMPLE and DATASET process modes in SUSHI?

SAMPLE mode runs each dataset row as an independent job for parallel per-sample processing, while DATASET mode processes all rows together in a single job. Set it with @params['process_mode'] in the Ruby app definition.

Why should I use ezLoadPackage instead of library or require in ezRun?

ezLoadPackage loads R packages with consistent error handling and clear failure messages, unlike require() which only warns when a package is missing. It is the mandated FGCZ standard for all ezRun app code.

How do I test a SUSHI app before deployment?

Test the R method standalone by constructing mock input, output, and param lists and calling ezMethodYourApp directly after installing ezRun with R CMD INSTALL. Then deploy the Ruby file and submit a test job through the SUSHI web interface.

What coding style rules does FGCZ enforce for ezRun development?

Variables use camelCase, functions use underscore_separated names, all if statements require curly braces, iteration uses seq_along() instead of 1:length(), and columns are accessed by name rather than index. Code must be ASCII-only with 2-space indentation and roxygen documentation.