Welcome to the Day Two

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
The purpose of the workshop is:

1.establish fields in a manifest file accompanying each conta

software tool (primary purpose),

2.summarize best practices for containerization of algorithm

interfaces between containerized algorithms and datasets 

heterogeneous storage environments,

3.explore application programming interfaces (APIs) for find

containerized software tools and container‐based workflo

registries,

4.support executions of container‐based workflows in a var

workflow engines,

5.discuss tooling and governance to support a large commu

users.
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 sessions 

uniform representation of organizations across all brea

• 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.

• After the workshop:

• Peter Bajcsy (NIST) and Nathan Hotaling (NCATS NIH) 

the workshop report.

• The workshop report will be shared with all registere

for feedback before it will be disseminated to the pub

• The GitHub repository https://github.com/usnistgov/

compute‐container will be updated with the worksho
Additional Topics

• Use cases• Ecosystem of tools to support seamless

integration to scientific research

• Educational materials• Benchmarking information• Governance
Quick Summary of Breako

Sessions from

December 5, 2023 (Day 1

Theme: Inputs/Outputs an

Security for FAIR containeri

computational software
Quick Summary: 1. What is your experience with gene

organization types?

• File Locations: NAS or Cloud Storage ‐ S3 bucket• Container  File: Share files between nodes by storing on disk, serv

by persistent volumes or file shares on the cluster through Kubernetes

• Container Manifest Inputs: List of paths to input files ‐ Pipeline finds t

and brings them (can be a local or cloud path)

• Container IO code: Libraries/Tools for images stored in Zarr, OME‐NGF

Neuroimaging Informatics Technology Initiative (NIfTI) file format
Quick Summary: 2. What is your experience with ontologies f

organization types and file types (availability and usability)?

Cons of ontologies Pros of ontologies • Not clear whether 

• Institutes have many different types of useful. Maybe for 

users with different roles and ontology mixing and matchin

could reduce training time for users • AI for Life tried usin

• Also such an ontology could be super tags. Had

a proble

useful for sharing our containerized not support every t

components with the outside world if arbitrary tags sho

• Ontology can make 

correctly annotate workflow

Many pointers to ontologies, file catalogs, and frameworks: • HPC Ontology ‐ https://hpc‐fair.github.io/ontology/

• Nf‐core ‐ community driven standard‐ https://nf‐co.re/

• S3 Quilt file browser ‐ https://docs.quiltdata.com/catalog/filebrowser

• Bioimage Analysis ‐ visualize

& analyze complex images (https://qupath.github.io/)

• List of ontologies used in IDR (https://idr.openmicroscopy.org/about/linked‐resources.html)

• OxO ‐ service for finding mappings (or cross‐references) between terms from ontologies, vocabularies and coding standards (https://www.

• https://www.ebi.ac.uk/bioimage‐archive/rembi‐help‐overview/; https://www.ebi.ac.uk/empiar/deposition/manual/

• Cryo EM image processing framework (https://scipion.i2pc.es/)• Pub2tools, RO‐Crate: https://www.researchobject.org/ro‐crate/

• EDAM bioimaging ontology,• Fast Healthcare Interoperability Resources (FHIR)

• Brain Imaging Data Structure (BIDS) format• Huggingface for bioimage models
Quick Summary: 3. What is your experience with data 

that is mounted to

a container?

Heterogeneity of storage and access control:• On premise HPC• Object store like S3 buckets• File system behind the firewall• DVC ‐ Data Version Control• Role

‐Based Access Control

Conversions

& storage: Conversion of

heterogeneous input file into

a coherent file

format and using cheap storage

• Glacier ‐ slow long

‐term storage:

https://aws.amazon.com/pm/s3

‐glacier

• IBM Storage Fusion ‐ partial downloading :

https://www.ibm.com/products/storage

‐

fusion

Interface with cloud stora

• Protocols: AI for Life built

a se

Mounts S3 with open‐source seach user’s home folder, Gene

send and receive files in AWS 

• Nextflow, which handles mou

systems into the container

• Rembi (images repository sup

https://ssbd.riken.jp/database

• EMBL Embassy cloud – Open s

cluster deployment and Ceph https://docs.embassy.ebi.ac.uml

• Pegasus ‐ Data available on th

filesystem; https://pegasus.isi

guide/containers.html#contaiS3 buckets is downloaded to t

the data staging phase
Quick Summary: 4. What is your experience with the 

of including security related metadata?

• Most participants reported to hands‐on experience• Licenses – impose regional, country, file‐based license; Security is co

licensing.

• Use Role based access control• Use hashes and signatures against a public‐private keys• Protect credentials/licenses especially when doing lot provenance tr

logging
Quick Summary: 5. What is your experience with a se

related metadata to verify integrity of container conte

• Security is very relevant when institutions host their own co

registries

• Pull images from authentic source

• Contain separate registry to check security metadata

• Don’t want container to connect to the Internet or send information back

• Lessons Learned from:

• Amazon Elastic Container Registry: https://aws.amazon.com/ecr/

• Bio Containers: https://github.com/BioContainers

• Container digest: Multiple participants agreed on the usefulness of having a co

pinpoint the exact version of the container image and to check its integrity.

• Custom hash: They also agreed that an option for using a custom digest/hash 

be present to avoid relying only on Docker tools.
Quick Summary:

6. What is your experience with encrypting container content?• Encryption of input data is often more important than encr

container themselves

7. What is your experience with protecting a code execution w

container with a passphrase or a license key?

• Instead of encrypting container, control access to location ‐

hardware/systems.

• Role/permission based access/execution
December 6, 2023 (Day 2

Theme: Graphical User Interf

(GUI) for FAIR containerize

computational software
Agenda

• Session 1: Introduction

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

• Michael Majurski (NIST) – current GUI fields and the GUI needs at NIST

• Sunny Yu (NIH) – the GUI needs for collecting algorithmic parameters at NI

• Ben Long (NIST) – registry for manifest files

• Session 2: Breakouts

Date Breakout Moderator Scribe6‐Dec 1 Peter Bajcsy Kevin Duerr

6‐Dec 2 Nathan Hotaling Guillaume Sou6‐Dec 3 Michael Majurski Sameeul Same

6‐Dec 4 Joe Chalfoun Simo Ouladi

6‐Dec 5 Sunny Yu Philippe Dessa

• Session 3: Summary