jbrowse-plugin-mafviewer 1.5.0 → 1.6.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 +89 -21
- package/dist/BgzipTaffyAdapter/BgzipTaffyAdapter.d.ts +11 -4
- package/dist/BgzipTaffyAdapter/BgzipTaffyAdapter.js +26 -18
- package/dist/BgzipTaffyAdapter/BgzipTaffyAdapter.js.map +1 -1
- package/dist/BgzipTaffyAdapter/configSchema.d.ts +2 -2
- package/dist/BgzipTaffyAdapter/rowInstructions.d.ts +15 -0
- package/dist/BgzipTaffyAdapter/rowInstructions.js +18 -17
- package/dist/BgzipTaffyAdapter/rowInstructions.js.map +1 -1
- package/dist/BigMafAdapter/BigMafAdapter.d.ts +2 -2
- package/dist/BigMafAdapter/BigMafAdapter.js +11 -16
- package/dist/BigMafAdapter/BigMafAdapter.js.map +1 -1
- package/dist/BigMafAdapter/configSchema.d.ts +2 -2
- package/dist/LinearMafDisplay/components/useDragSelection.js +14 -3
- package/dist/LinearMafDisplay/components/useDragSelection.js.map +1 -1
- package/dist/LinearMafDisplay/configSchema.d.ts +29 -2
- package/dist/LinearMafDisplay/stateModel.d.ts +21 -37
- package/dist/LinearMafRenderer/LinearMafRenderer.js +16 -1
- package/dist/LinearMafRenderer/LinearMafRenderer.js.map +1 -1
- package/dist/LinearMafRenderer/configSchema.d.ts +1 -1
- package/dist/LinearMafRenderer/makeImageData.d.ts +0 -14
- package/dist/LinearMafRenderer/makeImageData.js +0 -11
- package/dist/LinearMafRenderer/makeImageData.js.map +1 -1
- package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js +1 -1
- package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js.map +1 -1
- package/dist/MafSequenceWidget/MafSequenceWidget.js +7 -1
- package/dist/MafSequenceWidget/MafSequenceWidget.js.map +1 -1
- package/dist/MafSequenceWidget/configSchema.d.ts +1 -1
- package/dist/MafTabixAdapter/MafTabixAdapter.d.ts +4 -6
- package/dist/MafTabixAdapter/MafTabixAdapter.js +15 -23
- package/dist/MafTabixAdapter/MafTabixAdapter.js.map +1 -1
- package/dist/MafTabixAdapter/configSchema.d.ts +4 -4
- package/dist/MafTrack/configSchema.d.ts +8 -8
- package/dist/jbrowse-plugin-mafviewer.umd.production.min.js +8 -8
- package/dist/jbrowse-plugin-mafviewer.umd.production.min.js.map +4 -4
- package/dist/parseNewick.js +1 -1
- package/dist/parseNewick.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.js +0 -3
- package/dist/types.js.map +1 -1
- package/dist/util/extractSubsequence.d.ts +0 -8
- package/dist/util/extractSubsequence.js +1 -28
- package/dist/util/extractSubsequence.js.map +1 -1
- package/dist/util/extractSubsequence.test.js +1 -1
- package/dist/util/fastaUtils.js +10 -10
- package/dist/util/fastaUtils.js.map +1 -1
- package/dist/util/fastaUtils.test.js +122 -0
- package/dist/util/fastaUtils.test.js.map +1 -1
- package/dist/util/getSamples.d.ts +8 -0
- package/dist/util/getSamples.js +18 -0
- package/dist/util/getSamples.js.map +1 -0
- package/dist/util/parseAssemblyName.js +7 -17
- package/dist/util/parseAssemblyName.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +50 -37
- package/src/BgzipTaffyAdapter/BgzipTaffyAdapter.ts +36 -18
- package/src/BgzipTaffyAdapter/rowInstructions.ts +20 -17
- package/src/BigMafAdapter/BigMafAdapter.ts +17 -22
- package/src/LinearMafDisplay/components/useDragSelection.ts +14 -3
- package/src/LinearMafRenderer/LinearMafRenderer.ts +21 -4
- package/src/LinearMafRenderer/makeImageData.ts +0 -27
- package/src/MafAddTrackWorkflow/AddTrackWorkflow.tsx +1 -1
- package/src/MafSequenceWidget/MafSequenceWidget.tsx +7 -3
- package/src/MafTabixAdapter/MafTabixAdapter.ts +22 -30
- package/src/parseNewick.ts +1 -1
- package/src/types.ts +11 -0
- package/src/util/__snapshots__/fastaUtils.test.ts.snap +1 -1
- package/src/util/extractSubsequence.test.ts +1 -1
- package/src/util/extractSubsequence.ts +2 -32
- package/src/util/fastaUtils.test.ts +128 -0
- package/src/util/fastaUtils.ts +10 -10
- package/src/util/getSamples.ts +25 -0
- package/src/util/parseAssemblyName.ts +7 -17
- package/src/version.ts +1 -1
- package/CHANGELOG.md +0 -11
package/README.md
CHANGED
|
@@ -2,25 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
A viewer for multiple alignment format (MAF) files in JBrowse 2
|
|
4
4
|
|
|
5
|
-
This is a port of the JBrowse 1 plugin https://github.com/cmdcolin/mafviewer to
|
|
6
|
-
JBrowse 2
|
|
7
|
-
|
|
8
5
|

