@morscherlab/mint-sdk 1.0.0-rc.2 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AppSidebar.vue.d.ts +3 -3
- package/dist/components/ControlWorkspaceView.vue.d.ts +3 -3
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +1 -1
- package/dist/components/PluginWorkspaceView.vue.d.ts +3 -3
- package/dist/components/index.js +2 -2
- package/dist/{components-BhK-dW99.js → components-DafPc4rM.js} +3 -3
- package/dist/{components-BhK-dW99.js.map → components-DafPc4rM.js.map} +1 -1
- package/dist/composables/controlComponentBindings.d.ts +7 -0
- package/dist/composables/controlSchemaAdapters.d.ts +20 -0
- package/dist/composables/controlSchemaFormFields.d.ts +3 -0
- package/dist/composables/controlSchemaLayout.d.ts +7 -0
- package/dist/composables/controlSchemaNormalize.d.ts +15 -0
- package/dist/composables/controlSchemaUtils.d.ts +9 -0
- package/dist/composables/controlWorkspaceOptions.d.ts +2 -0
- package/dist/composables/index.js +3 -3
- package/dist/composables/useControlSchema.d.ts +4 -30
- package/dist/composables/useControlWorkspace.d.ts +5 -0
- package/dist/{composables-Bg7CFuNz.js → composables-BMkPQhVK.js} +2 -2
- package/dist/{composables-Bg7CFuNz.js.map → composables-BMkPQhVK.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/install.js +2 -2
- package/dist/templates/adapters.d.ts +14 -47
- package/dist/templates/assayLookups.d.ts +3 -0
- package/dist/templates/assayMatrixAdapters.d.ts +6 -0
- package/dist/templates/assayMatrixBuilder.d.ts +2 -0
- package/dist/templates/assayNormalizers.d.ts +4 -0
- package/dist/templates/builderDefaults.d.ts +1 -0
- package/dist/templates/builderIdUtils.d.ts +4 -0
- package/dist/templates/builderPresetControls.d.ts +10 -0
- package/dist/templates/builderReadUtils.d.ts +8 -0
- package/dist/templates/builders.d.ts +26 -67
- package/dist/templates/calibrationCurveAdapters.d.ts +4 -0
- package/dist/templates/calibrationCurveBuilder.d.ts +2 -0
- package/dist/templates/calibrationNormalizers.d.ts +5 -0
- package/dist/templates/componentBindingCatalog.d.ts +25 -0
- package/dist/templates/componentBindingHelpers.d.ts +17 -0
- package/dist/templates/componentDoseResponseProps.d.ts +3 -0
- package/dist/templates/componentGenericProps.d.ts +8 -0
- package/dist/templates/componentPlateHelpers.d.ts +5 -0
- package/dist/templates/componentPlateMapProps.d.ts +3 -0
- package/dist/templates/componentPropsFactory.d.ts +3 -0
- package/dist/templates/componentQpcrPlateProps.d.ts +3 -0
- package/dist/templates/componentTargetResolvers.d.ts +5 -0
- package/dist/templates/componentTemplateProps.d.ts +3 -0
- package/dist/templates/controlSchemaClone.d.ts +4 -0
- package/dist/templates/controlSchemaConstants.d.ts +10 -0
- package/dist/templates/controlSchemaMerge.d.ts +3 -0
- package/dist/templates/controlSchemaTargets.d.ts +17 -0
- package/dist/templates/controlSchemaTypes.d.ts +4 -0
- package/dist/templates/controlSchemas.d.ts +4 -4
- package/dist/templates/defaultBioTemplateBuilder.d.ts +2 -0
- package/dist/templates/doseResponseAdapters.d.ts +4 -0
- package/dist/templates/doseResponseBuilder.d.ts +2 -0
- package/dist/templates/elisaAssayCollectionBuilder.d.ts +2 -0
- package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +2 -0
- package/dist/templates/flowCytometryPanelBuilder.d.ts +2 -0
- package/dist/templates/flowNormalizers.d.ts +8 -0
- package/dist/templates/flowPanelAdapters.d.ts +4 -0
- package/dist/templates/index.js +1 -1
- package/dist/templates/instrumentRunAdapterHelpers.d.ts +8 -0
- package/dist/templates/instrumentRunAdapters.d.ts +8 -0
- package/dist/templates/instrumentRunBuilder.d.ts +2 -0
- package/dist/templates/lcmsBatchCollectionBuilder.d.ts +2 -0
- package/dist/templates/plateGeometry.d.ts +4 -0
- package/dist/templates/plateMapAdapters.d.ts +3 -0
- package/dist/templates/plateMapBuilder.d.ts +2 -0
- package/dist/templates/presetControlSchemas.d.ts +534 -0
- package/dist/templates/protocolAdapters.d.ts +5 -0
- package/dist/templates/protocolNormalizers.d.ts +6 -0
- package/dist/templates/protocolStepsBuilder.d.ts +2 -0
- package/dist/templates/qpcrAdapters.d.ts +5 -0
- package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +2 -0
- package/dist/templates/qpcrPlateBuilder.d.ts +2 -0
- package/dist/templates/reagentAdapters.d.ts +5 -0
- package/dist/templates/reagentListBuilder.d.ts +2 -0
- package/dist/templates/runNormalizers.d.ts +10 -0
- package/dist/templates/sampleNormalizers.d.ts +4 -0
- package/dist/templates/samplePrepAdapters.d.ts +4 -0
- package/dist/templates/samplePrepBuilder.d.ts +2 -0
- package/dist/templates/sampleSheetAdapters.d.ts +5 -0
- package/dist/templates/sampleSheetBuilder.d.ts +2 -0
- package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +2 -0
- package/dist/templates/targetedMetabolomicsHelpers.d.ts +5 -0
- package/dist/templates/templateControlSchemas.d.ts +400 -0
- package/dist/templates/templateEnvelopes.d.ts +9 -0
- package/dist/templates/templatePackCollectionBuilder.d.ts +2 -0
- package/dist/templates/templatePresetCollectionBuilder.d.ts +18 -0
- package/dist/templates/templateValidators.d.ts +13 -0
- package/dist/templates/timeCourseAdapters.d.ts +5 -0
- package/dist/templates/timeCourseBuilder.d.ts +2 -0
- package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +2 -0
- package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +2 -0
- package/dist/{templates-BorLR_7p.js → templates-bUAWMn5L.js} +3574 -3428
- package/dist/templates-bUAWMn5L.js.map +1 -0
- package/dist/{useProtocolTemplates-n6AJqSqv.js → useProtocolTemplates-QZtHFFH2.js} +2 -2
- package/dist/{useProtocolTemplates-n6AJqSqv.js.map → useProtocolTemplates-QZtHFFH2.js.map} +1 -1
- package/package.json +1 -1
- package/src/composables/controlComponentBindings.ts +80 -0
- package/src/composables/controlSchemaAdapters.ts +196 -0
- package/src/composables/controlSchemaFormFields.ts +61 -0
- package/src/composables/controlSchemaLayout.ts +59 -0
- package/src/composables/controlSchemaNormalize.ts +101 -0
- package/src/composables/controlSchemaUtils.ts +36 -0
- package/src/composables/controlWorkspaceOptions.ts +21 -0
- package/src/composables/useControlSchema.ts +51 -628
- package/src/composables/useControlWorkspace.ts +207 -0
- package/src/templates/adapters.ts +89 -930
- package/src/templates/assayLookups.ts +33 -0
- package/src/templates/assayMatrixAdapters.ts +78 -0
- package/src/templates/assayMatrixBuilder.ts +59 -0
- package/src/templates/assayNormalizers.ts +34 -0
- package/src/templates/builderDefaults.ts +11 -0
- package/src/templates/builderIdUtils.ts +20 -0
- package/src/templates/builderPresetControls.ts +165 -0
- package/src/templates/builderReadUtils.ts +57 -0
- package/src/templates/builders.ts +122 -2350
- package/src/templates/calibrationCurveAdapters.ts +59 -0
- package/src/templates/calibrationCurveBuilder.ts +99 -0
- package/src/templates/calibrationNormalizers.ts +60 -0
- package/src/templates/componentBindingCatalog.ts +90 -0
- package/src/templates/componentBindingHelpers.ts +93 -0
- package/src/templates/componentBindings.ts +12 -461
- package/src/templates/componentDoseResponseProps.ts +42 -0
- package/src/templates/componentGenericProps.ts +77 -0
- package/src/templates/componentPlateHelpers.ts +29 -0
- package/src/templates/componentPlateMapProps.ts +32 -0
- package/src/templates/componentPropsFactory.ts +21 -0
- package/src/templates/componentQpcrPlateProps.ts +28 -0
- package/src/templates/componentTargetResolvers.ts +69 -0
- package/src/templates/componentTemplateProps.ts +78 -0
- package/src/templates/controlSchemaClone.ts +32 -0
- package/src/templates/controlSchemaConstants.ts +11 -0
- package/src/templates/controlSchemaMerge.ts +40 -0
- package/src/templates/controlSchemaTargets.ts +87 -0
- package/src/templates/controlSchemaTypes.ts +20 -0
- package/src/templates/controlSchemas.ts +22 -704
- package/src/templates/defaultBioTemplateBuilder.ts +124 -0
- package/src/templates/doseResponseAdapters.ts +45 -0
- package/src/templates/doseResponseBuilder.ts +44 -0
- package/src/templates/elisaAssayCollectionBuilder.ts +62 -0
- package/src/templates/flowCytometryAssayCollectionBuilder.ts +41 -0
- package/src/templates/flowCytometryPanelBuilder.ts +53 -0
- package/src/templates/flowNormalizers.ts +58 -0
- package/src/templates/flowPanelAdapters.ts +58 -0
- package/src/templates/instrumentRunAdapterHelpers.ts +94 -0
- package/src/templates/instrumentRunAdapters.ts +163 -0
- package/src/templates/instrumentRunBuilder.ts +97 -0
- package/src/templates/lcmsBatchCollectionBuilder.ts +38 -0
- package/src/templates/plateGeometry.ts +62 -0
- package/src/templates/plateMapAdapters.ts +36 -0
- package/src/templates/plateMapBuilder.ts +43 -0
- package/src/templates/presetControlSchemas.ts +258 -0
- package/src/templates/protocolAdapters.ts +69 -0
- package/src/templates/protocolNormalizers.ts +37 -0
- package/src/templates/protocolStepsBuilder.ts +36 -0
- package/src/templates/qpcrAdapters.ts +104 -0
- package/src/templates/qpcrExpressionCollectionBuilder.ts +33 -0
- package/src/templates/qpcrPlateBuilder.ts +96 -0
- package/src/templates/reagentAdapters.ts +77 -0
- package/src/templates/reagentListBuilder.ts +30 -0
- package/src/templates/runNormalizers.ts +63 -0
- package/src/templates/sampleNormalizers.ts +58 -0
- package/src/templates/samplePrepAdapters.ts +63 -0
- package/src/templates/samplePrepBuilder.ts +51 -0
- package/src/templates/sampleSheetAdapters.ts +75 -0
- package/src/templates/sampleSheetBuilder.ts +23 -0
- package/src/templates/targetedMetabolomicsCollectionBuilder.ts +79 -0
- package/src/templates/targetedMetabolomicsHelpers.ts +102 -0
- package/src/templates/templateControlSchemas.ts +320 -0
- package/src/templates/templateEnvelopes.ts +137 -0
- package/src/templates/templatePackCollectionBuilder.ts +23 -0
- package/src/templates/templatePresetCollectionBuilder.ts +139 -0
- package/src/templates/templateValidators.ts +414 -0
- package/src/templates/timeCourseAdapters.ts +73 -0
- package/src/templates/timeCourseBuilder.ts +64 -0
- package/src/templates/wellPlateScreenCollectionBuilder.ts +36 -0
- package/src/templates/westernBlotAssayCollectionBuilder.ts +68 -0
- package/dist/templates-BorLR_7p.js.map +0 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
BioTemplateEnvelope,
|
|
3
|
+
TemplateCollection,
|
|
4
|
+
TemplateCollectionEnvelope,
|
|
5
|
+
TemplateId,
|
|
6
|
+
} from './types'
|
|
7
|
+
import { isRecord } from './builderReadUtils'
|
|
8
|
+
|
|
9
|
+
export const TEMPLATE_COLLECTION_KEY = 'templates'
|
|
10
|
+
|
|
11
|
+
export function createTemplateEnvelope<TData>(
|
|
12
|
+
templateId: TemplateId,
|
|
13
|
+
data: TData,
|
|
14
|
+
metadata: Record<string, unknown> = {},
|
|
15
|
+
templateVersion = '1.0'
|
|
16
|
+
): BioTemplateEnvelope<TData> {
|
|
17
|
+
return {
|
|
18
|
+
template_id: templateId,
|
|
19
|
+
template_version: templateVersion,
|
|
20
|
+
kind: 'experiment-design',
|
|
21
|
+
data,
|
|
22
|
+
metadata,
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function createTemplateCollection(
|
|
27
|
+
templates: Array<BioTemplateEnvelope<unknown>>,
|
|
28
|
+
metadata?: Record<string, unknown>
|
|
29
|
+
): TemplateCollectionEnvelope {
|
|
30
|
+
const collection: TemplateCollection = {}
|
|
31
|
+
for (const template of templates) {
|
|
32
|
+
assertGenericTemplateEnvelope(template)
|
|
33
|
+
const templateId = template.template_id
|
|
34
|
+
if (collection[templateId]) {
|
|
35
|
+
throw new Error(`Duplicate template_id '${templateId}' in template collection.`)
|
|
36
|
+
}
|
|
37
|
+
collection[templateId] = template
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return metadata === undefined
|
|
41
|
+
? { [TEMPLATE_COLLECTION_KEY]: collection }
|
|
42
|
+
: { [TEMPLATE_COLLECTION_KEY]: collection, metadata }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function extractTemplateCollection(value: unknown): TemplateCollection {
|
|
46
|
+
if (isEnvelope<unknown>(value)) {
|
|
47
|
+
assertGenericTemplateEnvelope(value)
|
|
48
|
+
return { [value.template_id]: value }
|
|
49
|
+
}
|
|
50
|
+
if (!isRecord(value)) {
|
|
51
|
+
throw new Error('Template collection payload must be an object.')
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const rawCollection = value[TEMPLATE_COLLECTION_KEY]
|
|
55
|
+
if (rawCollection === undefined) {
|
|
56
|
+
return {}
|
|
57
|
+
}
|
|
58
|
+
if (!isRecord(rawCollection)) {
|
|
59
|
+
throw new Error('Template collection must be an object.')
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const collection: TemplateCollection = {}
|
|
63
|
+
for (const [templateId, template] of Object.entries(rawCollection)) {
|
|
64
|
+
assertGenericTemplateEnvelope(template)
|
|
65
|
+
if (template.template_id !== templateId) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
`Template collection key '${templateId}' does not match envelope template_id '${template.template_id}'.`
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
collection[templateId] = template
|
|
71
|
+
}
|
|
72
|
+
return collection
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function ensureTemplateFromCollection<TTemplate extends BioTemplateEnvelope<unknown>>(
|
|
76
|
+
value: unknown,
|
|
77
|
+
templateId: TemplateId | string
|
|
78
|
+
): TTemplate {
|
|
79
|
+
const collection = extractTemplateCollection(value)
|
|
80
|
+
const template = collection[templateId]
|
|
81
|
+
if (!template) {
|
|
82
|
+
throw new Error(`Template '${templateId}' was not found in template collection.`)
|
|
83
|
+
}
|
|
84
|
+
assertTemplateEnvelope(template, templateId)
|
|
85
|
+
return template as TTemplate
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function assertTemplateEnvelope<TData>(
|
|
89
|
+
value: unknown,
|
|
90
|
+
templateId: TemplateId | string
|
|
91
|
+
): asserts value is BioTemplateEnvelope<TData> {
|
|
92
|
+
assertGenericTemplateEnvelope(value)
|
|
93
|
+
if (value.template_id !== templateId) {
|
|
94
|
+
throw new Error(`Expected template_id '${templateId}', got '${String(value.template_id)}'.`)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function ensureTemplateEnvelope<TTemplate extends BioTemplateEnvelope<unknown>>(
|
|
99
|
+
value: unknown,
|
|
100
|
+
templateId: TemplateId | string
|
|
101
|
+
): TTemplate {
|
|
102
|
+
assertTemplateEnvelope(value, templateId)
|
|
103
|
+
return value as TTemplate
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function getTemplateData<TData>(
|
|
107
|
+
template: BioTemplateEnvelope<TData> | TData,
|
|
108
|
+
templateId?: TemplateId | string
|
|
109
|
+
): TData {
|
|
110
|
+
if (isEnvelope<TData>(template)) {
|
|
111
|
+
if (templateId) assertTemplateEnvelope<TData>(template, templateId)
|
|
112
|
+
return template.data
|
|
113
|
+
}
|
|
114
|
+
return template
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function assertGenericTemplateEnvelope(value: unknown): asserts value is BioTemplateEnvelope<unknown> {
|
|
118
|
+
if (!isRecord(value)) {
|
|
119
|
+
throw new Error('Template envelope must be an object.')
|
|
120
|
+
}
|
|
121
|
+
if (typeof value.template_id !== 'string' || value.template_id.length === 0) {
|
|
122
|
+
throw new Error('Template envelope requires a template_id string.')
|
|
123
|
+
}
|
|
124
|
+
if (typeof value.template_version !== 'string' || value.template_version.length === 0) {
|
|
125
|
+
throw new Error('Template envelope requires a template_version string.')
|
|
126
|
+
}
|
|
127
|
+
if (!isRecord(value.data)) {
|
|
128
|
+
throw new Error('Template envelope data must be an object.')
|
|
129
|
+
}
|
|
130
|
+
if ('metadata' in value && !isRecord(value.metadata)) {
|
|
131
|
+
throw new Error('Template envelope metadata must be an object.')
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function isEnvelope<TData>(value: unknown): value is BioTemplateEnvelope<TData> {
|
|
136
|
+
return isRecord(value) && 'template_id' in value && 'data' in value
|
|
137
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getBioTemplatePackInfo } from './packs'
|
|
2
|
+
import { createDefaultBioTemplate } from './defaultBioTemplateBuilder'
|
|
3
|
+
import { createTemplateCollection } from './templateEnvelopes'
|
|
4
|
+
import type {
|
|
5
|
+
CreateBioTemplatePackCollectionOptions,
|
|
6
|
+
TemplateCollectionEnvelope,
|
|
7
|
+
TemplatePackId,
|
|
8
|
+
} from './types'
|
|
9
|
+
|
|
10
|
+
export function createBioTemplatePackCollection(
|
|
11
|
+
name: TemplatePackId | string,
|
|
12
|
+
options: CreateBioTemplatePackCollectionOptions = {},
|
|
13
|
+
): TemplateCollectionEnvelope {
|
|
14
|
+
const pack = getBioTemplatePackInfo(name)
|
|
15
|
+
if (!pack) {
|
|
16
|
+
throw new Error(`Unknown template pack '${name}'.`)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return createTemplateCollection(
|
|
20
|
+
pack.templates.map(templateId => createDefaultBioTemplate(templateId)),
|
|
21
|
+
{ pack: pack.name, ...(options.metadata ?? {}) },
|
|
22
|
+
)
|
|
23
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { bioTemplatePresetControlValuesToOptions } from './builderPresetControls'
|
|
2
|
+
import type { BioTemplateControlValues } from './builderPresetControls'
|
|
3
|
+
import { createElisaAssayCollection } from './elisaAssayCollectionBuilder'
|
|
4
|
+
import { createFlowCytometryAssayCollection } from './flowCytometryAssayCollectionBuilder'
|
|
5
|
+
import { createLcmsBatchCollection } from './lcmsBatchCollectionBuilder'
|
|
6
|
+
import { getBioTemplatePresetInfo } from './presets'
|
|
7
|
+
import { createQpcrExpressionCollection } from './qpcrExpressionCollectionBuilder'
|
|
8
|
+
import { createTargetedMetabolomicsCollection } from './targetedMetabolomicsCollectionBuilder'
|
|
9
|
+
import { createWellPlateScreenCollection } from './wellPlateScreenCollectionBuilder'
|
|
10
|
+
import { createWesternBlotAssayCollection } from './westernBlotAssayCollectionBuilder'
|
|
11
|
+
import type {
|
|
12
|
+
CreateElisaAssayCollectionOptions,
|
|
13
|
+
CreateFlowCytometryAssayCollectionOptions,
|
|
14
|
+
CreateLcmsBatchCollectionOptions,
|
|
15
|
+
CreateQpcrExpressionCollectionOptions,
|
|
16
|
+
CreateTargetedMetabolomicsCollectionOptions,
|
|
17
|
+
CreateWellPlateScreenCollectionOptions,
|
|
18
|
+
CreateWesternBlotAssayCollectionOptions,
|
|
19
|
+
TemplateCollectionEnvelope,
|
|
20
|
+
TemplatePresetId,
|
|
21
|
+
} from './types'
|
|
22
|
+
|
|
23
|
+
export function createBioTemplatePresetCollection(
|
|
24
|
+
name: 'wellplate-screen',
|
|
25
|
+
options?: CreateWellPlateScreenCollectionOptions
|
|
26
|
+
): TemplateCollectionEnvelope
|
|
27
|
+
export function createBioTemplatePresetCollection(
|
|
28
|
+
name: 'qpcr-expression',
|
|
29
|
+
options?: CreateQpcrExpressionCollectionOptions
|
|
30
|
+
): TemplateCollectionEnvelope
|
|
31
|
+
export function createBioTemplatePresetCollection(
|
|
32
|
+
name: 'lcms-batch',
|
|
33
|
+
options?: CreateLcmsBatchCollectionOptions
|
|
34
|
+
): TemplateCollectionEnvelope
|
|
35
|
+
export function createBioTemplatePresetCollection(
|
|
36
|
+
name: 'targeted-metabolomics',
|
|
37
|
+
options?: CreateTargetedMetabolomicsCollectionOptions
|
|
38
|
+
): TemplateCollectionEnvelope
|
|
39
|
+
export function createBioTemplatePresetCollection(
|
|
40
|
+
name: 'elisa-assay',
|
|
41
|
+
options?: CreateElisaAssayCollectionOptions
|
|
42
|
+
): TemplateCollectionEnvelope
|
|
43
|
+
export function createBioTemplatePresetCollection(
|
|
44
|
+
name: 'flow-cytometry-assay',
|
|
45
|
+
options?: CreateFlowCytometryAssayCollectionOptions
|
|
46
|
+
): TemplateCollectionEnvelope
|
|
47
|
+
export function createBioTemplatePresetCollection(
|
|
48
|
+
name: 'western-blot-assay',
|
|
49
|
+
options?: CreateWesternBlotAssayCollectionOptions
|
|
50
|
+
): TemplateCollectionEnvelope
|
|
51
|
+
export function createBioTemplatePresetCollection(
|
|
52
|
+
name: string,
|
|
53
|
+
options?:
|
|
54
|
+
| CreateWellPlateScreenCollectionOptions
|
|
55
|
+
| CreateQpcrExpressionCollectionOptions
|
|
56
|
+
| CreateLcmsBatchCollectionOptions
|
|
57
|
+
| CreateTargetedMetabolomicsCollectionOptions
|
|
58
|
+
| CreateElisaAssayCollectionOptions
|
|
59
|
+
| CreateFlowCytometryAssayCollectionOptions
|
|
60
|
+
| CreateWesternBlotAssayCollectionOptions
|
|
61
|
+
): TemplateCollectionEnvelope
|
|
62
|
+
export function createBioTemplatePresetCollection(
|
|
63
|
+
name: TemplatePresetId | string,
|
|
64
|
+
options:
|
|
65
|
+
| CreateWellPlateScreenCollectionOptions
|
|
66
|
+
| CreateQpcrExpressionCollectionOptions
|
|
67
|
+
| CreateLcmsBatchCollectionOptions
|
|
68
|
+
| CreateTargetedMetabolomicsCollectionOptions
|
|
69
|
+
| CreateElisaAssayCollectionOptions
|
|
70
|
+
| CreateFlowCytometryAssayCollectionOptions
|
|
71
|
+
| CreateWesternBlotAssayCollectionOptions = {}
|
|
72
|
+
): TemplateCollectionEnvelope {
|
|
73
|
+
const preset = getBioTemplatePresetInfo(name)
|
|
74
|
+
if (!preset) {
|
|
75
|
+
throw new Error(`Unknown template preset '${name}'.`)
|
|
76
|
+
}
|
|
77
|
+
if (preset.name === 'wellplate-screen') {
|
|
78
|
+
return createWellPlateScreenCollection(options as CreateWellPlateScreenCollectionOptions)
|
|
79
|
+
}
|
|
80
|
+
if (preset.name === 'qpcr-expression') {
|
|
81
|
+
return createQpcrExpressionCollection(options as CreateQpcrExpressionCollectionOptions)
|
|
82
|
+
}
|
|
83
|
+
if (preset.name === 'lcms-batch') {
|
|
84
|
+
return createLcmsBatchCollection(options as CreateLcmsBatchCollectionOptions)
|
|
85
|
+
}
|
|
86
|
+
if (preset.name === 'targeted-metabolomics') {
|
|
87
|
+
return createTargetedMetabolomicsCollection(options as CreateTargetedMetabolomicsCollectionOptions)
|
|
88
|
+
}
|
|
89
|
+
if (preset.name === 'elisa-assay') {
|
|
90
|
+
return createElisaAssayCollection(options as CreateElisaAssayCollectionOptions)
|
|
91
|
+
}
|
|
92
|
+
if (preset.name === 'flow-cytometry-assay') {
|
|
93
|
+
return createFlowCytometryAssayCollection(options as CreateFlowCytometryAssayCollectionOptions)
|
|
94
|
+
}
|
|
95
|
+
if (preset.name === 'western-blot-assay') {
|
|
96
|
+
return createWesternBlotAssayCollection(options as CreateWesternBlotAssayCollectionOptions)
|
|
97
|
+
}
|
|
98
|
+
throw new Error(`Unknown template preset '${name}'.`)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
102
|
+
name: 'wellplate-screen',
|
|
103
|
+
values: BioTemplateControlValues
|
|
104
|
+
): TemplateCollectionEnvelope
|
|
105
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
106
|
+
name: 'qpcr-expression',
|
|
107
|
+
values: BioTemplateControlValues
|
|
108
|
+
): TemplateCollectionEnvelope
|
|
109
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
110
|
+
name: 'lcms-batch',
|
|
111
|
+
values: BioTemplateControlValues
|
|
112
|
+
): TemplateCollectionEnvelope
|
|
113
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
114
|
+
name: 'targeted-metabolomics',
|
|
115
|
+
values: BioTemplateControlValues
|
|
116
|
+
): TemplateCollectionEnvelope
|
|
117
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
118
|
+
name: 'elisa-assay',
|
|
119
|
+
values: BioTemplateControlValues
|
|
120
|
+
): TemplateCollectionEnvelope
|
|
121
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
122
|
+
name: 'flow-cytometry-assay',
|
|
123
|
+
values: BioTemplateControlValues
|
|
124
|
+
): TemplateCollectionEnvelope
|
|
125
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
126
|
+
name: 'western-blot-assay',
|
|
127
|
+
values: BioTemplateControlValues
|
|
128
|
+
): TemplateCollectionEnvelope
|
|
129
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
130
|
+
name: TemplatePresetId | string,
|
|
131
|
+
values: BioTemplateControlValues
|
|
132
|
+
): TemplateCollectionEnvelope
|
|
133
|
+
export function createBioTemplatePresetCollectionFromControls(
|
|
134
|
+
name: TemplatePresetId | string,
|
|
135
|
+
values: BioTemplateControlValues
|
|
136
|
+
): TemplateCollectionEnvelope {
|
|
137
|
+
const options = bioTemplatePresetControlValuesToOptions(name, values)
|
|
138
|
+
return createBioTemplatePresetCollection(name, options)
|
|
139
|
+
}
|