UNPKG

screening

Version:

Tools for numbering screening plate

37 lines 1.42 kB
import { generateIconNMRFile } from "./generateIconNMRFile.js"; import { positionToNumber } from "./utils/positionToNumber.js"; /** * Generate iconNMR text file from requests with plate positions * @param requests - array of PlateRequest objects * @param options - options for generating the file * @returns iconNMR text file */ export function generateIconNMRFileFromPlate(requests, options = {}) { const { plateNumber = 1 } = options; const holderRequests = []; for (const request of requests) { const { position, holder, experiments, ...rest } = request; const newHolder = holder ?? getHolder(position, plateNumber); let experimentNumber = getExperimentNumber(position); const experimentsWithHolder = []; for (const experiment of experiments) { experimentsWithHolder.push({ experimentNumber: experimentNumber++, ...experiment, }); } holderRequests.push({ holder: newHolder, experiments: experimentsWithHolder, ...rest, }); } return generateIconNMRFile(holderRequests, options); } function getHolder(position, plateNumber) { return plateNumber * 100 + positionToNumber(position, 12); } function getExperimentNumber(position) { return positionToNumber(position, 12) * 10; } //# sourceMappingURL=generateIconNMRFileFromPlate.js.map