UNPKG

screening

Version:

Tools for numbering screening plate

36 lines 1.65 kB
/** * Generate iconNMR text file from requests * @param requests - array of PlateRequest objects * @param options - options for generating the file * @returns iconNMR text file */ export function generateIconNMRFile(requests, options = {}) { const { eol = '\r\n', deleteExistingHolder = false, autoSubmit = false, } = options; const textFile = []; for (const request of requests) { let experimentNumberCounter = 1; const { holder } = request; if (deleteExistingHolder) { textFile.push(`USER ${request.user}`, `HOLDER ${holder}`, 'DELETE'); // this is required to delete already existing entries } textFile.push(`USER ${request.user}`, `HOLDER ${holder}`); if (!autoSubmit) textFile.push('NO_SUBMIT'); textFile.push(`NAME ${request.name}`, `TITLE ${request.title}`); for (const experiment of request.experiments) { let experimentNumber = experiment.experimentNumber || experimentNumberCounter++; textFile.push(`EXPNO ${experimentNumber++}`, `SOLVENT ${experiment.solvent}`); if (experiment.parameters && experiment.parameters.length > 0) { const parameters = []; for (const parameter of experiment.parameters) { parameters.push(parameter.label, parameter.value); } textFile.push(`PARAMETERS ${parameters.join(',')}`); } textFile.push(`EXPERIMENT ${experiment.experiment}`); } textFile.push(''); } return textFile.join(eol); } //# sourceMappingURL=generateIconNMRFile.js.map