@jbrowse/img 2.2.1 → 2.3.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 +27 -20
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/package.json +5 -5
- package/src/{index.testmod.js → index.test.js} +30 -14
- package/src/index.ts +2 -1
- package/src/{parseArgv.testmod.js → parseArgv.test.js} +0 -0
- package/dist/index.testmod.d.ts +0 -1
- package/dist/index.testmod.js +0 -169
- package/dist/index.testmod.js.map +0 -1
- package/dist/parseArgv.testmod.d.ts +0 -1
- package/dist/parseArgv.testmod.js +0 -26
- package/dist/parseArgv.testmod.js.map +0 -1
- package/esm/index.testmod.d.ts +0 -1
- package/esm/index.testmod.js +0 -141
- package/esm/index.testmod.js.map +0 -1
- package/esm/parseArgv.testmod.d.ts +0 -1
- package/esm/parseArgv.testmod.js +0 -24
- package/esm/parseArgv.testmod.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@ Static exports of JBrowse 2 rendering.
|
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
|
-
You don't need to have JBrowse 2 installed to use this tool. The tool can
|
|
7
|
+
You don't need to have JBrowse 2 installed to use this tool. The tool can
|
|
8
|
+
generate images using files on your hard drive or from remote files. So, all you
|
|
9
|
+
need to run this tool is
|
|
8
10
|
|
|
9
11
|
- NodeJS v12+
|
|
10
12
|
|
|
@@ -16,24 +18,27 @@ More examples [EXAMPLES.md](EXAMPLES.md)
|
|
|
16
18
|
|
|
17
19
|
## Setup
|
|
18
20
|
|
|
19
|
-
You can install the `@jbrowse/img` package from npm, which, if your node is
|
|
21
|
+
You can install the `@jbrowse/img` package from npm, which, if your node is
|
|
22
|
+
configured in a typical configuration, will then have a command `jb2export` in
|
|
23
|
+
your path
|
|
20
24
|
|
|
21
25
|
```bash
|
|
22
26
|
npm install -g @jbrowse/img
|
|
23
27
|
```
|
|
24
28
|
|
|
25
|
-
If you are using npm version 7+ (released 2021) you may also need to add
|
|
29
|
+
If you are using npm version 7+ (released 2021) you may also need to add
|
|
30
|
+
`--legacy-peer-deps`
|
|
26
31
|
|
|
27
|
-
If you are a developer and want to modify the code, see
|
|
28
|
-
guide](DEVELOPER.md) for details
|
|
32
|
+
If you are a developer and want to modify the code, see
|
|
33
|
+
[developer guide](DEVELOPER.md) for details
|
|
29
34
|
|
|
30
35
|
## Example usages
|
|
31
36
|
|
|
32
37
|
### Use with local files
|
|
33
38
|
|
|
34
39
|
We can call this script on local files, and it doesn't require a web browser,
|
|
35
|
-
not even a headless webbrowser, it just runs a node script and React SSR is
|
|
36
|
-
|
|
40
|
+
not even a headless webbrowser, it just runs a node script and React SSR is used
|
|
41
|
+
to create the SVG
|
|
37
42
|
|
|
38
43
|
```bash
|
|
39
44
|
## generate an indexed fasta e.g. fai file
|
|
@@ -52,7 +57,8 @@ If `--out` is not specified it writes to out.svg
|
|
|
52
57
|
### Generate PNG instead of SVG
|
|
53
58
|
|
|
54
59
|
Supply a file with the png extension to `--out`, uses rsvg-convert so you will
|
|
55
|
-
need to install rsvg-convert to your system e.g. with
|
|
60
|
+
need to install rsvg-convert to your system e.g. with
|
|
61
|
+
`sudo apt install librsvg2-bin`
|
|
56
62
|
|
|
57
63
|
```bash
|
|
58
64
|
jb2export --fasta yourfile.fa --bam yourfile.bam --loc chr1:1,000,000-1,001,000 --out file.png
|
|
@@ -61,7 +67,8 @@ jb2export --fasta yourfile.fa --bam yourfile.bam --loc chr1:1,000,000-1,001,000
|
|
|
61
67
|
### Generate PDF instead of SVG
|
|
62
68
|
|
|
63
69
|
Supply a file with the pdf extension to `--out`, uses rsvg-convert so you will
|
|
64
|
-
need to install rsvg-convert to your system e.g. with
|
|
70
|
+
need to install rsvg-convert to your system e.g. with
|
|
71
|
+
`sudo apt install librsvg2-bin`
|
|
65
72
|
|
|
66
73
|
```bash
|
|
67
74
|
jb2export --fasta yourfile.fa --bam yourfile.bam --loc chr1:1,000,000-1,001,000 --out file.pdf
|
|
@@ -122,9 +129,9 @@ jb2export --fasta data/volvox/volvox.fa --configtracks refseq --loc ctgA:1-100
|
|
|
122
129
|
|
|
123
130
|
### Use with a jbrowse config.json (remote files in the config.json)
|
|
124
131
|
|
|
125
|
-
A config.json can be specified, and then we just refer to trackIds in this
|
|
126
|
-
|
|
127
|
-
|
|
132
|
+
A config.json can be specified, and then we just refer to trackIds in this file,
|
|
133
|
+
and extra tracks can also be supplied that are outside of the config e.g. with
|
|
134
|
+
--bam
|
|
128
135
|
|
|
129
136
|
```bash
|
|
130
137
|
jb2export --config data/config.json \
|
|
@@ -184,8 +191,8 @@ jb2export --loc all \
|
|
|
184
191
|
|
|
185
192
|
### Use with a jbrowse config.json (local files in the config.json)
|
|
186
193
|
|
|
187
|
-
The jbrowse CLI tool (e.g. npm install -g @jbrowse/cli) refers to "uri" paths
|
|
188
|
-
|
|
194
|
+
The jbrowse CLI tool (e.g. npm install -g @jbrowse/cli) refers to "uri" paths by
|
|
195
|
+
default, but you replace them with localPath like this
|
|
189
196
|
|
|
190
197
|
```js
|
|
191
198
|
|
|
@@ -209,8 +216,8 @@ jb2export --config data/volvox/config.json \
|
|
|
209
216
|
--loc ctgA:1-50,000
|
|
210
217
|
```
|
|
211
218
|
|
|
212
|
-
The localPaths will be resolved relative to the file that is supplied so in
|
|
213
|
-
|
|
219
|
+
The localPaths will be resolved relative to the file that is supplied so in this
|
|
220
|
+
example we would resolve data/volvox/volvox.dup.vcf.gz if "localPath":
|
|
214
221
|
"volvox.dup.vcf.gz" is used, and `--config data/volvox/config.json` is passed
|
|
215
222
|
|
|
216
223
|
See data/volvox/config.json for a config that contains localPaths, or
|
|
@@ -337,13 +344,13 @@ convert -size 2048x out.svg out.png
|
|
|
337
344
|
### I don't get any outputted svg and no message
|
|
338
345
|
|
|
339
346
|
The error reporting from the app is not very good at the moment so often has
|
|
340
|
-
silent failures. Confirm that your fasta file to your pass to --fasta is
|
|
341
|
-
|
|
347
|
+
silent failures. Confirm that your fasta file to your pass to --fasta is indexed
|
|
348
|
+
in this case e.g. `samtools faidx yourfile.fa` so that your have a
|
|
342
349
|
yourfile.fa.fai alongside yourfile.fa
|
|
343
350
|
|
|
344
351
|
### I get a lot of warnings during npm install -g @jbrowse/img
|
|
345
352
|
|
|
346
353
|
There are some new features in the latest NPM (2021, v7) related to
|
|
347
354
|
peerDependencies that may produce some warnings. It should work even despite
|
|
348
|
-
making warnings, but you can use yarn to install or use legacy peer
|
|
349
|
-
|
|
355
|
+
making warnings, but you can use yarn to install or use legacy peer dependencies
|
|
356
|
+
if you want to avoid install time warningsvg
|
package/dist/index.js
CHANGED
|
@@ -83,6 +83,7 @@ console.warn = (...p) => {
|
|
|
83
83
|
};
|
|
84
84
|
// note: yargs is actually unused except for printing help
|
|
85
85
|
// we do custom command line parsing, see parseArgv.ts
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
86
87
|
yargs_1.default
|
|
87
88
|
.command('jb2export', 'Creates a jbrowse 2 image snapshot')
|
|
88
89
|
.option('config', {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,kDAAyB;AACzB,uEAAoE;AACpE,yDAA8D;AAC9D,iCAA6B;AAC7B,mCAA4C;AAE5C,SAAS;AACT,2CAAwD;AACxD,iDAAmD;AACnD,iCAAgC;AAEhC,aAAa;AACb,MAAM,CAAC,SAAS,GAAG,cAAK,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,gBAAgB,GAAG,qBAAY,CAAA;AAEtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;AAC5C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE1B,yEAAyE;AACzE,sEAAsE;AACtE,cAAc;AACd,EAAE;AACF,EAAE;AACF,mBAAmB;AACnB,WAAW;AACX,EAAE;AACF,+LAA+L;AAC/L,IAAI;AACJ,8HAA8H;AAC9H,gFAAgF;AAChF,IAAI;AACJ,IAAI;AACJ,wCAAwC;AACxC,wCAAwC;AACxC,2EAA2E;AAC3E,sFAAsF;AACtF,IAAI;AAEJ,aAAa;AACb,MAAM,CAAC,KAAK,GAAG,oBAAK,CAAA;AACpB,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,oBAAO,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,QAAQ,GAAG,qBAAQ,CAAA;AAC1B,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,oBAAO,CAAA;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAA;AACzB,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACvC,GAAG,CAAC,CAAC,CAAC,CAAA;KACP;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACzB,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;QAClD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAA;AAED,0DAA0D;AAC1D,sDAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,kDAAyB;AACzB,uEAAoE;AACpE,yDAA8D;AAC9D,iCAA6B;AAC7B,mCAA4C;AAE5C,SAAS;AACT,2CAAwD;AACxD,iDAAmD;AACnD,iCAAgC;AAEhC,aAAa;AACb,MAAM,CAAC,SAAS,GAAG,cAAK,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,gBAAgB,GAAG,qBAAY,CAAA;AAEtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;AAC5C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE1B,yEAAyE;AACzE,sEAAsE;AACtE,cAAc;AACd,EAAE;AACF,EAAE;AACF,mBAAmB;AACnB,WAAW;AACX,EAAE;AACF,+LAA+L;AAC/L,IAAI;AACJ,8HAA8H;AAC9H,gFAAgF;AAChF,IAAI;AACJ,IAAI;AACJ,wCAAwC;AACxC,wCAAwC;AACxC,2EAA2E;AAC3E,sFAAsF;AACtF,IAAI;AAEJ,aAAa;AACb,MAAM,CAAC,KAAK,GAAG,oBAAK,CAAA;AACpB,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,oBAAO,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,QAAQ,GAAG,qBAAQ,CAAA;AAC1B,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,oBAAO,CAAA;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAA;AACzB,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACvC,GAAG,CAAC,CAAC,CAAC,CAAA;KACP;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACzB,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;QAClD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAA;AAED,0DAA0D;AAC1D,sDAAsD;AACtD,mEAAmE;AACnE,eAAK;KACF,OAAO,CAAC,WAAW,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,QAAQ,EAAE;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,WAAW,EACT,+EAA+E;IACjF,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,KAAK,EAAE;IACb,WAAW,EACT,mEAAmE;IACrE,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,WAAW,EAAE,iCAAiC;IAC9C,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,WAAW,EACT,gIAAgI;IAClI,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,WAAW,EACT,sEAAsE;IACxE,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,WAAW,EACT,qEAAqE;IACvE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,IAAI;CACd,CAAC;IACF,cAAc;KACb,MAAM,CAAC,cAAc,EAAE;IACtB,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,KAAK,EAAE;IACb,WAAW,EACT,iFAAiF;IACnF,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,WAAW,EACT,8FAA8F;IAChG,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,WAAW,EACT,wFAAwF;IAC1F,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,WAAW,EACT,4FAA4F;IAC9F,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,WAAW,EACT,uFAAuF;IACzF,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,KAAK,EAAE;IACb,WAAW,EACT,iFAAiF;IACnF,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,WAAW,EACT,0FAA0F;IAC5F,IAAI,EAAE,OAAO;CACd,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,WAAW,EACT,6FAA6F;IAC/F,IAAI,EAAE,OAAO;CACd,CAAC;IAEF,QAAQ;KACP,MAAM,CAAC,KAAK,EAAE;IACb,WAAW,EACT,oKAAoK;IACtK,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,SAAS;CACnB,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACrB,WAAW,EACT,4FAA4F;IAC9F,IAAI,EAAE,SAAS;CAChB,CAAC;KACD,MAAM,CAAC,gBAAgB,EAAE;IACxB,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,SAAS;CAChB,CAAC;KACD,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAA;AAE3B,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,IAAA,qBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IAC7D,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,cAAc;CACf,CAAC,CAGD;AAAA,CAAC,KAAK,IAAI,EAAE;IACX,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAC,IAAY,CAAC,CAAA;QAC/C,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxB,IAAA,cAAO,EAAC,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;SACnC;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC/B,IAAA,cAAO,EAAC,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;SAClD;aAAM;YACL,YAAE,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;SAC9B;QAED,qEAAqE;QACrE,kEAAkE;QAClE,6CAA6C;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,EAAE,CAAA"}
|
package/esm/index.js
CHANGED
|
@@ -55,6 +55,7 @@ console.warn = (...p) => {
|
|
|
55
55
|
};
|
|
56
56
|
// note: yargs is actually unused except for printing help
|
|
57
57
|
// we do custom command line parsing, see parseArgv.ts
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
58
59
|
yargs
|
|
59
60
|
.command('jb2export', 'Creates a jbrowse 2 image snapshot')
|
|
60
61
|
.option('config', {
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,6DAA6D,CAAA;AACpE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE5C,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,YAAY,EAAQ,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,aAAa;AACb,MAAM,CAAC,SAAS,GAAG,KAAK,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAA;AAEtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;AAC5C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE1B,yEAAyE;AACzE,sEAAsE;AACtE,cAAc;AACd,EAAE;AACF,EAAE;AACF,mBAAmB;AACnB,WAAW;AACX,EAAE;AACF,+LAA+L;AAC/L,IAAI;AACJ,8HAA8H;AAC9H,gFAAgF;AAChF,IAAI;AACJ,IAAI;AACJ,wCAAwC;AACxC,wCAAwC;AACxC,2EAA2E;AAC3E,sFAAsF;AACtF,IAAI;AAEJ,aAAa;AACb,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;AACpB,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AACxB,aAAa;AACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC1B,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAA;AACzB,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACvC,GAAG,CAAC,CAAC,CAAC,CAAA;KACP;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACzB,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;QAClD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAA;AAED,0DAA0D;AAC1D,sDAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/img",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "esm/index.js",
|
|
6
6
|
"author": "JBrowse Team",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@babel/runtime": "^7.17.9",
|
|
30
30
|
"@emotion/cache": "^11.7.1",
|
|
31
31
|
"@emotion/react": "^11.9.0",
|
|
32
|
-
"@jbrowse/plugin-linear-genome-view": "^2.
|
|
33
|
-
"@jbrowse/react-linear-genome-view": "^2.
|
|
32
|
+
"@jbrowse/plugin-linear-genome-view": "^2.3.0",
|
|
33
|
+
"@jbrowse/react-linear-genome-view": "^2.3.0",
|
|
34
34
|
"abortcontroller-polyfill": "^1.7.3",
|
|
35
35
|
"canvas": "^2.9.1",
|
|
36
|
-
"jsdom": "^
|
|
36
|
+
"jsdom": "^20.0.3",
|
|
37
37
|
"mobx": "^6.6.0",
|
|
38
38
|
"node-fetch": "^2.6.7",
|
|
39
39
|
"react": "^17.0.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "a85b280a8af4d1a11e81ab42913f5f6049e6e580"
|
|
48
48
|
}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment node
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// the above jest-environment node is important to check true usage as a CLI tool
|
|
6
|
+
|
|
1
7
|
import { renderRegion } from './renderRegion'
|
|
8
|
+
import path from 'path'
|
|
2
9
|
import fs from 'fs'
|
|
3
10
|
import { JSDOM } from 'jsdom'
|
|
4
11
|
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'
|
|
@@ -17,8 +24,8 @@ global.nodeCreateCanvas = createCanvas
|
|
|
17
24
|
|
|
18
25
|
xtest('renders a region with --session and --config args', async () => {
|
|
19
26
|
const result = await renderRegion({
|
|
20
|
-
session:
|
|
21
|
-
config:
|
|
27
|
+
session: path.join(__dirname, '../test/clingen_session.json'),
|
|
28
|
+
config: path.join(__dirname, '../data/config.json'),
|
|
22
29
|
})
|
|
23
30
|
fs.writeFileSync('svg_from_config_and_session_param.svg', result)
|
|
24
31
|
expect(result).toMatchSnapshot()
|
|
@@ -26,16 +33,16 @@ xtest('renders a region with --session and --config args', async () => {
|
|
|
26
33
|
|
|
27
34
|
xtest('renders a region with --session, --tracks, and --assembly args', async () => {
|
|
28
35
|
const result = await renderRegion({
|
|
29
|
-
session:
|
|
30
|
-
tracks:
|
|
31
|
-
assembly:
|
|
36
|
+
session: path.join(__dirname, '../test/clingen_session.json'),
|
|
37
|
+
tracks: path.join(__dirname, '../data/tracks.json'),
|
|
38
|
+
assembly: path.join(__dirname, '../data/assembly.json'),
|
|
32
39
|
})
|
|
33
40
|
fs.writeFileSync('svg_from_separate_session_and_tracks.svg', result)
|
|
34
41
|
expect(result).toMatchSnapshot()
|
|
35
42
|
}, 40000)
|
|
36
43
|
|
|
37
44
|
test('renders volvox with variety of args', async () => {
|
|
38
|
-
const fp = f =>
|
|
45
|
+
const fp = f => path.join(__dirname, '../data/volvox/' + f)
|
|
39
46
|
console.error = jest.fn()
|
|
40
47
|
const result = await renderRegion({
|
|
41
48
|
fasta: fp('volvox.fa'),
|
|
@@ -51,7 +58,7 @@ test('renders volvox with variety of args', async () => {
|
|
|
51
58
|
loc: 'ctgA:1000-2000',
|
|
52
59
|
})
|
|
53
60
|
fs.writeFileSync(
|
|
54
|
-
|
|
61
|
+
path.join(__dirname, '../test/svg_from_volvox_fasta_and_bam.svg'),
|
|
55
62
|
result,
|
|
56
63
|
)
|
|
57
64
|
expect(result).toBeTruthy()
|
|
@@ -72,7 +79,7 @@ xtest('renders human large region with remote urls', async () => {
|
|
|
72
79
|
loc: '1:10,000,000-10,030,000',
|
|
73
80
|
})
|
|
74
81
|
fs.writeFileSync(
|
|
75
|
-
|
|
82
|
+
path.join(__dirname, '../test/human_remote_urls_large_region.svg'),
|
|
76
83
|
result,
|
|
77
84
|
)
|
|
78
85
|
expect(result).toBeTruthy()
|
|
@@ -91,12 +98,15 @@ xtest('renders volvox with remote urls', async () => {
|
|
|
91
98
|
],
|
|
92
99
|
loc: 'ctgA:1-1000',
|
|
93
100
|
})
|
|
94
|
-
fs.writeFileSync(
|
|
101
|
+
fs.writeFileSync(
|
|
102
|
+
path.join(__dirname, '../test/volvox_remote_region.svg'),
|
|
103
|
+
result,
|
|
104
|
+
)
|
|
95
105
|
expect(result).toBeTruthy()
|
|
96
106
|
}, 20000)
|
|
97
107
|
|
|
98
108
|
test('renders volvox with variety of args (noRasterize)', async () => {
|
|
99
|
-
const fp = f =>
|
|
109
|
+
const fp = f => path.join(__dirname, '../data/volvox/' + f)
|
|
100
110
|
console.error = jest.fn()
|
|
101
111
|
const result = await renderRegion({
|
|
102
112
|
fasta: fp('volvox.fa'),
|
|
@@ -113,7 +123,10 @@ test('renders volvox with variety of args (noRasterize)', async () => {
|
|
|
113
123
|
noRasterize: true,
|
|
114
124
|
})
|
|
115
125
|
fs.writeFileSync(
|
|
116
|
-
|
|
126
|
+
path.join(
|
|
127
|
+
__dirname,
|
|
128
|
+
'../test/svg_from_volvox_fasta_and_bam_norasterize.svg',
|
|
129
|
+
),
|
|
117
130
|
result,
|
|
118
131
|
)
|
|
119
132
|
expect(result).toBeTruthy()
|
|
@@ -133,13 +146,13 @@ xtest('configtracks arg with urls', async () => {
|
|
|
133
146
|
|
|
134
147
|
test('configtracks arg with local files', async () => {
|
|
135
148
|
const result = await renderRegion({
|
|
136
|
-
config:
|
|
149
|
+
config: path.join(__dirname, '../data/volvox/config.json'),
|
|
137
150
|
trackList: [['configtracks', ['volvox_sv']]],
|
|
138
151
|
assembly: 'volvox',
|
|
139
152
|
loc: 'ctgA:1-50,000',
|
|
140
153
|
})
|
|
141
154
|
fs.writeFileSync(
|
|
142
|
-
|
|
155
|
+
path.join(__dirname, '../test/svg_configtracks_local.svg'),
|
|
143
156
|
result,
|
|
144
157
|
)
|
|
145
158
|
expect(result).toBeTruthy()
|
|
@@ -158,6 +171,9 @@ xtest('renders --hic', async () => {
|
|
|
158
171
|
],
|
|
159
172
|
loc: '1:2,000,000-10,000,000',
|
|
160
173
|
})
|
|
161
|
-
fs.writeFileSync(
|
|
174
|
+
fs.writeFileSync(
|
|
175
|
+
path.join(__dirname, '../test/svg_from_human_hic.svg'),
|
|
176
|
+
result,
|
|
177
|
+
)
|
|
162
178
|
expect(result).toBeTruthy()
|
|
163
179
|
}, 20000)
|
package/src/index.ts
CHANGED
|
@@ -63,7 +63,7 @@ console.warn = (...p: unknown[]) => {
|
|
|
63
63
|
|
|
64
64
|
// note: yargs is actually unused except for printing help
|
|
65
65
|
// we do custom command line parsing, see parseArgv.ts
|
|
66
|
-
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
67
67
|
yargs
|
|
68
68
|
.command('jb2export', 'Creates a jbrowse 2 image snapshot')
|
|
69
69
|
.option('config', {
|
|
@@ -186,6 +186,7 @@ const args = standardizeArgv(parseArgv(process.argv.slice(2)), [
|
|
|
186
186
|
'configtracks',
|
|
187
187
|
])
|
|
188
188
|
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
189
190
|
;(async () => {
|
|
190
191
|
try {
|
|
191
192
|
const result = await renderRegion(args as Opts)
|
|
File without changes
|
package/dist/index.testmod.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/index.testmod.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const renderRegion_1 = require("./renderRegion");
|
|
30
|
-
const fs_1 = __importDefault(require("fs"));
|
|
31
|
-
const jsdom_1 = require("jsdom");
|
|
32
|
-
require("abortcontroller-polyfill/dist/abortcontroller-polyfill-only");
|
|
33
|
-
const canvas_1 = require("canvas");
|
|
34
|
-
const node_fetch_1 = __importStar(require("node-fetch"));
|
|
35
|
-
global.fetch = node_fetch_1.default;
|
|
36
|
-
global.Headers = node_fetch_1.Headers;
|
|
37
|
-
global.Response = node_fetch_1.Response;
|
|
38
|
-
global.Request = node_fetch_1.Request;
|
|
39
|
-
const { document } = new jsdom_1.JSDOM(`...`).window;
|
|
40
|
-
global.document = document;
|
|
41
|
-
global.nodeImage = canvas_1.Image;
|
|
42
|
-
global.nodeCreateCanvas = canvas_1.createCanvas;
|
|
43
|
-
xtest('renders a region with --session and --config args', async () => {
|
|
44
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
45
|
-
session: require.resolve('../test/clingen_session.json'),
|
|
46
|
-
config: require.resolve('../data/config.json'),
|
|
47
|
-
});
|
|
48
|
-
fs_1.default.writeFileSync('svg_from_config_and_session_param.svg', result);
|
|
49
|
-
expect(result).toMatchSnapshot();
|
|
50
|
-
}, 40000);
|
|
51
|
-
xtest('renders a region with --session, --tracks, and --assembly args', async () => {
|
|
52
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
53
|
-
session: require.resolve('../test/clingen_session.json'),
|
|
54
|
-
tracks: require.resolve('../data/tracks.json'),
|
|
55
|
-
assembly: require.resolve('../data/assembly.json'),
|
|
56
|
-
});
|
|
57
|
-
fs_1.default.writeFileSync('svg_from_separate_session_and_tracks.svg', result);
|
|
58
|
-
expect(result).toMatchSnapshot();
|
|
59
|
-
}, 40000);
|
|
60
|
-
test('renders volvox with variety of args', async () => {
|
|
61
|
-
const fp = f => require.resolve('../data/volvox/' + f);
|
|
62
|
-
console.error = jest.fn();
|
|
63
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
64
|
-
fasta: fp('volvox.fa'),
|
|
65
|
-
trackList: [
|
|
66
|
-
['bam', [fp('volvox-sorted.bam')]],
|
|
67
|
-
['cram', [fp('volvox-sorted.cram')]],
|
|
68
|
-
['bigwig', [fp('volvox-sorted.bam.coverage.bw')]],
|
|
69
|
-
['vcfgz', [fp('volvox.filtered.vcf.gz')]],
|
|
70
|
-
['gffgz', [fp('volvox.sort.gff3.gz')]],
|
|
71
|
-
['bigbed', [fp('volvox.bb')]],
|
|
72
|
-
['bedgz', [fp('volvox-bed12.bed.gz')]],
|
|
73
|
-
],
|
|
74
|
-
loc: 'ctgA:1000-2000',
|
|
75
|
-
});
|
|
76
|
-
fs_1.default.writeFileSync(require.resolve('../test/svg_from_volvox_fasta_and_bam.svg'), result);
|
|
77
|
-
expect(result).toBeTruthy();
|
|
78
|
-
}, 40000);
|
|
79
|
-
xtest('renders human large region with remote urls', async () => {
|
|
80
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
81
|
-
fasta: 'https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz',
|
|
82
|
-
trackList: [
|
|
83
|
-
[
|
|
84
|
-
'cram',
|
|
85
|
-
[
|
|
86
|
-
'https://s3.amazonaws.com/jbrowse.org/genomes/GRCh38/skbr3/skbr3.ont.sort.mod.cram',
|
|
87
|
-
'force:true',
|
|
88
|
-
],
|
|
89
|
-
],
|
|
90
|
-
],
|
|
91
|
-
loc: '1:10,000,000-10,030,000',
|
|
92
|
-
});
|
|
93
|
-
fs_1.default.writeFileSync(require.resolve('../test/human_remote_urls_large_region.svg'), result);
|
|
94
|
-
expect(result).toBeTruthy();
|
|
95
|
-
}, 120000);
|
|
96
|
-
xtest('renders volvox with remote urls', async () => {
|
|
97
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
98
|
-
fasta: 'https://jbrowse.org/code/jb2/main/test_data/volvox/volvox.fa',
|
|
99
|
-
trackList: [
|
|
100
|
-
[
|
|
101
|
-
'bam',
|
|
102
|
-
[
|
|
103
|
-
'https://jbrowse.org/code/jb2/main/test_data/volvox/volvox-sorted.bam',
|
|
104
|
-
],
|
|
105
|
-
],
|
|
106
|
-
],
|
|
107
|
-
loc: 'ctgA:1-1000',
|
|
108
|
-
});
|
|
109
|
-
fs_1.default.writeFileSync(require.resolve('../test/volvox_remote_region.svg'), result);
|
|
110
|
-
expect(result).toBeTruthy();
|
|
111
|
-
}, 20000);
|
|
112
|
-
test('renders volvox with variety of args (noRasterize)', async () => {
|
|
113
|
-
const fp = f => require.resolve('../data/volvox/' + f);
|
|
114
|
-
console.error = jest.fn();
|
|
115
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
116
|
-
fasta: fp('volvox.fa'),
|
|
117
|
-
trackList: [
|
|
118
|
-
['bam', [fp('volvox-sorted.bam')]],
|
|
119
|
-
['cram', [fp('volvox-sorted.cram')]],
|
|
120
|
-
['bigwig', [fp('volvox-sorted.bam.coverage.bw')]],
|
|
121
|
-
['vcfgz', [fp('volvox.filtered.vcf.gz')]],
|
|
122
|
-
['gffgz', [fp('volvox.sort.gff3.gz')]],
|
|
123
|
-
['bigbed', [fp('volvox.bb')]],
|
|
124
|
-
['bedgz', [fp('volvox-bed12.bed.gz')]],
|
|
125
|
-
],
|
|
126
|
-
loc: 'ctgA:1000-2000',
|
|
127
|
-
noRasterize: true,
|
|
128
|
-
});
|
|
129
|
-
fs_1.default.writeFileSync(require.resolve('../test/svg_from_volvox_fasta_and_bam_norasterize.svg'), result);
|
|
130
|
-
expect(result).toBeTruthy();
|
|
131
|
-
}, 40000);
|
|
132
|
-
// commented out for using remote files currently
|
|
133
|
-
xtest('configtracks arg with urls', async () => {
|
|
134
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
135
|
-
config: 'data/config.json',
|
|
136
|
-
trackList: [['configtracks', ['ncbi_refseq_109_hg38']]],
|
|
137
|
-
assembly: 'GRCh38',
|
|
138
|
-
loc: 'chr1:50,000-60,000',
|
|
139
|
-
});
|
|
140
|
-
fs_1.default.writeFileSync('svg_configtracks_simple.svg', result);
|
|
141
|
-
expect(result).toBeTruthy();
|
|
142
|
-
}, 40000);
|
|
143
|
-
test('configtracks arg with local files', async () => {
|
|
144
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
145
|
-
config: require.resolve('../data/volvox/config.json'),
|
|
146
|
-
trackList: [['configtracks', ['volvox_sv']]],
|
|
147
|
-
assembly: 'volvox',
|
|
148
|
-
loc: 'ctgA:1-50,000',
|
|
149
|
-
});
|
|
150
|
-
fs_1.default.writeFileSync(require.resolve('../test/svg_configtracks_local.svg'), result);
|
|
151
|
-
expect(result).toBeTruthy();
|
|
152
|
-
}, 40000);
|
|
153
|
-
xtest('renders --hic', async () => {
|
|
154
|
-
const result = await (0, renderRegion_1.renderRegion)({
|
|
155
|
-
fasta: 'https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz',
|
|
156
|
-
trackList: [
|
|
157
|
-
[
|
|
158
|
-
'hic',
|
|
159
|
-
[
|
|
160
|
-
'https://s3.amazonaws.com/igv.broadinstitute.org/data/hic/intra_nofrag_30.hic',
|
|
161
|
-
],
|
|
162
|
-
],
|
|
163
|
-
],
|
|
164
|
-
loc: '1:2,000,000-10,000,000',
|
|
165
|
-
});
|
|
166
|
-
fs_1.default.writeFileSync(require.resolve('../test/svg_from_human_hic.svg'), result);
|
|
167
|
-
expect(result).toBeTruthy();
|
|
168
|
-
}, 20000);
|
|
169
|
-
//# sourceMappingURL=index.testmod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.testmod.js","sourceRoot":"","sources":["../src/index.testmod.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const parseArgv_1 = require("./parseArgv");
|
|
4
|
-
test('parse', () => {
|
|
5
|
-
const args = '--bam dad.bam color:red --vcf variants.vcf --bam mom.bam --defaultSession --out out.svg --noRasterize';
|
|
6
|
-
expect((0, parseArgv_1.parseArgv)(args.split(' '))).toEqual([
|
|
7
|
-
['bam', ['dad.bam', 'color:red']],
|
|
8
|
-
['vcf', ['variants.vcf']],
|
|
9
|
-
['bam', ['mom.bam']],
|
|
10
|
-
['defaultSession', []],
|
|
11
|
-
['out', ['out.svg']],
|
|
12
|
-
['noRasterize', []],
|
|
13
|
-
]);
|
|
14
|
-
});
|
|
15
|
-
test('parse', () => {
|
|
16
|
-
const args = '--bam dad.bam color:red --vcf variants.vcf --bam mom.bam force:true --defaultSession --out out.svg --noRasterize';
|
|
17
|
-
expect((0, parseArgv_1.parseArgv)(args.split(' '))).toEqual([
|
|
18
|
-
['bam', ['dad.bam', 'color:red']],
|
|
19
|
-
['vcf', ['variants.vcf']],
|
|
20
|
-
['bam', ['mom.bam', 'force:true']],
|
|
21
|
-
['defaultSession', []],
|
|
22
|
-
['out', ['out.svg']],
|
|
23
|
-
['noRasterize', []],
|
|
24
|
-
]);
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=parseArgv.testmod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgv.testmod.js","sourceRoot":"","sources":["../src/parseArgv.testmod.js"],"names":[],"mappings":";;AAAA,2CAAuC;AAEvC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,IAAI,GACR,uGAAuG,CAAA;IAEzG,MAAM,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;QACzB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,aAAa,EAAE,EAAE,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,IAAI,GACR,kHAAkH,CAAA;IAEpH,MAAM,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;QACzB,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,aAAa,EAAE,EAAE,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/esm/index.testmod.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/esm/index.testmod.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { renderRegion } from './renderRegion';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { JSDOM } from 'jsdom';
|
|
4
|
-
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';
|
|
5
|
-
import { Image, createCanvas } from 'canvas';
|
|
6
|
-
import fetch, { Headers, Response, Request } from 'node-fetch';
|
|
7
|
-
global.fetch = fetch;
|
|
8
|
-
global.Headers = Headers;
|
|
9
|
-
global.Response = Response;
|
|
10
|
-
global.Request = Request;
|
|
11
|
-
const { document } = new JSDOM(`...`).window;
|
|
12
|
-
global.document = document;
|
|
13
|
-
global.nodeImage = Image;
|
|
14
|
-
global.nodeCreateCanvas = createCanvas;
|
|
15
|
-
xtest('renders a region with --session and --config args', async () => {
|
|
16
|
-
const result = await renderRegion({
|
|
17
|
-
session: require.resolve('../test/clingen_session.json'),
|
|
18
|
-
config: require.resolve('../data/config.json'),
|
|
19
|
-
});
|
|
20
|
-
fs.writeFileSync('svg_from_config_and_session_param.svg', result);
|
|
21
|
-
expect(result).toMatchSnapshot();
|
|
22
|
-
}, 40000);
|
|
23
|
-
xtest('renders a region with --session, --tracks, and --assembly args', async () => {
|
|
24
|
-
const result = await renderRegion({
|
|
25
|
-
session: require.resolve('../test/clingen_session.json'),
|
|
26
|
-
tracks: require.resolve('../data/tracks.json'),
|
|
27
|
-
assembly: require.resolve('../data/assembly.json'),
|
|
28
|
-
});
|
|
29
|
-
fs.writeFileSync('svg_from_separate_session_and_tracks.svg', result);
|
|
30
|
-
expect(result).toMatchSnapshot();
|
|
31
|
-
}, 40000);
|
|
32
|
-
test('renders volvox with variety of args', async () => {
|
|
33
|
-
const fp = f => require.resolve('../data/volvox/' + f);
|
|
34
|
-
console.error = jest.fn();
|
|
35
|
-
const result = await renderRegion({
|
|
36
|
-
fasta: fp('volvox.fa'),
|
|
37
|
-
trackList: [
|
|
38
|
-
['bam', [fp('volvox-sorted.bam')]],
|
|
39
|
-
['cram', [fp('volvox-sorted.cram')]],
|
|
40
|
-
['bigwig', [fp('volvox-sorted.bam.coverage.bw')]],
|
|
41
|
-
['vcfgz', [fp('volvox.filtered.vcf.gz')]],
|
|
42
|
-
['gffgz', [fp('volvox.sort.gff3.gz')]],
|
|
43
|
-
['bigbed', [fp('volvox.bb')]],
|
|
44
|
-
['bedgz', [fp('volvox-bed12.bed.gz')]],
|
|
45
|
-
],
|
|
46
|
-
loc: 'ctgA:1000-2000',
|
|
47
|
-
});
|
|
48
|
-
fs.writeFileSync(require.resolve('../test/svg_from_volvox_fasta_and_bam.svg'), result);
|
|
49
|
-
expect(result).toBeTruthy();
|
|
50
|
-
}, 40000);
|
|
51
|
-
xtest('renders human large region with remote urls', async () => {
|
|
52
|
-
const result = await renderRegion({
|
|
53
|
-
fasta: 'https://jbrowse.org/genomes/GRCh38/fasta/hg38.prefix.fa.gz',
|
|
54
|
-
trackList: [
|
|
55
|
-
[
|
|
56
|
-
'cram',
|
|
57
|
-
[
|
|
58
|
-
'https://s3.amazonaws.com/jbrowse.org/genomes/GRCh38/skbr3/skbr3.ont.sort.mod.cram',
|
|
59
|
-
'force:true',
|
|
60
|
-
],
|
|
61
|
-
],
|
|
62
|
-
],
|
|
63
|
-
loc: '1:10,000,000-10,030,000',
|
|
64
|
-
});
|
|
65
|
-
fs.writeFileSync(require.resolve('../test/human_remote_urls_large_region.svg'), result);
|
|
66
|
-
expect(result).toBeTruthy();
|
|
67
|
-
}, 120000);
|
|
68
|
-
xtest('renders volvox with remote urls', async () => {
|
|
69
|
-
const result = await renderRegion({
|
|
70
|
-
fasta: 'https://jbrowse.org/code/jb2/main/test_data/volvox/volvox.fa',
|
|
71
|
-
trackList: [
|
|
72
|
-
[
|
|
73
|
-
'bam',
|
|
74
|
-
[
|
|
75
|
-
'https://jbrowse.org/code/jb2/main/test_data/volvox/volvox-sorted.bam',
|
|
76
|
-
],
|
|
77
|
-
],
|
|
78
|
-
],
|
|
79
|
-
loc: 'ctgA:1-1000',
|
|
80
|
-
});
|
|
81
|
-
fs.writeFileSync(require.resolve('../test/volvox_remote_region.svg'), result);
|
|
82
|
-
expect(result).toBeTruthy();
|
|
83
|
-
}, 20000);
|
|
84
|
-
test('renders volvox with variety of args (noRasterize)', async () => {
|
|
85
|
-
const fp = f => require.resolve('../data/volvox/' + f);
|
|
86
|
-
console.error = jest.fn();
|
|
87
|
-
const result = await renderRegion({
|
|
88
|
-
fasta: fp('volvox.fa'),
|
|
89
|
-
trackList: [
|
|
90
|
-
['bam', [fp('volvox-sorted.bam')]],
|
|
91
|
-
['cram', [fp('volvox-sorted.cram')]],
|
|
92
|
-
['bigwig', [fp('volvox-sorted.bam.coverage.bw')]],
|
|
93
|
-
['vcfgz', [fp('volvox.filtered.vcf.gz')]],
|
|
94
|
-
['gffgz', [fp('volvox.sort.gff3.gz')]],
|
|
95
|
-
['bigbed', [fp('volvox.bb')]],
|
|
96
|
-
['bedgz', [fp('volvox-bed12.bed.gz')]],
|
|
97
|
-
],
|
|
98
|
-
loc: 'ctgA:1000-2000',
|
|
99
|
-
noRasterize: true,
|
|
100
|
-
});
|
|
101
|
-
fs.writeFileSync(require.resolve('../test/svg_from_volvox_fasta_and_bam_norasterize.svg'), result);
|
|
102
|
-
expect(result).toBeTruthy();
|
|
103
|
-
}, 40000);
|
|
104
|
-
// commented out for using remote files currently
|
|
105
|
-
xtest('configtracks arg with urls', async () => {
|
|
106
|
-
const result = await renderRegion({
|
|
107
|
-
config: 'data/config.json',
|
|
108
|
-
trackList: [['configtracks', ['ncbi_refseq_109_hg38']]],
|
|
109
|
-
assembly: 'GRCh38',
|
|
110
|
-
loc: 'chr1:50,000-60,000',
|
|
111
|
-
});
|
|
112
|
-
fs.writeFileSync('svg_configtracks_simple.svg', result);
|
|
113
|
-
expect(result).toBeTruthy();
|
|
114
|
-
}, 40000);
|
|
115
|
-
test('configtracks arg with local files', async () => {
|
|
116
|
-
const result = await renderRegion({
|
|
117
|
-
config: require.resolve('../data/volvox/config.json'),
|
|
118
|
-
trackList: [['configtracks', ['volvox_sv']]],
|
|
119
|
-
assembly: 'volvox',
|
|
120
|
-
loc: 'ctgA:1-50,000',
|
|
121
|
-
});
|
|
122
|
-
fs.writeFileSync(require.resolve('../test/svg_configtracks_local.svg'), result);
|
|
123
|
-
expect(result).toBeTruthy();
|
|
124
|
-
}, 40000);
|
|
125
|
-
xtest('renders --hic', async () => {
|
|
126
|
-
const result = await renderRegion({
|
|
127
|
-
fasta: 'https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz',
|
|
128
|
-
trackList: [
|
|
129
|
-
[
|
|
130
|
-
'hic',
|
|
131
|
-
[
|
|
132
|
-
'https://s3.amazonaws.com/igv.broadinstitute.org/data/hic/intra_nofrag_30.hic',
|
|
133
|
-
],
|
|
134
|
-
],
|
|
135
|
-
],
|
|
136
|
-
loc: '1:2,000,000-10,000,000',
|
|
137
|
-
});
|
|
138
|
-
fs.writeFileSync(require.resolve('../test/svg_from_human_hic.svg'), result);
|
|
139
|
-
expect(result).toBeTruthy();
|
|
140
|
-
}, 20000);
|
|
141
|
-
//# sourceMappingURL=index.testmod.js.map
|
package/esm/index.testmod.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.testmod.js","sourceRoot":"","sources":["../src/index.testmod.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/esm/parseArgv.testmod.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { parseArgv } from './parseArgv';
|
|
2
|
-
test('parse', () => {
|
|
3
|
-
const args = '--bam dad.bam color:red --vcf variants.vcf --bam mom.bam --defaultSession --out out.svg --noRasterize';
|
|
4
|
-
expect(parseArgv(args.split(' '))).toEqual([
|
|
5
|
-
['bam', ['dad.bam', 'color:red']],
|
|
6
|
-
['vcf', ['variants.vcf']],
|
|
7
|
-
['bam', ['mom.bam']],
|
|
8
|
-
['defaultSession', []],
|
|
9
|
-
['out', ['out.svg']],
|
|
10
|
-
['noRasterize', []],
|
|
11
|
-
]);
|
|
12
|
-
});
|
|
13
|
-
test('parse', () => {
|
|
14
|
-
const args = '--bam dad.bam color:red --vcf variants.vcf --bam mom.bam force:true --defaultSession --out out.svg --noRasterize';
|
|
15
|
-
expect(parseArgv(args.split(' '))).toEqual([
|
|
16
|
-
['bam', ['dad.bam', 'color:red']],
|
|
17
|
-
['vcf', ['variants.vcf']],
|
|
18
|
-
['bam', ['mom.bam', 'force:true']],
|
|
19
|
-
['defaultSession', []],
|
|
20
|
-
['out', ['out.svg']],
|
|
21
|
-
['noRasterize', []],
|
|
22
|
-
]);
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=parseArgv.testmod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgv.testmod.js","sourceRoot":"","sources":["../src/parseArgv.testmod.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,IAAI,GACR,uGAAuG,CAAA;IAEzG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;QACzB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,aAAa,EAAE,EAAE,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,IAAI,GACR,kHAAkH,CAAA;IAEpH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;QACzB,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,aAAa,EAAE,EAAE,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|