Skip to content

Annotation Tables

The Tables shown in xlsx files in ISA files are modelled in ARCtrl as ArcTable object. These objects are assigned as ArcTables interface in both ArcAssay and ArcStudy.

ArcTables are column-major objects, with the columns being typed as CompositeColumn. Each CompositeColumn consists of a CompositeHeader and a collection of CompositeCells, which make up the values of the table.

open ARCtrl
let growth = ArcTable.init("Growth")
// create ontology annotation for "species"
let oa_species =
OntologyAnnotation(
"species", "NCIT", "NCIT:C45293"
)
// create ontology annotation for "chlamy"
let oa_chlamy =
OntologyAnnotation(
"Chlamydomonas reinhardtii", "NCBITaxon", "NCBITaxon_3055"
)
let oa_time =
OntologyAnnotation(
"time", "EFO", "EFO:0000721"
)
let oa_day =
OntologyAnnotation(
"day", "UO", "UO:0000033"
)
// This will create an input column with one row cell.
// In xlsx this will be exactly 1 column.
growth.AddColumn(
CompositeHeader.Input IOType.Source,
[|CompositeCell.createFreeText "Input1"|]
)
// this will create an Characteristic [species] column with one row cell.
// in xlsx this will be exactly 3 columns.
growth.AddColumn(
CompositeHeader.Characteristic oa_species,
[|CompositeCell.createTerm oa_chlamy|]
)
// this will create an Parameter [time] column with one row cell.
// in xlsx this will be exactly 4 columns.
growth.AddColumn(
CompositeHeader.Parameter oa_species,
[|CompositeCell.createUnitized("5", oa_day)|]
)
growth.AddColumn(
CompositeHeader.Output IOType.Sample,
[|CompositeCell.createFreeText "Output1"|]
)