@platforma-open/milaboratories.generation-probability.block 1.0.0 → 1.1.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,53 @@
1
1
  # @platforma-open/milaboratories.generation-probability.block
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5be7d5d: Score imported receptor sets, and fix swapped chain labels on single-cell TCR data
8
+
9
+ **Imported receptor sets.** A set from Import VDJ Data was offered nowhere and scored nothing.
10
+ Four separate things stopped it, each failing differently.
11
+
12
+ The dataset dropdown filtered on the presence of a per-record `pl7.app/vdj/chain` column, which
13
+ an imported set does not have — so it never appeared as an option at all. Its locus is a property
14
+ of the whole set, recorded on the key axis, and that is now accepted as an alternative.
15
+
16
+ The CDR3 alphabet was read from `pl7.app/alphabet` on the key axis or from a `<key>/structure`
17
+ domain key. An imported set states it in neither — the structure key belongs to the
18
+ `scClonotypeKey` vocabulary its axis does not use — so the run died on "Cannot determine CDR3
19
+ alphabet". Its sequence columns do carry the alphabet, so that is where it is now read from when
20
+ the axis says nothing. The axis stays authoritative when it does say something: a MiXCR set emits
21
+ both nucleotide and amino-acid CDR3 columns, and the axis is what says which of them defines the
22
+ clonotype.
23
+
24
+ Scoring needed a per-row locus column and quietly produced an empty result without one. The
25
+ scorer's input table is now assembled in a single pass that appends a constant locus column for a
26
+ unit whose locus is the same for every row, so the scoring script is unchanged and still simply
27
+ reads a locus per row.
28
+
29
+ Whether the two chains are scored separately followed the key axis being
30
+ `pl7.app/vdj/scClonotypeKey`. A paired imported set carries both chains in one frame under the
31
+ `pl7.app/vdj/scClonotypeChain` column domain on a `variantKey` axis, so it took the bulk path,
32
+ where the first CDR3 column found is scored and the other chain is silently dropped. That now
33
+ follows the column domain.
34
+
35
+ **A light chain from an imported set is reported as skipped, not scored.** OLGA needs IGK and IGL
36
+ as separate models and an imported set records only "IG Light", so the locus is genuinely unknown.
37
+ Rather than guess, the light unit keeps its chain name, gets no Pgen, and is named in the block's
38
+ existing skipped-chains banner. Heavy chains (IGH) and TCR alpha/beta (TRA, TRB) score normally.
39
+
40
+ **Swapped chain labels.** MiXCR fixes "A" as the more diverse chain — the one that recombines a D
41
+ segment — so a receptor's chain order is TCRBeta/TCRAlpha and TCRDelta/TCRGamma, not alphabetical.
42
+ The label table read A as Alpha and B as Beta, so on a single-cell TCR alpha/beta dataset the alpha
43
+ column was labelled "Generation probability (Beta)" and the beta column "(Alpha)". Gamma/delta was
44
+ swapped the same way. The Pgen values were always right — the locus came from the per-record chain
45
+ column, never from the A/B letter — but a mislabelled column reads as the wrong chain's result.
46
+ Labels are now derived from the chain that the A/B slot resolves to, through the single table that
47
+ also decides the locus, so a label cannot disagree with the model that produced the value beside it.
48
+
49
+ Bulk, single-cell IG, peptide and amplicon inputs are unaffected.
50
+
3
51
  ## 1.0.0
4
52
 
5
53
  ### 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.1.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":1787848762245,"files":[{"name":"main.plj.gz","size":808465,"sha256":"6DD446C55E890258F7140DF4674E5BE3996BAFED43493C3B216B9CBEB07972B5"},{"name":"model.json","size":500737,"sha256":"1F72B4651A298623CC765336E20BA07532E29F33AE9933868C52C2D6B1AB44D1"},{"name":"ui.tgz","size":6310598,"sha256":"A54B1A5D8D4A71C64C7DDF8EFE03BDF96C50496307ED11BD403E26342F15BF5A"},{"name":"organization-logo.png","size":24439,"sha256":"FA71390C77C91E4B7FAAE5640D00F92F1E3F2869296F68B6040DD7CC549A50B5"},{"name":"description.md","size":1924,"sha256":"E82C7C607D4D2AC60FD18E810F66ACF6B9CA5E77736C3503562AF95220F5A869"},{"name":"CHANGELOG.md","size":3638,"sha256":"D2E7C483DBAB10FC88CB7845A72F8E276C4EE842318F64E3CBB364F24ECCD6D9"},{"name":"block-logo.png","size":21527,"sha256":"6BB33BAF0CD039549661B51AE490373BE60D1811EC71F5023400928293BC2427"}]}