Welcome to the Day Thre

of the 2nd International Work

on FAIR Containerized

Computational Software

Co‐organized by National Institute of Standards and Technology (

National Center for Advancing Translational Sciences (NCATS) at 

Institutes of Health (NIH)

Peter Bajcsy Nathan Hotal

NIST NCATS NIH
FAIR Containerized Computational Soft

Digital assets: computational

software in sciences

Containerization: packaging of

software applications so that

the software can run in any

computational environment

FAIR: Findable, Accessible,

Interoperable, and Reusable
Main goal

Containerized

The main goal for the workshop is

to establish a community

consensus on creating

interoperable containerizedcomputational tools that can be

chained into scientificworkflows/pipelines andexecuted over large imagecollections regardless of the

cloud infrastructurecomponents.

Data 

Scientist

Computational T

ContainerizedComputational Tool

Computationa

Workflow
Approach to Forming Computational Work

Containerized

• Create a manifest file

accompanying eachcontainerized softwaretool

• Specify fields in the

manifest file for

• Inputs/Outputs• Security• GUI• Hardware Requirements

Data 

Scientist

Computational T

ContainerizedComputational Tool

Computationa

Workflow
A Light at the End of the Tunnel

Container Containermanifest manifest

Containermanifest

Computationalworkflow

Institution

3

Step

3

Institution

1

Institution

2

Step

1

Step

2

Containermanifest

Scientific workflow engines 
Structure of the 2nd Internat

Workshop on FAIR Container

Computational Software
Workshop Structure

Themes for each day:

December 5 (Day 1): Inputs/Outputs and Security for FAIR contain

computational software

December 6 (Day 2): Graphical User Interfaces for FAIR containeriz

computational software

December 7 (Day 3): Hardware Requirements for FAIR containeriz

computational software

Top level program outline (Each day):

Session 1: General session consisting of opening remarks and back

introduction (one hour)

Session 2: Five breakout sessions consisting of about 15‐30 people 

specified topics (two hours)

Session 3: General session consisting of summaries from breakout 

and closing remarks (one hour)
The Workshop Flow

• Session 1: Main Zoom room

• After the introduction to the theme of the day, NIST co

facility staff will move participants to breakout

• Session 2: Breakout Zoom room

• Moderators and scribes will go over a set of questions/

discussed. The topics map to the those posted at FederThe set of questions/topics is the same for all breakout

• Session 3: Main Zoom room

• The moderators and scribes report a set of unique

answers/solutions for each question/topic and the resu
Time and Information Resources

Everyday Meeting Times:

US East Coast (11am‐3pm),

US West Coast (8am‐noon),

UK (4pm‐8pm),Germany (5pm‐9pm),Korea/Japan (1am‐5am)

Comments on the topics outside of the workshop:https://www.federalregister.gov/documents/2023/08/24/2023‐18263/request‐for‐information‐regarding‐file‐

specification‐for‐findable‐accessible‐interoperable‐and

Workshop event URL: https://w

events/events/2023/12/2nd‐intfair‐containerized‐computation

The GitHub repository with the https://github.com/usnistgov/facontainer

Registries of manifests adhering 

https://wipp‐plugins.nist.gov/https://wipp‐registry.ci.ncats.io/
The Workshop Information

• During the workshop:

• The workshop is not recorded.• The summary notes and chats from breakout session

for preparing the workshop report.

• Additional Topics

• Use cases• Ecosystem of tools to support seamless integration to 

research

• Educational materials• Benchmarking information• Governance
Quick Summary from

December 6, 2023 (Day 2

Theme: Graphical User Interf

(GUI) for FAIR containerize

computational software
Quick Summary: Q1

1. What is your experience for file type or service for conta

computational workflows?

• Requirements:

• Open frameworks and APIs to help with adoption• Needs to work offline for HPC

• Format considerations:

• The specific format is not as important as the tooling around i• Flat files can take more time to validate, want to confirm varia

correct before submission

• The specification is more important than the format itself• Dated formats need to be supported because legacy tools stil
Quick Summary: Q2

2. What are the basic types of algorithmic parameters?• GUI in manifest? UI considerations should not appear in 

Versus UI for parameters, outputs, and intermediates

• Human in‐the‐loop is the boundary between workflows

• GUI Complexity: Non‐trivial params passed via raw files 

process every possible input

• GUI Representation: Use a markup language to define th

basic types and show a preview of how they look like in a 

• GUI Ontologies: The UI should use ontologies to better d

content of each step.

• A simple Graphic Tool that allows the user to run a workflow online.

• Need for validation following a standard ontology (RO‐Crate, EDAM, Biosch
Quick Summary: Q3

• 3. What is your experience with the languages and librar

on‐the‐fly (on‐demand, dynamic) GUI creation?

• Languages/Libraries: Swagger Docs, FastAPI micro servic

JavaScript server in Node.js, TypeScript/Django, PyQT, JS

ReactJS

• swagger does not support conditional parameter input logic yet

• OpenAPI: https://github.com/OAI/OpenAPI‐Specification/issues/256

• From library‐based code to Web: Galaxy interprets the X

JSON to UI; (JS, Angular, Node.js) ‐> Uses a NGX Schema 

R to DashApp to HTML; Wanted: Python Notebooks to Ty

• On‐the‐fly execution: Specify library‐based code locatio

and how to launch it
Quick Summary: Q4

• 4. What is your experience with tools to automate gener

manifest sections describing conditional GUIs for encodi

into static web forms for conditional user interfaces?

• Lesson learned:

• KNIME (server version, local version), build custom GUI from primitives• Label studio ‐ annotaƟon library, XML → HTML; hƩps://labelstud.io/playgr

• Flask with Jinja2 (Web Server Gateway Interface with templates)

• Pixme from Google Apps (Android)

• streamlit‐jupyter – create interactive GUI inside of Jupyter Notebook (alter

• Users can inject JS in the manifests which present a security issue.

• Recommendations:

• Translate DAG to JSON (or other format) and starts from the JSON to gene

• GUI tools needs to be able to handle conditional logic• Manifest should not be too specific and tied to specific GUI
Quick Summary: Q5

• 5. What command line interfaces (CLI) are of interest for cr

• Polus: Workflow builder https://github.com/PolusAI/workflow‐build

• Napari allows the user to create modules that can describe the GUI.• In Matlab, if you define a GUI you can create pop‐ups using CLIs.• Textualize: they have tools https://github.com/Textualize• TxTk, WxWidgets: Allow for testing before launching workflows in th

environment.

• Python: argparse• JSON schema• Nextflow ‐ If task fails in CLI, inspect the log to triage the issue• SnakeMake ‐ https://snakemake.readthedocs.io/en/stable/ ‐ Python 

management system
Quick Summary: Q6

• 6. What web application programming interfaces (web AP

interest for creation of GUIs?

• Use case: Progress report GUI for large scale simulations

• Web page would be parsing outputs and with a template it would inform end 

progress (elastic search like)

• Creation of GUI by using libraries and services:

• Ability to submit through a queue / service

• https://www.tensorflow.org/tensorboard• https://wandb.ai/site• There is a tool that will take GraphQL schema and create a frontend for it.

• Airtable Connected Apps Platform can create apps for non‐technical users.

• Forward looking support: LLMs can be of use to generate 
December 7, 2023 (Day 3

Theme: Hardware Requiremen

FAIR containerized computat

software
Agenda

• Session 1: Introduction

• Peter Bajcsy (NIST) –summary of Days 1 & 2 and the goals for Day 3

• Tim Blattner (NIST) –current hardware specification and the needs at NIST

• Nick Schaub (NIH) –hardware heterogeneity at NCATS NIH• Derek Juba (NIST) –hardware heterogeneity at NIST

• Session 2: Breakouts

Date Breakout Moderator Scribe7‐Dec 1 Timothy Blattner Antoine Gerardin

7‐Dec 2 Derek Juba Andrew Toler7‐Dec 3 Sameeul Samee Michael Majurski7‐Dec 4 Nick Schaub Timothee Kheyrkha

7‐Dec 5 Mylene Simon Nathan Hotaling

• Session 3: Summary
Questions for the Breakout Sessions

1. What is your experience with the benefits of including hardware requi2. What is your experience with ontologies for computer hardware (exist

access)?

3. What metadata fields describing hardware can be used for requesting 

computer nodes in the cloud or on HPC resources by job schedulers (e

Kubernetes, CWL command line tool)?

4. What is your experience with metadata fields describing hardware tha

automatically detected by using hardware discovery tools in the cloud 

resources by job schedulers (e.g., SLURM, Kubernetes, CWL command 

5. What metadata fields describing hardware should be included about t

which a container was tested/validated?

6. What metadata fields describing hardware should be included about a

on which a container has been benchmarked?