Compositions

A composition remixes or transforms one or more DataCatalog schemas into an alternative formulation. They are used to implement adapters or metaschemas. Specifically, the samples.json schema formulation is implemented using a composition.

Examples

sample_set.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
    "title": "SampleSet",
    "type": "object",
    "description": "Describes a set of samples produced by an experimental facility or data provider",
    "additionalProperties": false,
    "properties": {
        "id": {
            "description": "String identifier for the sample set",
            "$ref": "identifier.json"
        },
        "challenge_problem": {
            "$ref": "challenge_problem_id.json"
        },
        "experiment_id": {
            "$ref": "namespaced_identifier.json"
        },
        "experiment_reference": {
            "$ref": "experiment_reference.json"
        },
        "experiment_reference_url": {
            "$ref": "experiment_url.json"
        },
        "lab": {
            "$ref": "lab.json"
        },
        "samples": {
            "type": "array",
            "items": {
                "$ref": "sample.json"
            }
        },
        "tasbe_cytometer_configuration": {
            "$ref": "cytometer.json"
        },
        "erf_channel": {
            "description": "experiment equivalent reference fluorphores channel, if present",
            "type": "string"
        }
    },
    "required": [
        "id",
        "challenge_problem",
        "experiment_id",
        "experiment_reference",
        "lab",
        "samples"
    ],
    "_filename": "sample_set",
    "__collection": null,
    "__uuid_type": "generic",
    "__indexes": []
}

Documentation

For details, please consult the datacatalog.compositions API documentation.