|
|
9
6
|
|
|
10
7
|
## Demo
|
|
11
8
|
|
|
12
9
|
https://jbrowse.org/code/jb2/main/?config=%2Fdemos%2Fmaf%2Fhg38%2Fdistconfig.json&session=share-bJXbDiWcc9&password=87GhV
|
|
13
10
|
|
|
11
|
+
## Supported formats
|
|
12
|
+
|
|
13
|
+
This plugin supports three input formats:
|
|
14
|
+
|
|
15
|
+
1. **BigMaf** - UCSC BigMaf format e.g. .bb/.bigMaf
|
|
16
|
+
(https://genome.ucsc.edu/goldenpath/help/bigMaf.html)
|
|
17
|
+
2. **MAF tabix** - bgzip-compressed MAF converted to BED format with tabix index
|
|
18
|
+
3. **TAF (Taffy)** - bgzip-compressed TAF format
|
|
19
|
+
(https://github.com/ComparativeGenomicsToolkit/taffy)
|
|
20
|
+
|
|
14
21
|
## GUI usage (e.g. in JBrowse Desktop)
|
|
15
22
|
|
|
16
23
|
This short screenshot workflow shows how you can load your own custom MAF files
|
|
17
|
-
via the GUI
|
|
24
|
+
via the GUI.
|
|
18
25
|
|
|
19
|
-
First install the plugin via the plugin store
|
|
26
|
+
First install the plugin via the plugin store:
|
|
20
27
|
|
|
21
28
|

|
|
22
29
|
|
|
23
|
-
Then use the custom "Add track workflow"
|
|
30
|
+
Then use the custom "Add track workflow":
|
|
24
31
|
|
|
25
32
|

|
|
26
33
|
|
|
@@ -33,15 +40,45 @@ Then use the custom "Add track workflow"
|
|
|
33
40
|
"plugins": [
|
|
34
41
|
{
|
|
35
42
|
"name": "MafViewer",
|
|
36
|
-
"url": "https://
|
|
43
|
+
"url": "https://jbrowse.org/plugins/jbrowse-plugin-mafviewer/dist/jbrowse-plugin-mafviewer.umd.production.min.js"
|
|
37
44
|
}
|
|
38
45
|
]
|
|
39
46
|
}
|
|
40
47
|
```
|
|
41
48
|
|
|
49
|
+
### Example BgzipTaffyAdapter config (TAF format)
|
|
50
|
+
|
|
51
|
+
TAF (Transposed Alignment Format) is often more compact than MAF and works well
|
|
52
|
+
with large multi-species alignments. See
|
|
53
|
+
https://github.com/ComparativeGenomicsToolkit/taffy for more details.
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"type": "MafTrack",
|
|
58
|
+
"trackId": "taf-example",
|
|
59
|
+
"name": "TAF alignment",
|
|
60
|
+
"assemblyNames": ["hg38"],
|
|
61
|
+
"adapter": {
|
|
62
|
+
"type": "BgzipTaffyAdapter",
|
|
63
|
+
"tafGzLocation": {
|
|
64
|
+
"uri": "alignment.taf.gz"
|
|
65
|
+
},
|
|
66
|
+
"taiLocation": {
|
|
67
|
+
"uri": "alignment.taf.gz.tai"
|
|
68
|
+
},
|
|
69
|
+
"nhLocation": {
|
|
70
|
+
"uri": "species_tree.nh"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The `nhLocation` is optional but provides a species tree for display in the
|
|
77
|
+
sidebar.
|
|
78
|
+
|
|
42
79
|
### Example MafTabixAdapter config
|
|
43
80
|
|
|
44
|
-
can use nhLocation or samples array on adapter
|
|
81
|
+
You can use `nhLocation` (newick tree) or `samples` array on the adapter.
|
|
45
82
|
|
|
46
83
|
```json
|
|
47
84
|
{
|
|
@@ -66,7 +103,7 @@ can use nhLocation or samples array on adapter
|
|
|
66
103
|
|
|
67
104
|
### Example BigMafAdapter config
|
|
68
105
|
|
|
69
|
-
can use nhLocation or samples array on adapter
|
|
106
|
+
You can use `nhLocation` (newick tree) or `samples` array on the adapter.
|
|
70
107
|
|
|
71
108
|
```json
|
|
72
109
|
{
|
|
@@ -148,22 +185,23 @@ This page discusses some examples
|
|
|
148
185
|
https://github.com/ComparativeGenomicsToolkit/cactus/blob/master/doc/progressive.md#maf-export
|
|
149
186
|
|
|
150
187
|
Thanks to Sam Talbot (https://github.com/SamCT) for initially creating the
|
|
151
|
-
Cactus -> JBrowse 2 MAF example
|
|
188
|
+
Cactus -> JBrowse 2 MAF example.
|
|
152
189
|
|
|
153
|
-
|
|
154
|
-
|
|
190
|
+
Note: This plugin expects non-overlapping alignment blocks. Ensure your MAF/TAF
|
|
191
|
+
file meets this requirement.
|
|
155
192
|
|
|
156
193
|
## Prepare data
|
|
157
194
|
|
|
158
|
-
|
|
159
|
-
(https://genome.ucsc.edu/FAQ/FAQformat.html#format9.3)
|
|
195
|
+
Three formats are supported:
|
|
160
196
|
|
|
161
|
-
|
|
162
|
-
|
|
197
|
+
1. **BigMaf** - UCSC BigMaf format (see
|
|
198
|
+
https://genome.ucsc.edu/FAQ/FAQformat.html#format9.3)
|
|
199
|
+
2. **MAF tabix** - bgzip-compressed BED converted from MAF using maf2bed
|
|
200
|
+
3. **TAF (Taffy)** - bgzip-compressed TAF with .tai index (recommended for large
|
|
201
|
+
alignments)
|
|
163
202
|
|
|
164
|
-
_Note: All
|
|
165
|
-
|
|
166
|
-
sequence identifiers._
|
|
203
|
+
_Note: All formats start with a MAF as input. Your MAF file should contain the
|
|
204
|
+
species name and chromosome name (e.g. hg38.chr1) in the sequence identifiers._
|
|
167
205
|
|
|
168
206
|
### Option 1. Preparing BigMaf
|
|
169
207
|
|
|
@@ -186,8 +224,8 @@ identifiers in the MAF file will say something like hg38.chr1, therefore, the
|
|
|
186
224
|
argument to maf2bed should just be hg38 to remove hg38 part of the identifier.
|
|
187
225
|
|
|
188
226
|
If your MAF file does not include the species name as part of the identifier,
|
|
189
|
-
you should add the species
|
|
190
|
-
hg38.chr1 if it was just chr1 before)
|
|
227
|
+
you should add the species name to the scaffold/chromosome names (e.g. create
|
|
228
|
+
hg38.chr1 if it was just chr1 before).
|
|
191
229
|
|
|
192
230
|
If all is well, your BED file should have 6 columns, with
|
|
193
231
|
`chr, start, end, id, score, alignment_data`, where `alignment_data` is
|
|
@@ -196,3 +234,33 @@ separated by `:`.
|
|
|
196
234
|
|
|
197
235
|
Note: If you can't use the `cargo install maf2bed` binary, there is a
|
|
198
236
|
`bin/maf2bed.pl` perl version of it in this repo
|
|
237
|
+
|
|
238
|
+
### Option 3. Preparing TAF (Taffy)
|
|
239
|
+
|
|
240
|
+
TAF (Transposed Alignment Format) is a column-oriented format that is often more
|
|
241
|
+
compact than MAF, especially for large multi-species alignments. It uses
|
|
242
|
+
run-length encoding and avoids the block fragmentation issues that MAF has with
|
|
243
|
+
many sequences.
|
|
244
|
+
|
|
245
|
+
Install taffy from https://github.com/ComparativeGenomicsToolkit/taffy
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Convert MAF to bgzip-compressed TAF and create index
|
|
249
|
+
taffy view -i file.maf | bgzip > out.taf.gz
|
|
250
|
+
taffy index -i out.taf.gz
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
This creates `out.taf.gz` and `out.taf.gz.tai` (the index file).
|
|
254
|
+
|
|
255
|
+
For large alignments, you may want to normalize the TAF file first to merge
|
|
256
|
+
short alignment blocks:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
taffy view -i file.maf | taffy norm | bgzip > out.taf.gz
|
|
260
|
+
taffy index -i out.taf.gz
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## Footnote
|
|
264
|
+
|
|
265
|
+
This is a port of the JBrowse 1 plugin https://github.com/cmdcolin/mafviewer to
|
|
266
|
+
JBrowse 2
|
|
@@ -2,6 +2,7 @@ import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters
|
|
|
2
2
|
import { Feature, Region } from '@jbrowse/core/util';
|
|
3
3
|
import type { RowInstruction } from './rowInstructions';
|
|
4
4
|
import type { AlignmentRecord, IndexData } from './types';
|
|
5
|
+
import type { MafAdapterOptions } from '../types';
|
|
5
6
|
interface RowState {
|
|
6
7
|
sequenceName: string;
|
|
7
8
|
start: number;
|
|
@@ -26,22 +27,28 @@ interface TafFeature {
|
|
|
26
27
|
alignments: Record<string, AlignmentRecord>;
|
|
27
28
|
seq: string;
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Adapter for TAF (Taffy Alignment Format) files compressed with BGZIP
|
|
32
|
+
* Implements streaming parsing of TAF blocks into MAF features
|
|
33
|
+
*
|
|
34
|
+
* TAF Format: https://github.com/ComparativeGenomicsToolkit/taffy
|
|
35
|
+
*/
|
|
29
36
|
export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
30
37
|
setupP?: Promise<SetupData>;
|
|
31
38
|
getRefNames(): Promise<string[]>;
|
|
32
39
|
parseCoordinatesAndEstablishBlock(pBlock: AlignmentBlock | undefined, instructions: RowInstruction[]): AlignmentBlock;
|
|
33
40
|
parseBases(basesStr: string, runLengthEncodeBases: boolean): string;
|
|
34
|
-
parseTafBlocksStreaming(buffer: Uint8Array, runLengthEncodeBases: boolean): Generator<TafFeature>;
|
|
35
|
-
parseTafBlocks(buffer: Uint8Array, runLengthEncodeBases: boolean, _opts?: BaseOptions): TafFeature[];
|
|
41
|
+
parseTafBlocksStreaming(buffer: Uint8Array, runLengthEncodeBases: boolean, sampleFilter?: Set<string>): Generator<TafFeature>;
|
|
42
|
+
parseTafBlocks(buffer: Uint8Array, runLengthEncodeBases: boolean, _opts?: BaseOptions, sampleFilter?: Set<string>): TafFeature[];
|
|
36
43
|
private decoder;
|
|
37
44
|
finalizeBlock(block: AlignmentBlock, columns: string[]): void;
|
|
38
|
-
blockToFeature(block: AlignmentBlock): TafFeature | undefined;
|
|
45
|
+
blockToFeature(block: AlignmentBlock, sampleFilter?: Set<string>): TafFeature | undefined;
|
|
39
46
|
setupPre(): Promise<SetupData>;
|
|
40
47
|
setup(opts?: BaseOptions): Promise<SetupData>;
|
|
41
48
|
doSetup(): Promise<SetupData>;
|
|
42
49
|
readHeader(): Promise<boolean>;
|
|
43
50
|
readTaiFile(): Promise<IndexData>;
|
|
44
|
-
getFeatures(query: Region, opts?:
|
|
51
|
+
getFeatures(query: Region, opts?: MafAdapterOptions): import("rxjs").Observable<Feature>;
|
|
45
52
|
getSamples(_query: Region): Promise<{
|
|
46
53
|
samples: {
|
|
47
54
|
id: string;
|
|
@@ -4,12 +4,13 @@ import { updateStatus } from '@jbrowse/core/util';
|
|
|
4
4
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
5
5
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
6
6
|
import VirtualOffset from './virtualOffset';
|
|
7
|
-
import parseNewick from '../parseNewick';
|
|
8
|
-
import { normalize } from '../util';
|
|
9
7
|
import { filterFirstLineInstructions, parseRowInstructions, } from './rowInstructions';
|
|
10
8
|
import MafFeature from '../MafFeature';
|
|
11
9
|
import { parseAssemblyAndChrSimple } from '../util/parseAssemblyName';
|
|
12
|
-
|
|
10
|
+
import { getSamplesFromConfig } from '../util/getSamples';
|
|
11
|
+
/**
|
|
12
|
+
* Binary search to find the index of the first element >= target
|
|
13
|
+
*/
|
|
13
14
|
function lowerBound(arr, target, getKey) {
|
|
14
15
|
let lo = 0;
|
|
15
16
|
let hi = arr.length;
|
|
@@ -24,6 +25,12 @@ function lowerBound(arr, target, getKey) {
|
|
|
24
25
|
}
|
|
25
26
|
return lo;
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Adapter for TAF (Taffy Alignment Format) files compressed with BGZIP
|
|
30
|
+
* Implements streaming parsing of TAF blocks into MAF features
|
|
31
|
+
*
|
|
32
|
+
* TAF Format: https://github.com/ComparativeGenomicsToolkit/taffy
|
|
33
|
+
*/
|
|
27
34
|
export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
28
35
|
setupP;
|
|
29
36
|
async getRefNames() {
|
|
@@ -108,7 +115,7 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
108
115
|
}
|
|
109
116
|
// Streaming generator version of parseTafBlocks
|
|
110
117
|
// Yields features one at a time instead of collecting into array
|
|
111
|
-
*parseTafBlocksStreaming(buffer, runLengthEncodeBases) {
|
|
118
|
+
*parseTafBlocksStreaming(buffer, runLengthEncodeBases, sampleFilter) {
|
|
112
119
|
let pBlock;
|
|
113
120
|
let currentBlock;
|
|
114
121
|
let columns = [];
|
|
@@ -127,7 +134,7 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
127
134
|
// If we have a current block with columns, finalize and yield it
|
|
128
135
|
if (currentBlock && columns.length > 0) {
|
|
129
136
|
this.finalizeBlock(currentBlock, columns);
|
|
130
|
-
const feature = this.blockToFeature(currentBlock);
|
|
137
|
+
const feature = this.blockToFeature(currentBlock, sampleFilter);
|
|
131
138
|
if (feature) {
|
|
132
139
|
yield feature;
|
|
133
140
|
}
|
|
@@ -168,15 +175,17 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
168
175
|
// Finalize and yield last block
|
|
169
176
|
if (currentBlock && columns.length > 0) {
|
|
170
177
|
this.finalizeBlock(currentBlock, columns);
|
|
171
|
-
const feature = this.blockToFeature(currentBlock);
|
|
178
|
+
const feature = this.blockToFeature(currentBlock, sampleFilter);
|
|
172
179
|
if (feature) {
|
|
173
180
|
yield feature;
|
|
174
181
|
}
|
|
175
182
|
}
|
|
176
183
|
}
|
|
177
184
|
// Non-streaming version for backward compatibility (used in tests)
|
|
178
|
-
parseTafBlocks(buffer, runLengthEncodeBases, _opts) {
|
|
179
|
-
return [
|
|
185
|
+
parseTafBlocks(buffer, runLengthEncodeBases, _opts, sampleFilter) {
|
|
186
|
+
return [
|
|
187
|
+
...this.parseTafBlocksStreaming(buffer, runLengthEncodeBases, sampleFilter),
|
|
188
|
+
];
|
|
180
189
|
}
|
|
181
190
|
// TextDecoder for efficient string building from typed array
|
|
182
191
|
decoder = new TextDecoder('ascii');
|
|
@@ -202,7 +211,7 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
202
211
|
row.length = length;
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
|
-
blockToFeature(block) {
|
|
214
|
+
blockToFeature(block, sampleFilter) {
|
|
206
215
|
if (block.rows.length === 0 || block.columnNumber === 0) {
|
|
207
216
|
return undefined;
|
|
208
217
|
}
|
|
@@ -210,6 +219,9 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
210
219
|
const alignments = {};
|
|
211
220
|
for (const row of block.rows) {
|
|
212
221
|
const { assemblyName, chr } = parseAssemblyAndChrSimple(row.sequenceName);
|
|
222
|
+
if (sampleFilter && !sampleFilter.has(assemblyName)) {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
213
225
|
alignments[assemblyName] = {
|
|
214
226
|
chr,
|
|
215
227
|
start: row.start,
|
|
@@ -303,6 +315,9 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
303
315
|
return ObservableCreate(async (observer) => {
|
|
304
316
|
try {
|
|
305
317
|
const { index, runLengthEncodeBases } = await this.setup(opts);
|
|
318
|
+
const sampleFilter = opts?.samples
|
|
319
|
+
? new Set(opts.samples.map(s => s.id))
|
|
320
|
+
: undefined;
|
|
306
321
|
// Get byte range for this query
|
|
307
322
|
const records = index[query.refName];
|
|
308
323
|
if (!records || records.length === 0) {
|
|
@@ -335,7 +350,7 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
335
350
|
: buffer.length;
|
|
336
351
|
const slice = buffer.slice(startOffset, endOffset);
|
|
337
352
|
// Stream features using generator - no caching, immediate GC eligible
|
|
338
|
-
for (const feat of this.parseTafBlocksStreaming(slice, runLengthEncodeBases)) {
|
|
353
|
+
for (const feat of this.parseTafBlocksStreaming(slice, runLengthEncodeBases, sampleFilter)) {
|
|
339
354
|
// Filter features that overlap with query region
|
|
340
355
|
if (feat.end > query.start && feat.start < query.end) {
|
|
341
356
|
observer.next(new MafFeature(feat.uniqueId, feat.start, feat.end, query.refName, feat.strand, feat.alignments, feat.seq));
|
|
@@ -350,14 +365,7 @@ export default class BgzipTaffyAdapter extends BaseFeatureDataAdapter {
|
|
|
350
365
|
});
|
|
351
366
|
}
|
|
352
367
|
async getSamples(_query) {
|
|
353
|
-
|
|
354
|
-
const nh = nhLoc.uri === '/path/to/my.nh'
|
|
355
|
-
? undefined
|
|
356
|
-
: await openLocation(nhLoc).readFile('utf8');
|
|
357
|
-
return {
|
|
358
|
-
samples: normalize(this.getConf('samples')),
|
|
359
|
-
tree: nh ? parseNewick(nh) : undefined,
|
|
360
|
-
};
|
|
368
|
+
return getSamplesFromConfig(this.getConf.bind(this));
|
|
361
369
|
}
|
|
362
370
|
freeResources() { }
|
|
363
371
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BgzipTaffyAdapter.js","sourceRoot":"","sources":["../../src/BgzipTaffyAdapter/BgzipTaffyAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BgzipTaffyAdapter.js","sourceRoot":"","sources":["../../src/BgzipTaffyAdapter/BgzipTaffyAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const configSchema: import("@jbrowse/core/
|
|
1
|
+
declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
2
|
/**
|
|
3
3
|
* #slot
|
|
4
4
|
*/
|
|
@@ -40,5 +40,5 @@ declare const configSchema: import("@jbrowse/core/esm/configuration/configuratio
|
|
|
40
40
|
locationType: string;
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
|
-
}, import("@jbrowse/core/
|
|
43
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
44
44
|
export default configSchema;
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TAF (Taffy Alignment Format) row instruction types
|
|
3
|
+
* Reference: https://github.com/ComparativeGenomicsToolkit/taffy
|
|
4
|
+
*
|
|
5
|
+
* Instruction types:
|
|
6
|
+
* 'i' - insert: add a new sequence row
|
|
7
|
+
* 's' - substitute: replace coordinates of an existing row
|
|
8
|
+
* 'd' - delete: remove a sequence row
|
|
9
|
+
* 'g' - gap: add a fixed-length gap to sequence start
|
|
10
|
+
* 'G' - gap substring: add variable-length gap from substring
|
|
11
|
+
*/
|
|
1
12
|
interface RowInsert {
|
|
2
13
|
type: 'i';
|
|
3
14
|
row: number;
|
|
@@ -30,5 +41,9 @@ interface RowGapSubstring {
|
|
|
30
41
|
}
|
|
31
42
|
export type RowInstruction = RowInsert | RowDelete | RowGap | RowGapSubstring | RowSubstitute;
|
|
32
43
|
export declare function filterFirstLineInstructions(instructions: RowInstruction[]): RowInstruction[];
|
|
44
|
+
/**
|
|
45
|
+
* Parses TAF row instruction string into structured RowInstruction objects
|
|
46
|
+
* Each instruction token sequence is parsed according to TAF format rules
|
|
47
|
+
*/
|
|
33
48
|
export declare function parseRowInstructions(meta: string): RowInstruction[];
|
|
34
49
|
export {};
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TAF (Taffy Alignment Format) row instruction types
|
|
3
|
+
* Reference: https://github.com/ComparativeGenomicsToolkit/taffy
|
|
4
|
+
*
|
|
5
|
+
* Instruction types:
|
|
6
|
+
* 'i' - insert: add a new sequence row
|
|
7
|
+
* 's' - substitute: replace coordinates of an existing row
|
|
8
|
+
* 'd' - delete: remove a sequence row
|
|
9
|
+
* 'g' - gap: add a fixed-length gap to sequence start
|
|
10
|
+
* 'G' - gap substring: add variable-length gap from substring
|
|
11
|
+
*/
|
|
1
12
|
// Faithfully replicates change_s_coordinates_to_i from taffy/impl/tai.c
|
|
2
13
|
// When starting from an indexed position:
|
|
3
14
|
// 1. Convert 's' (substitute) to 'i' (insert) - because there's no previous row to substitute
|
|
@@ -20,30 +31,20 @@ export function filterFirstLineInstructions(instructions) {
|
|
|
20
31
|
return ins;
|
|
21
32
|
});
|
|
22
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Parses TAF row instruction string into structured RowInstruction objects
|
|
36
|
+
* Each instruction token sequence is parsed according to TAF format rules
|
|
37
|
+
*/
|
|
23
38
|
export function parseRowInstructions(meta) {
|
|
24
39
|
const ret = meta.split(' ');
|
|
25
40
|
const rows = [];
|
|
26
41
|
for (let i = 0; i < ret.length;) {
|
|
27
42
|
const type = ret[i++];
|
|
28
|
-
if (type === 'i') {
|
|
29
|
-
const row = +ret[i++];
|
|
30
|
-
const sequenceName = ret[i++];
|
|
43
|
+
if (type === 'i' || type === 's') {
|
|
31
44
|
rows.push({
|
|
32
45
|
type,
|
|
33
|
-
row,
|
|
34
|
-
sequenceName,
|
|
35
|
-
start: +ret[i++],
|
|
36
|
-
strand: ret[i++] === '-' ? -1 : 1,
|
|
37
|
-
sequenceLength: +ret[i++],
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
else if (type === 's') {
|
|
41
|
-
const row = +ret[i++];
|
|
42
|
-
const sequenceName = ret[i++];
|
|
43
|
-
rows.push({
|
|
44
|
-
type,
|
|
45
|
-
row,
|
|
46
|
-
sequenceName,
|
|
46
|
+
row: +ret[i++],
|
|
47
|
+
sequenceName: ret[i++],
|
|
47
48
|
start: +ret[i++],
|
|
48
49
|
strand: ret[i++] === '-' ? -1 : 1,
|
|
49
50
|
sequenceLength: +ret[i++],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowInstructions.js","sourceRoot":"","sources":["../../src/BgzipTaffyAdapter/rowInstructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rowInstructions.js","sourceRoot":"","sources":["../../src/BgzipTaffyAdapter/rowInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuCH,wEAAwE;AACxE,0CAA0C;AAC1C,8FAA8F;AAC9F,6FAA6F;AAC7F,MAAM,UAAU,2BAA2B,CACzC,YAA8B;IAE9B,OAAO,YAAY;SAChB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;SACnD,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACrB,qBAAqB;YACrB,OAAO;gBACL,IAAI,EAAE,GAAY;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAA;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,EAAsB,CAAA;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;gBACf,YAAY,EAAE,GAAG,CAAC,CAAC,EAAE,CAAE;gBACvB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;gBACjB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;aACE,CAAC,CAAA;QACjC,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;aAChB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;gBACf,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;aACtB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE;gBACf,YAAY,EAAE,GAAG,CAAC,CAAC,EAAE,CAAE;aACxB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
-
import type {
|
|
2
|
+
import type { MafAdapterOptions } from '../types';
|
|
3
3
|
import type { Feature, Region } from '@jbrowse/core/util';
|
|
4
4
|
export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
5
5
|
setupP?: Promise<{
|
|
@@ -13,7 +13,7 @@ export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
|
13
13
|
}>;
|
|
14
14
|
getRefNames(): Promise<string[]>;
|
|
15
15
|
getHeader(): Promise<unknown>;
|
|
16
|
-
getFeatures(query: Region, opts?:
|
|
16
|
+
getFeatures(query: Region, opts?: MafAdapterOptions): import("rxjs").Observable<Feature>;
|
|
17
17
|
getSamples(_query: Region): Promise<{
|
|
18
18
|
samples: {
|
|
19
19
|
id: string;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
-
import { openLocation } from '@jbrowse/core/util/io';
|
|
3
2
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
4
3
|
import { getSnapshot } from '@jbrowse/mobx-state-tree';
|
|
5
4
|
import MafFeature from '../MafFeature';
|
|
6
|
-
import parseNewick from '../parseNewick';
|
|
7
|
-
import { normalize } from '../util';
|
|
8
5
|
import { subscribeToObservable } from '../util/observableUtils';
|
|
9
6
|
import { parseAssemblyAndChrSimple } from '../util/parseAssemblyName';
|
|
7
|
+
import { getSamplesFromConfig } from '../util/getSamples';
|
|
10
8
|
export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
11
9
|
setupP;
|
|
12
10
|
async setup() {
|
|
@@ -28,17 +26,20 @@ export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
|
28
26
|
return this.setupP;
|
|
29
27
|
}
|
|
30
28
|
async getRefNames() {
|
|
31
|
-
const { adapter } = await this.
|
|
29
|
+
const { adapter } = await this.setupPre();
|
|
32
30
|
return adapter.getRefNames();
|
|
33
31
|
}
|
|
34
32
|
async getHeader() {
|
|
35
|
-
const { adapter } = await this.
|
|
33
|
+
const { adapter } = await this.setupPre();
|
|
36
34
|
return adapter.getHeader();
|
|
37
35
|
}
|
|
38
36
|
getFeatures(query, opts) {
|
|
39
37
|
const WHITESPACE_REGEX = / +/;
|
|
40
38
|
return ObservableCreate(async (observer) => {
|
|
41
39
|
const { adapter } = await this.setupPre();
|
|
40
|
+
const sampleFilter = opts?.samples
|
|
41
|
+
? new Set(opts.samples.map(s => s.id))
|
|
42
|
+
: undefined;
|
|
42
43
|
await subscribeToObservable(adapter.getFeatures(query, opts), feature => {
|
|
43
44
|
const maf = feature.get('mafBlock');
|
|
44
45
|
const blocks = maf.split(';');
|
|
@@ -49,10 +50,13 @@ export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
|
49
50
|
const parts = block.split(WHITESPACE_REGEX);
|
|
50
51
|
const sequence = parts[6];
|
|
51
52
|
const organismChr = parts[1];
|
|
53
|
+
const { assemblyName: org, chr } = parseAssemblyAndChrSimple(organismChr);
|
|
52
54
|
if (referenceSeq === undefined) {
|
|
53
55
|
referenceSeq = sequence;
|
|
54
56
|
}
|
|
55
|
-
|
|
57
|
+
if (sampleFilter && !sampleFilter.has(org)) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
56
60
|
alignments[org] = {
|
|
57
61
|
chr,
|
|
58
62
|
start: +parts[2],
|
|
@@ -70,16 +74,7 @@ export default class BigMafAdapter extends BaseFeatureDataAdapter {
|
|
|
70
74
|
}, opts?.stopToken);
|
|
71
75
|
}
|
|
72
76
|
async getSamples(_query) {
|
|
73
|
-
|
|
74
|
-
const nh = nhLoc.uri === '/path/to/my.nh'
|
|
75
|
-
? undefined
|
|
76
|
-
: await openLocation(nhLoc).readFile('utf8');
|
|
77
|
-
// TODO: we may need to resolve the exact set of rows in the visible region
|
|
78
|
-
// here
|
|
79
|
-
return {
|
|
80
|
-
samples: normalize(this.getConf('samples')),
|
|
81
|
-
tree: nh ? parseNewick(nh) : undefined,
|
|
82
|
-
};
|
|
77
|
+
return getSamplesFromConfig(this.getConf.bind(this));
|
|
83
78
|
}
|
|
84
79
|
freeResources() { }
|
|
85
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigMafAdapter.js","sourceRoot":"","sources":["../../src/BigMafAdapter/BigMafAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BigMafAdapter.js","sourceRoot":"","sources":["../../src/BigMafAdapter/BigMafAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const configSchema: import("@jbrowse/core/
|
|
1
|
+
declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
2
|
/**
|
|
3
3
|
* #slot
|
|
4
4
|
*/
|
|
@@ -28,5 +28,5 @@ declare const configSchema: import("@jbrowse/core/esm/configuration/configuratio
|
|
|
28
28
|
locationType: string;
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
|
-
}, import("@jbrowse/core/
|
|
31
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
32
32
|
export default configSchema;
|