@platforma-open/milaboratories.sequence-properties.model 1.1.1 → 1.2.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/.turbo/turbo-build.log +16 -16
- package/.turbo/turbo-check.log +3 -3
- package/CHANGELOG.md +24 -0
- package/dist/bundle.js +76 -6
- package/dist/bundle.js.map +1 -1
- package/dist/dataModel.cjs +20 -1
- package/dist/dataModel.cjs.map +1 -1
- package/dist/dataModel.d.ts.map +1 -1
- package/dist/dataModel.js +20 -1
- package/dist/dataModel.js.map +1 -1
- package/dist/index.cjs +56 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +40 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -5
- package/dist/index.js.map +1 -1
- package/dist/model.json +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/dataModel.ts +29 -4
- package/src/index.ts +101 -6
- package/src/types.ts +9 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/sequence-properties/sequence-properties/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.sequence-properties.model@1.
|
|
3
|
+
> @platforma-open/milaboratories.sequence-properties.model@1.2.0 build /home/runner/work/sequence-properties/sequence-properties/model
|
|
4
4
|
> ts-builder build --target block-model && block-tools build-model
|
|
5
5
|
|
|
6
6
|
Building block-model project...
|
|
@@ -8,21 +8,21 @@ Building block-model project...
|
|
|
8
8
|
[33m[PLUGIN_TIMINGS] Warning:[0m Your build spent significant time in plugin `rolldown-plugin-dts:generate`. See https://rolldown.rs/options/checks#plugintimings for more details.
|
|
9
9
|
|
|
10
10
|
[log] <DIR>/dataModel.d.ts.map asset │ size: 0.14 kB
|
|
11
|
-
[log] <DIR>/types.d.ts.map asset │ size: 0.
|
|
12
|
-
[log] <DIR>/dataModel.js.map asset │ size:
|
|
13
|
-
[log] <DIR>/index.d.ts.map asset │ size:
|
|
14
|
-
[log] <DIR>/index.js.map asset │ size:
|
|
11
|
+
[log] <DIR>/types.d.ts.map asset │ size: 0.39 kB
|
|
12
|
+
[log] <DIR>/dataModel.js.map asset │ size: 1.50 kB
|
|
13
|
+
[log] <DIR>/index.d.ts.map asset │ size: 2.00 kB
|
|
14
|
+
[log] <DIR>/index.js.map asset │ size: 11.88 kB
|
|
15
15
|
[log] <DIR>/dataModel.d.ts chunk │ size: 0.29 kB
|
|
16
|
-
[log] <DIR>/dataModel.js chunk │ size: 0.
|
|
17
|
-
[log] <DIR>/types.d.ts chunk │ size: 0.
|
|
18
|
-
[log] <DIR>/index.js chunk │ size:
|
|
19
|
-
[log] <DIR>/index.d.ts chunk │ size:
|
|
20
|
-
[log] <DIR>/dataModel.cjs.map asset │ size:
|
|
21
|
-
[log] <DIR>/index.cjs.map asset │ size:
|
|
22
|
-
[log] <DIR>/dataModel.cjs chunk │ size:
|
|
23
|
-
[log] <DIR>/index.cjs chunk │ size:
|
|
24
|
-
[log] <DIR>/bundle.js.map asset │ size:
|
|
25
|
-
[log] <DIR>/bundle.js chunk │ size:
|
|
16
|
+
[log] <DIR>/dataModel.js chunk │ size: 0.80 kB
|
|
17
|
+
[log] <DIR>/types.d.ts chunk │ size: 0.89 kB
|
|
18
|
+
[log] <DIR>/index.js chunk │ size: 4.47 kB
|
|
19
|
+
[log] <DIR>/index.d.ts chunk │ size: 58.01 kB
|
|
20
|
+
[log] <DIR>/dataModel.cjs.map asset │ size: 1.54 kB
|
|
21
|
+
[log] <DIR>/index.cjs.map asset │ size: 12.01 kB
|
|
22
|
+
[log] <DIR>/dataModel.cjs chunk │ size: 0.83 kB
|
|
23
|
+
[log] <DIR>/index.cjs chunk │ size: 4.72 kB
|
|
24
|
+
[log] <DIR>/bundle.js.map asset │ size: 682.96 kB
|
|
25
|
+
[log] <DIR>/bundle.js chunk │ size: 346.26 kB
|
|
26
26
|
[log]
|
|
27
|
-
[success] rolldown v1.0.0-rc.16 Finished in
|
|
27
|
+
[success] rolldown v1.0.0-rc.16 Finished in 10.54 s
|
|
28
28
|
Build completed successfully
|
package/.turbo/turbo-check.log
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/sequence-properties/sequence-properties/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.sequence-properties.model@1.
|
|
3
|
+
> @platforma-open/milaboratories.sequence-properties.model@1.2.0 check /home/runner/work/sequence-properties/sequence-properties/model
|
|
4
4
|
> ts-builder check --target block-model
|
|
5
5
|
|
|
6
6
|
↳ tsc --noEmit --project ./tsconfig.json --customConditions ,
|
|
7
7
|
Linting project...
|
|
8
8
|
↳ oxlint --config /home/runner/work/sequence-properties/sequence-properties/model/.oxlintrc.json --deny-warnings
|
|
9
9
|
Found 0 warnings and 0 errors.
|
|
10
|
-
Finished in
|
|
10
|
+
Finished in 13ms on 3 files with 90 rules using 2 threads.
|
|
11
11
|
Linting completed successfully
|
|
12
12
|
Checking formatting...
|
|
13
13
|
↳ oxfmt --check --config /home/runner/work/sequence-properties/sequence-properties/model/.oxfmtrc.json
|
|
14
14
|
Checking formatting...
|
|
15
15
|
|
|
16
16
|
All matched files use the correct format.
|
|
17
|
-
Finished in
|
|
17
|
+
Finished in 255ms on 7 files using 2 threads.
|
|
18
18
|
Format check completed successfully
|
|
19
19
|
All checks passed!
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @platforma-open/MiLaboratories.sequence-properties.model
|
|
2
2
|
|
|
3
|
+
## 1.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c6e975d: Add Scatterplot and Histogram tabs to the Sequence Properties block. Both
|
|
8
|
+
panels read the existing `propertiesPf` p-frame and pick modality-aware
|
|
9
|
+
defaults: peptide charge / hydrophobicity in peptide mode, chain "A" CDR3
|
|
10
|
+
charge / hydrophobicity in antibody/TCR mode. Axis pickers list every
|
|
11
|
+
numeric scalar PColumn emitted by the run, excluding the 2-axis AA fraction
|
|
12
|
+
column. R21 / R21a reference line at GRAVY = 0 deferred — see
|
|
13
|
+
docs/spec-deviations.md SD-009.
|
|
14
|
+
|
|
15
|
+
## 1.1.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 9d628d9: **Workflow (SD-008):** Derive receptor from `pl7.app/vdj/chain` when `pl7.app/vdj/receptor` is absent. Bulk MiXCR axes carry the chain key (`IGHeavy`, `IGLight`, `TCRAlpha`, `TCRBeta`, `TCRGamma`, `TCRDelta`) without the receptor key, which previously fired R13b's "Receptor type not detected" warning on every bulk run. Detection precedence now: axis receptor → axis chain → per-column receptor → per-column chain → IG default + warning. Inputs that carry receptor explicitly are unaffected.
|
|
20
|
+
|
|
21
|
+
**Model:** Default-visible single upstream amino-acid sequence column matching the analysed coverage tier — peptide (`pl7.app/sequence`, feature=peptide) for peptide mode; full-chain VDJRegion (`pl7.app/vdj/sequence`, feature=VDJRegion or VDJRegionInFrame, chain A) for `full_chain` tier; CDR3 (`pl7.app/vdj/sequence`, feature=CDR3, chain A) for `cdr3_only` and `partial` tiers. Chain B (light / beta / delta) and secondary alleles stay available via the column picker.
|
|
22
|
+
|
|
23
|
+
**UI:** Move the "Input dataset" picker into a Settings slide-out drawer (matches the convention used by clonotype-clustering and other sibling blocks). Drawer auto-opens on first load when no input is selected, auto-closes when the workflow starts running.
|
|
24
|
+
|
|
25
|
+
**Software:** Switch the Python runenv from `runenv-python-3:3.12.10` to `runenv-python-3:3.12.10-scientific-slim`. The scientific-slim image now ships biopython, so the per-block dependency install is faster and matches the convention used by sibling python blocks (e.g. `titeseq-analysis`).
|
|
26
|
+
|
|
3
27
|
## 1.1.1
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
package/dist/bundle.js
CHANGED
|
@@ -9961,7 +9961,26 @@
|
|
|
9961
9961
|
});
|
|
9962
9962
|
//#endregion
|
|
9963
9963
|
//#region src/dataModel.ts
|
|
9964
|
-
const
|
|
9964
|
+
const DEFAULT_SCATTER_STATE = {
|
|
9965
|
+
title: "",
|
|
9966
|
+
template: "dots",
|
|
9967
|
+
currentTab: null
|
|
9968
|
+
};
|
|
9969
|
+
const DEFAULT_HISTOGRAM_STATE = {
|
|
9970
|
+
title: "",
|
|
9971
|
+
template: "bins",
|
|
9972
|
+
currentTab: null,
|
|
9973
|
+
layersSettings: { bins: { fillColor: "#99e099" } }
|
|
9974
|
+
};
|
|
9975
|
+
const blockDataModel = new DataModelBuilder().from("Ver_2026_04_28").migrate("Ver_2026_05_05", (v1) => ({
|
|
9976
|
+
...v1,
|
|
9977
|
+
graphStateScatter: { ...DEFAULT_SCATTER_STATE },
|
|
9978
|
+
graphStateHistogram: { ...DEFAULT_HISTOGRAM_STATE }
|
|
9979
|
+
})).init(() => ({
|
|
9980
|
+
tableState: createPlDataTableStateV2(),
|
|
9981
|
+
graphStateScatter: { ...DEFAULT_SCATTER_STATE },
|
|
9982
|
+
graphStateHistogram: { ...DEFAULT_HISTOGRAM_STATE }
|
|
9983
|
+
}));
|
|
9965
9984
|
//#endregion
|
|
9966
9985
|
//#region src/index.ts
|
|
9967
9986
|
const inputAnchorSpecs = [
|
|
@@ -9989,6 +10008,9 @@
|
|
|
9989
10008
|
if (ctx.data.inputAnchor === void 0) return void 0;
|
|
9990
10009
|
const ownCols = ctx.outputs?.resolve("propertiesPf")?.getPColumns();
|
|
9991
10010
|
if (ownCols === void 0) return void 0;
|
|
10011
|
+
const info = ctx.outputs?.resolve("info")?.getDataAsJson();
|
|
10012
|
+
if (info === void 0) return void 0;
|
|
10013
|
+
const tier = info.coverageTier;
|
|
9992
10014
|
const sources = [new ArrayColumnProvider(ctx.resultPool.selectColumns((spec) => !spec.annotations?.[Annotation.Trace]?.includes("milaboratories.sequence-properties"))), new ArrayColumnProvider(ownCols)];
|
|
9993
10015
|
return createPlDataTableV3(ctx, {
|
|
9994
10016
|
tableState: ctx.data.tableState,
|
|
@@ -9998,15 +10020,63 @@
|
|
|
9998
10020
|
selector: { mode: "enrichment" }
|
|
9999
10021
|
},
|
|
10000
10022
|
displayOptions: { visibility: [{
|
|
10023
|
+
match: (spec) => {
|
|
10024
|
+
if (spec.domain?.["pl7.app/vdj/scClonotypeChain/index"] === "secondary") return false;
|
|
10025
|
+
if (spec.domain?.["pl7.app/alphabet"] !== "aminoacid") return false;
|
|
10026
|
+
const isVdj = spec.name === "pl7.app/vdj/sequence";
|
|
10027
|
+
const isUniversal = spec.name === "pl7.app/sequence";
|
|
10028
|
+
if (!isVdj && !isUniversal) return false;
|
|
10029
|
+
const feature = isVdj ? spec.domain?.["pl7.app/vdj/feature"] : spec.domain?.["pl7.app/feature"];
|
|
10030
|
+
if (tier === "peptide") return isUniversal && feature === "peptide";
|
|
10031
|
+
const chain = spec.domain?.["pl7.app/vdj/scClonotypeChain"];
|
|
10032
|
+
if (chain !== void 0 && chain !== "A") return false;
|
|
10033
|
+
if (tier === "full_chain") return feature === "VDJRegion" || feature === "VDJRegionInFrame";
|
|
10034
|
+
if (tier === "cdr3_only" || tier === "partial") return feature === "CDR3";
|
|
10035
|
+
return false;
|
|
10036
|
+
},
|
|
10037
|
+
visibility: "default"
|
|
10038
|
+
}, {
|
|
10001
10039
|
match: (spec) => !spec.annotations?.[Annotation.Trace]?.includes("milaboratories.sequence-properties") && spec.annotations?.["pl7.app/isLinkerColumn"] !== "true",
|
|
10002
10040
|
visibility: "optional"
|
|
10003
10041
|
}] }
|
|
10004
10042
|
});
|
|
10005
|
-
}).
|
|
10006
|
-
|
|
10007
|
-
|
|
10008
|
-
|
|
10009
|
-
|
|
10043
|
+
}).outputWithStatus("propertiesPfHandle", (ctx) => {
|
|
10044
|
+
const allPCols = ctx.outputs?.resolve("propertiesPf")?.getPColumns();
|
|
10045
|
+
if (allPCols === void 0) return void 0;
|
|
10046
|
+
const pCols = allPCols.filter((c) => c.spec.name !== "pl7.app/aaFraction");
|
|
10047
|
+
const inputAnchor = ctx.data.inputAnchor;
|
|
10048
|
+
const upstreamMeta = inputAnchor !== void 0 ? (ctx.resultPool.getAnchoredPColumns({ main: inputAnchor }, [{ axes: [{
|
|
10049
|
+
anchor: "main",
|
|
10050
|
+
idx: 0
|
|
10051
|
+
}] }, { axes: [{
|
|
10052
|
+
anchor: "main",
|
|
10053
|
+
idx: 1
|
|
10054
|
+
}] }]) ?? []).filter((c) => !c.spec.annotations?.[Annotation.Trace]?.includes("milaboratories.sequence-properties")) : [];
|
|
10055
|
+
return ctx.createPFrame([...pCols, ...upstreamMeta]);
|
|
10056
|
+
}).output("propertiesPfCols", (ctx) => {
|
|
10057
|
+
const pCols = ctx.outputs?.resolve("propertiesPf")?.getPColumns();
|
|
10058
|
+
if (pCols === void 0) return void 0;
|
|
10059
|
+
return pCols.map((c) => ({
|
|
10060
|
+
columnId: c.id,
|
|
10061
|
+
spec: c.spec
|
|
10062
|
+
}));
|
|
10063
|
+
}).title(() => "Sequence Properties").subtitle((ctx) => ctx.data.defaultBlockLabel ?? "").sections(() => [
|
|
10064
|
+
{
|
|
10065
|
+
type: "link",
|
|
10066
|
+
href: "/",
|
|
10067
|
+
label: "Main"
|
|
10068
|
+
},
|
|
10069
|
+
{
|
|
10070
|
+
type: "link",
|
|
10071
|
+
href: "/scatter",
|
|
10072
|
+
label: "Scatterplot"
|
|
10073
|
+
},
|
|
10074
|
+
{
|
|
10075
|
+
type: "link",
|
|
10076
|
+
href: "/histogram",
|
|
10077
|
+
label: "Histogram"
|
|
10078
|
+
}
|
|
10079
|
+
]).done();
|
|
10010
10080
|
//#endregion
|
|
10011
10081
|
exports.blockDataModel = blockDataModel;
|
|
10012
10082
|
exports.platforma = platforma$1;
|