import { createAssayMatrixTemplate } from './assayMatrixBuilder' import { createInstrumentRunTemplate } from './instrumentRunBuilder' import { createSampleSheetTemplate } from './sampleSheetBuilder' import { presetSampleRecords } from './sampleNormalizers' import { createTemplateCollection } from './templateEnvelopes' import type { CreateLcmsBatchCollectionOptions, TemplateCollectionEnvelope, } from './types' /** @deprecated Scheduled for removal from the core SDK in MINT 1.4; the biology templates move to a dedicated package or the owning plugins. */ export function createLcmsBatchCollection( options: CreateLcmsBatchCollectionOptions = {} ): TemplateCollectionEnvelope { const sampleRecords = presetSampleRecords(options.samples ?? ['S001', 'S002']) const sampleSheet = createSampleSheetTemplate({ samples: sampleRecords }) const instrumentRun = createInstrumentRunTemplate({ items: sampleRecords.map(sample => ({ sampleId: sample.sampleId, name: sample.name ?? sample.sampleId, })), method: options.method ?? 'Default method', instrument: options.instrument ?? 'LC-MS', includeQc: options.includeQc, }) const assayMatrix = createAssayMatrixTemplate({ samples: sampleRecords.map(sample => ({ sampleId: sample.sampleId, name: sample.name, group: sample.group, metadata: sample.metadata ?? {}, })), features: options.features ?? ['Glucose', 'Lactate'], }) return createTemplateCollection( [sampleSheet, instrumentRun, assayMatrix], { preset: 'lcms-batch', ...(options.metadata ?? {}) } ) }