react-msaview-cli 5.5.0 → 5.6.1

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.
Files changed (2) hide show
  1. package/README.md +77 -16
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -3,7 +3,9 @@
3
3
  Command-line tools for [react-msaview](../) (JBrowseMSA), including batch
4
4
  InterProScan processing for multiple sequence alignments.
5
5
 
6
- Uses [msa-parsers](../msa-parsers/) for file format support.
6
+ Uses
7
+ [msa-parsers](https://github.com/GMOD/JBrowseMSA/tree/main/packages/msa-parsers)
8
+ for file format support.
7
9
 
8
10
  ## Installation
9
11
 
@@ -45,7 +47,7 @@ REST API one at a time. `--local`, `--docker`, and `--singularity` instead run
45
47
  InterProScan on the whole alignment locally, which is much faster for large
46
48
  datasets.
47
49
 
48
- #### Supported MSA Formats
50
+ #### Supported MSA formats
49
51
 
50
52
  The CLI automatically detects the input format:
51
53
 
@@ -55,7 +57,7 @@ The CLI automatically detects the input format:
55
57
  - **A3M** (`.a3m`) - AlphaFold/ColabFold format
56
58
  - **EMF** (`.emf`) - Ensembl Multi Format
57
59
 
58
- #### Available InterProScan Programs
60
+ #### Available InterProScan programs
59
61
 
60
62
  When using `--programs`, you can specify any combination of:
61
63
 
@@ -73,6 +75,35 @@ When using `--programs`, you can specify any combination of:
73
75
  - `PIRSF` - PIR SuperFamily
74
76
  - `MobiDBLite` - Disorder prediction
75
77
 
78
+ ### interpro
79
+
80
+ Build a domain GFF from InterPro's **precomputed** matches for UniProtKB
81
+ accessions, instead of submitting sequences to a live InterProScan job. Every
82
+ UniProtKB sequence already has InterPro matches computed and served by the EBI
83
+ InterPro API, so for inputs that are real UniProt accessions this is instant,
84
+ deterministic, and version-pinnable — no email or rate-limited job submission.
85
+ Prefer this over `interproscan` whenever your rows are UniProt accessions.
86
+
87
+ ```bash
88
+ react-msaview-cli interpro <accessions.tsv> [options]
89
+ ```
90
+
91
+ The input is one accession per line, optionally followed by a tab- or
92
+ space-separated row label; lines starting with `#` are ignored. The output GFF
93
+ is byte-for-byte compatible with the `interproscan` command.
94
+
95
+ #### Options
96
+
97
+ | Option | Description | Default |
98
+ | --------------------- | -------------------------- | ------------- |
99
+ | `-o, --output <file>` | Output GFF file path | `domains.gff` |
100
+ | `--database <name>` | InterPro member db to read | `pfam` |
101
+
102
+ ```bash
103
+ react-msaview-cli interpro accessions.tsv -o domains.gff
104
+ react-msaview-cli interpro accessions.tsv -o domains.gff --database cdd
105
+ ```
106
+
76
107
  ### genestructure
77
108
 
78
109
  Build a **gene-structure GFF** for a coding-sequence alignment from a RefSeq
@@ -110,21 +141,51 @@ react-msaview-cli genestructure f12-cds.stock --gene F12 --ref human -o exons.gf
110
141
  react-msaview-cli genestructure aln.fa --transcript NM_000505.4 --ref human
111
142
  ```
112
143
 
144
+ ### export-svg
145
+
146
+ Render an alignment (with an optional tree and domain overlay) straight to a
147
+ standalone SVG — no browser required. This is what the R package shells out to
148
+ for vector export.
149
+
150
+ ```bash
151
+ react-msaview-cli export-svg --msa <file> [options]
152
+ ```
153
+
154
+ #### Options
155
+
156
+ | Option | Description | Default |
157
+ | ------------------------ | --------------------------------------- | --------------- |
158
+ | `--msa <file>` | MSA file (FASTA, Stockholm, or Clustal) | _required_ |
159
+ | `--tree <file>` | Newick tree file | |
160
+ | `--gff <file>` | InterProScan domain GFF file | |
161
+ | `-o, --output <file>` | Output SVG file path | `alignment.svg` |
162
+ | `--color-scheme <name>` | Color scheme | `maeditor` |
163
+ | `--width <px>` | Canvas width in pixels | `1200` |
164
+ | `--height <px>` | Canvas height in pixels | `600` |
165
+ | `--tree-area-width <px>` | Tree panel width in pixels | |
166
+
167
+ ```bash
168
+ react-msaview-cli export-svg --msa alignment.fasta -o alignment.svg
169
+ react-msaview-cli export-svg --msa alignment.fasta --tree tree.nwk -o alignment.svg
170
+ react-msaview-cli export-svg --msa alignment.fasta --gff domains.gff \
171
+ --color-scheme clustalx_protein_dynamic -o alignment.svg
172
+ ```
173
+
113
174
  ## Examples
114
175
 
115
- ### Using EBI API (recommended for small datasets)
176
+ ### Using the EBI API (recommended for small datasets)
116
177
 
117
178
  ```bash
118
- # Basic usage - runs Pfam analysis
179
+ # Basic usage - runs the default PfamA + CDD analysis
119
180
  react-msaview-cli interproscan alignment.fasta -o domains.gff --email your@email.com
120
181
 
121
182
  # Multiple programs
122
183
  react-msaview-cli interproscan alignment.fasta -o domains.gff \
123
- --programs Pfam,SMART,Gene3D \
184
+ --programs PfamA,SMART,Gene3D \
124
185
  --email your@email.com
125
186
  ```
126
187
 
127
- ### Using Local InterProScan
188
+ ### Using local InterProScan
128
189
 
129
190
  For large datasets or frequent usage, install InterProScan locally:
130
191
 
@@ -140,7 +201,7 @@ react-msaview-cli interproscan alignment.fasta -o domains.gff \
140
201
  # With specific programs
141
202
  react-msaview-cli interproscan alignment.fasta -o domains.gff \
142
203
  --local \
143
- --programs Pfam,SMART
204
+ --programs PfamA,SMART
144
205
  ```
145
206
 
146
207
  ### Using Docker
@@ -168,7 +229,7 @@ react-msaview-cli interproscan alignment.fasta -o domains.gff \
168
229
  --singularity-image /path/to/interproscan.sif
169
230
  ```
170
231
 
171
- ### Different Input Formats
232
+ ### Different input formats
172
233
 
173
234
  ```bash
174
235
  # Clustal format
@@ -196,7 +257,7 @@ Writing output to domains.gff...
196
257
  Done!
197
258
  ```
198
259
 
199
- ## Output Format
260
+ ## Output format
200
261
 
201
262
  The output is standard GFF3, with one `protein_match` line per domain hit.
202
263
  `start`/`end` are 1-based positions in the **ungapped** sequence (gaps are
@@ -210,7 +271,7 @@ seq1 InterProScan protein_match 200 350 . . . Name=PF00002;signature_desc=7tm_2;
210
271
  seq2 InterProScan protein_match 5 120 . . . Name=PF00001;signature_desc=7tm_1;description=7 transmembrane receptor (rhodopsin family)
211
272
  ```
212
273
 
213
- ## Loading Results in react-msaview
274
+ ## Loading results in react-msaview
214
275
 
215
276
  After generating the GFF file, you can load it in react-msaview:
216
277
 
@@ -231,13 +292,13 @@ From R, pass the file (or string) as the `gff` argument:
231
292
  msaview(msa = "alignment.fasta", gff = "domains.gff")
232
293
  ```
233
294
 
234
- The domains render as labelled boxes over the matching rows:
295
+ The domains render as labeled boxes over the matching rows:
235
296
 
236
297
  ![InterProScan domains rendered over an alignment](../../docs/media/example-domains.svg)
237
298
 
238
299
  ## Troubleshooting
239
300
 
240
- ### EBI API Timeout
301
+ ### EBI API timeout
241
302
 
242
303
  If you get timeout errors with the EBI API:
243
304
 
@@ -245,7 +306,7 @@ If you get timeout errors with the EBI API:
245
306
  - Check your internet connection
246
307
  - For large datasets, a local/container backend is much faster than the API
247
308
 
248
- ### Local InterProScan Not Found
309
+ ### Local InterProScan not found
249
310
 
250
311
  ```
251
312
  Error: Failed to run Local: spawn interproscan.sh ENOENT. Is interproscan.sh installed and on PATH?
@@ -257,13 +318,13 @@ Make sure InterProScan is installed and specify the full path:
257
318
  --interproscan-path /full/path/to/interproscan-5.xx/interproscan.sh
258
319
  ```
259
320
 
260
- ### No Results in Output
321
+ ### No results in output
261
322
 
262
323
  - Check that your sequences are protein sequences (not nucleotide)
263
324
  - Try different programs (some may not have hits for your sequences)
264
325
  - Verify the input file is valid MSA format
265
326
 
266
- ## API Rate Limits
327
+ ## API rate limits
267
328
 
268
329
  The EBI InterProScan API has usage limits:
269
330
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-msaview-cli",
3
- "version": "5.5.0",
3
+ "version": "5.6.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -16,20 +16,20 @@
16
16
  ],
17
17
  "devDependencies": {
18
18
  "@types/jsdom": "^28.0.3",
19
- "@types/node": "^26.0.1"
19
+ "@types/node": "^26.1.1"
20
20
  },
21
21
  "dependencies": {
22
22
  "@emotion/react": "^11.14.0",
23
23
  "@emotion/styled": "^11.14.1",
24
- "@jbrowse/core": "^4.3.0",
25
- "@mui/material": "^7.3.11",
24
+ "@jbrowse/core": "file:../../vendor-jbrowse/jbrowse-core.tgz",
25
+ "@mui/material": "^9.2.0",
26
26
  "jsdom": "^29.1.1",
27
27
  "mobx": "^6.16.1",
28
28
  "mobx-react": "^9.2.2",
29
29
  "react": "^19.2.7",
30
30
  "react-dom": "^19.2.7",
31
- "msa-parsers": "5.5.0",
32
- "react-msaview": "5.5.0"
31
+ "msa-parsers": "5.6.1",
32
+ "react-msaview": "5.6.1"
33
33
  },
34
34
  "scripts": {
35
35
  "clean": "node --eval \"fs.rmSync('dist',{recursive:true,force:true})\" --input-type=module",