@datagrok/peptides 1.17.28 → 1.18.0

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/778.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"778.js","mappings":"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","sources":["webpack://peptides/webpack/runtime/chunk loaded","webpack://peptides/webpack/runtime/startup chunk dependencies","webpack://peptides/./node_modules/@datagrok-libraries/ml/src/distance-matrix/utils.js","webpack://peptides/./node_modules/@datagrok-libraries/ml/src/distance-matrix/sparse-matrix-threshold-worker.js","webpack://peptides/webpack/bootstrap","webpack://peptides/webpack/runtime/define property getters","webpack://peptides/webpack/runtime/ensure chunk","webpack://peptides/webpack/runtime/get javascript chunk filename","webpack://peptides/webpack/runtime/global","webpack://peptides/webpack/runtime/hasOwnProperty shorthand","webpack://peptides/webpack/runtime/publicPath","webpack://peptides/webpack/runtime/importScripts chunk loading","webpack://peptides/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn __webpack_require__.e(501).then(next);\n};","import { DistanceAggregationMethods } from './types';\nexport const isNil = (x) => x === null || x === undefined;\nexport function insertSmaller(distancesAr, indexes, num, index) {\n if (num > distancesAr[distancesAr.length - 1])\n return;\n const newPosition = distancesAr.findIndex((v) => num < v);\n distancesAr.pop();\n distancesAr.splice(newPosition, 0, num);\n indexes.pop();\n indexes.splice(newPosition, 0, index);\n}\nexport function insertLarger(distancesAr, indexes, num, index) {\n if (num < distancesAr[distancesAr.length - 1])\n return;\n const newPosition = distancesAr.findIndex((v) => num > v);\n distancesAr.pop();\n distancesAr.splice(newPosition, 0, num);\n indexes.pop();\n indexes.splice(newPosition, 0, index);\n}\nexport function getAggregationFunction(aggregationMethod, weights) {\n switch (aggregationMethod) {\n case DistanceAggregationMethods.MANHATTAN:\n return (vs) => vs.reduce((acc, val, idx) => acc + val * weights[idx], 0);\n default:\n return (vs) => {\n // euclidean\n const sum = vs.reduce((acc, val, idx) => acc + (val * weights[idx]) ** 2, 0);\n return Math.sqrt(sum);\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLDBCQUEwQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDO0FBRS9ELE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBcUIsRUFBRSxPQUFpQixFQUFFLEdBQVcsRUFBRSxLQUFhO0lBQ2hHLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztRQUN6QyxPQUFPO0lBRVQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQixXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFdBQXFCLEVBQUUsT0FBaUIsRUFBRSxHQUFXLEVBQUUsS0FBYTtJQUMvRixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7UUFDekMsT0FBTztJQUVULE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxpQkFBNEMsRUFBRSxPQUFpQjtJQUUvRCxRQUFRLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsS0FBSywwQkFBMEIsQ0FBQyxTQUFTO1lBQ3ZDLE9BQU8sQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckY7WUFDRSxPQUFPLENBQUMsRUFBWSxFQUFFLEVBQUU7Z0JBQ3RCLFlBQVk7Z0JBQ1osTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Rpc3RhbmNlQWdncmVnYXRpb25NZXRob2QsIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHg6IGFueSkgPT4geCA9PT0gbnVsbCB8fCB4ID09PSB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRTbWFsbGVyKGRpc3RhbmNlc0FyOiBudW1iZXJbXSwgaW5kZXhlczogbnVtYmVyW10sIG51bTogbnVtYmVyLCBpbmRleDogbnVtYmVyKSB7XG4gIGlmIChudW0gPiBkaXN0YW5jZXNBcltkaXN0YW5jZXNBci5sZW5ndGgtMV0pXG4gICAgcmV0dXJuO1xuXG4gIGNvbnN0IG5ld1Bvc2l0aW9uID0gZGlzdGFuY2VzQXIuZmluZEluZGV4KCh2KSA9PiBudW0gPCB2KTtcbiAgZGlzdGFuY2VzQXIucG9wKCk7XG4gIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgaW5kZXhlcy5wb3AoKTtcbiAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydExhcmdlcihkaXN0YW5jZXNBcjogbnVtYmVyW10sIGluZGV4ZXM6IG51bWJlcltdLCBudW06IG51bWJlciwgaW5kZXg6IG51bWJlcikge1xuICBpZiAobnVtIDwgZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoLTFdKVxuICAgIHJldHVybjtcblxuICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtID4gdik7XG4gIGRpc3RhbmNlc0FyLnBvcCgpO1xuICBkaXN0YW5jZXNBci5zcGxpY2UobmV3UG9zaXRpb24sIDAsIG51bSk7XG4gIGluZGV4ZXMucG9wKCk7XG4gIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKFxuICBhZ2dyZWdhdGlvbk1ldGhvZDogRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZCwgd2VpZ2h0czogbnVtYmVyW11cbik6ICh2YWx1ZXM6IG51bWJlcltdKSA9PiBudW1iZXIge1xuICBzd2l0Y2ggKGFnZ3JlZ2F0aW9uTWV0aG9kKSB7XG4gICAgY2FzZSBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcy5NQU5IQVRUQU46XG4gICAgICByZXR1cm4gKHZzOiBudW1iZXJbXSkgPT4gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyB2YWwgKiB3ZWlnaHRzW2lkeF0sIDApO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gKHZzOiBudW1iZXJbXSkgPT4ge1xuICAgICAgICAvLyBldWNsaWRlYW5cbiAgICAgICAgY29uc3Qgc3VtID0gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyAodmFsICogd2VpZ2h0c1tpZHhdKSAqKiAyLCAwKTtcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydChzdW0pO1xuICAgICAgfTtcbiAgfVxufVxuIl19","import { getAggregationFunction, isNil } from './utils';\nimport { Measure, isBitArrayMetric } from '../typed-metrics';\nimport BitArray from '@datagrok-libraries/utils/src/bit-array';\nonmessage = async (event) => {\n const { values, startIdx, endIdx, sampleLength, fnNames, opts, weights, aggregationMethod } = event.data;\n try {\n // if (startIdx != -1)\n // throw new Error('Error in sparse threshold worker'); // TODO: remove this line\n let distances = new Float32Array(sampleLength);\n const chunkSize = endIdx - startIdx;\n const aggregate = getAggregationFunction(aggregationMethod, weights);\n values.forEach((v, colIdx) => {\n if (isBitArrayMetric(fnNames[colIdx])) {\n for (let i = 0; i < v.length; ++i) {\n if (isNil(v[i]))\n continue;\n values[colIdx][i] = new BitArray(values[colIdx][i]._data, values[colIdx][i]._length);\n }\n }\n });\n let cnt = 0;\n const increment = Math.floor(chunkSize / sampleLength);\n const distanceFns = new Array(fnNames.length).fill(null).map((_, i) => new Measure(fnNames[i]).getMeasure(opts[i]));\n const startRow = values[0].length - 2 - Math.floor(Math.sqrt(-8 * startIdx + 4 * values[0].length * (values[0].length - 1) - 7) / 2 - 0.5);\n const startCol = startIdx - values[0].length * startRow + Math.floor((startRow + 1) * (startRow + 2) / 2);\n let mi = startRow;\n let mj = startCol;\n let distanceArrayCounter = 0;\n while (cnt < chunkSize && distanceArrayCounter < sampleLength) {\n //const value = seq1List[mi] && seq1List[mj] ? hamming(seq1List[mi], seq1List[mj]) : 0;\n const distanceValues = distanceFns.map((fn, idx) => !isNil(values[idx][mi]) && !isNil(values[idx][mj]) ?\n fn(values[idx][mi], values[idx][mj]) : 1);\n const value = distanceValues.length === 1 ? distanceValues[0] : aggregate(distanceValues);\n distances[distanceArrayCounter] = value;\n distanceArrayCounter++;\n // const currentIncrement = Math.floor(Math.random() * increment) + 1\n cnt += increment;\n mj += increment;\n while (mj >= values[0].length && cnt < chunkSize) {\n mi++;\n mj = mi + 1 + (mj - values[0].length);\n }\n }\n if (distanceArrayCounter < sampleLength)\n distances = distances.slice(0, distanceArrayCounter);\n postMessage({ distance: distances });\n }\n catch (e) {\n postMessage({ error: e });\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFlLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sUUFBUSxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELFNBQVMsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUIsTUFBTSxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxHQUdsQixLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xGLElBQUksQ0FBQztRQUNILHNCQUFzQjtRQUN0QixtRkFBbUY7UUFDbkYsSUFBSSxTQUFTLEdBQWlCLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDcEMsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzQixJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFBRSxTQUFTO29CQUMxQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZGLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BILE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUYsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUcsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ2xCLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNsQixJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEdBQUcsR0FBRyxTQUFTLElBQUksb0JBQW9CLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDOUQsdUZBQXVGO1lBQ3ZGLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0RyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUYsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3hDLG9CQUFvQixFQUFFLENBQUM7WUFDdkIscUVBQXFFO1lBQ3JFLEdBQUcsSUFBRSxTQUFTLENBQUM7WUFDZixFQUFFLElBQUUsU0FBUyxDQUFDO1lBQ2QsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsU0FBUyxFQUFFLENBQUM7Z0JBQ2pELEVBQUUsRUFBRSxDQUFDO2dCQUNMLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksb0JBQW9CLEdBQUcsWUFBWTtZQUNyQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV2RCxXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLFdBQVcsQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEFnZ3JlZ2F0aW9uRnVuY3Rpb24sIGlzTmlsfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7S25vd25NZXRyaWNzLCBNZWFzdXJlLCBpc0JpdEFycmF5TWV0cmljfSBmcm9tICcuLi90eXBlZC1tZXRyaWNzJztcbmltcG9ydCBCaXRBcnJheSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXknO1xuaW1wb3J0IHtEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kfSBmcm9tICcuL3R5cGVzJztcbm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4ge1xuICBjb25zdCB7dmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCBzYW1wbGVMZW5ndGgsIGZuTmFtZXMsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kfTpcbiAgICB7dmFsdWVzOiBBcnJheTxhbnlbXT4sIHN0YXJ0SWR4OiBudW1iZXIsIGVuZElkeDogbnVtYmVyLFxuICAgICAgc2FtcGxlTGVuZ3RoOiBudW1iZXIsIGZuTmFtZXM6IEtub3duTWV0cmljc1tdLCBvcHRzOiBhbnlbXSxcbiAgICAgIHdlaWdodHM6IG51bWJlcltdLCBhZ2dyZWdhdGlvbk1ldGhvZDogRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZH0gPSBldmVudC5kYXRhO1xuICB0cnkge1xuICAgIC8vIGlmIChzdGFydElkeCAhPSAtMSlcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgaW4gc3BhcnNlIHRocmVzaG9sZCB3b3JrZXInKTsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgbGluZVxuICAgIGxldCBkaXN0YW5jZXM6IEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoc2FtcGxlTGVuZ3RoKTtcbiAgICBjb25zdCBjaHVua1NpemUgPSBlbmRJZHggLSBzdGFydElkeDtcbiAgICBjb25zdCBhZ2dyZWdhdGUgPSBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKGFnZ3JlZ2F0aW9uTWV0aG9kLCB3ZWlnaHRzKTtcblxuICAgIHZhbHVlcy5mb3JFYWNoKCh2LCBjb2xJZHgpID0+IHtcbiAgICAgIGlmIChpc0JpdEFycmF5TWV0cmljKGZuTmFtZXNbY29sSWR4XSkpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgaWYgKGlzTmlsKHZbaV0pKSBjb250aW51ZTtcbiAgICAgICAgICB2YWx1ZXNbY29sSWR4XVtpXSA9IG5ldyBCaXRBcnJheSh2YWx1ZXNbY29sSWR4XVtpXS5fZGF0YSwgdmFsdWVzW2NvbElkeF1baV0uX2xlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgY250ID0gMDtcbiAgICBjb25zdCBpbmNyZW1lbnQgPSBNYXRoLmZsb29yKGNodW5rU2l6ZSAvIHNhbXBsZUxlbmd0aCk7XG4gICAgY29uc3QgZGlzdGFuY2VGbnMgPSBuZXcgQXJyYXkoZm5OYW1lcy5sZW5ndGgpLmZpbGwobnVsbCkubWFwKChfLCBpKSA9PiBuZXcgTWVhc3VyZShmbk5hbWVzW2ldKS5nZXRNZWFzdXJlKG9wdHNbaV0pKTtcbiAgICBjb25zdCBzdGFydFJvdyA9IHZhbHVlc1swXS5sZW5ndGggLSAyIC0gTWF0aC5mbG9vcihcbiAgICAgIE1hdGguc3FydCgtOCAqIHN0YXJ0SWR4ICsgNCAqIHZhbHVlc1swXS5sZW5ndGggKiAodmFsdWVzWzBdLmxlbmd0aCAtIDEpIC0gNykgLyAyIC0gMC41KTtcbiAgICBjb25zdCBzdGFydENvbCA9IHN0YXJ0SWR4IC0gdmFsdWVzWzBdLmxlbmd0aCAqIHN0YXJ0Um93ICsgTWF0aC5mbG9vcigoc3RhcnRSb3cgKyAxKSAqIChzdGFydFJvdyArIDIpIC8gMik7XG4gICAgbGV0IG1pID0gc3RhcnRSb3c7XG4gICAgbGV0IG1qID0gc3RhcnRDb2w7XG4gICAgbGV0IGRpc3RhbmNlQXJyYXlDb3VudGVyID0gMDtcbiAgICB3aGlsZSAoY250IDwgY2h1bmtTaXplICYmIGRpc3RhbmNlQXJyYXlDb3VudGVyIDwgc2FtcGxlTGVuZ3RoKSB7XG4gICAgICAvL2NvbnN0IHZhbHVlID0gc2VxMUxpc3RbbWldICYmIHNlcTFMaXN0W21qXSA/IGhhbW1pbmcoc2VxMUxpc3RbbWldLCBzZXExTGlzdFttal0pIDogMDtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVmFsdWVzID0gZGlzdGFuY2VGbnMubWFwKChmbiwgaWR4KSA9PiAhaXNOaWwodmFsdWVzW2lkeF1bbWldKSAmJiAhaXNOaWwodmFsdWVzW2lkeF1bbWpdKSA/XG4gICAgICAgIGZuKHZhbHVlc1tpZHhdW21pXSwgdmFsdWVzW2lkeF1bbWpdKSA6IDEpO1xuICAgICAgY29uc3QgdmFsdWUgPSBkaXN0YW5jZVZhbHVlcy5sZW5ndGggPT09IDEgPyBkaXN0YW5jZVZhbHVlc1swXSA6IGFnZ3JlZ2F0ZShkaXN0YW5jZVZhbHVlcyk7XG4gICAgICBkaXN0YW5jZXNbZGlzdGFuY2VBcnJheUNvdW50ZXJdID0gdmFsdWU7XG4gICAgICBkaXN0YW5jZUFycmF5Q291bnRlcisrO1xuICAgICAgLy8gY29uc3QgY3VycmVudEluY3JlbWVudCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGluY3JlbWVudCkgKyAxXG4gICAgICBjbnQrPWluY3JlbWVudDtcbiAgICAgIG1qKz1pbmNyZW1lbnQ7XG4gICAgICB3aGlsZSAobWogPj0gdmFsdWVzWzBdLmxlbmd0aCAmJiBjbnQgPCBjaHVua1NpemUpIHtcbiAgICAgICAgbWkrKztcbiAgICAgICAgbWogPSBtaSArIDEgKyAobWogLSB2YWx1ZXNbMF0ubGVuZ3RoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGlzdGFuY2VBcnJheUNvdW50ZXIgPCBzYW1wbGVMZW5ndGgpXG4gICAgICBkaXN0YW5jZXMgPSBkaXN0YW5jZXMuc2xpY2UoMCwgZGlzdGFuY2VBcnJheUNvdW50ZXIpO1xuXG4gICAgcG9zdE1lc3NhZ2Uoe2Rpc3RhbmNlOiBkaXN0YW5jZXN9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHBvc3RNZXNzYWdlKHtlcnJvcjogZX0pO1xuICB9XG59O1xuIl19","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [501], () => (__webpack_require__(3778)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t778: 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunkpeptides\"] = self[\"webpackChunkpeptides\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","next","isNil","x","onmessage","async","event","values","startIdx","endIdx","sampleLength","fnNames","opts","weights","aggregationMethod","data","distances","Float32Array","chunkSize","aggregate","MANHATTAN","vs","reduce","acc","val","idx","sum","Math","sqrt","getAggregationFunction","forEach","v","colIdx","i","length","_data","_length","cnt","increment","floor","distanceFns","Array","fill","map","_","getMeasure","startRow","startCol","mi","mj","distanceArrayCounter","distanceValues","fn","value","slice","postMessage","distance","e","error","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","__webpack_exports__","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","key","splice","r","d","definition","o","defineProperty","enumerable","get","f","chunkId","Promise","all","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","call","scriptUrl","importScripts","location","document","currentScript","src","scripts","getElementsByTagName","test","Error","replace","p","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","push","bind","moreModules","runtime","pop","then"],"sourceRoot":""}
1
+ {"version":3,"file":"778.js","mappings":"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","sources":["webpack://peptides/webpack/runtime/chunk loaded","webpack://peptides/webpack/runtime/startup chunk dependencies","webpack://peptides/./node_modules/@datagrok-libraries/ml/src/distance-matrix/utils.js","webpack://peptides/./node_modules/@datagrok-libraries/ml/src/distance-matrix/sparse-matrix-threshold-worker.js","webpack://peptides/webpack/bootstrap","webpack://peptides/webpack/runtime/define property getters","webpack://peptides/webpack/runtime/ensure chunk","webpack://peptides/webpack/runtime/get javascript chunk filename","webpack://peptides/webpack/runtime/global","webpack://peptides/webpack/runtime/hasOwnProperty shorthand","webpack://peptides/webpack/runtime/publicPath","webpack://peptides/webpack/runtime/importScripts chunk loading","webpack://peptides/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn __webpack_require__.e(501).then(next);\n};","import { DistanceAggregationMethods } from './types';\nexport const isNil = (x) => x === null || x === undefined;\nexport function insertSmaller(distancesAr, indexes, num, index) {\n if (num > distancesAr[distancesAr.length - 1])\n return;\n const newPosition = distancesAr.findIndex((v) => num < v);\n distancesAr.pop();\n distancesAr.splice(newPosition, 0, num);\n indexes.pop();\n indexes.splice(newPosition, 0, index);\n}\nexport function insertLarger(distancesAr, indexes, num, index) {\n if (num < distancesAr[distancesAr.length - 1])\n return;\n const newPosition = distancesAr.findIndex((v) => num > v);\n distancesAr.pop();\n distancesAr.splice(newPosition, 0, num);\n indexes.pop();\n indexes.splice(newPosition, 0, index);\n}\nexport function getAggregationFunction(aggregationMethod, weights) {\n switch (aggregationMethod) {\n case DistanceAggregationMethods.MANHATTAN:\n return (vs) => vs.reduce((acc, val, idx) => acc + val * weights[idx], 0);\n default:\n return (vs) => {\n // euclidean\n const sum = vs.reduce((acc, val, idx) => acc + (val * weights[idx]) ** 2, 0);\n return Math.sqrt(sum);\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLDBCQUEwQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDO0FBRS9ELE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBcUIsRUFBRSxPQUFpQixFQUFFLEdBQVcsRUFBRSxLQUFhO0lBQ2hHLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztRQUN6QyxPQUFPO0lBRVQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQixXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFdBQXFCLEVBQUUsT0FBaUIsRUFBRSxHQUFXLEVBQUUsS0FBYTtJQUMvRixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7UUFDekMsT0FBTztJQUVULE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxpQkFBNEMsRUFBRSxPQUFpQjtJQUUvRCxRQUFRLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsS0FBSywwQkFBMEIsQ0FBQyxTQUFTO1lBQ3ZDLE9BQU8sQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckY7WUFDRSxPQUFPLENBQUMsRUFBWSxFQUFFLEVBQUU7Z0JBQ3RCLFlBQVk7Z0JBQ1osTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Rpc3RhbmNlQWdncmVnYXRpb25NZXRob2QsIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHg6IGFueSkgPT4geCA9PT0gbnVsbCB8fCB4ID09PSB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRTbWFsbGVyKGRpc3RhbmNlc0FyOiBudW1iZXJbXSwgaW5kZXhlczogbnVtYmVyW10sIG51bTogbnVtYmVyLCBpbmRleDogbnVtYmVyKSB7XG4gIGlmIChudW0gPiBkaXN0YW5jZXNBcltkaXN0YW5jZXNBci5sZW5ndGgtMV0pXG4gICAgcmV0dXJuO1xuXG4gIGNvbnN0IG5ld1Bvc2l0aW9uID0gZGlzdGFuY2VzQXIuZmluZEluZGV4KCh2KSA9PiBudW0gPCB2KTtcbiAgZGlzdGFuY2VzQXIucG9wKCk7XG4gIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgaW5kZXhlcy5wb3AoKTtcbiAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydExhcmdlcihkaXN0YW5jZXNBcjogbnVtYmVyW10sIGluZGV4ZXM6IG51bWJlcltdLCBudW06IG51bWJlciwgaW5kZXg6IG51bWJlcikge1xuICBpZiAobnVtIDwgZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoLTFdKVxuICAgIHJldHVybjtcblxuICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtID4gdik7XG4gIGRpc3RhbmNlc0FyLnBvcCgpO1xuICBkaXN0YW5jZXNBci5zcGxpY2UobmV3UG9zaXRpb24sIDAsIG51bSk7XG4gIGluZGV4ZXMucG9wKCk7XG4gIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKFxuICBhZ2dyZWdhdGlvbk1ldGhvZDogRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZCwgd2VpZ2h0czogbnVtYmVyW11cbik6ICh2YWx1ZXM6IG51bWJlcltdKSA9PiBudW1iZXIge1xuICBzd2l0Y2ggKGFnZ3JlZ2F0aW9uTWV0aG9kKSB7XG4gICAgY2FzZSBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcy5NQU5IQVRUQU46XG4gICAgICByZXR1cm4gKHZzOiBudW1iZXJbXSkgPT4gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyB2YWwgKiB3ZWlnaHRzW2lkeF0sIDApO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gKHZzOiBudW1iZXJbXSkgPT4ge1xuICAgICAgICAvLyBldWNsaWRlYW5cbiAgICAgICAgY29uc3Qgc3VtID0gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyAodmFsICogd2VpZ2h0c1tpZHhdKSAqKiAyLCAwKTtcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydChzdW0pO1xuICAgICAgfTtcbiAgfVxufVxuIl19","import { getAggregationFunction, isNil } from './utils';\nimport { Measure, isBitArrayMetric } from '../typed-metrics';\nimport BitArray from '@datagrok-libraries/utils/src/bit-array';\nonmessage = async (event) => {\n const { values, startIdx, endIdx, sampleLength, fnNames, opts, weights, aggregationMethod } = event.data;\n try {\n let distances = new Float32Array(sampleLength);\n const chunkSize = endIdx - startIdx;\n const aggregate = getAggregationFunction(aggregationMethod, weights);\n values.forEach((v, colIdx) => {\n if (isBitArrayMetric(fnNames[colIdx])) {\n for (let i = 0; i < v.length; ++i) {\n if (isNil(v[i]))\n continue;\n values[colIdx][i] = new BitArray(values[colIdx][i]._data, values[colIdx][i]._length);\n }\n }\n });\n let cnt = 0;\n const increment = Math.floor(chunkSize / sampleLength);\n const distanceFns = new Array(fnNames.length).fill(null).map((_, i) => new Measure(fnNames[i]).getMeasure(opts[i]));\n const startRow = values[0].length - 2 - Math.floor(Math.sqrt(-8 * startIdx + 4 * values[0].length * (values[0].length - 1) - 7) / 2 - 0.5);\n const startCol = startIdx - values[0].length * startRow + Math.floor((startRow + 1) * (startRow + 2) / 2);\n let mi = startRow;\n let mj = startCol;\n let distanceArrayCounter = 0;\n while (cnt < chunkSize && distanceArrayCounter < sampleLength) {\n //const value = seq1List[mi] && seq1List[mj] ? hamming(seq1List[mi], seq1List[mj]) : 0;\n const distanceValues = distanceFns.map((fn, idx) => !isNil(values[idx][mi]) && !isNil(values[idx][mj]) ?\n fn(values[idx][mi], values[idx][mj]) : 1);\n const value = distanceValues.length === 1 ? distanceValues[0] : aggregate(distanceValues);\n distances[distanceArrayCounter] = value;\n distanceArrayCounter++;\n // const currentIncrement = Math.floor(Math.random() * increment) + 1\n cnt += increment;\n mj += increment;\n while (mj >= values[0].length && cnt < chunkSize) {\n mi++;\n mj = mi + 1 + (mj - values[0].length);\n }\n }\n if (distanceArrayCounter < sampleLength)\n distances = distances.slice(0, distanceArrayCounter);\n postMessage({ distance: distances });\n }\n catch (e) {\n postMessage({ error: e });\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFlLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sUUFBUSxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELFNBQVMsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUIsTUFBTSxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxHQUdsQixLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xGLElBQUksQ0FBQztRQUNILElBQUksU0FBUyxHQUFpQixJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXJFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0IsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUNsQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQUUsU0FBUztvQkFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FB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LEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLG9CQUFvQixHQUFHLFlBQVk7WUFDckMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFdkQsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxXQUFXLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uLCBpc05pbH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge0tub3duTWV0cmljcywgTWVhc3VyZSwgaXNCaXRBcnJheU1ldHJpY30gZnJvbSAnLi4vdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5JztcbmltcG9ydCB7RGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZH0gZnJvbSAnLi90eXBlcyc7XG5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgY29uc3Qge3ZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgc2FtcGxlTGVuZ3RoLCBmbk5hbWVzLCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZH06XG4gICAge3ZhbHVlczogQXJyYXk8YW55W10+LCBzdGFydElkeDogbnVtYmVyLCBlbmRJZHg6IG51bWJlcixcbiAgICAgIHNhbXBsZUxlbmd0aDogbnVtYmVyLCBmbk5hbWVzOiBLbm93bk1ldHJpY3NbXSwgb3B0czogYW55W10sXG4gICAgICB3ZWlnaHRzOiBudW1iZXJbXSwgYWdncmVnYXRpb25NZXRob2Q6IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2R9ID0gZXZlbnQuZGF0YTtcbiAgdHJ5IHtcbiAgICBsZXQgZGlzdGFuY2VzOiBGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHNhbXBsZUxlbmd0aCk7XG4gICAgY29uc3QgY2h1bmtTaXplID0gZW5kSWR4IC0gc3RhcnRJZHg7XG4gICAgY29uc3QgYWdncmVnYXRlID0gZ2V0QWdncmVnYXRpb25GdW5jdGlvbihhZ2dyZWdhdGlvbk1ldGhvZCwgd2VpZ2h0cyk7XG5cbiAgICB2YWx1ZXMuZm9yRWFjaCgodiwgY29sSWR4KSA9PiB7XG4gICAgICBpZiAoaXNCaXRBcnJheU1ldHJpYyhmbk5hbWVzW2NvbElkeF0pKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7ICsraSkge1xuICAgICAgICAgIGlmIChpc05pbCh2W2ldKSkgY29udGludWU7XG4gICAgICAgICAgdmFsdWVzW2NvbElkeF1baV0gPSBuZXcgQml0QXJyYXkodmFsdWVzW2NvbElkeF1baV0uX2RhdGEsIHZhbHVlc1tjb2xJZHhdW2ldLl9sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgbGV0IGNudCA9IDA7XG4gICAgY29uc3QgaW5jcmVtZW50ID0gTWF0aC5mbG9vcihjaHVua1NpemUgLyBzYW1wbGVMZW5ndGgpO1xuICAgIGNvbnN0IGRpc3RhbmNlRm5zID0gbmV3IEFycmF5KGZuTmFtZXMubGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgaSkgPT4gbmV3IE1lYXN1cmUoZm5OYW1lc1tpXSkuZ2V0TWVhc3VyZShvcHRzW2ldKSk7XG4gICAgY29uc3Qgc3RhcnRSb3cgPSB2YWx1ZXNbMF0ubGVuZ3RoIC0gMiAtIE1hdGguZmxvb3IoXG4gICAgICBNYXRoLnNxcnQoLTggKiBzdGFydElkeCArIDQgKiB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAtIDcpIC8gMiAtIDAuNSk7XG4gICAgY29uc3Qgc3RhcnRDb2wgPSBzdGFydElkeCAtIHZhbHVlc1swXS5sZW5ndGggKiBzdGFydFJvdyArIE1hdGguZmxvb3IoKHN0YXJ0Um93ICsgMSkgKiAoc3RhcnRSb3cgKyAyKSAvIDIpO1xuICAgIGxldCBtaSA9IHN0YXJ0Um93O1xuICAgIGxldCBtaiA9IHN0YXJ0Q29sO1xuICAgIGxldCBkaXN0YW5jZUFycmF5Q291bnRlciA9IDA7XG4gICAgd2hpbGUgKGNudCA8IGNodW5rU2l6ZSAmJiBkaXN0YW5jZUFycmF5Q291bnRlciA8IHNhbXBsZUxlbmd0aCkge1xuICAgICAgLy9jb25zdCB2YWx1ZSA9IHNlcTFMaXN0W21pXSAmJiBzZXExTGlzdFttal0gPyBoYW1taW5nKHNlcTFMaXN0W21pXSwgc2VxMUxpc3RbbWpdKSA6IDA7XG4gICAgICBjb25zdCBkaXN0YW5jZVZhbHVlcyA9IGRpc3RhbmNlRm5zLm1hcCgoZm4sIGlkeCkgPT4gIWlzTmlsKHZhbHVlc1tpZHhdW21pXSkgJiYgIWlzTmlsKHZhbHVlc1tpZHhdW21qXSkgP1xuICAgICAgICBmbih2YWx1ZXNbaWR4XVttaV0sIHZhbHVlc1tpZHhdW21qXSkgOiAxKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gZGlzdGFuY2VWYWx1ZXMubGVuZ3RoID09PSAxID8gZGlzdGFuY2VWYWx1ZXNbMF0gOiBhZ2dyZWdhdGUoZGlzdGFuY2VWYWx1ZXMpO1xuICAgICAgZGlzdGFuY2VzW2Rpc3RhbmNlQXJyYXlDb3VudGVyXSA9IHZhbHVlO1xuICAgICAgZGlzdGFuY2VBcnJheUNvdW50ZXIrKztcbiAgICAgIC8vIGNvbnN0IGN1cnJlbnRJbmNyZW1lbnQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpbmNyZW1lbnQpICsgMVxuICAgICAgY250Kz1pbmNyZW1lbnQ7XG4gICAgICBtais9aW5jcmVtZW50O1xuICAgICAgd2hpbGUgKG1qID49IHZhbHVlc1swXS5sZW5ndGggJiYgY250IDwgY2h1bmtTaXplKSB7XG4gICAgICAgIG1pKys7XG4gICAgICAgIG1qID0gbWkgKyAxICsgKG1qIC0gdmFsdWVzWzBdLmxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRpc3RhbmNlQXJyYXlDb3VudGVyIDwgc2FtcGxlTGVuZ3RoKVxuICAgICAgZGlzdGFuY2VzID0gZGlzdGFuY2VzLnNsaWNlKDAsIGRpc3RhbmNlQXJyYXlDb3VudGVyKTtcblxuICAgIHBvc3RNZXNzYWdlKHtkaXN0YW5jZTogZGlzdGFuY2VzfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBwb3N0TWVzc2FnZSh7ZXJyb3I6IGV9KTtcbiAgfVxufTtcbiJdfQ==","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [501], () => (__webpack_require__(3778)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t778: 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunkpeptides\"] = self[\"webpackChunkpeptides\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","next","isNil","x","onmessage","async","event","values","startIdx","endIdx","sampleLength","fnNames","opts","weights","aggregationMethod","data","distances","Float32Array","chunkSize","aggregate","MANHATTAN","vs","reduce","acc","val","idx","sum","Math","sqrt","getAggregationFunction","forEach","v","colIdx","i","length","_data","_length","cnt","increment","floor","distanceFns","Array","fill","map","_","getMeasure","startRow","startCol","mi","mj","distanceArrayCounter","distanceValues","fn","value","slice","postMessage","distance","e","error","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","__webpack_exports__","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","key","splice","r","d","definition","o","defineProperty","enumerable","get","f","chunkId","Promise","all","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","call","scriptUrl","importScripts","location","document","currentScript","src","scripts","getElementsByTagName","test","Error","replace","p","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","push","bind","moreModules","runtime","pop","then"],"sourceRoot":""}
package/dist/801.js ADDED
@@ -0,0 +1,2 @@
1
+ var peptides;(()=>{"use strict";const t=new Map;onmessage=e=>{if(e.data.is){const{is:s,js:n,ds:o}=e.data;for(let e=0;e<s.length;e++)t.has(s[e])||t.set(s[e],new Map),t.get(s[e]).set(n[e],o[e]);return void postMessage("ready")}const{blockStart:s,blockEnd:n}=e.data,o=[],a=[],r=[];for(let e=s;e<n;e++){const s=t.get(e);if(!s)continue;const n=Array.from(s.entries());for(const[s,i]of n){let i=0;for(const[e,o]of n){const n=t.get(e)?.get(s);n&&(i+=o*n)}o.push(e),a.push(s),r.push(i)}}postMessage({i:new Uint32Array(o),j:new Uint32Array(a),distance:new Float32Array(r)})},peptides={}})();
2
+ //# sourceMappingURL=801.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"801.js","mappings":"gCACA,MAAMA,EAAiB,IAAIC,IAC3BC,UAAaC,IAET,GAAIA,EAAEC,KAAKC,GAAI,CACX,MAAM,GAAEA,EAAE,GAAEC,EAAE,GAAEC,GAAOJ,EAAEC,KACzB,IAAK,IAAII,EAAI,EAAGA,EAAIH,EAAGI,OAAQD,IACtBR,EAAeU,IAAIL,EAAGG,KACvBR,EAAeW,IAAIN,EAAGG,GAAI,IAAIP,KAClCD,EAAeY,IAAIP,EAAGG,IAAIG,IAAIL,EAAGE,GAAID,EAAGC,IAG5C,YADAK,YAAY,QAEhB,CAEA,MAAM,WAAEC,EAAU,SAAEC,GAAaZ,EAAEC,KAC7BY,EAAO,GACPC,EAAO,GACPC,EAAO,GAKb,IAAK,IAAIV,EAAIM,EAAYN,EAAIO,EAAUP,IAAK,CACxC,MAAMW,EAAOnB,EAAeY,IAAIJ,GAChC,IAAKW,EACD,SAGJ,MAAMC,EAAcC,MAAMC,KAAKH,EAAKI,WACpC,IAAK,MAAOC,EAAGC,KAAOL,EAAa,CAC/B,IAAIM,EAAM,EAGV,IAAK,MAAOC,EAAIC,KAAOR,EAAa,CAEhC,MAAMS,EAAO7B,EAAeY,IAAIe,IAAKf,IAAIY,GACrCK,IACAH,GAAOE,EAAKC,EACpB,CACAb,EAAKc,KAAKtB,GACVS,EAAKa,KAAKN,GACVN,EAAKY,KAAKJ,EACd,CACJ,CACAb,YAAY,CAAEL,EAAG,IAAIuB,YAAYf,GAAOgB,EAAG,IAAID,YAAYd,GAAOgB,SAAU,IAAIC,aAAahB,IAAQ,E","sources":["webpack://peptides/./node_modules/@datagrok-libraries/ml/src/MCL/mcl-sparse-matrix-mult-worker.js"],"sourcesContent":["\"use strict\";\nconst indexesMapRows = new Map();\nonmessage = (e) => {\n // init step for the worker\n if (e.data.is) {\n const { is, js, ds } = e.data;\n for (let i = 0; i < is.length; i++) {\n if (!indexesMapRows.has(is[i]))\n indexesMapRows.set(is[i], new Map());\n indexesMapRows.get(is[i]).set(js[i], ds[i]);\n }\n postMessage('ready');\n return;\n }\n // main step for the worker\n const { blockStart, blockEnd } = e.data;\n const resI = [];\n const resJ = [];\n const resD = [];\n // we do operations row by row\n // therefore, iterating over all columns is necessary\n // graphically speaking, one worker is working on a horizontal stripe in a matrix\n // blockstart and blockend are the indexes of the rows that the worker is responsible for\n for (let i = blockStart; i < blockEnd; i++) {\n const iMap = indexesMapRows.get(i);\n if (!iMap)\n continue;\n // this worker is responsible for every nonzero value in the row (or iMap)\n // since we are using iMap a lot, we can materialize it\n const iMapEntries = Array.from(iMap.entries());\n for (const [k, _v] of iMapEntries) {\n let sum = 0;\n // here we know that the value is not zero\n // therefore, we can iterate over the columns\n for (const [k1, v1] of iMapEntries) {\n // here we check the column\n const jVal = indexesMapRows.get(k1)?.get(k);\n if (jVal)\n sum += v1 * jVal;\n }\n resI.push(i);\n resJ.push(k);\n resD.push(sum);\n }\n }\n postMessage({ i: new Uint32Array(resI), j: new Uint32Array(resJ), distance: new Float32Array(resD) });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWNsLXNwYXJzZS1tYXRyaXgtbXVsdC13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtY2wtc3BhcnNlLW1hdHJpeC1tdWx0LXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7QUFFOUQsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEIsMkJBQTJCO0lBQzNCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNkLE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVCLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFrQixDQUFDLENBQUM7WUFFdkQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsTUFBTSxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUMsR0FBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUU3RCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFDMUIsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO0lBQzFCLE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUUxQiw4QkFBOEI7SUFDOUIscURBQXFEO0lBQ3JELGlGQUFpRjtJQUdqRix5RkFBeUY7SUFDekYsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUk7WUFDUCxTQUFTO1FBRVgsMEVBQTBFO1FBQzFFLHVEQUF1RDtRQUN2RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNsQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDWiwwQ0FBMEM7WUFDMUMsNkNBQTZDO1lBQzdDLEtBQUssTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsMkJBQTJCO2dCQUMzQixNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxJQUFJO29CQUNOLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFHRCxXQUFXLENBQUMsRUFBQyxDQUFDLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUM7QUFDdEcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmNvbnN0IGluZGV4ZXNNYXBSb3dzID0gbmV3IE1hcDxudW1iZXIsIE1hcDxudW1iZXIsIG51bWJlcj4+KCk7XG5cbm9ubWVzc2FnZSA9IChlKSA9PiB7XG4gIC8vIGluaXQgc3RlcCBmb3IgdGhlIHdvcmtlclxuICBpZiAoZS5kYXRhLmlzKSB7XG4gICAgY29uc3Qge2lzLCBqcywgZHN9ID0gZS5kYXRhO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaW5kZXhlc01hcFJvd3MuaGFzKGlzW2ldKSlcbiAgICAgICAgaW5kZXhlc01hcFJvd3Muc2V0KGlzW2ldLCBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpKTtcblxuICAgICAgaW5kZXhlc01hcFJvd3MuZ2V0KGlzW2ldKSEuc2V0KGpzW2ldLCBkc1tpXSk7XG4gICAgfVxuICAgIHBvc3RNZXNzYWdlKCdyZWFkeScpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIG1haW4gc3RlcCBmb3IgdGhlIHdvcmtlclxuICBjb25zdCB7YmxvY2tTdGFydCwgYmxvY2tFbmR9OiB7W186IHN0cmluZ106IG51bWJlcn0gPSBlLmRhdGE7XG5cbiAgY29uc3QgcmVzSTogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgcmVzSjogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgcmVzRDogbnVtYmVyW10gPSBbXTtcblxuICAvLyB3ZSBkbyBvcGVyYXRpb25zIHJvdyBieSByb3dcbiAgLy8gdGhlcmVmb3JlLCBpdGVyYXRpbmcgb3ZlciBhbGwgY29sdW1ucyBpcyBuZWNlc3NhcnlcbiAgLy8gZ3JhcGhpY2FsbHkgc3BlYWtpbmcsIG9uZSB3b3JrZXIgaXMgd29ya2luZyBvbiBhIGhvcml6b250YWwgc3RyaXBlIGluIGEgbWF0cml4XG5cblxuICAvLyBibG9ja3N0YXJ0IGFuZCBibG9ja2VuZCBhcmUgdGhlIGluZGV4ZXMgb2YgdGhlIHJvd3MgdGhhdCB0aGUgd29ya2VyIGlzIHJlc3BvbnNpYmxlIGZvclxuICBmb3IgKGxldCBpID0gYmxvY2tTdGFydDsgaSA8IGJsb2NrRW5kOyBpKyspIHtcbiAgICBjb25zdCBpTWFwID0gaW5kZXhlc01hcFJvd3MuZ2V0KGkpO1xuICAgIGlmICghaU1hcClcbiAgICAgIGNvbnRpbnVlO1xuXG4gICAgLy8gdGhpcyB3b3JrZXIgaXMgcmVzcG9uc2libGUgZm9yIGV2ZXJ5IG5vbnplcm8gdmFsdWUgaW4gdGhlIHJvdyAob3IgaU1hcClcbiAgICAvLyBzaW5jZSB3ZSBhcmUgdXNpbmcgaU1hcCBhIGxvdCwgd2UgY2FuIG1hdGVyaWFsaXplIGl0XG4gICAgY29uc3QgaU1hcEVudHJpZXMgPSBBcnJheS5mcm9tKGlNYXAuZW50cmllcygpKTtcbiAgICBmb3IgKGNvbnN0IFtrLCBfdl0gb2YgaU1hcEVudHJpZXMpIHtcbiAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgLy8gaGVyZSB3ZSBrbm93IHRoYXQgdGhlIHZhbHVlIGlzIG5vdCB6ZXJvXG4gICAgICAvLyB0aGVyZWZvcmUsIHdlIGNhbiBpdGVyYXRlIG92ZXIgdGhlIGNvbHVtbnNcbiAgICAgIGZvciAoY29uc3QgW2sxLCB2MV0gb2YgaU1hcEVudHJpZXMpIHtcbiAgICAgICAgLy8gaGVyZSB3ZSBjaGVjayB0aGUgY29sdW1uXG4gICAgICAgIGNvbnN0IGpWYWwgPSBpbmRleGVzTWFwUm93cy5nZXQoazEpPy5nZXQoayk7XG4gICAgICAgIGlmIChqVmFsKVxuICAgICAgICAgIHN1bSArPSB2MSAqIGpWYWw7XG4gICAgICB9XG5cbiAgICAgIHJlc0kucHVzaChpKTtcbiAgICAgIHJlc0oucHVzaChrKTtcbiAgICAgIHJlc0QucHVzaChzdW0pO1xuICAgIH1cbiAgfVxuXG5cbiAgcG9zdE1lc3NhZ2Uoe2k6IG5ldyBVaW50MzJBcnJheShyZXNJKSwgajogbmV3IFVpbnQzMkFycmF5KHJlc0opLCBkaXN0YW5jZTogbmV3IEZsb2F0MzJBcnJheShyZXNEKX0pO1xufTtcbiJdfQ=="],"names":["indexesMapRows","Map","onmessage","e","data","is","js","ds","i","length","has","set","get","postMessage","blockStart","blockEnd","resI","resJ","resD","iMap","iMapEntries","Array","from","entries","k","_v","sum","k1","v1","jVal","push","Uint32Array","j","distance","Float32Array"],"sourceRoot":""}