jbrowse-plugin-mafviewer 1.3.1 → 1.4.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 +1 -48
- package/dist/BigMafAdapter/BigMafAdapter.js +39 -28
- package/dist/BigMafAdapter/BigMafAdapter.js.map +1 -1
- package/dist/LinearMafDisplay/components/Crosshairs.js +1 -1
- package/dist/LinearMafDisplay/components/Crosshairs.js.map +1 -1
- package/dist/LinearMafDisplay/components/MAFTooltip.d.ts +2 -3
- package/dist/LinearMafDisplay/components/MAFTooltip.js +6 -19
- package/dist/LinearMafDisplay/components/MAFTooltip.js.map +1 -1
- package/dist/LinearMafDisplay/stateModel.d.ts +8 -0
- package/dist/LinearMafDisplay/stateModel.js +10 -0
- package/dist/LinearMafDisplay/stateModel.js.map +1 -1
- package/dist/LinearMafDisplay/util.d.ts +20 -0
- package/dist/LinearMafDisplay/util.js +29 -0
- package/dist/LinearMafDisplay/util.js.map +1 -1
- package/dist/LinearMafRenderer/LinearMafRenderer.d.ts +9 -0
- package/dist/LinearMafRenderer/LinearMafRenderer.js +1 -2
- package/dist/LinearMafRenderer/LinearMafRenderer.js.map +1 -1
- package/dist/LinearMafRenderer/components/LinearMafRendering.d.ts +13 -0
- package/dist/LinearMafRenderer/components/LinearMafRendering.js +46 -0
- package/dist/LinearMafRenderer/components/LinearMafRendering.js.map +1 -0
- package/dist/LinearMafRenderer/components/ReactComponent.d.ts +3 -0
- package/dist/LinearMafRenderer/components/ReactComponent.js +41 -2
- package/dist/LinearMafRenderer/components/ReactComponent.js.map +1 -1
- package/dist/LinearMafRenderer/components/util.d.ts +1 -0
- package/dist/LinearMafRenderer/components/util.js +13 -0
- package/dist/LinearMafRenderer/components/util.js.map +1 -0
- package/dist/LinearMafRenderer/index.js +1 -1
- package/dist/LinearMafRenderer/index.js.map +1 -1
- package/dist/LinearMafRenderer/makeImageData.d.ts +6 -5
- package/dist/LinearMafRenderer/makeImageData.js +35 -146
- package/dist/LinearMafRenderer/makeImageData.js.map +1 -1
- package/dist/LinearMafRenderer/rendering/features.d.ts +4 -0
- package/dist/LinearMafRenderer/rendering/features.js +41 -0
- package/dist/LinearMafRenderer/rendering/features.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/gaps.d.ts +2 -0
- package/dist/LinearMafRenderer/rendering/gaps.js +19 -0
- package/dist/LinearMafRenderer/rendering/gaps.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/index.d.ts +8 -0
- package/dist/LinearMafRenderer/rendering/index.js +10 -0
- package/dist/LinearMafRenderer/rendering/index.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/insertions.d.ts +2 -0
- package/dist/LinearMafRenderer/rendering/insertions.js +78 -0
- package/dist/LinearMafRenderer/rendering/insertions.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/matches.d.ts +2 -0
- package/dist/LinearMafRenderer/rendering/matches.js +34 -0
- package/dist/LinearMafRenderer/rendering/matches.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/mismatches.d.ts +13 -0
- package/dist/LinearMafRenderer/rendering/mismatches.js +57 -0
- package/dist/LinearMafRenderer/rendering/mismatches.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/spatialIndex.d.ts +9 -0
- package/dist/LinearMafRenderer/rendering/spatialIndex.js +19 -0
- package/dist/LinearMafRenderer/rendering/spatialIndex.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/text.d.ts +12 -0
- package/dist/LinearMafRenderer/rendering/text.js +42 -0
- package/dist/LinearMafRenderer/rendering/text.js.map +1 -0
- package/dist/LinearMafRenderer/rendering/types.d.ts +55 -0
- package/dist/LinearMafRenderer/rendering/types.js +15 -0
- package/dist/LinearMafRenderer/rendering/types.js.map +1 -0
- package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js +37 -35
- package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js.map +1 -1
- package/dist/MafTabixAdapter/MafTabixAdapter.js +48 -22
- package/dist/MafTabixAdapter/MafTabixAdapter.js.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/jbrowse-plugin-mafviewer.umd.production.min.js +5 -29
- package/dist/jbrowse-plugin-mafviewer.umd.production.min.js.map +4 -4
- package/dist/out.js +32310 -0
- package/dist/out.js.map +7 -0
- package/dist/util/fastaUtils.js.map +1 -1
- package/package.json +3 -2
- package/src/BigMafAdapter/BigMafAdapter.ts +49 -28
- package/src/LinearMafDisplay/components/Crosshairs.tsx +1 -7
- package/src/LinearMafDisplay/components/MAFTooltip.tsx +14 -33
- package/src/LinearMafDisplay/stateModel.ts +10 -0
- package/src/LinearMafDisplay/util.ts +57 -0
- package/src/LinearMafRenderer/LinearMafRenderer.ts +1 -2
- package/src/LinearMafRenderer/components/LinearMafRendering.tsx +76 -0
- package/src/LinearMafRenderer/components/util.ts +13 -0
- package/src/LinearMafRenderer/index.ts +1 -1
- package/src/LinearMafRenderer/makeImageData.ts +64 -196
- package/src/LinearMafRenderer/rendering/features.ts +111 -0
- package/src/LinearMafRenderer/rendering/gaps.ts +33 -0
- package/src/LinearMafRenderer/rendering/index.ts +9 -0
- package/src/LinearMafRenderer/rendering/insertions.ts +154 -0
- package/src/LinearMafRenderer/rendering/matches.ts +62 -0
- package/src/LinearMafRenderer/rendering/mismatches.ts +113 -0
- package/src/LinearMafRenderer/rendering/spatialIndex.ts +40 -0
- package/src/LinearMafRenderer/rendering/text.ts +72 -0
- package/src/LinearMafRenderer/rendering/types.ts +65 -0
- package/src/MafAddTrackWorkflow/AddTrackWorkflow.tsx +5 -6
- package/src/MafTabixAdapter/MafTabixAdapter.ts +77 -22
- package/src/index.ts +0 -2
- package/src/util/fastaUtils.ts +2 -1
- package/src/BgzipTaffyAdapter/BgzipTaffyAdapter.ts +0 -307
- package/src/BgzipTaffyAdapter/configSchema.ts +0 -59
- package/src/BgzipTaffyAdapter/index.ts +0 -16
- package/src/BgzipTaffyAdapter/rowInstructions.ts +0 -91
- package/src/BgzipTaffyAdapter/types.ts +0 -16
- package/src/BgzipTaffyAdapter/util.ts +0 -25
- package/src/BgzipTaffyAdapter/virtualOffset.ts +0 -29
- package/src/LinearMafRenderer/components/ReactComponent.tsx +0 -13
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GAP_STROKE_OFFSET, MIN_X_DISTANCE } from './types';
|
|
2
|
+
export function createRenderedBaseCoords(xPos, rowTop, context) {
|
|
3
|
+
return {
|
|
4
|
+
minX: xPos,
|
|
5
|
+
minY: rowTop,
|
|
6
|
+
maxX: xPos + context.scale + GAP_STROKE_OFFSET,
|
|
7
|
+
maxY: rowTop + context.h,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function shouldAddToSpatialIndex(xPos, context, bypassDistanceFilter = false) {
|
|
11
|
+
return (bypassDistanceFilter ||
|
|
12
|
+
Math.abs(xPos - context.lastInsertedX) > MIN_X_DISTANCE);
|
|
13
|
+
}
|
|
14
|
+
export function addToSpatialIndex(context, minX, minY, maxX, maxY, renderedBase) {
|
|
15
|
+
context.spatialIndex.push(renderedBase);
|
|
16
|
+
context.spatialIndexCoords.push(minX, minY, maxX, maxY);
|
|
17
|
+
context.lastInsertedX = minX;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=spatialIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatialIndex.js","sourceRoot":"","sources":["../../../src/LinearMafRenderer/rendering/spatialIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI3D,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,MAAc,EACd,OAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,iBAAiB;QAC9C,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;KACzB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,OAAyB,EACzB,oBAAoB,GAAG,KAAK;IAE5B,OAAO,CACL,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,cAAc,CACxD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAyB,EACzB,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,YAA0B;IAE1B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RenderingContext } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Renders text labels for bases when zoom level is sufficient
|
|
4
|
+
* Only shows text for mismatches (or all letters when showAllLetters is true)
|
|
5
|
+
* @param context - Rendering context with canvas and styling info
|
|
6
|
+
* @param alignment - The aligned sequence for this sample (lowercase)
|
|
7
|
+
* @param origAlignment - Original alignment preserving case
|
|
8
|
+
* @param seq - The reference sequence
|
|
9
|
+
* @param leftPx - Left pixel position of the feature
|
|
10
|
+
* @param rowTop - Top pixel position of the row
|
|
11
|
+
*/
|
|
12
|
+
export declare function renderText(context: RenderingContext, alignment: string, origAlignment: string, seq: string, leftPx: number, rowTop: number, _sampleId: string, _featureId: string): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getCharWidthHeight } from '../util';
|
|
2
|
+
import { CHAR_SIZE_WIDTH, VERTICAL_TEXT_OFFSET } from './types';
|
|
3
|
+
function getLetter(a, showAsUpperCase) {
|
|
4
|
+
return showAsUpperCase ? a.toUpperCase() : a;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Renders text labels for bases when zoom level is sufficient
|
|
8
|
+
* Only shows text for mismatches (or all letters when showAllLetters is true)
|
|
9
|
+
* @param context - Rendering context with canvas and styling info
|
|
10
|
+
* @param alignment - The aligned sequence for this sample (lowercase)
|
|
11
|
+
* @param origAlignment - Original alignment preserving case
|
|
12
|
+
* @param seq - The reference sequence
|
|
13
|
+
* @param leftPx - Left pixel position of the feature
|
|
14
|
+
* @param rowTop - Top pixel position of the row
|
|
15
|
+
*/
|
|
16
|
+
export function renderText(context, alignment, origAlignment, seq, leftPx, rowTop, _sampleId, _featureId) {
|
|
17
|
+
const { ctx, scale, hp2, rowHeight, showAllLetters, mismatchRendering, contrastForBase, showAsUpperCase, } = context;
|
|
18
|
+
const { charHeight } = getCharWidthHeight();
|
|
19
|
+
// Render text labels when zoomed in enough and row is tall enough
|
|
20
|
+
if (scale >= CHAR_SIZE_WIDTH) {
|
|
21
|
+
for (let i = 0, genomicOffset = 0, seqLength = alignment.length; i < seqLength; i++) {
|
|
22
|
+
if (seq[i] !== '-') {
|
|
23
|
+
// Only process non-gap positions in reference
|
|
24
|
+
const xPos = leftPx + scale * genomicOffset;
|
|
25
|
+
const textOffset = (scale - CHAR_SIZE_WIDTH) / 2 + 1; // Center text in available space
|
|
26
|
+
const currentChar = alignment[i];
|
|
27
|
+
// Show text for mismatches or all letters (depending on setting)
|
|
28
|
+
if ((showAllLetters || seq[i] !== currentChar) && currentChar !== '-') {
|
|
29
|
+
ctx.fillStyle = mismatchRendering
|
|
30
|
+
? (contrastForBase[currentChar] ?? 'white') // Use contrasting color for readability
|
|
31
|
+
: 'black';
|
|
32
|
+
if (rowHeight > charHeight) {
|
|
33
|
+
// Only render if row is tall enough
|
|
34
|
+
ctx.fillText(getLetter(origAlignment[i] || '', showAsUpperCase), xPos + textOffset, hp2 + rowTop + VERTICAL_TEXT_OFFSET);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
genomicOffset++;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/LinearMafRenderer/rendering/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI/D,SAAS,SAAS,CAAC,CAAS,EAAE,eAAwB;IACpD,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,OAAyB,EACzB,SAAiB,EACjB,aAAqB,EACrB,GAAW,EACX,MAAc,EACd,MAAc,EACd,SAAiB,EACjB,UAAkB;IAElB,MAAM,EACJ,GAAG,EACH,KAAK,EACL,GAAG,EACH,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,GAAG,OAAO,CAAA;IACX,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE3C,kEAAkE;IAClE,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;QAC7B,KACE,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,EAC1D,CAAC,GAAG,SAAS,EACb,CAAC,EAAE,EACH,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAA;gBAC3C,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,iCAAiC;gBACtF,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;gBACjC,iEAAiE;gBACjE,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;oBACtE,GAAG,CAAC,SAAS,GAAG,iBAAiB;wBAC/B,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,wCAAwC;wBACpF,CAAC,CAAC,OAAO,CAAA;oBACX,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;wBAC3B,oCAAoC;wBACpC,GAAG,CAAC,QAAQ,CACV,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC,EAClD,IAAI,GAAG,UAAU,EACjB,GAAG,GAAG,MAAM,GAAG,oBAAoB,CACpC,CAAA;oBACH,CAAC;gBACH,CAAC;gBACD,aAAa,EAAE,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare const FONT_CONFIG = "bold 10px Courier New,monospace";
|
|
2
|
+
export declare const CHAR_SIZE_WIDTH = 10;
|
|
3
|
+
export declare const GAP_STROKE_OFFSET = 0.4;
|
|
4
|
+
export declare const INSERTION_LINE_WIDTH = 1;
|
|
5
|
+
export declare const INSERTION_BORDER_WIDTH = 2;
|
|
6
|
+
export declare const INSERTION_PADDING = 2;
|
|
7
|
+
export declare const VERTICAL_TEXT_OFFSET = 3;
|
|
8
|
+
export declare const LARGE_INSERTION_THRESHOLD = 10;
|
|
9
|
+
export declare const HIGH_ZOOM_THRESHOLD = 0.2;
|
|
10
|
+
export declare const MIN_ROW_HEIGHT_FOR_BORDERS = 5;
|
|
11
|
+
export declare const HIGH_BP_PER_PX_THRESHOLD = 10;
|
|
12
|
+
export declare const INSERTION_BORDER_HEIGHT = 5;
|
|
13
|
+
export declare const MIN_X_DISTANCE = 0.5;
|
|
14
|
+
export interface Sample {
|
|
15
|
+
id: string;
|
|
16
|
+
color?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface GenomicRegion {
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
refName: string;
|
|
22
|
+
}
|
|
23
|
+
export interface RenderedBase {
|
|
24
|
+
pos: number;
|
|
25
|
+
chr: string;
|
|
26
|
+
base: string;
|
|
27
|
+
sampleId: number;
|
|
28
|
+
isInsertion?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Shared rendering context containing all necessary parameters for rendering operations
|
|
32
|
+
*/
|
|
33
|
+
export interface RenderingContext {
|
|
34
|
+
ctx: CanvasRenderingContext2D;
|
|
35
|
+
scale: number;
|
|
36
|
+
canvasWidth: number;
|
|
37
|
+
rowHeight: number;
|
|
38
|
+
h: number;
|
|
39
|
+
hp2: number;
|
|
40
|
+
offset: number;
|
|
41
|
+
colorForBase: Record<string, string>;
|
|
42
|
+
contrastForBase: Record<string, string>;
|
|
43
|
+
showAllLetters: boolean;
|
|
44
|
+
mismatchRendering: boolean;
|
|
45
|
+
showAsUpperCase: boolean;
|
|
46
|
+
spatialIndex: RenderedBase[];
|
|
47
|
+
spatialIndexCoords: number[];
|
|
48
|
+
lastInsertedX: number;
|
|
49
|
+
}
|
|
50
|
+
export interface AlignmentRecord {
|
|
51
|
+
seq: string;
|
|
52
|
+
start: number;
|
|
53
|
+
strand: number;
|
|
54
|
+
chr: string;
|
|
55
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Rendering constants
|
|
2
|
+
export const FONT_CONFIG = 'bold 10px Courier New,monospace';
|
|
3
|
+
export const CHAR_SIZE_WIDTH = 10;
|
|
4
|
+
export const GAP_STROKE_OFFSET = 0.4;
|
|
5
|
+
export const INSERTION_LINE_WIDTH = 1;
|
|
6
|
+
export const INSERTION_BORDER_WIDTH = 2;
|
|
7
|
+
export const INSERTION_PADDING = 2;
|
|
8
|
+
export const VERTICAL_TEXT_OFFSET = 3;
|
|
9
|
+
export const LARGE_INSERTION_THRESHOLD = 10;
|
|
10
|
+
export const HIGH_ZOOM_THRESHOLD = 0.2;
|
|
11
|
+
export const MIN_ROW_HEIGHT_FOR_BORDERS = 5;
|
|
12
|
+
export const HIGH_BP_PER_PX_THRESHOLD = 10;
|
|
13
|
+
export const INSERTION_BORDER_HEIGHT = 5;
|
|
14
|
+
export const MIN_X_DISTANCE = 0.5;
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/LinearMafRenderer/rendering/types.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA"}
|
|
@@ -39,24 +39,25 @@ export default function MultiMAFWidget({ model }) {
|
|
|
39
39
|
} }, ['BigMafAdapter', 'MafTabixAdapter'].map(r => (React.createElement(FormControlLabel, { key: r, value: r, control: React.createElement(Radio, null), checked: fileTypeChoice === r, label: r }))))),
|
|
40
40
|
fileTypeChoice === 'BigMafAdapter' ? (React.createElement(FileSelector, { location: loc, name: "Path to bigMaf", rootModel: rootModel, setLocation: arg => {
|
|
41
41
|
setLoc(arg);
|
|
42
|
-
} })) :
|
|
43
|
-
React.createElement(
|
|
44
|
-
React.createElement(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
42
|
+
} })) : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
43
|
+
fileTypeChoice === 'MafTabixAdapter' ? (React.createElement(React.Fragment, null,
|
|
44
|
+
React.createElement(FormControl, null,
|
|
45
|
+
React.createElement(FormLabel, null, "Index type"),
|
|
46
|
+
React.createElement(RadioGroup, { value: fileTypeChoice, onChange: event => {
|
|
47
|
+
setIndexTypeChoice(event.target.value);
|
|
48
|
+
} }, ['TBI', 'CSI'].map(r => (React.createElement(FormControlLabel, { key: r, value: r, control: React.createElement(Radio, null), checked: indexTypeChoice === r, label: r }))))),
|
|
49
|
+
React.createElement(FileSelector, { location: loc, name: "Path to MAF tabix", rootModel: rootModel, setLocation: arg => {
|
|
50
|
+
setLoc(arg);
|
|
51
|
+
} }),
|
|
52
|
+
React.createElement(FileSelector, { location: indexLoc, name: "Path to MAF tabix index", rootModel: rootModel, setLocation: arg => {
|
|
53
|
+
setIndexLoc(arg);
|
|
54
|
+
} }))) : (React.createElement(React.Fragment, null,
|
|
55
|
+
React.createElement(FileSelector, { location: loc, name: "Path to TAF.gz (Bgzipped TAF)", rootModel: rootModel, setLocation: arg => {
|
|
56
|
+
setLoc(arg);
|
|
57
|
+
} }),
|
|
58
|
+
React.createElement(FileSelector, { location: indexLoc, name: "Path to TAF.gz.tai (TAF index)", rootModel: rootModel, setLocation: arg => {
|
|
59
|
+
setIndexLoc(arg);
|
|
60
|
+
} })))),
|
|
60
61
|
React.createElement("div", null,
|
|
61
62
|
React.createElement(FileSelector, { location: nhLoc, name: "Path to newick tree (.nh)", rootModel: rootModel, setLocation: arg => {
|
|
62
63
|
setNhLoc(arg);
|
|
@@ -94,24 +95,25 @@ export default function MultiMAFWidget({ model }) {
|
|
|
94
95
|
samples: sampleNames,
|
|
95
96
|
nhLocation: nhLoc,
|
|
96
97
|
}
|
|
97
|
-
:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
98
|
+
: // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
99
|
+
fileTypeChoice === 'MafTabixAdapter'
|
|
100
|
+
? {
|
|
101
|
+
type: fileTypeChoice,
|
|
102
|
+
bedGzLocation: loc,
|
|
103
|
+
nhLocation: nhLoc,
|
|
104
|
+
index: {
|
|
105
|
+
indexType: indexTypeChoice,
|
|
106
|
+
location: indexLoc,
|
|
107
|
+
},
|
|
108
|
+
samples: sampleNames,
|
|
109
|
+
}
|
|
110
|
+
: {
|
|
111
|
+
type: fileTypeChoice,
|
|
112
|
+
tafGzLocation: loc,
|
|
113
|
+
taiLocation: indexLoc,
|
|
114
|
+
nhLocation: nhLoc,
|
|
115
|
+
samples: sampleNames,
|
|
105
116
|
},
|
|
106
|
-
samples: sampleNames,
|
|
107
|
-
}
|
|
108
|
-
: {
|
|
109
|
-
type: fileTypeChoice,
|
|
110
|
-
tafGzLocation: loc,
|
|
111
|
-
taiLocation: indexLoc,
|
|
112
|
-
nhLocation: nhLoc,
|
|
113
|
-
samples: sampleNames,
|
|
114
|
-
},
|
|
115
117
|
});
|
|
116
118
|
model.view?.showTrack(trackId);
|
|
117
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddTrackWorkflow.js","sourceRoot":"","sources":["../../src/MafAddTrackWorkflow/AddTrackWorkflow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAEL,UAAU,EACV,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,KAAK,EACL,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;KACd;IACD,KAAK,EAAE;QACL,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE;QACvB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACzB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,OAAO;KACjB;CACF,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"AddTrackWorkflow.js","sourceRoot":"","sources":["../../src/MafAddTrackWorkflow/AddTrackWorkflow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -51,35 +51,61 @@ export default class MafTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
51
51
|
for (const feature of features) {
|
|
52
52
|
const data = feature.get('field5').split(',');
|
|
53
53
|
const alignments = {};
|
|
54
|
-
const
|
|
55
|
-
for (let j = 0; j <
|
|
54
|
+
const dataLength = data.length;
|
|
55
|
+
for (let j = 0; j < dataLength; j++) {
|
|
56
56
|
const elt = data[j];
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
const [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
assemblyName = n1;
|
|
65
|
-
last = n2;
|
|
57
|
+
// Cache split result to avoid redundant operations
|
|
58
|
+
const parts = elt.split(':');
|
|
59
|
+
// Use destructuring for better performance than multiple array access
|
|
60
|
+
const [assemblyAndChr, startStr, srcSizeStr, strandStr, unknownStr, seq,] = parts;
|
|
61
|
+
// Skip if we don't have all required parts
|
|
62
|
+
if (!assemblyAndChr || !seq) {
|
|
63
|
+
continue;
|
|
66
64
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
// Optimized assembly name parsing with simplified logic
|
|
66
|
+
let assemblyName;
|
|
67
|
+
let chr;
|
|
68
|
+
const firstDotIndex = assemblyAndChr.indexOf('.');
|
|
69
|
+
if (firstDotIndex === -1) {
|
|
70
|
+
// No dot found, entire string is assembly name
|
|
71
|
+
assemblyName = assemblyAndChr;
|
|
72
|
+
chr = '';
|
|
70
73
|
}
|
|
71
74
|
else {
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
const secondDotIndex = assemblyAndChr.indexOf('.', firstDotIndex + 1);
|
|
76
|
+
if (secondDotIndex === -1) {
|
|
77
|
+
// Only one dot: assembly.chr
|
|
78
|
+
assemblyName = assemblyAndChr.slice(0, Math.max(0, firstDotIndex));
|
|
79
|
+
chr = assemblyAndChr.slice(Math.max(0, firstDotIndex + 1));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Multiple dots: check if second part is numeric (version number)
|
|
83
|
+
const secondPart = assemblyAndChr.slice(firstDotIndex + 1, secondDotIndex);
|
|
84
|
+
const isNumeric = secondPart.length > 0 && !Number.isNaN(+secondPart);
|
|
85
|
+
if (isNumeric) {
|
|
86
|
+
// assembly.version.chr format
|
|
87
|
+
assemblyName = assemblyAndChr.slice(0, Math.max(0, secondDotIndex));
|
|
88
|
+
chr = assemblyAndChr.slice(Math.max(0, secondDotIndex + 1));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// assembly.chr.more format
|
|
92
|
+
assemblyName = assemblyAndChr.slice(0, Math.max(0, firstDotIndex));
|
|
93
|
+
chr = assemblyAndChr.slice(Math.max(0, firstDotIndex + 1));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
74
96
|
}
|
|
75
97
|
if (assemblyName) {
|
|
76
|
-
|
|
98
|
+
// Set first assembly name found (only once)
|
|
99
|
+
if (!firstAssemblyNameFound) {
|
|
100
|
+
firstAssemblyNameFound = assemblyName;
|
|
101
|
+
}
|
|
102
|
+
// Create alignment record with optimized number conversion
|
|
77
103
|
alignments[assemblyName] = {
|
|
78
|
-
chr
|
|
79
|
-
start: +
|
|
80
|
-
srcSize: +
|
|
81
|
-
strand:
|
|
82
|
-
unknown: +
|
|
104
|
+
chr,
|
|
105
|
+
start: +startStr,
|
|
106
|
+
srcSize: +srcSizeStr,
|
|
107
|
+
strand: strandStr === '-' ? -1 : 1,
|
|
108
|
+
unknown: +unknownStr,
|
|
83
109
|
seq,
|
|
84
110
|
};
|
|
85
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MafTabixAdapter.js","sourceRoot":"","sources":["../../src/MafTabixAdapter/MafTabixAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MafTabixAdapter.js","sourceRoot":"","sources":["../../src/MafTabixAdapter/MafTabixAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Plugin from '@jbrowse/core/Plugin';
|
|
2
2
|
import { version } from '../package.json';
|
|
3
|
-
import BgzipTaffyAdapterF from './BgzipTaffyAdapter';
|
|
4
3
|
import BigMafAdapterF from './BigMafAdapter';
|
|
5
4
|
import LinearMafDisplayF from './LinearMafDisplay';
|
|
6
5
|
import LinearMafRendererF from './LinearMafRenderer';
|
|
@@ -18,7 +17,6 @@ export default class MafViewerPlugin extends Plugin {
|
|
|
18
17
|
LinearMafDisplayF(pluginManager);
|
|
19
18
|
LinearMafRendererF(pluginManager);
|
|
20
19
|
MafTabixAdapterF(pluginManager);
|
|
21
|
-
BgzipTaffyAdapterF(pluginManager);
|
|
22
20
|
MafAddTrackWorkflowF(pluginManager);
|
|
23
21
|
MafGetSequencesF(pluginManager);
|
|
24
22
|
MafGetSamplesF(pluginManager);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,gBAAgB,MAAM,mBAAmB,CAAA;AAChD,OAAO,gBAAgB,MAAM,mBAAmB,CAAA;AAChD,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,MAAM;IACjD,IAAI,GAAG,iBAAiB,CAAA;IACxB,OAAO,GAAG,OAAO,CAAA;IAEjB,OAAO,CAAC,aAA4B;QAClC,cAAc,CAAC,aAAa,CAAC,CAAA;QAC7B,SAAS,CAAC,aAAa,CAAC,CAAA;QACxB,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAChC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACjC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC/B,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACnC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC/B,cAAc,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,cAA6B,IAAG,CAAC;CAC5C"}
|