@platforma-open/milaboratories.generation-probability.block 1.0.0 → 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.
@@ -1,5 +1,61 @@
1
1
  # @platforma-open/milaboratories.generation-probability.block
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c8f09a8: Migrate onto the structurer and take the full SDK upgrade (block-tools 2.14.3, tengo-builder 4.0.23, model 1.83.0, ui-vue 1.83.3).
8
+
9
+ Adds the mandatory block kind. Its init-params contract is the input dataset plus the species, so a project template can seed a configured Generation Probability block.
10
+
11
+ ## 1.1.0
12
+
13
+ ### Minor Changes
14
+
15
+ - 5be7d5d: Score imported receptor sets, and fix swapped chain labels on single-cell TCR data
16
+
17
+ **Imported receptor sets.** A set from Import VDJ Data was offered nowhere and scored nothing.
18
+ Four separate things stopped it, each failing differently.
19
+
20
+ The dataset dropdown filtered on the presence of a per-record `pl7.app/vdj/chain` column, which
21
+ an imported set does not have — so it never appeared as an option at all. Its locus is a property
22
+ of the whole set, recorded on the key axis, and that is now accepted as an alternative.
23
+
24
+ The CDR3 alphabet was read from `pl7.app/alphabet` on the key axis or from a `<key>/structure`
25
+ domain key. An imported set states it in neither — the structure key belongs to the
26
+ `scClonotypeKey` vocabulary its axis does not use — so the run died on "Cannot determine CDR3
27
+ alphabet". Its sequence columns do carry the alphabet, so that is where it is now read from when
28
+ the axis says nothing. The axis stays authoritative when it does say something: a MiXCR set emits
29
+ both nucleotide and amino-acid CDR3 columns, and the axis is what says which of them defines the
30
+ clonotype.
31
+
32
+ Scoring needed a per-row locus column and quietly produced an empty result without one. The
33
+ scorer's input table is now assembled in a single pass that appends a constant locus column for a
34
+ unit whose locus is the same for every row, so the scoring script is unchanged and still simply
35
+ reads a locus per row.
36
+
37
+ Whether the two chains are scored separately followed the key axis being
38
+ `pl7.app/vdj/scClonotypeKey`. A paired imported set carries both chains in one frame under the
39
+ `pl7.app/vdj/scClonotypeChain` column domain on a `variantKey` axis, so it took the bulk path,
40
+ where the first CDR3 column found is scored and the other chain is silently dropped. That now
41
+ follows the column domain.
42
+
43
+ **A light chain from an imported set is reported as skipped, not scored.** OLGA needs IGK and IGL
44
+ as separate models and an imported set records only "IG Light", so the locus is genuinely unknown.
45
+ Rather than guess, the light unit keeps its chain name, gets no Pgen, and is named in the block's
46
+ existing skipped-chains banner. Heavy chains (IGH) and TCR alpha/beta (TRA, TRB) score normally.
47
+
48
+ **Swapped chain labels.** MiXCR fixes "A" as the more diverse chain — the one that recombines a D
49
+ segment — so a receptor's chain order is TCRBeta/TCRAlpha and TCRDelta/TCRGamma, not alphabetical.
50
+ The label table read A as Alpha and B as Beta, so on a single-cell TCR alpha/beta dataset the alpha
51
+ column was labelled "Generation probability (Beta)" and the beta column "(Alpha)". Gamma/delta was
52
+ swapped the same way. The Pgen values were always right — the locus came from the per-record chain
53
+ column, never from the A/B letter — but a mislabelled column reads as the wrong chain's result.
54
+ Labels are now derived from the chain that the A/B slot resolves to, through the single table that
55
+ also decides the locus, so a label cannot disagree with the model that produced the value beside it.
56
+
57
+ Bulk, single-cell IG, peptide and amplicon inputs are unaffected.
58
+
3
59
  ## 1.0.0
4
60
 
5
61
  ### Major Changes
