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.
- package/README.md +77 -16
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
184
|
+
--programs PfamA,SMART,Gene3D \
|
|
124
185
|
--email your@email.com
|
|
125
186
|
```
|
|
126
187
|
|
|
127
|
-
### Using
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
295
|
+
The domains render as labeled boxes over the matching rows:
|
|
235
296
|
|
|
236
297
|

|
|
237
298
|
|
|
238
299
|
## Troubleshooting
|
|
239
300
|
|
|
240
|
-
### EBI API
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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": "
|
|
25
|
-
"@mui/material": "^
|
|
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.
|
|
32
|
-
"react-msaview": "5.
|
|
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",
|