Skip to content

Assay Schema

This reference document defines the structural properties of the ISAAssayJSONSchema object and explains how its experimental data graphs map onto a flat, tab-separated assay matrix file (a_*.txt).

The ISAAssayJSONSchema object models a distinct experimental test or measurement block within a study and contains the following parameters:

Property Type Description
@type "Assay" Mandatory type metadata token.
@id string Optional JSON-LD identifier.
@context string Optional JSON-LD context string.
filename string The target file name assigned when writing out this assay matrix (typically a_*.txt).
measurementType ISAOntologyReferenceSchema Ontology term representing what is being measured.
technologyType ISAOntologyReferenceSchema Ontology term representing the technology platform used.
technologyPlatform string A string detailing the explicit manufacturer or instrument layout.
dataFiles ISADataSchema[] Array of associated raw or derived data assets generated by this assay.
materials { "sources": SourceSchema[], "samples": SampleSchema[], "otherMaterials": MaterialSchema[]} Object containing the materials used in the assay.
unitCategories OntologyAnnotationSchema[] List of all the units defined in the study.
processSequence ISAProcessOrProtocolApplicationSchema...[] The execution tracking graph connecting assay inputs, protocols, and data nodes.
comments ISACommentSchema[] It corresponds to ISA Comment objects.

When converting an ISA Study structure using convertTable(tableData: ISAAssayJSONSchema) into horizontal, tab-delimited files, columns are dynamically generated by evaluating linear sequences via a graph model.

Assay sequences typically terminate in data files or specialized material extracts. Columns are ordered by processing sequence:

  • Assay Material & Data Nodes: Generates column headers dynamically matching the underlying node type (e.g., Extract Name, Labeled Extract Name, Raw Data File). Cells output the string literal name of the entity.
  • Workflow Steps: Intermediary execution steps generate a Protocol REF column matching the protocolName on the corresponding process edge.

Just like the Study matrix, nodes and process boundaries append descriptive qualifiers to their immediate right if ontology metadata or comments exist:

Node Attributes (Characteristics & Comments)

Section titled “Node Attributes (Characteristics & Comments)”
  • Characteristics [Category]: Generated if an assay node includes items in its characteristics collection. The category label is extracted from characteristicType.annotationValue.
    • Generates two trailing qualifier tracking columns: Term Accession Number and Term Source REF.
  • Comment [Name]: Appends a column for entries inside a node’s comments array matching the targeted comment configuration.
  • Parameter Value [Name]: Generated when a workflow step applies discrete parameter values. The bracketed name reflects parameterName.annotationValue.
    • Generates two trailing qualifier tracking columns: Term Accession Number and Term Source REF.

  • Cell Compiling: All string tokens within generated body cells are strictly wrapped inside double-quotes ("") and broken down by uniform tab delimiters (\t).
  • Intermediary Null Safe Fallbacks: If shorter alternate pathways exist within the graph topology, columns belonging strictly to longer parallel routes evaluate cleanly to empty strings ("") to preserve structural row symmetry.
  • Termination Rule: If the input processSequence contains zero entries, calls to the matrix compiler break immediately and return an empty string ('').