Binary file
@@ -1 +1 @@
1
- {"schema":"v2","description":{"id":{"organization":"milaboratories","name":"generation-probability","version":"1.0.0"},"components":{"workflow":{"type":"workflow-v1","main":{"type":"relative","path":"main.plj.gz"}},"model":{"type":"relative","path":"model.json"},"ui":{"type":"relative","path":"ui.tgz"}},"meta":{"title":"Generation Probability","description":"Scores each BCR or TCR clonotype by how likely V(D)J recombination is to produce its CDR3 by chance — its generation probability (Pgen) — a clonal-rarity and germline-distance signal for lead ranking.","longDescription":{"type":"relative","path":"description.md"},"changelog":{"type":"relative","path":"CHANGELOG.md"},"logo":{"type":"relative","path":"block-logo.png"},"url":"https://github.com/platforma-open/generation-probability","support":"mailto:support@milaboratories.com","tags":["vdj","bcr","tcr","downstream"],"organization":{"name":"MiLaboratories Inc","url":"https://milaboratories.com/","logo":{"type":"relative","path":"organization-logo.png"}}},"featureFlags":{"supportsLazyState":true,"supportsPframeQueryRanking":true,"requiresUIAPIVersion":3,"requiresModelAPIVersion":2,"requiresCreatePTable":2,"requiresPFramesVersion":1001031,"requiresPFrameSpec":true,"requiresPFrame":true,"requiresDialog":true,"requiresColumnsCollection":true}},"timestamp":1784887432937,"files":[{"name":"main.plj.gz","size":807938,"sha256":"3EEF90BDC8975C3B7F4350CAEDC20618BE8D4B520E13CC8E3AC03FE5EC937921"},{"name":"model.json","size":500411,"sha256":"FBA0F5C4042EE2549D7A3C0AD4F4D64C5B0730B4BF7FFD02D70866B726E80E22"},{"name":"ui.tgz","size":6309864,"sha256":"EAF0F99A5B013EE4E64FC11D9222CCC24ED9AFF7CD82B84E5457260A674D183E"},{"name":"organization-logo.png","size":24439,"sha256":"FA71390C77C91E4B7FAAE5640D00F92F1E3F2869296F68B6040DD7CC549A50B5"},{"name":"description.md","size":1924,"sha256":"E82C7C607D4D2AC60FD18E810F66ACF6B9CA5E77736C3503562AF95220F5A869"},{"name":"CHANGELOG.md","size":470,"sha256":"8707CB7EBBF9238B6C2BCFB23B22FBC1E44D543B5C7AC456546542EA77ACF117"},{"name":"block-logo.png","size":21527,"sha256":"6BB33BAF0CD039549661B51AE490373BE60D1811EC71F5023400928293BC2427"}]}
1
+ {"schema":"v2","description":{"id":{"organization":"milaboratories","name":"generation-probability","version":"1.2.0"},"components":{"workflow":{"type":"workflow-v1","main":{"type":"relative","path":"main.plj.gz"}},"model":{"type":"relative","path":"model.json"},"ui":{"type":"relative","path":"ui.tgz"}},"meta":{"title":"Generation Probability","description":"Scores each BCR or TCR clonotype by how likely V(D)J recombination is to produce its CDR3 by chance — its generation probability (Pgen) — a clonal-rarity and germline-distance signal for lead ranking.","longDescription":{"type":"relative","path":"description.md"},"changelog":{"type":"relative","path":"CHANGELOG.md"},"logo":{"type":"relative","path":"block-logo.png"},"url":"https://github.com/platforma-open/generation-probability","support":"mailto:support@milaboratories.com","tags":["vdj","bcr","tcr","downstream"],"organization":{"name":"MiLaboratories Inc","url":"https://milaboratories.com/","logo":{"type":"relative","path":"organization-logo.png"}}},"featureFlags":{"supportsLazyState":true,"supportsPframeQueryRanking":true,"requiresUIAPIVersion":3,"requiresModelAPIVersion":2,"requiresCreatePTable":2,"requiresPFramesVersion":1001031,"requiresPFrameSpec":true,"requiresPFrame":true,"requiresDialog":true,"requiresColumnsCollection":true},"kind":"@platforma-open/milaboratories.generation-probability.kind@1.0.0"},"timestamp":1788265438460,"files":[{"name":"main.plj.gz","size":808652,"sha256":"FD911157C00805A99AB7A69D6D6491F116E9BFD0B1F8FA2776FE6160722F68DB"},{"name":"model.json","size":539625,"sha256":"4ADE048A0060852E669363908AF04994D18556FA262D0FCEEED1E708A730A363"},{"name":"ui.tgz","size":6341577,"sha256":"F388074BBCA3A23E552A883316C352044F29739D3DA62DCDAEA91B3087927E48"},{"name":"organization-logo.png","size":24439,"sha256":"FA71390C77C91E4B7FAAE5640D00F92F1E3F2869296F68B6040DD7CC549A50B5"},{"name":"description.md","size":1924,"sha256":"E82C7C607D4D2AC60FD18E810F66ACF6B9CA5E77736C3503562AF95220F5A869"},{"name":"CHANGELOG.md","size":3982,"sha256":"AD30446A063E97102BC16F8900192BF11DAFA2FBDDFE6177E15167E9D28A00BF"},{"name":"block-logo.png","size":21527,"sha256":"6BB33BAF0CD039549661B51AE490373BE60D1811EC71F5023400928293BC2427"}]}