@sjcrh/proteinpaint-shared 2.188.1 → 2.190.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/README.md +14 -10
- package/dist/src/bulk.cnv.d.ts +2 -0
- package/dist/src/bulk.cnv.js +1 -1
- package/dist/src/bulk.cnv.js.map +3 -3
- package/dist/src/bulk.d.ts +56 -0
- package/dist/src/bulk.del.d.ts +2 -0
- package/dist/src/bulk.del.js +2 -2
- package/dist/src/bulk.del.js.map +3 -3
- package/dist/src/bulk.itd.d.ts +2 -0
- package/dist/src/bulk.itd.js +2 -2
- package/dist/src/bulk.itd.js.map +3 -3
- package/dist/src/bulk.js +1 -2
- package/dist/src/bulk.js.map +3 -3
- package/dist/src/bulk.snv.d.ts +2 -0
- package/dist/src/bulk.snv.js +3 -3
- package/dist/src/bulk.snv.js.map +3 -3
- package/dist/src/bulk.sv.d.ts +3 -0
- package/dist/src/bulk.sv.js +1 -1
- package/dist/src/bulk.sv.js.map +3 -3
- package/dist/src/bulk.svjson.d.ts +2 -0
- package/dist/src/bulk.svjson.js +3 -3
- package/dist/src/bulk.svjson.js.map +3 -3
- package/dist/src/bulk.trunc.d.ts +2 -0
- package/dist/src/bulk.trunc.js +1 -1
- package/dist/src/bulk.trunc.js.map +3 -3
- package/dist/src/clustering.d.ts +10 -0
- package/dist/src/clustering.js.map +1 -1
- package/dist/src/common.d.ts +431 -0
- package/dist/src/common.js +62 -22
- package/dist/src/common.js.map +3 -3
- package/dist/src/compute.percentile.d.ts +1 -0
- package/dist/src/compute.percentile.js.map +1 -1
- package/dist/src/fetch-helpers.d.ts +10 -0
- package/dist/src/fetch-helpers.js +17 -18
- package/dist/src/fetch-helpers.js.map +3 -3
- package/dist/src/fileSize.d.ts +1 -0
- package/dist/src/fileSize.js.map +1 -1
- package/dist/src/hash.d.ts +1 -0
- package/dist/src/hash.js.map +1 -1
- package/dist/src/helpers.d.ts +14 -0
- package/dist/src/helpers.js +3 -4
- package/dist/src/helpers.js.map +3 -3
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.js +1 -2
- package/dist/src/index.js.map +2 -2
- package/dist/src/mds3tk.d.ts +6 -0
- package/dist/src/mds3tk.js.map +3 -3
- package/dist/src/roundValue.d.ts +14 -0
- package/dist/src/roundValue.js.map +1 -1
- package/dist/src/scatter.d.ts +8 -0
- package/dist/src/scatter.js +17 -0
- package/dist/src/scatter.js.map +7 -0
- package/dist/src/termdb.bins.d.ts +5 -0
- package/dist/src/termdb.bins.js +1 -1
- package/dist/src/termdb.bins.js.map +3 -3
- package/dist/src/termdb.initbinconfig.d.ts +1 -0
- package/dist/src/termdb.initbinconfig.js +1 -1
- package/dist/src/termdb.initbinconfig.js.map +3 -3
- package/dist/src/termdb.usecase.d.ts +2 -0
- package/dist/src/termdb.usecase.js.map +3 -3
- package/dist/src/terms.d.ts +29 -52
- package/dist/src/terms.js +71 -56
- package/dist/src/terms.js.map +3 -3
- package/dist/src/tree.d.ts +1 -0
- package/dist/src/tree.js.map +3 -3
- package/dist/src/vcf.ann.d.ts +1 -0
- package/dist/src/vcf.ann.js +1 -2
- package/dist/src/vcf.ann.js.map +3 -3
- package/dist/src/vcf.csq.d.ts +1 -0
- package/dist/src/vcf.csq.js +1 -2
- package/dist/src/vcf.csq.js.map +3 -3
- package/dist/src/vcf.d.ts +2 -0
- package/dist/src/vcf.info.d.ts +1 -0
- package/dist/src/vcf.info.js.map +1 -1
- package/dist/src/vcf.js +47 -42
- package/dist/src/vcf.js.map +4 -4
- package/dist/src/vcf.type.d.ts +1 -0
- package/dist/src/vcf.type.js.map +1 -1
- package/package.json +21 -20
- package/constants/AiHisto.ts +0 -27
- package/constants/README.md +0 -11
- package/devTs.ts +0 -3
- package/dist/constants/AiHisto.d.ts +0 -23
- package/dist/constants/AiHisto.js +0 -31
- package/dist/constants/AiHisto.js.map +0 -7
- package/dist/src/aiHisto.d.ts +0 -5
- package/dist/src/aiHisto.js +0 -15
- package/dist/src/aiHisto.js.map +0 -7
package/README.md
CHANGED
|
@@ -8,26 +8,30 @@ code. Do NOT put utility/helper code here that are specific to only one
|
|
|
8
8
|
workspace, those files should be saved in that workspace.
|
|
9
9
|
|
|
10
10
|
IMPORTANT:
|
|
11
|
-
- code must work in browser and nodejs: do not import libs, deps, or globals that
|
|
12
|
-
are specific to `nodejs` or `browser` environments, like `fs` or `DOM` elements
|
|
11
|
+
- Shared code must work in browser and nodejs: do not import libs, deps, or globals that
|
|
12
|
+
are specific to `nodejs` or `browser` environments, like `fs` or `DOM` elements.
|
|
13
|
+
- Except for contants, do not import from this workspace (aka `@sjcrh/proteinpaint-shared/`
|
|
14
|
+
or `#shared`) into `shared/types` as that will cause cyclical imports that break bundler
|
|
15
|
+
startup or `tsc` compilation.
|
|
13
16
|
|
|
14
17
|
## Develop
|
|
15
18
|
|
|
16
|
-
It is much simpler to import
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
It is much simpler to import directly from `@sjcrh/proteinpaint-shared`. Avoid file-specific
|
|
20
|
+
imports unless tree-shaking performance is a concern. If a specific shared file must be imported,
|
|
21
|
+
prefer an alias such as `#shared/someFile.js`, which shields importers from shared code
|
|
22
|
+
file renames or reorganizations.
|
|
19
23
|
|
|
20
24
|
For server dev, the `tsx` library will accept imports with or without file extension.
|
|
21
25
|
Server (consumer) code should use `@sjcrh/proteinpaint-shared`, or if for some reason
|
|
22
26
|
a shared file must be specific, it MUST use the `.js` file extension (e.g.,
|
|
23
27
|
`#shared/someFile.js`).
|
|
24
28
|
|
|
25
|
-
For client dev, the esbuild config will bundle the
|
|
26
|
-
when `.js` extension is used to import what is actually a `.ts` file
|
|
27
|
-
custom plugins like dirname.
|
|
29
|
+
For client dev, the esbuild config will bundle the `#shared` imports correctly, even
|
|
30
|
+
when `.js` extension is used to import what is actually a `.ts` file.
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
Do not import from `#shared/utils` to `#shared/types` - it may cause `tsc` compilation or `esbuild`
|
|
33
|
+
build errors. Only imports in the opposite direction, from `shared/types` to `shared/utils`, is allowed
|
|
34
|
+
to to ensure that there are no cyclical imports that breaks type checks or bundling.
|
|
31
35
|
|
|
32
36
|
## Build
|
|
33
37
|
|
package/dist/src/bulk.cnv.js
CHANGED
package/dist/src/bulk.cnv.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.cnv.
|
|
4
|
-
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for CNV'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry('cnv')\n\tif (i == -1) return 'CNV missing from header'\n\theader[i] = 'cnv'\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.cnv.header = header\n\tflag.cnv.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m = {}\n\tfor (let j = 0; j < flag.cnv.header.length; j++) {\n\t\tm[flag.cnv.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.cnv.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (!m.cnv) {\n\t\tflag.cnv.badlines.push([i, 'missing cnv value', lst])\n\t\treturn\n\t}\n\tconst value = m.cnv.toLowerCase()\n\tswitch (value) {\n\t\tcase 'amplification':\n\t\tcase 'gain':\n\t\t\tm.class = common.mclasscnvgain\n\t\t\tbreak\n\t\tcase 'deletion':\n\t\tcase 'loss':\n\t\t\tm.class = common.mclasscnvloss\n\t\t\tbreak\n\t\tcase 'loh':\n\t\t\tm.class = common.mclasscnvloh\n\t\t\tbreak\n\t\tdefault:\n\t\t\tflag.cnv.badlines.push([i, 'invalid cnv value: ' + m.cnv, lst])\n\t\t\tm.class = null\n\t}\n\tif (!m.class) {\n\t\treturn\n\t}\n\tif (bulk.parsesample(m, flag, i, lst
|
|
5
|
-
"mappings": "AAMA,YAAY,YAAY;AACxB,YAAY,UAAU;AAEf,SAAS,YAAY,MAAM,MAAM;AACvC,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAWA,MAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQA,EAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,MAAM;AACnB,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,KAAK;AACd,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,OAAK,IAAI,SAAS;AAClB,OAAK,IAAI,SAAS;AAClB,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM;AACxC,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,
|
|
3
|
+
"sources": ["../../src/bulk.cnv.ts"],
|
|
4
|
+
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for CNV'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry('cnv')\n\tif (i == -1) return 'CNV missing from header'\n\theader[i] = 'cnv'\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.cnv.header = header\n\tflag.cnv.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m: Record<string, any> = {}\n\tfor (let j = 0; j < flag.cnv.header.length; j++) {\n\t\tm[flag.cnv.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.cnv.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (!m.cnv) {\n\t\tflag.cnv.badlines.push([i, 'missing cnv value', lst])\n\t\treturn\n\t}\n\tconst value = m.cnv.toLowerCase()\n\tswitch (value) {\n\t\tcase 'amplification':\n\t\tcase 'gain':\n\t\t\tm.class = common.mclasscnvgain\n\t\t\tbreak\n\t\tcase 'deletion':\n\t\tcase 'loss':\n\t\t\tm.class = common.mclasscnvloss\n\t\t\tbreak\n\t\tcase 'loh':\n\t\t\tm.class = common.mclasscnvloh\n\t\t\tbreak\n\t\tdefault:\n\t\t\tflag.cnv.badlines.push([i, 'invalid cnv value: ' + m.cnv, lst])\n\t\t\tm.class = null\n\t}\n\tif (!m.class) {\n\t\treturn\n\t}\n\tif (bulk.parsesample(m, flag, i, lst)) {\n\t\treturn\n\t}\n\tm.dt = common.dtcnv\n\tflag.good++\n\tconst n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene\n\tif (!(n in flag.data)) {\n\t\tflag.data[n] = []\n\t}\n\tflag.data[n].push(m)\n}\n"],
|
|
5
|
+
"mappings": "AAMA,YAAY,YAAY;AACxB,YAAY,UAAU;AAEf,SAAS,YAAY,MAAM,MAAM;AACvC,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAWA,MAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQA,EAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,MAAM;AACnB,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,KAAK;AACd,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,OAAK,IAAI,SAAS;AAClB,OAAK,IAAI,SAAS;AAClB,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM;AACxC,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,IAAyB,CAAC;AAChC,WAAS,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,QAAQ,KAAK;AAChD,MAAE,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,EAC9B;AACA,MAAI,CAAC,EAAE,MAAM;AACZ,SAAK,IAAI,SAAS,KAAK,CAAC,GAAG,gBAAgB,GAAG,CAAC;AAC/C;AAAA,EACD;AACA,MAAI,CAAC,EAAE,KAAK;AACX,SAAK,IAAI,SAAS,KAAK,CAAC,GAAG,qBAAqB,GAAG,CAAC;AACpD;AAAA,EACD;AACA,QAAM,QAAQ,EAAE,IAAI,YAAY;AAChC,UAAQ,OAAO;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AACJ,QAAE,QAAQ,OAAO;AACjB;AAAA,IACD,KAAK;AAAA,IACL,KAAK;AACJ,QAAE,QAAQ,OAAO;AACjB;AAAA,IACD,KAAK;AACJ,QAAE,QAAQ,OAAO;AACjB;AAAA,IACD;AACC,WAAK,IAAI,SAAS,KAAK,CAAC,GAAG,wBAAwB,EAAE,KAAK,GAAG,CAAC;AAC9D,QAAE,QAAQ;AAAA,EACZ;AACA,MAAI,CAAC,EAAE,OAAO;AACb;AAAA,EACD;AACA,MAAI,KAAK,YAAY,GAAG,MAAM,GAAG,GAAG,GAAG;AACtC;AAAA,EACD;AACA,IAAE,KAAK,OAAO;AACd,OAAK;AACL,QAAM,IAAI,KAAK,cAAc,EAAE,KAAK,YAAY,IAAI,EAAE;AACtD,MAAI,EAAE,KAAK,KAAK,OAAO;AACtB,SAAK,KAAK,CAAC,IAAI,CAAC;AAAA,EACjB;AACA,OAAK,KAAK,CAAC,EAAE,KAAK,CAAC;AACpB;",
|
|
6
6
|
"names": ["i"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
declare const _default: {};
|
|
2
|
+
export default _default;
|
|
3
|
+
export declare function init_bulk_flag(genome: any): {
|
|
4
|
+
genome: any;
|
|
5
|
+
mclasslabel2key: {};
|
|
6
|
+
data: {};
|
|
7
|
+
sample2disease: {};
|
|
8
|
+
patient2st: {};
|
|
9
|
+
good: number;
|
|
10
|
+
geneToUpper: boolean;
|
|
11
|
+
snv: {
|
|
12
|
+
loaded: boolean;
|
|
13
|
+
header: null;
|
|
14
|
+
badlines: never[];
|
|
15
|
+
missense: number;
|
|
16
|
+
silent: number;
|
|
17
|
+
};
|
|
18
|
+
svjson: {
|
|
19
|
+
loaded: boolean;
|
|
20
|
+
header: null;
|
|
21
|
+
badlines: never[];
|
|
22
|
+
};
|
|
23
|
+
fusion: {
|
|
24
|
+
loaded: boolean;
|
|
25
|
+
header: null;
|
|
26
|
+
badlines: never[];
|
|
27
|
+
original: never[];
|
|
28
|
+
};
|
|
29
|
+
sv: {
|
|
30
|
+
loaded: boolean;
|
|
31
|
+
header: null;
|
|
32
|
+
badlines: never[];
|
|
33
|
+
original: never[];
|
|
34
|
+
};
|
|
35
|
+
cnv: {
|
|
36
|
+
loaded: boolean;
|
|
37
|
+
header: null;
|
|
38
|
+
badlines: never[];
|
|
39
|
+
};
|
|
40
|
+
itd: {
|
|
41
|
+
loaded: boolean;
|
|
42
|
+
header: null;
|
|
43
|
+
badlines: never[];
|
|
44
|
+
};
|
|
45
|
+
del: {
|
|
46
|
+
loaded: boolean;
|
|
47
|
+
header: null;
|
|
48
|
+
badlines: never[];
|
|
49
|
+
};
|
|
50
|
+
truncation: {
|
|
51
|
+
loaded: boolean;
|
|
52
|
+
header: null;
|
|
53
|
+
badlines: never[];
|
|
54
|
+
};
|
|
55
|
+
} | null;
|
|
56
|
+
export declare function parsesample(m: any, flag: any, i: any, lst: any): boolean | undefined;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function parseheader(line: any, flag: any): false | "gene missing from header" | "invalid header line for intragenic deletion" | "isoform missing from header" | "rnadellength is required when rnaPosition is used" | "chr_start is required when chr is used" | "chr_stop is required when chr is used";
|
|
2
|
+
export declare function parseline(i: any, line: any, flag: any): void;
|
package/dist/src/bulk.del.js
CHANGED
|
@@ -99,14 +99,14 @@ function parseline(i, line, flag) {
|
|
|
99
99
|
}
|
|
100
100
|
m.chrpos2 = v;
|
|
101
101
|
}
|
|
102
|
-
if (bulk.parsesample(m, flag, i, lst
|
|
102
|
+
if (bulk.parsesample(m, flag, i, lst)) {
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
105
|
m.dt = common.dtdel;
|
|
106
106
|
m.class = common.mclassdel;
|
|
107
107
|
m.mname = "DEL";
|
|
108
108
|
flag.good++;
|
|
109
|
-
|
|
109
|
+
const n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene;
|
|
110
110
|
if (!(n in flag.data)) {
|
|
111
111
|
flag.data[n] = [];
|
|
112
112
|
}
|
package/dist/src/bulk.del.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.del.
|
|
4
|
-
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid header line for intragenic deletion'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\ti = htry('rnaposition')\n\tif (i != -1) {\n\t\theader[i] = 'rnaposition'\n\t\ti = htry('rnadellength')\n\t\tif (i == -1) return 'rnadellength is required when rnaPosition is used'\n\t\theader[i] = 'rnadellength'\n\t}\n\ti = htry('chromosome', 'chr')\n\tif (i != -1) {\n\t\theader[i] = 'chr'\n\t\ti = htry('chr_start')\n\t\tif (i == -1) return 'chr_start is required when chr is used'\n\t\theader[i] = 'chrpos1'\n\t\ti = htry('chr_stop')\n\t\tif (i == -1) return 'chr_stop is required when chr is used'\n\t\theader[i] = 'chrpos2'\n\t}\n\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.del.header = header\n\tflag.del.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m = {}\n\tfor (let j = 0; j < flag.del.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.del.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.del.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.rnaposition) {\n\t\tlet v = Number.parseInt(m.rnaposition)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid rnaPosition value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaposition = v\n\t\tif (!m.rnadellength) {\n\t\t\tflag.del.badlines.push([i, 'missing rnaDellength value', lst])\n\t\t\treturn\n\t\t}\n\t\tv = Number.parseInt(m.rnadellength)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid rnaDellength value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnadellength = v\n\t}\n\tif (m.chr) {\n\t\tlet v = Number.parseInt(m.chrpos1)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid chr_start value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos1 = v\n\t\tv = Number.parseInt(m.chrpos2)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid chr_stop value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos2 = v\n\t}\n\n\tif (bulk.parsesample(m, flag, i, lst
|
|
5
|
-
"mappings": "AAMA,YAAY,YAAY;AACxB,YAAY,UAAU;AAEf,SAAS,YAAY,MAAM,MAAM;AACvC,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAWA,MAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQA,EAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,MAAM;AACnB,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa;AACtB,MAAI,KAAK,IAAI;AACZ,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,cAAc;AACvB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AAAA,EACb;AACA,MAAI,KAAK,cAAc,KAAK;AAC5B,MAAI,KAAK,IAAI;AACZ,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,WAAW;AACpB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,UAAU;AACnB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AAAA,EACb;AAEA,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,OAAK,IAAI,SAAS;AAClB,OAAK,IAAI,SAAS;AAClB,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM;AACxC,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,
|
|
3
|
+
"sources": ["../../src/bulk.del.ts"],
|
|
4
|
+
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid header line for intragenic deletion'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\ti = htry('rnaposition')\n\tif (i != -1) {\n\t\theader[i] = 'rnaposition'\n\t\ti = htry('rnadellength')\n\t\tif (i == -1) return 'rnadellength is required when rnaPosition is used'\n\t\theader[i] = 'rnadellength'\n\t}\n\ti = htry('chromosome', 'chr')\n\tif (i != -1) {\n\t\theader[i] = 'chr'\n\t\ti = htry('chr_start')\n\t\tif (i == -1) return 'chr_start is required when chr is used'\n\t\theader[i] = 'chrpos1'\n\t\ti = htry('chr_stop')\n\t\tif (i == -1) return 'chr_stop is required when chr is used'\n\t\theader[i] = 'chrpos2'\n\t}\n\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.del.header = header\n\tflag.del.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m: Record<string, any> = {}\n\tfor (let j = 0; j < flag.del.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.del.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.del.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.rnaposition) {\n\t\tlet v = Number.parseInt(m.rnaposition)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid rnaPosition value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaposition = v\n\t\tif (!m.rnadellength) {\n\t\t\tflag.del.badlines.push([i, 'missing rnaDellength value', lst])\n\t\t\treturn\n\t\t}\n\t\tv = Number.parseInt(m.rnadellength)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid rnaDellength value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnadellength = v\n\t}\n\tif (m.chr) {\n\t\tlet v = Number.parseInt(m.chrpos1)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid chr_start value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos1 = v\n\t\tv = Number.parseInt(m.chrpos2)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.del.badlines.push([i, 'invalid chr_stop value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos2 = v\n\t}\n\n\tif (bulk.parsesample(m, flag, i, lst)) {\n\t\treturn\n\t}\n\tm.dt = common.dtdel\n\tm.class = common.mclassdel\n\tm.mname = 'DEL'\n\tflag.good++\n\tconst n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene\n\tif (!(n in flag.data)) {\n\t\tflag.data[n] = []\n\t}\n\tflag.data[n].push(m)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["i"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function parseheader(line: any, flag: any): false | "gene missing from header" | "isoform missing from header" | "invalid header line for ITD" | "rnaduplength is required when rnaposition is present" | "chr_start is required when chr is present" | "chr_stop is required when chr is present";
|
|
2
|
+
export declare function parseline(i: any, line: any, flag: any): void;
|
package/dist/src/bulk.itd.js
CHANGED
|
@@ -99,14 +99,14 @@ function parseline(i, line, flag) {
|
|
|
99
99
|
}
|
|
100
100
|
m.chrpos2 = v;
|
|
101
101
|
}
|
|
102
|
-
if (bulk.parsesample(m, flag, i, lst
|
|
102
|
+
if (bulk.parsesample(m, flag, i, lst)) {
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
105
|
m.dt = common.dtitd;
|
|
106
106
|
m.class = common.mclassitd;
|
|
107
107
|
m.mname = "ITD";
|
|
108
108
|
flag.good++;
|
|
109
|
-
|
|
109
|
+
const n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene;
|
|
110
110
|
if (!(n in flag.data)) {
|
|
111
111
|
flag.data[n] = [];
|
|
112
112
|
}
|
package/dist/src/bulk.itd.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.itd.
|
|
4
|
-
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid header line for ITD'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\ti = htry('rnaposition')\n\tif (i != -1) {\n\t\theader[i] = 'rnaposition'\n\t\ti = htry('rnaduplength')\n\t\tif (i == -1) return 'rnaduplength is required when rnaposition is present'\n\t\theader[i] = 'rnaduplength'\n\t}\n\ti = htry('chromosome', 'chr')\n\tif (i != -1) {\n\t\theader[i] = 'chr'\n\t\ti = htry('chr_start')\n\t\tif (i == -1) return 'chr_start is required when chr is present'\n\t\theader[i] = 'chrpos1'\n\t\ti = htry('chr_stop')\n\t\tif (i == -1) return 'chr_stop is required when chr is present'\n\t\theader[i] = 'chrpos2'\n\t}\n\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.itd.header = header\n\tflag.itd.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m = {}\n\tfor (let j = 0; j < flag.itd.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.itd.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.itd.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.rnaposition) {\n\t\tlet v = Number.parseInt(m.rnaposition)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid rnaPosition value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaposition = v\n\t\tif (!m.rnaduplength) {\n\t\t\tflag.itd.badlines.push([i, 'missing rnaDuplength value', lst])\n\t\t\treturn\n\t\t}\n\t\tv = Number.parseInt(m.rnaduplength)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid rnaDuplength value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaduplength = v\n\t}\n\tif (m.chr) {\n\t\tlet v = Number.parseInt(m.chrpos1)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid chr_start value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos1 = v\n\t\tv = Number.parseInt(m.chrpos2)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid chr_stop value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos2 = v\n\t}\n\tif (bulk.parsesample(m, flag, i, lst
|
|
5
|
-
"mappings": "AAMA,YAAY,YAAY;AACxB,YAAY,UAAU;AAEf,SAAS,YAAY,MAAM,MAAM;AACvC,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAWA,MAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQA,EAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,MAAM;AACnB,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa;AACtB,MAAI,KAAK,IAAI;AACZ,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,cAAc;AACvB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AAAA,EACb;AACA,MAAI,KAAK,cAAc,KAAK;AAC5B,MAAI,KAAK,IAAI;AACZ,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,WAAW;AACpB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AACZ,QAAI,KAAK,UAAU;AACnB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO,CAAC,IAAI;AAAA,EACb;AAEA,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,OAAK,IAAI,SAAS;AAClB,OAAK,IAAI,SAAS;AAClB,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM;AACxC,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,
|
|
3
|
+
"sources": ["../../src/bulk.itd.ts"],
|
|
4
|
+
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid header line for ITD'\n\tconst htry = (...lst) => {\n\t\tfor (const i of lst) {\n\t\t\tconst j = header.indexOf(i)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\ti = htry('rnaposition')\n\tif (i != -1) {\n\t\theader[i] = 'rnaposition'\n\t\ti = htry('rnaduplength')\n\t\tif (i == -1) return 'rnaduplength is required when rnaposition is present'\n\t\theader[i] = 'rnaduplength'\n\t}\n\ti = htry('chromosome', 'chr')\n\tif (i != -1) {\n\t\theader[i] = 'chr'\n\t\ti = htry('chr_start')\n\t\tif (i == -1) return 'chr_start is required when chr is present'\n\t\theader[i] = 'chrpos1'\n\t\ti = htry('chr_stop')\n\t\tif (i == -1) return 'chr_stop is required when chr is present'\n\t\theader[i] = 'chrpos2'\n\t}\n\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\tflag.itd.header = header\n\tflag.itd.loaded = true\n\treturn false\n}\n\nexport function parseline(i, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m: Record<string, any> = {}\n\tfor (let j = 0; j < flag.itd.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.itd.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.itd.badlines.push([i, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.rnaposition) {\n\t\tlet v = Number.parseInt(m.rnaposition)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid rnaPosition value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaposition = v\n\t\tif (!m.rnaduplength) {\n\t\t\tflag.itd.badlines.push([i, 'missing rnaDuplength value', lst])\n\t\t\treturn\n\t\t}\n\t\tv = Number.parseInt(m.rnaduplength)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid rnaDuplength value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.rnaduplength = v\n\t}\n\tif (m.chr) {\n\t\tlet v = Number.parseInt(m.chrpos1)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid chr_start value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos1 = v\n\t\tv = Number.parseInt(m.chrpos2)\n\t\tif (Number.isNaN(v) || v < 0) {\n\t\t\tflag.itd.badlines.push([i, 'invalid chr_stop value', lst])\n\t\t\treturn\n\t\t}\n\t\tm.chrpos2 = v\n\t}\n\tif (bulk.parsesample(m, flag, i, lst)) {\n\t\treturn\n\t}\n\tm.dt = common.dtitd\n\tm.class = common.mclassitd\n\tm.mname = 'ITD'\n\tflag.good++\n\tconst n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene\n\tif (!(n in flag.data)) {\n\t\tflag.data[n] = []\n\t}\n\tflag.data[n].push(m)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["i"]
|
|
7
7
|
}
|
package/dist/src/bulk.js
CHANGED
|
@@ -69,7 +69,7 @@ function init_bulk_flag(genome) {
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
function parsesample(m, flag, i, lst
|
|
72
|
+
function parsesample(m, flag, i, lst) {
|
|
73
73
|
let variantorigin = common.moriginsomatic;
|
|
74
74
|
if (m.sampletype) {
|
|
75
75
|
const s = m.sampletype.toLowerCase();
|
|
@@ -145,7 +145,6 @@ function parsesample(m, flag, i, lst, badline) {
|
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
const nopatientname = "no patient/individual name";
|
|
148
|
-
let p;
|
|
149
148
|
if (m.patient) {
|
|
150
149
|
if (!flag.patient2st[m.patient]) {
|
|
151
150
|
flag.patient2st[m.patient] = {};
|
package/dist/src/bulk.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.
|
|
4
|
-
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\n\nexport default {}\n\nexport function init_bulk_flag(genome) {\n\tif (!genome) {\n\t\treturn null\n\t}\n\tconst mclasslabel2key = {}\n\tfor (const n in common.mclass) {\n\t\tmclasslabel2key[common.mclass[n].label.toUpperCase()] = n\n\t}\n\treturn {\n\t\tgenome: genome,\n\t\tmclasslabel2key: mclasslabel2key,\n\t\tdata: {},\n\t\tsample2disease: {}, // (proof) k: sample, v: disease\n\t\t// will only record this when origin is used\n\t\tpatient2st: {},\n\t\t// k: patient, v: { k: sampletype, v: sample }\n\t\t// new sample names always override old\n\t\tgood: 0,\n\t\tgeneToUpper: true, // option to not force uppercase on gene names\n\t\tsnv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\t// jinghui: based on missense/silent ratio of entire dataset to decide whether to include silent when importing...\n\t\t\t// hard-coded class codes\n\t\t\tmissense: 0,\n\t\t\tsilent: 0\n\t\t},\n\t\tsvjson: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\tfusion: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\toriginal: []\n\t\t},\n\t\tsv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\toriginal: []\n\t\t},\n\t\tcnv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\titd: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\tdel: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\ttruncation: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t}\n\t}\n}\n\nexport function parsesample(m, flag, i, lst
|
|
5
|
-
"mappings": "AAMA,YAAY,YAAY;AAExB,IAAO,eAAQ,CAAC;AAET,SAAS,eAAe,QAAQ;AACtC,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AACA,QAAM,kBAAkB,CAAC;AACzB,aAAW,KAAK,OAAO,QAAQ;AAC9B,oBAAgB,OAAO,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI;AAAA,EACzD;AACA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,MAAM,CAAC;AAAA,IACP,gBAAgB,CAAC;AAAA;AAAA;AAAA,IAEjB,YAAY,CAAC;AAAA;AAAA;AAAA,IAGb,MAAM;AAAA,IACN,aAAa;AAAA;AAAA,IACb,KAAK;AAAA,MACJ,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA;AAAA;AAAA,MAGX,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,MACX,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,IAAI;AAAA,MACH,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,MACX,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACJ,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACJ,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACJ,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACX,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,CAAC;AAAA,IACZ;AAAA,EACD;AACD;AAEO,SAAS,YAAY,GAAG,MAAM,GAAG,KAAK
|
|
3
|
+
"sources": ["../../src/bulk.ts"],
|
|
4
|
+
"sourcesContent": ["////////////////////////////////////\n//\n// shared between client and server\n//\n////////////////////////////////////\n\nimport * as common from './common.js'\n\nexport default {}\n\nexport function init_bulk_flag(genome) {\n\tif (!genome) {\n\t\treturn null\n\t}\n\tconst mclasslabel2key = {}\n\tfor (const n in common.mclass) {\n\t\tmclasslabel2key[common.mclass[n].label.toUpperCase()] = n\n\t}\n\treturn {\n\t\tgenome: genome,\n\t\tmclasslabel2key: mclasslabel2key,\n\t\tdata: {},\n\t\tsample2disease: {}, // (proof) k: sample, v: disease\n\t\t// will only record this when origin is used\n\t\tpatient2st: {},\n\t\t// k: patient, v: { k: sampletype, v: sample }\n\t\t// new sample names always override old\n\t\tgood: 0,\n\t\tgeneToUpper: true, // option to not force uppercase on gene names\n\t\tsnv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\t// jinghui: based on missense/silent ratio of entire dataset to decide whether to include silent when importing...\n\t\t\t// hard-coded class codes\n\t\t\tmissense: 0,\n\t\t\tsilent: 0\n\t\t},\n\t\tsvjson: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\tfusion: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\toriginal: []\n\t\t},\n\t\tsv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: [],\n\t\t\toriginal: []\n\t\t},\n\t\tcnv: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\titd: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\tdel: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t},\n\t\ttruncation: {\n\t\t\tloaded: false,\n\t\t\theader: null,\n\t\t\tbadlines: []\n\t\t}\n\t}\n}\n\nexport function parsesample(m, flag, i, lst) {\n\tlet variantorigin = common.moriginsomatic\n\tif (m.sampletype) {\n\t\tconst s = m.sampletype.toLowerCase()\n\t\tswitch (s) {\n\t\t\tcase 'relapse':\n\t\t\t\tvariantorigin = common.moriginrelapse\n\t\t\t\tbreak\n\t\t\tcase 'germline':\n\t\t\t\tvariantorigin = common.morigingermline\n\t\t\t\tbreak\n\t\t\tcase 'somatic':\n\t\t\tcase 'diagnosis':\n\t\t\t\tbreak\n\t\t}\n\t\tif (m.sample) {\n\t\t\tif (m.patient) {\n\t\t\t\t// good\n\t\t\t} else {\n\t\t\t\tm.patient = m.sample + ' ' + m.sampletype\n\t\t\t}\n\t\t} else {\n\t\t\tif (m.patient) {\n\t\t\t\tm.sample = m.patient + ' ' + m.sampletype\n\t\t\t} else {\n\t\t\t\t// neither sample or patient, will quit later\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (m.patient) {\n\t\t\tif (m.sample) {\n\t\t\t\tm.sampletype = m.sample\n\t\t\t} else {\n\t\t\t\tm.sample = m.sampletype = m.patient\n\t\t\t}\n\t\t} else {\n\t\t\tif (m.sample) {\n\t\t\t\tm.sampletype = m.sample\n\t\t\t} else {\n\t\t\t\t// no patient/sample, will quit later\n\t\t\t}\n\t\t}\n\t}\n\tif (m.origin) {\n\t\t// override existing variantorigin\n\t\tconst s = m.origin.toLowerCase()\n\t\tswitch (s) {\n\t\t\tcase 'r':\n\t\t\tcase 'relapse':\n\t\t\t\tvariantorigin = common.moriginrelapse\n\t\t\t\tm.isrim2 = true\n\t\t\t\tbreak\n\t\t\tcase 'g':\n\t\t\tcase 'germline':\n\t\t\t\tvariantorigin = common.morigingermline\n\t\t\t\tm.isrim1 = true\n\t\t\t\tbreak\n\t\t\tcase 'gp':\n\t\t\tcase 'germline pathogenic':\n\t\t\t\tvariantorigin = common.morigingermlinepathogenic\n\t\t\t\tm.isrim1 = true\n\t\t\t\tbreak\n\t\t\tcase 'gnp':\n\t\t\tcase 'germline nonpathogenic':\n\t\t\tcase 'germline non-pathogenic':\n\t\t\t\tvariantorigin = common.morigingermlinenonpathogenic\n\t\t\t\tm.isrim1 = true\n\t\t\t\tbreak\n\t\t\tcase 's':\n\t\t\tcase 'somatic':\n\t\t\tcase 'diagnosis':\n\t\t\t\tvariantorigin = common.moriginsomatic\n\t\t\t\tbreak\n\t\t}\n\t}\n\tm.origin = variantorigin\n\n\tif (!m.sample && !m.patient) {\n\t\t// will not go into sample table\n\t\treturn\n\t}\n\n\tconst nopatientname = 'no patient/individual name'\n\n\tif (m.patient) {\n\t\tif (!flag.patient2st[m.patient]) {\n\t\t\tflag.patient2st[m.patient] = {}\n\t\t}\n\t\tflag.patient2st[m.patient][m.sampletype] = m.sample\n\t} else {\n\t\tif (!flag.patient2st[nopatientname]) {\n\t\t\tflag.patient2st[nopatientname] = {}\n\t\t}\n\t\tflag.patient2st[nopatientname][m.sampletype] = m.sample\n\t}\n\n\tif (m.sample) {\n\t\tif (m.disease) {\n\t\t\tif (m.sample in flag.sample2disease) {\n\t\t\t\tif (m.disease != flag.sample2disease[m.sample]) {\n\t\t\t\t\tflag.snv.badlines.push([\n\t\t\t\t\t\ti,\n\t\t\t\t\t\t'conflict of disease types for sample \"' +\n\t\t\t\t\t\t\tm.sample +\n\t\t\t\t\t\t\t'\": ' +\n\t\t\t\t\t\t\tm.disease +\n\t\t\t\t\t\t\t', ' +\n\t\t\t\t\t\t\tflag.sample2disease[m.sample],\n\t\t\t\t\t\tlst\n\t\t\t\t\t])\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag.sample2disease[m.sample] = m.disease\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function parseheader(line: any, flag: any): false | "gene missing from header" | "isoform missing from header" | "invalid file header for snv/indel" | "amino_acid_change missing from header" | "variant_class missing from header" | "chromosome missing from header" | "start missing from header";
|
|
2
|
+
export declare function parseline(linei: any, line: any, flag: any): void;
|
package/dist/src/bulk.snv.js
CHANGED
|
@@ -109,7 +109,7 @@ function parseline(linei, line, flag) {
|
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
if (bulk.parsesample(m, flag, linei, lst
|
|
112
|
+
if (bulk.parsesample(m, flag, linei, lst)) {
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
115
|
if (!m.chr) {
|
|
@@ -132,7 +132,7 @@ function parseline(linei, line, flag) {
|
|
|
132
132
|
if (m.maf_tumor_v2 != void 0 && m.maf_tumor_v1 != void 0) {
|
|
133
133
|
if (m.maf_tumor_v2 == "") {
|
|
134
134
|
} else {
|
|
135
|
-
|
|
135
|
+
const v1 = Number.parseInt(m.maf_tumor_v1), v2 = Number.parseInt(m.maf_tumor_v2);
|
|
136
136
|
if (Number.isNaN(v1) || Number.isNaN(v2)) {
|
|
137
137
|
flag.snv.badlines.push([linei, "invalid maf_tumor mutant and/or total read count", lst]);
|
|
138
138
|
return;
|
|
@@ -145,7 +145,7 @@ function parseline(linei, line, flag) {
|
|
|
145
145
|
if (m.maf_normal_v1 != void 0 && m.maf_normal_v2 != void 0) {
|
|
146
146
|
if (m.maf_normal_v2 == "") {
|
|
147
147
|
} else {
|
|
148
|
-
|
|
148
|
+
const v1 = Number.parseInt(m.maf_normal_v1), v2 = Number.parseInt(m.maf_normal_v2);
|
|
149
149
|
if (Number.isNaN(v1) || Number.isNaN(v2)) {
|
|
150
150
|
flag.snv.badlines.push([linei, "invalid maf_normal mutant and/or total read count", lst]);
|
|
151
151
|
return;
|
package/dist/src/bulk.snv.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.snv.
|
|
4
|
-
"sourcesContent": ["///////////////////////////////\n//\n// shared between client and server\n//\n///////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for snv/indel'\n\tconst htry = (...args) => {\n\t\tfor (const s of args) {\n\t\t\tconst i = header.indexOf(s)\n\t\t\tif (i != -1) return i\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('annovar_gene', 'annovar_sj_gene', 'gene', 'genename', 'gene_symbol', 'hugo_symbol')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry('annovar_aachange', 'amino_acid_change', 'annovar_sj_aachange', 'aachange', 'protein_change', 'variant')\n\tif (i == -1) return 'amino_acid_change missing from header'\n\theader[i] = 'mname'\n\ti = htry('annovar_class', 'class', 'mclass', 'variant_class', 'variant_classification', 'annovar_sj_class')\n\tif (i == -1) return 'variant_class missing from header'\n\theader[i] = 'class'\n\ti = htry('chromosome', 'chr')\n\tif (i == -1) return 'chromosome missing from header'\n\theader[i] = 'chr'\n\ti = htry('wu_hg19_pos', 'start', 'start_position', 'chr_position', 'position')\n\tif (i == -1) return 'start missing from header'\n\theader[i] = 'pos'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\n\t// optional\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('quantitative_measurements')\n\tif (i != -1) header[i] = 'qmset'\n\t// dna maf tumor\n\ti = htry('mutant_reads_in_case', 'mutant_in_tumor', 'tumor_readcount_alt')\n\tif (i != -1) header[i] = 'maf_tumor_v1'\n\ti = htry('total_reads_in_case', 'total_in_tumor', 'tumor_readcount_total')\n\tif (i != -1) header[i] = 'maf_tumor_v2'\n\t// dna maf normal\n\ti = htry('mutant_reads_in_control', 'mutant_in_normal', 'normal_readcount_alt')\n\tif (i != -1) header[i] = 'maf_normal_v1'\n\ti = htry('total_reads_in_control', 'total_in_normal', 'normal_readcount_total')\n\tif (i != -1) header[i] = 'maf_normal_v2'\n\t// rna maf\n\t// cdna\n\ti = htry('cdna_change')\n\tif (i != -1) header[i] = 'cdna_change'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('cancer', 'disease', 'diagnosis')\n\tif (i != -1) header[i] = 'disease'\n\tflag.snv.header = header\n\tflag.snv.loaded = true\n\treturn false\n}\n\nexport function parseline(linei, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m = {}\n\tfor (let j = 0; j < flag.snv.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.snv.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.snv.badlines.push([linei, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.gene.toUpperCase() == 'UNKNOWN') {\n\t\tflag.snv.badlines.push([linei, 'gene name is UNKNOWN', lst])\n\t\treturn\n\t}\n\tif (!m.isoform) {\n\t\tflag.snv.badlines.push([linei, 'missing isoform', lst])\n\t\treturn\n\t}\n\tif (!m.mname) {\n\t\tm.mname = m.cdna_change\n\t\tif (!m.mname) {\n\t\t\tflag.snv.badlines.push([linei, 'missing amino acid change', lst])\n\t\t\treturn\n\t\t}\n\t} else {\n\t\tif (m.mname.indexOf('p.') == 0) {\n\t\t\tm.mname = m.mname.replace(/^p\\./, '')\n\t\t}\n\t}\n\tif (!m.class) {\n\t\tflag.snv.badlines.push([linei, 'missing mutation class', lst])\n\t\treturn\n\t}\n\tlet _c = flag.mclasslabel2key[m.class.toUpperCase()]\n\tif (_c) {\n\t\tm.class = _c\n\t} else {\n\t\t_c = common.mclasstester(m.class)\n\t\tif (_c) {\n\t\t\tm.class = _c\n\t\t} else {\n\t\t\tflag.snv.badlines.push([linei, 'wrong mutation class: ' + m.class, lst])\n\t\t\treturn\n\t\t}\n\t}\n\tif (bulk.parsesample(m, flag, linei, lst
|
|
5
|
-
"mappings": "AAMA,YAAY,YAAY;AACxB,YAAY,UAAU;AAEf,SAAS,YAAY,MAAM,MAAM;AACvC,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,SAAS;AACzB,eAAW,KAAK,MAAM;AACrB,YAAMA,KAAI,OAAO,QAAQ,CAAC;AAC1B,UAAIA,MAAK,GAAI,QAAOA;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,gBAAgB,mBAAmB,QAAQ,YAAY,eAAe,aAAa;AAChG,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,oBAAoB,qBAAqB,uBAAuB,YAAY,kBAAkB,SAAS;AAChH,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,iBAAiB,SAAS,UAAU,iBAAiB,0BAA0B,kBAAkB;AAC1G,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,cAAc,KAAK;AAC5B,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,eAAe,SAAS,kBAAkB,gBAAgB,UAAU;AAC7E,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AAGZ,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,2BAA2B;AACpC,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AAEzB,MAAI,KAAK,wBAAwB,mBAAmB,qBAAqB;AACzE,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,uBAAuB,kBAAkB,uBAAuB;AACzE,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AAEzB,MAAI,KAAK,2BAA2B,oBAAoB,sBAAsB;AAC9E,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,0BAA0B,mBAAmB,wBAAwB;AAC9E,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AAGzB,MAAI,KAAK,aAAa;AACtB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,UAAU,WAAW,WAAW;AACzC,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,OAAK,IAAI,SAAS;AAClB,OAAK,IAAI,SAAS;AAClB,SAAO;AACR;AAEO,SAAS,UAAU,OAAO,MAAM,MAAM;AAC5C,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,
|
|
3
|
+
"sources": ["../../src/bulk.snv.ts"],
|
|
4
|
+
"sourcesContent": ["///////////////////////////////\n//\n// shared between client and server\n//\n///////////////////////////////\n\nimport * as common from './common.js'\nimport * as bulk from './bulk.js'\n\nexport function parseheader(line, flag) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for snv/indel'\n\tconst htry = (...args) => {\n\t\tfor (const s of args) {\n\t\t\tconst i = header.indexOf(s)\n\t\t\tif (i != -1) return i\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('annovar_gene', 'annovar_sj_gene', 'gene', 'genename', 'gene_symbol', 'hugo_symbol')\n\tif (i == -1) return 'gene missing from header'\n\theader[i] = 'gene'\n\ti = htry('annovar_aachange', 'amino_acid_change', 'annovar_sj_aachange', 'aachange', 'protein_change', 'variant')\n\tif (i == -1) return 'amino_acid_change missing from header'\n\theader[i] = 'mname'\n\ti = htry('annovar_class', 'class', 'mclass', 'variant_class', 'variant_classification', 'annovar_sj_class')\n\tif (i == -1) return 'variant_class missing from header'\n\theader[i] = 'class'\n\ti = htry('chromosome', 'chr')\n\tif (i == -1) return 'chromosome missing from header'\n\theader[i] = 'chr'\n\ti = htry('wu_hg19_pos', 'start', 'start_position', 'chr_position', 'position')\n\tif (i == -1) return 'start missing from header'\n\theader[i] = 'pos'\n\ti = htry(\n\t\t'annovar_isoform',\n\t\t'mrna_accession',\n\t\t'mrna accession',\n\t\t'refseq_mrna_id',\n\t\t'annovar_sj_filter_isoform',\n\t\t'refseq',\n\t\t'isoform'\n\t)\n\tif (i == -1) return 'isoform missing from header'\n\theader[i] = 'isoform'\n\n\t// optional\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('quantitative_measurements')\n\tif (i != -1) header[i] = 'qmset'\n\t// dna maf tumor\n\ti = htry('mutant_reads_in_case', 'mutant_in_tumor', 'tumor_readcount_alt')\n\tif (i != -1) header[i] = 'maf_tumor_v1'\n\ti = htry('total_reads_in_case', 'total_in_tumor', 'tumor_readcount_total')\n\tif (i != -1) header[i] = 'maf_tumor_v2'\n\t// dna maf normal\n\ti = htry('mutant_reads_in_control', 'mutant_in_normal', 'normal_readcount_alt')\n\tif (i != -1) header[i] = 'maf_normal_v1'\n\ti = htry('total_reads_in_control', 'total_in_normal', 'normal_readcount_total')\n\tif (i != -1) header[i] = 'maf_normal_v2'\n\t// rna maf\n\t// cdna\n\ti = htry('cdna_change')\n\tif (i != -1) header[i] = 'cdna_change'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\ti = htry('cancer', 'disease', 'diagnosis')\n\tif (i != -1) header[i] = 'disease'\n\tflag.snv.header = header\n\tflag.snv.loaded = true\n\treturn false\n}\n\nexport function parseline(linei, line, flag) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m: Record<string, any> = {}\n\tfor (let j = 0; j < flag.snv.header.length; j++) {\n\t\tif (lst[j] == undefined) break\n\t\tm[flag.snv.header[j]] = lst[j]\n\t}\n\tif (!m.gene) {\n\t\tflag.snv.badlines.push([linei, 'missing gene', lst])\n\t\treturn\n\t}\n\tif (m.gene.toUpperCase() == 'UNKNOWN') {\n\t\tflag.snv.badlines.push([linei, 'gene name is UNKNOWN', lst])\n\t\treturn\n\t}\n\tif (!m.isoform) {\n\t\tflag.snv.badlines.push([linei, 'missing isoform', lst])\n\t\treturn\n\t}\n\tif (!m.mname) {\n\t\tm.mname = m.cdna_change\n\t\tif (!m.mname) {\n\t\t\tflag.snv.badlines.push([linei, 'missing amino acid change', lst])\n\t\t\treturn\n\t\t}\n\t} else {\n\t\tif (m.mname.indexOf('p.') == 0) {\n\t\t\tm.mname = m.mname.replace(/^p\\./, '')\n\t\t}\n\t}\n\tif (!m.class) {\n\t\tflag.snv.badlines.push([linei, 'missing mutation class', lst])\n\t\treturn\n\t}\n\tlet _c = flag.mclasslabel2key[m.class.toUpperCase()]\n\tif (_c) {\n\t\tm.class = _c\n\t} else {\n\t\t_c = common.mclasstester(m.class)\n\t\tif (_c) {\n\t\t\tm.class = _c\n\t\t} else {\n\t\t\tflag.snv.badlines.push([linei, 'wrong mutation class: ' + m.class, lst])\n\t\t\treturn\n\t\t}\n\t}\n\tif (bulk.parsesample(m, flag, linei, lst)) {\n\t\treturn\n\t}\n\tif (!m.chr) {\n\t\tflag.snv.badlines.push([linei, 'missing chromosome', lst])\n\t\treturn\n\t}\n\tif (m.chr.toLowerCase().indexOf('chr') != 0) {\n\t\tm.chr = 'chr' + m.chr\n\t}\n\tif (!m.pos) {\n\t\tflag.snv.badlines.push([linei, 'missing chromosome position', lst])\n\t\treturn\n\t}\n\tconst v = Number.parseInt(m.pos)\n\tif (Number.isNaN(v)) {\n\t\tflag.snv.badlines.push([linei, 'invalid chromosome position', lst])\n\t\treturn\n\t}\n\tm.pos = v - 1\n\n\tif (m.maf_tumor_v2 != undefined && m.maf_tumor_v1 != undefined) {\n\t\tif (m.maf_tumor_v2 == '') {\n\t\t\t// no value, do not parse\n\t\t} else {\n\t\t\tconst v1 = Number.parseInt(m.maf_tumor_v1),\n\t\t\t\tv2 = Number.parseInt(m.maf_tumor_v2)\n\t\t\tif (Number.isNaN(v1) || Number.isNaN(v2)) {\n\t\t\t\tflag.snv.badlines.push([linei, 'invalid maf_tumor mutant and/or total read count', lst])\n\t\t\t\treturn\n\t\t\t}\n\t\t\tm.maf_tumor = { f: v1 / v2, v1: v1, v2: v2 }\n\t\t}\n\t\tdelete m.maf_tumor_v1\n\t\tdelete m.maf_tumor_v2\n\t}\n\n\tif (m.maf_normal_v1 != undefined && m.maf_normal_v2 != undefined) {\n\t\tif (m.maf_normal_v2 == '') {\n\t\t\t// no value\n\t\t} else {\n\t\t\tconst v1 = Number.parseInt(m.maf_normal_v1),\n\t\t\t\tv2 = Number.parseInt(m.maf_normal_v2)\n\t\t\tif (Number.isNaN(v1) || Number.isNaN(v2)) {\n\t\t\t\tflag.snv.badlines.push([linei, 'invalid maf_normal mutant and/or total read count', lst])\n\t\t\t\treturn\n\t\t\t}\n\t\t\tm.maf_normal = { f: v1 / v2, v1: v1, v2: v2 }\n\t\t}\n\t\tdelete m.maf_normal_v1\n\t\tdelete m.maf_normal_v2\n\t}\n\n\t/*\n\tif(m.qmset) {\n\t\ttry{\n\t\t\tvar v=JSON.parse(m.qmset)\n\t\t} catch(e){\n\t\t\tflag.snv.badlines.push([linei,'invalid JSON for quantitative_measurements',lst])\n\t\t\tv=null\n\t\t} finally {\n\t\t\tif(v) {\n\t\t\t\tif(typeof(v)!='object') {\n\t\t\t\t\tflag.snv.badlines.push([linei,'value of quantitative_measurements must be an object',lst])\n\t\t\t\t\tdelete m.qmset\n\t\t\t\t} else {\n\t\t\t\t\tfor(var n in v) {\n\t\t\t\t\t\tif(!Array.isArray(v[n])) {\n\t\t\t\t\t\t\tflag.snv.badlines.push([linei,'quantitative_measurements: \"'+n+'\" value must be an array',lst])\n\t\t\t\t\t\t\tdelete v[n]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar tmp=[]\n\t\t\t\t\t\t\tv[n].forEach(function(v2){\n\t\t\t\t\t\t\t\tif(typeof(v2)=='number') {\n\t\t\t\t\t\t\t\t\ttmp.push({v:v2})\n\t\t\t\t\t\t\t\t} else if(v2.v && typeof(v2.v)=='number') {\n\t\t\t\t\t\t\t\t\ttmp.push(v2)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tif(tmp.length) {\n\t\t\t\t\t\t\t\tv[n]=tmp\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tflag.snv.badlines.push([linei,'quantitative_measurements: no valid value for \"'+n+'\"',lst])\n\t\t\t\t\t\t\t\tdelete v[n]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tm.qmset=v\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdelete m.qmset\n\t\t\t}\n\t\t}\n\t}\n\t*/\n\tflag.good++\n\t// FIXME hard-coded M and S\n\tif (m.class == 'M') {\n\t\tflag.snv.missense++\n\t} else if (m.class == 'S') {\n\t\tflag.snv.silent++\n\t}\n\tconst n = flag.geneToUpper ? m.gene.toUpperCase() : m.gene\n\tif (!flag.data[n]) {\n\t\tflag.data[n] = []\n\t}\n\tm.dt = common.dtsnvindel\n\tflag.data[n].push(m)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["i"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function parseheader(line: any, flag: any, issv: any): false | "invalid file header for fusions" | "gene_a missing from header" | "gene_b missing from header" | "chr_a missing from header" | "chr_b missing from header" | "pos_a missing from header" | "pos_b missing from header" | "isoform_a missing from header" | "isoform_b missing from header" | "strand_a missing from header" | "strand_b missing from header";
|
|
2
|
+
export declare function parseline(i: any, line: any, flag: any, issv: any): void;
|
|
3
|
+
export declare function duplicate(m: any): Record<string, any>;
|
package/dist/src/bulk.sv.js
CHANGED
|
@@ -104,7 +104,7 @@ function parseline(i, line, flag, issv) {
|
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
106
|
m.position2 = v2;
|
|
107
|
-
if (bulk.parsesample(m, flag, i, lst
|
|
107
|
+
if (bulk.parsesample(m, flag, i, lst)) {
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
110
110
|
if (m.isoform1 && m.isoform1.indexOf(",") != -1) {
|
package/dist/src/bulk.sv.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/bulk.sv.
|
|
4
|
-
"sourcesContent": ["import * as bulk from './bulk.js'\nimport * as common from './common.js'\n\n/////////////////////////////////\n//\n// client/server shared\n//\n/////////////////////////////////\n\n// work for both sv/fusion\n// must tell if the data is fusion or sv\n\nexport function parseheader(line, flag, issv) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for fusions'\n\tconst htry = (...lst) => {\n\t\tfor (const a of lst) {\n\t\t\tconst j = header.indexOf(a)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene_a', 'gene1', 'genea')\n\tif (i == -1) return 'gene_a missing from header'\n\theader[i] = 'gene1'\n\ti = htry('gene_b', 'gene2', 'geneb')\n\tif (i == -1) return 'gene_b missing from header'\n\theader[i] = 'gene2'\n\ti = htry('chr_a', 'chr1', 'chra')\n\tif (i == -1) return 'chr_a missing from header'\n\theader[i] = 'chr1'\n\ti = htry('chr_b', 'chr2', 'chrb')\n\tif (i == -1) return 'chr_b missing from header'\n\theader[i] = 'chr2'\n\ti = htry('pos_a', 'position_a', 'position1', 'posa')\n\tif (i == -1) return 'pos_a missing from header'\n\theader[i] = 'position1'\n\ti = htry('pos_b', 'position_b', 'position2', 'posb')\n\tif (i == -1) return 'pos_b missing from header'\n\theader[i] = 'position2'\n\ti = htry('isoform_a', 'refseq_a', 'refseq1', 'isoform1', 'sv_refseqa')\n\tif (i == -1) return 'isoform_a missing from header'\n\theader[i] = 'isoform1'\n\ti = htry('isoform_b', 'refseq_b', 'refseq2', 'isoform2', 'sv_refseqb')\n\tif (i == -1) return 'isoform_b missing from header'\n\theader[i] = 'isoform2'\n\ti = htry('strand_a', 'orta')\n\tif (i == -1) return 'strand_a missing from header'\n\theader[i] = 'strand1'\n\ti = htry('strand_b', 'ortb')\n\tif (i == -1) return 'strand_b missing from header'\n\theader[i] = 'strand2'\n\t// optional\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\tif (issv) {\n\t\tflag.sv.loaded = true\n\t\tflag.sv.header = header\n\t} else {\n\t\tflag.fusion.loaded = true\n\t\tflag.fusion.header = header\n\t}\n\treturn false\n}\n\nexport function parseline(i, line, flag, issv) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m = {}\n\tconst header = issv ? flag.sv.header : flag.fusion.header\n\tconst badlines = issv ? flag.sv.badlines : flag.fusion.badlines\n\n\tfor (let j = 0; j < header.length; j++) {\n\t\tm[header[j]] = lst[j]\n\t}\n\tif (!m.chr1) {\n\t\tbadlines.push([i, 'missing chr1', lst])\n\t\treturn\n\t}\n\tif (m.chr1.toLowerCase().indexOf('chr') != 0) {\n\t\tm.chr1 = 'chr' + m.chr1\n\t}\n\tif (!m.chr2) {\n\t\tbadlines.push([i, 'missing chr2', lst])\n\t\treturn\n\t}\n\tif (m.chr2.toLowerCase().indexOf('chr') != 0) {\n\t\tm.chr2 = 'chr' + m.chr2\n\t}\n\tlet v = m.position1\n\tif (!v) {\n\t\tbadlines.push([i, 'missing position1', lst])\n\t\treturn\n\t}\n\tlet v2 = Number.parseInt(v)\n\tif (Number.isNaN(v2) || v2 <= 0) {\n\t\tbadlines.push([i, 'invalid value for position1', lst])\n\t\treturn\n\t}\n\tm.position1 = v2\n\tv = m.position2\n\tif (!v) {\n\t\tbadlines.push([i, 'missing position2', lst])\n\t\treturn\n\t}\n\tv2 = Number.parseInt(v)\n\tif (Number.isNaN(v2) || v2 <= 0) {\n\t\tbadlines.push([i, 'invalid value for position2', lst])\n\t\treturn\n\t}\n\tm.position2 = v2\n\tif (bulk.parsesample(m, flag, i, lst
|
|
5
|
-
"mappings": "AAAA,YAAY,UAAU;AACtB,YAAY,YAAY;AAWjB,SAAS,YAAY,MAAM,MAAM,MAAM;AAC7C,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAW,KAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQ,CAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,UAAU,SAAS,OAAO;AACvC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,UAAU,SAAS,OAAO;AACnC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,QAAQ,MAAM;AAChC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,QAAQ,MAAM;AAChC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,cAAc,aAAa,MAAM;AACnD,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,cAAc,aAAa,MAAM;AACnD,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa,YAAY,WAAW,YAAY,YAAY;AACrE,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa,YAAY,WAAW,YAAY,YAAY;AACrE,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,YAAY,MAAM;AAC3B,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,YAAY,MAAM;AAC3B,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AAEZ,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,MAAM;AACT,SAAK,GAAG,SAAS;AACjB,SAAK,GAAG,SAAS;AAAA,EAClB,OAAO;AACN,SAAK,OAAO,SAAS;AACrB,SAAK,OAAO,SAAS;AAAA,EACtB;AACA,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM,MAAM;AAC9C,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,
|
|
3
|
+
"sources": ["../../src/bulk.sv.ts"],
|
|
4
|
+
"sourcesContent": ["import * as bulk from './bulk.js'\nimport * as common from './common.js'\n\n/////////////////////////////////\n//\n// client/server shared\n//\n/////////////////////////////////\n\n// work for both sv/fusion\n// must tell if the data is fusion or sv\n\nexport function parseheader(line, flag, issv) {\n\tconst header = line.toLowerCase().split('\\t')\n\tif (header.length <= 1) return 'invalid file header for fusions'\n\tconst htry = (...lst) => {\n\t\tfor (const a of lst) {\n\t\t\tconst j = header.indexOf(a)\n\t\t\tif (j != -1) return j\n\t\t}\n\t\treturn -1\n\t}\n\tlet i = htry('gene_a', 'gene1', 'genea')\n\tif (i == -1) return 'gene_a missing from header'\n\theader[i] = 'gene1'\n\ti = htry('gene_b', 'gene2', 'geneb')\n\tif (i == -1) return 'gene_b missing from header'\n\theader[i] = 'gene2'\n\ti = htry('chr_a', 'chr1', 'chra')\n\tif (i == -1) return 'chr_a missing from header'\n\theader[i] = 'chr1'\n\ti = htry('chr_b', 'chr2', 'chrb')\n\tif (i == -1) return 'chr_b missing from header'\n\theader[i] = 'chr2'\n\ti = htry('pos_a', 'position_a', 'position1', 'posa')\n\tif (i == -1) return 'pos_a missing from header'\n\theader[i] = 'position1'\n\ti = htry('pos_b', 'position_b', 'position2', 'posb')\n\tif (i == -1) return 'pos_b missing from header'\n\theader[i] = 'position2'\n\ti = htry('isoform_a', 'refseq_a', 'refseq1', 'isoform1', 'sv_refseqa')\n\tif (i == -1) return 'isoform_a missing from header'\n\theader[i] = 'isoform1'\n\ti = htry('isoform_b', 'refseq_b', 'refseq2', 'isoform2', 'sv_refseqb')\n\tif (i == -1) return 'isoform_b missing from header'\n\theader[i] = 'isoform2'\n\ti = htry('strand_a', 'orta')\n\tif (i == -1) return 'strand_a missing from header'\n\theader[i] = 'strand1'\n\ti = htry('strand_b', 'ortb')\n\tif (i == -1) return 'strand_b missing from header'\n\theader[i] = 'strand2'\n\t// optional\n\ti = htry('sample', 'sample_name', 'tumor_sample_barcode')\n\tif (i != -1) header[i] = 'sample'\n\ti = htry('patient', 'donor', 'target_case_id')\n\tif (i != -1) header[i] = 'patient'\n\ti = htry('sampletype', 'sample type', 'sample_type')\n\tif (i != -1) header[i] = 'sampletype'\n\ti = htry('disease')\n\tif (i != -1) header[i] = 'disease'\n\ti = htry('origin')\n\tif (i != -1) header[i] = 'origin'\n\tif (issv) {\n\t\tflag.sv.loaded = true\n\t\tflag.sv.header = header\n\t} else {\n\t\tflag.fusion.loaded = true\n\t\tflag.fusion.header = header\n\t}\n\treturn false\n}\n\nexport function parseline(i, line, flag, issv) {\n\tif (line == '' || line[0] == '#') return\n\tconst lst = line.split('\\t')\n\tconst m: Record<string, any> = {}\n\tconst header = issv ? flag.sv.header : flag.fusion.header\n\tconst badlines = issv ? flag.sv.badlines : flag.fusion.badlines\n\n\tfor (let j = 0; j < header.length; j++) {\n\t\tm[header[j]] = lst[j]\n\t}\n\tif (!m.chr1) {\n\t\tbadlines.push([i, 'missing chr1', lst])\n\t\treturn\n\t}\n\tif (m.chr1.toLowerCase().indexOf('chr') != 0) {\n\t\tm.chr1 = 'chr' + m.chr1\n\t}\n\tif (!m.chr2) {\n\t\tbadlines.push([i, 'missing chr2', lst])\n\t\treturn\n\t}\n\tif (m.chr2.toLowerCase().indexOf('chr') != 0) {\n\t\tm.chr2 = 'chr' + m.chr2\n\t}\n\tlet v = m.position1\n\tif (!v) {\n\t\tbadlines.push([i, 'missing position1', lst])\n\t\treturn\n\t}\n\tlet v2 = Number.parseInt(v)\n\tif (Number.isNaN(v2) || v2 <= 0) {\n\t\tbadlines.push([i, 'invalid value for position1', lst])\n\t\treturn\n\t}\n\tm.position1 = v2\n\tv = m.position2\n\tif (!v) {\n\t\tbadlines.push([i, 'missing position2', lst])\n\t\treturn\n\t}\n\tv2 = Number.parseInt(v)\n\tif (Number.isNaN(v2) || v2 <= 0) {\n\t\tbadlines.push([i, 'invalid value for position2', lst])\n\t\treturn\n\t}\n\tm.position2 = v2\n\tif (bulk.parsesample(m, flag, i, lst)) {\n\t\treturn\n\t}\n\tif (m.isoform1 && m.isoform1.indexOf(',') != -1) {\n\t\tconst lst2 = m.isoform1.split(',')\n\t\tm.isoform1 = undefined\n\t\tfor (const t of lst2) {\n\t\t\tif (t != '') m.isoform1 = t\n\t\t}\n\t}\n\tif (m.isoform2 && m.isoform2.indexOf(',') != -1) {\n\t\tconst lst2 = m.isoform2.split(',')\n\t\tm.isoform2 = undefined\n\t\tfor (const t of lst2) {\n\t\t\tif (t != '') m.isoform2 = t\n\t\t}\n\t}\n\tif (!m.gene1) {\n\t\tm.isoform1 = undefined\n\t}\n\tif (!m.gene2) {\n\t\tm.isoform2 = undefined\n\t}\n\tif (m.gene1) {\n\t\t// put data under gene1\n\t\tflag.good++\n\t\tconst m2 = {\n\t\t\tdt: issv ? common.dtsv : common.dtfusionrna,\n\t\t\tclass: issv ? common.mclasssv : common.mclassfusionrna,\n\t\t\tisoform: m.isoform1,\n\t\t\tmname: m.gene2 || m.chr2,\n\t\t\tsample: m.sample,\n\t\t\tpatient: m.patient,\n\t\t\tsampletype: m.sampletype,\n\t\t\torigin: m.origin,\n\t\t\tdisease: m.disease,\n\t\t\tpairlst: [\n\t\t\t\t{\n\t\t\t\t\ta: {\n\t\t\t\t\t\tname: m.gene1,\n\t\t\t\t\t\tisoform: m.isoform1,\n\t\t\t\t\t\tstrand: m.strand1,\n\t\t\t\t\t\tchr: m.chr1,\n\t\t\t\t\t\tposition: m.position1\n\t\t\t\t\t},\n\t\t\t\t\tb: {\n\t\t\t\t\t\tname: m.gene2,\n\t\t\t\t\t\tisoform: m.isoform2,\n\t\t\t\t\t\tstrand: m.strand2,\n\t\t\t\t\t\tchr: m.chr2,\n\t\t\t\t\t\tposition: m.position2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t\tconst n = flag.geneToUpper ? m.gene1.toUpperCase() : m.gene1\n\t\tif (!flag.data[n]) {\n\t\t\tflag.data[n] = []\n\t\t}\n\t\tflag.data[n].push(m2)\n\t}\n\tif (m.gene2 && m.gene2 != m.gene1) {\n\t\t// put data under gene2\n\t\tflag.good++\n\t\tconst m2 = {\n\t\t\tdt: issv ? common.dtsv : common.dtfusionrna,\n\t\t\tclass: issv ? common.mclasssv : common.mclassfusionrna,\n\t\t\tisoform: m.isoform2,\n\t\t\tmname: m.gene1 || m.chr1,\n\t\t\tsample: m.sample,\n\t\t\tpatient: m.patient,\n\t\t\tsampletype: m.sampletype,\n\t\t\torigin: m.origin,\n\t\t\tdisease: m.disease,\n\t\t\tpairlst: [\n\t\t\t\t{\n\t\t\t\t\ta: {\n\t\t\t\t\t\tname: m.gene1,\n\t\t\t\t\t\tisoform: m.isoform1,\n\t\t\t\t\t\tstrand: m.strand1,\n\t\t\t\t\t\tchr: m.chr1,\n\t\t\t\t\t\tposition: m.position1\n\t\t\t\t\t},\n\t\t\t\t\tb: {\n\t\t\t\t\t\tname: m.gene2,\n\t\t\t\t\t\tisoform: m.isoform2,\n\t\t\t\t\t\tstrand: m.strand2,\n\t\t\t\t\t\tchr: m.chr2,\n\t\t\t\t\t\tposition: m.position2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t\tconst n = flag.geneToUpper ? m.gene2.toUpperCase() : m.gene2\n\t\tif (!flag.data[n]) {\n\t\t\tflag.data[n] = []\n\t\t}\n\t\tflag.data[n].push(m2)\n\t}\n}\n\nexport function duplicate(m) {\n\tconst n: Record<string, any> = {}\n\tfor (const k in m) {\n\t\tif (k == 'pairlst') continue\n\t\tconst v = m[k]\n\t\tconst type = typeof v\n\t\tif (type == 'object') {\n\t\t\tcontinue\n\t\t}\n\t\tn[k] = v\n\t}\n\tif (m.pairlst) {\n\t\tn.pairlst = []\n\t\tfor (const pair of m.pairlst) {\n\t\t\tconst p: Record<string, any> = {}\n\t\t\tfor (const k in pair) {\n\t\t\t\tif (k == 'a' || k == 'b' || k == 'interstitial') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tp[k] = pair[k]\n\t\t\t}\n\t\t\tif (pair.a) {\n\t\t\t\tp.a = {}\n\t\t\t\tfor (const k in pair.a) {\n\t\t\t\t\tconst v = pair.a[k]\n\t\t\t\t\tif (typeof v == 'object') {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tp.a[k] = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pair.b) {\n\t\t\t\tp.b = {}\n\t\t\t\tfor (const k in pair.b) {\n\t\t\t\t\tconst v = pair.b[k]\n\t\t\t\t\tif (typeof v == 'object') {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tp.b[k] = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pair.interstitial) {\n\t\t\t\tp.interstitial = {}\n\t\t\t\tfor (const k in pair.interstitial) {\n\t\t\t\t\tconst v = pair.interstitial[k]\n\t\t\t\t\tif (typeof v == 'object') {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tp.interstitial[k] = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tn.pairlst.push(p)\n\t\t}\n\t}\n\treturn n\n}\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,UAAU;AACtB,YAAY,YAAY;AAWjB,SAAS,YAAY,MAAM,MAAM,MAAM;AAC7C,QAAM,SAAS,KAAK,YAAY,EAAE,MAAM,GAAI;AAC5C,MAAI,OAAO,UAAU,EAAG,QAAO;AAC/B,QAAM,OAAO,IAAI,QAAQ;AACxB,eAAW,KAAK,KAAK;AACpB,YAAM,IAAI,OAAO,QAAQ,CAAC;AAC1B,UAAI,KAAK,GAAI,QAAO;AAAA,IACrB;AACA,WAAO;AAAA,EACR;AACA,MAAI,IAAI,KAAK,UAAU,SAAS,OAAO;AACvC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,UAAU,SAAS,OAAO;AACnC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,QAAQ,MAAM;AAChC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,QAAQ,MAAM;AAChC,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,cAAc,aAAa,MAAM;AACnD,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,SAAS,cAAc,aAAa,MAAM;AACnD,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa,YAAY,WAAW,YAAY,YAAY;AACrE,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,aAAa,YAAY,WAAW,YAAY,YAAY;AACrE,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,YAAY,MAAM;AAC3B,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AACZ,MAAI,KAAK,YAAY,MAAM;AAC3B,MAAI,KAAK,GAAI,QAAO;AACpB,SAAO,CAAC,IAAI;AAEZ,MAAI,KAAK,UAAU,eAAe,sBAAsB;AACxD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,WAAW,SAAS,gBAAgB;AAC7C,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,cAAc,eAAe,aAAa;AACnD,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,SAAS;AAClB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,KAAK,QAAQ;AACjB,MAAI,KAAK,GAAI,QAAO,CAAC,IAAI;AACzB,MAAI,MAAM;AACT,SAAK,GAAG,SAAS;AACjB,SAAK,GAAG,SAAS;AAAA,EAClB,OAAO;AACN,SAAK,OAAO,SAAS;AACrB,SAAK,OAAO,SAAS;AAAA,EACtB;AACA,SAAO;AACR;AAEO,SAAS,UAAU,GAAG,MAAM,MAAM,MAAM;AAC9C,MAAI,QAAQ,MAAM,KAAK,CAAC,KAAK,IAAK;AAClC,QAAM,MAAM,KAAK,MAAM,GAAI;AAC3B,QAAM,IAAyB,CAAC;AAChC,QAAM,SAAS,OAAO,KAAK,GAAG,SAAS,KAAK,OAAO;AACnD,QAAM,WAAW,OAAO,KAAK,GAAG,WAAW,KAAK,OAAO;AAEvD,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACvC,MAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,EACrB;AACA,MAAI,CAAC,EAAE,MAAM;AACZ,aAAS,KAAK,CAAC,GAAG,gBAAgB,GAAG,CAAC;AACtC;AAAA,EACD;AACA,MAAI,EAAE,KAAK,YAAY,EAAE,QAAQ,KAAK,KAAK,GAAG;AAC7C,MAAE,OAAO,QAAQ,EAAE;AAAA,EACpB;AACA,MAAI,CAAC,EAAE,MAAM;AACZ,aAAS,KAAK,CAAC,GAAG,gBAAgB,GAAG,CAAC;AACtC;AAAA,EACD;AACA,MAAI,EAAE,KAAK,YAAY,EAAE,QAAQ,KAAK,KAAK,GAAG;AAC7C,MAAE,OAAO,QAAQ,EAAE;AAAA,EACpB;AACA,MAAI,IAAI,EAAE;AACV,MAAI,CAAC,GAAG;AACP,aAAS,KAAK,CAAC,GAAG,qBAAqB,GAAG,CAAC;AAC3C;AAAA,EACD;AACA,MAAI,KAAK,OAAO,SAAS,CAAC;AAC1B,MAAI,OAAO,MAAM,EAAE,KAAK,MAAM,GAAG;AAChC,aAAS,KAAK,CAAC,GAAG,+BAA+B,GAAG,CAAC;AACrD;AAAA,EACD;AACA,IAAE,YAAY;AACd,MAAI,EAAE;AACN,MAAI,CAAC,GAAG;AACP,aAAS,KAAK,CAAC,GAAG,qBAAqB,GAAG,CAAC;AAC3C;AAAA,EACD;AACA,OAAK,OAAO,SAAS,CAAC;AACtB,MAAI,OAAO,MAAM,EAAE,KAAK,MAAM,GAAG;AAChC,aAAS,KAAK,CAAC,GAAG,+BAA+B,GAAG,CAAC;AACrD;AAAA,EACD;AACA,IAAE,YAAY;AACd,MAAI,KAAK,YAAY,GAAG,MAAM,GAAG,GAAG,GAAG;AACtC;AAAA,EACD;AACA,MAAI,EAAE,YAAY,EAAE,SAAS,QAAQ,GAAG,KAAK,IAAI;AAChD,UAAM,OAAO,EAAE,SAAS,MAAM,GAAG;AACjC,MAAE,WAAW;AACb,eAAW,KAAK,MAAM;AACrB,UAAI,KAAK,GAAI,GAAE,WAAW;AAAA,IAC3B;AAAA,EACD;AACA,MAAI,EAAE,YAAY,EAAE,SAAS,QAAQ,GAAG,KAAK,IAAI;AAChD,UAAM,OAAO,EAAE,SAAS,MAAM,GAAG;AACjC,MAAE,WAAW;AACb,eAAW,KAAK,MAAM;AACrB,UAAI,KAAK,GAAI,GAAE,WAAW;AAAA,IAC3B;AAAA,EACD;AACA,MAAI,CAAC,EAAE,OAAO;AACb,MAAE,WAAW;AAAA,EACd;AACA,MAAI,CAAC,EAAE,OAAO;AACb,MAAE,WAAW;AAAA,EACd;AACA,MAAI,EAAE,OAAO;AAEZ,SAAK;AACL,UAAM,KAAK;AAAA,MACV,IAAI,OAAO,OAAO,OAAO,OAAO;AAAA,MAChC,OAAO,OAAO,OAAO,WAAW,OAAO;AAAA,MACvC,SAAS,EAAE;AAAA,MACX,OAAO,EAAE,SAAS,EAAE;AAAA,MACpB,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,YAAY,EAAE;AAAA,MACd,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,SAAS;AAAA,QACR;AAAA,UACC,GAAG;AAAA,YACF,MAAM,EAAE;AAAA,YACR,SAAS,EAAE;AAAA,YACX,QAAQ,EAAE;AAAA,YACV,KAAK,EAAE;AAAA,YACP,UAAU,EAAE;AAAA,UACb;AAAA,UACA,GAAG;AAAA,YACF,MAAM,EAAE;AAAA,YACR,SAAS,EAAE;AAAA,YACX,QAAQ,EAAE;AAAA,YACV,KAAK,EAAE;AAAA,YACP,UAAU,EAAE;AAAA,UACb;AAAA,QACD;AAAA,MACD;AAAA,IACD;AACA,UAAM,IAAI,KAAK,cAAc,EAAE,MAAM,YAAY,IAAI,EAAE;AACvD,QAAI,CAAC,KAAK,KAAK,CAAC,GAAG;AAClB,WAAK,KAAK,CAAC,IAAI,CAAC;AAAA,IACjB;AACA,SAAK,KAAK,CAAC,EAAE,KAAK,EAAE;AAAA,EACrB;AACA,MAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;AAElC,SAAK;AACL,UAAM,KAAK;AAAA,MACV,IAAI,OAAO,OAAO,OAAO,OAAO;AAAA,MAChC,OAAO,OAAO,OAAO,WAAW,OAAO;AAAA,MACvC,SAAS,EAAE;AAAA,MACX,OAAO,EAAE,SAAS,EAAE;AAAA,MACpB,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,YAAY,EAAE;AAAA,MACd,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,SAAS;AAAA,QACR;AAAA,UACC,GAAG;AAAA,YACF,MAAM,EAAE;AAAA,YACR,SAAS,EAAE;AAAA,YACX,QAAQ,EAAE;AAAA,YACV,KAAK,EAAE;AAAA,YACP,UAAU,EAAE;AAAA,UACb;AAAA,UACA,GAAG;AAAA,YACF,MAAM,EAAE;AAAA,YACR,SAAS,EAAE;AAAA,YACX,QAAQ,EAAE;AAAA,YACV,KAAK,EAAE;AAAA,YACP,UAAU,EAAE;AAAA,UACb;AAAA,QACD;AAAA,MACD;AAAA,IACD;AACA,UAAM,IAAI,KAAK,cAAc,EAAE,MAAM,YAAY,IAAI,EAAE;AACvD,QAAI,CAAC,KAAK,KAAK,CAAC,GAAG;AAClB,WAAK,KAAK,CAAC,IAAI,CAAC;AAAA,IACjB;AACA,SAAK,KAAK,CAAC,EAAE,KAAK,EAAE;AAAA,EACrB;AACD;AAEO,SAAS,UAAU,GAAG;AAC5B,QAAM,IAAyB,CAAC;AAChC,aAAW,KAAK,GAAG;AAClB,QAAI,KAAK,UAAW;AACpB,UAAM,IAAI,EAAE,CAAC;AACb,UAAM,OAAO,OAAO;AACpB,QAAI,QAAQ,UAAU;AACrB;AAAA,IACD;AACA,MAAE,CAAC,IAAI;AAAA,EACR;AACA,MAAI,EAAE,SAAS;AACd,MAAE,UAAU,CAAC;AACb,eAAW,QAAQ,EAAE,SAAS;AAC7B,YAAM,IAAyB,CAAC;AAChC,iBAAW,KAAK,MAAM;AACrB,YAAI,KAAK,OAAO,KAAK,OAAO,KAAK,gBAAgB;AAChD;AAAA,QACD;AACA,UAAE,CAAC,IAAI,KAAK,CAAC;AAAA,MACd;AACA,UAAI,KAAK,GAAG;AACX,UAAE,IAAI,CAAC;AACP,mBAAW,KAAK,KAAK,GAAG;AACvB,gBAAM,IAAI,KAAK,EAAE,CAAC;AAClB,cAAI,OAAO,KAAK,UAAU;AACzB;AAAA,UACD;AACA,YAAE,EAAE,CAAC,IAAI;AAAA,QACV;AAAA,MACD;AACA,UAAI,KAAK,GAAG;AACX,UAAE,IAAI,CAAC;AACP,mBAAW,KAAK,KAAK,GAAG;AACvB,gBAAM,IAAI,KAAK,EAAE,CAAC;AAClB,cAAI,OAAO,KAAK,UAAU;AACzB;AAAA,UACD;AACA,YAAE,EAAE,CAAC,IAAI;AAAA,QACV;AAAA,MACD;AACA,UAAI,KAAK,cAAc;AACtB,UAAE,eAAe,CAAC;AAClB,mBAAW,KAAK,KAAK,cAAc;AAClC,gBAAM,IAAI,KAAK,aAAa,CAAC;AAC7B,cAAI,OAAO,KAAK,UAAU;AACzB;AAAA,UACD;AACA,YAAE,aAAa,CAAC,IAAI;AAAA,QACrB;AAAA,MACD;AACA,QAAE,QAAQ,KAAK,CAAC;AAAA,IACjB;AAAA,EACD;AACA,SAAO;AACR;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/src/bulk.svjson.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as common from "./common.js";
|
|
2
2
|
import * as bulk from "./bulk.js";
|
|
3
|
-
function parseheader(line
|
|
3
|
+
function parseheader(line) {
|
|
4
4
|
const header = line.toLowerCase().split(" ");
|
|
5
5
|
if (header.length <= 1) return "invalid file header for svjson";
|
|
6
6
|
const htry = (...lst) => {
|
|
@@ -33,13 +33,13 @@ function parseline(i, line, flag, header) {
|
|
|
33
33
|
badlines.push([i, "missing jsontext", lst]);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
if (bulk.parsesample(m, flag, i, lst
|
|
36
|
+
if (bulk.parsesample(m, flag, i, lst)) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
let json;
|
|
40
40
|
try {
|
|
41
41
|
json = JSON.parse(m.jsontext);
|
|
42
|
-
} catch (
|
|
42
|
+
} catch (_) {
|
|
43
43
|
badlines.push([i, "invalid JSON text", lst]);
|
|
44
44
|
return;
|
|
45
45
|
}
|