@jbrowse/plugin-alignments 1.6.7 → 1.6.8
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/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -10
- package/dist/BamAdapter/MismatchParser.d.ts +3 -5
- package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +1 -2
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +2 -2
- package/dist/PileupRenderer/PileupRenderer.d.ts +20 -6
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +3 -11
- package/dist/plugin-alignments.cjs.development.js +591 -552
- package/dist/plugin-alignments.cjs.development.js.map +1 -1
- package/dist/plugin-alignments.cjs.production.min.js +1 -1
- package/dist/plugin-alignments.cjs.production.min.js.map +1 -1
- package/dist/plugin-alignments.esm.js +594 -555
- package/dist/plugin-alignments.esm.js.map +1 -1
- package/dist/util.d.ts +4 -0
- package/package.json +3 -3
- package/src/BamAdapter/BamAdapter.ts +10 -7
- package/src/BamAdapter/BamSlightlyLazyFeature.ts +11 -79
- package/src/BamAdapter/MismatchParser.test.ts +53 -297
- package/src/BamAdapter/MismatchParser.ts +54 -116
- package/src/BamAdapter/configSchema.ts +0 -4
- package/src/CramAdapter/CramSlightlyLazyFeature.ts +3 -10
- package/src/LinearPileupDisplay/components/ColorByModifications.tsx +76 -80
- package/src/LinearPileupDisplay/components/ColorByTag.tsx +24 -23
- package/src/LinearPileupDisplay/components/FilterByTag.tsx +73 -68
- package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +28 -26
- package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +24 -13
- package/src/LinearPileupDisplay/components/SortByTag.tsx +29 -21
- package/src/LinearPileupDisplay/model.ts +6 -0
- package/src/PileupRenderer/PileupRenderer.tsx +178 -57
- package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +180 -229
- package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +12 -11
- package/src/util.ts +25 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
|
|
3
3
|
import { BamRecord } from '@gmod/bam';
|
|
4
|
-
import { Mismatch } from './MismatchParser';
|
|
5
4
|
import BamAdapter from './BamAdapter';
|
|
6
5
|
export default class BamSlightlyLazyFeature implements Feature {
|
|
7
6
|
private record;
|
|
8
7
|
private adapter;
|
|
9
8
|
private ref?;
|
|
10
|
-
private cachedMD;
|
|
11
9
|
constructor(record: BamRecord, adapter: BamAdapter, ref?: string | undefined);
|
|
12
10
|
_get_name(): any;
|
|
13
11
|
_get_type(): string;
|
|
@@ -20,7 +18,6 @@ export default class BamSlightlyLazyFeature implements Feature {
|
|
|
20
18
|
_get_next_refName(): string | undefined;
|
|
21
19
|
_get_next_segment_position(): string | undefined;
|
|
22
20
|
_get_seq(): string;
|
|
23
|
-
_get_MD(): any;
|
|
24
21
|
qualRaw(): Buffer | undefined;
|
|
25
22
|
set(): void;
|
|
26
23
|
tags(): string[];
|
|
@@ -31,12 +28,6 @@ export default class BamSlightlyLazyFeature implements Feature {
|
|
|
31
28
|
children(): undefined;
|
|
32
29
|
pairedFeature(): boolean;
|
|
33
30
|
toJSON(): SimpleFeatureSerialized;
|
|
34
|
-
|
|
35
|
-
cigarAttributeName: string;
|
|
36
|
-
}): Mismatch[];
|
|
37
|
-
_get_mismatches({ cigarAttributeName, mdAttributeName, }?: {
|
|
38
|
-
cigarAttributeName?: string;
|
|
39
|
-
mdAttributeName?: string;
|
|
40
|
-
}): Mismatch[];
|
|
31
|
+
_get_mismatches(): import("./MismatchParser").Mismatch[];
|
|
41
32
|
_get_clipPos(): number;
|
|
42
33
|
}
|
|
@@ -10,15 +10,13 @@ export interface Mismatch {
|
|
|
10
10
|
cliplen?: number;
|
|
11
11
|
}
|
|
12
12
|
export declare function parseCigar(cigar: string): string[];
|
|
13
|
-
export declare function cigarToMismatches(ops: string[], seq: string, qual?: Buffer): Mismatch[];
|
|
13
|
+
export declare function cigarToMismatches(ops: string[], seq: string, ref?: string, qual?: Buffer): Mismatch[];
|
|
14
14
|
/**
|
|
15
15
|
* parse a SAM MD tag to find mismatching bases of the template versus the reference
|
|
16
16
|
* @returns array of mismatches and their positions
|
|
17
17
|
*/
|
|
18
|
-
export declare function mdToMismatches(mdstring: string,
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function getMismatches(cigarString: string, mdString: string, seq: string, qual?: Buffer): Mismatch[];
|
|
21
|
-
export declare function generateMD(target: string, query: string, cigar: string): string;
|
|
18
|
+
export declare function mdToMismatches(mdstring: string, ops: string[], cigarMismatches: Mismatch[], seq: string, qual?: Buffer): Mismatch[];
|
|
19
|
+
export declare function getMismatches(cigar: string, md: string, seq: string, ref?: string, qual?: Buffer): Mismatch[];
|
|
22
20
|
export declare function getNextRefPos(cigarOps: string[], positions: number[]): Generator<number, void, unknown>;
|
|
23
21
|
export declare function getModificationPositions(mm: string, fseq: string, fstrand: number): ({
|
|
24
22
|
type: string;
|
|
@@ -13,7 +13,7 @@ export interface Mismatch {
|
|
|
13
13
|
export default class CramSlightlyLazyFeature implements Feature {
|
|
14
14
|
private record;
|
|
15
15
|
private _store;
|
|
16
|
-
constructor(record: any,
|
|
16
|
+
constructor(record: any, _store: CramAdapter);
|
|
17
17
|
_get_name(): any;
|
|
18
18
|
_get_start(): number;
|
|
19
19
|
_get_end(): number;
|
|
@@ -46,5 +46,4 @@ export default class CramSlightlyLazyFeature implements Feature {
|
|
|
46
46
|
_get_clipPos(): any;
|
|
47
47
|
toJSON(): SimpleFeatureSerialized;
|
|
48
48
|
_get_mismatches(): Mismatch[];
|
|
49
|
-
_get_skips_and_dels(): Mismatch[];
|
|
50
49
|
}
|
|
@@ -26,7 +26,7 @@ declare const stateModelFactory: (pluginManager: PluginManager, configSchema: An
|
|
|
26
26
|
renderInProgress: AbortController | undefined;
|
|
27
27
|
filled: boolean;
|
|
28
28
|
reactElement: import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)> | undefined;
|
|
29
|
-
features: Map<string, import("@jbrowse/core/util
|
|
29
|
+
features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
|
|
30
30
|
layout: any;
|
|
31
31
|
status: string;
|
|
32
32
|
error: unknown;
|
|
@@ -44,7 +44,7 @@ declare const stateModelFactory: (pluginManager: PluginManager, configSchema: An
|
|
|
44
44
|
setMessage(messageText: string): void;
|
|
45
45
|
setRendered(props: {
|
|
46
46
|
reactElement: import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>;
|
|
47
|
-
features: Map<string, import("@jbrowse/core/util
|
|
47
|
+
features: Map<string, import("@jbrowse/core/util").Feature>;
|
|
48
48
|
layout: any;
|
|
49
49
|
maxHeightReached: boolean;
|
|
50
50
|
renderProps: any;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
3
2
|
import BoxRendererType, { RenderArgs, RenderArgsSerialized, RenderArgsDeserialized as BoxRenderArgsDeserialized, RenderResults, ResultsSerialized, ResultsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
|
|
4
3
|
import { Theme } from '@material-ui/core';
|
|
5
|
-
import { Feature } from '@jbrowse/core/util
|
|
6
|
-
import { Region } from '@jbrowse/core/util/types';
|
|
4
|
+
import { Region, Feature } from '@jbrowse/core/util';
|
|
7
5
|
import { BaseLayout } from '@jbrowse/core/util/layouts/BaseLayout';
|
|
6
|
+
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
8
7
|
import { PileupLayoutSession, PileupLayoutSessionProps } from './PileupLayoutSession';
|
|
9
8
|
export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
|
|
10
9
|
colorBy?: {
|
|
@@ -66,16 +65,30 @@ export default class PileupRenderer extends BoxRendererType {
|
|
|
66
65
|
getOrientation(feature: Feature, config: AnyConfigurationModel): string;
|
|
67
66
|
colorByInsertSize(feature: Feature, _config: AnyConfigurationModel): string;
|
|
68
67
|
colorByStranded(feature: Feature, _config: AnyConfigurationModel): "color_rev_strand" | "color_fwd_strand" | "color_rev_missing_mate" | "color_fwd_missing_mate" | "color_rev_strand_not_proper" | "color_fwd_strand_not_proper" | "color_fwd_diff_chr" | "color_rev_diff_chr";
|
|
68
|
+
colorByPerBaseLettering(ctx: CanvasRenderingContext2D, feat: LayoutFeature, _config: AnyConfigurationModel, region: Region, bpPerPx: number, props: {
|
|
69
|
+
colorForBase: Record<string, string>;
|
|
70
|
+
contrastForBase: Record<string, string>;
|
|
71
|
+
charWidth: number;
|
|
72
|
+
charHeight: number;
|
|
73
|
+
}): void;
|
|
69
74
|
colorByPerBaseQuality(ctx: CanvasRenderingContext2D, feat: LayoutFeature, _config: AnyConfigurationModel, region: Region, bpPerPx: number): void;
|
|
70
75
|
colorByModifications(ctx: CanvasRenderingContext2D, layoutFeature: LayoutFeature, _config: AnyConfigurationModel, region: Region, bpPerPx: number, props: RenderArgsDeserializedWithFeaturesAndLayout): void;
|
|
71
76
|
colorByMethylation(ctx: CanvasRenderingContext2D, layoutFeature: LayoutFeature, _config: AnyConfigurationModel, region: Region, bpPerPx: number, props: RenderArgsDeserializedWithFeaturesAndLayout): void;
|
|
72
77
|
drawRect(ctx: CanvasRenderingContext2D, feat: LayoutFeature, props: RenderArgsDeserialized): void;
|
|
73
78
|
drawAlignmentRect(ctx: CanvasRenderingContext2D, feat: LayoutFeature, props: RenderArgsDeserializedWithFeaturesAndLayout & {
|
|
79
|
+
colorForBase: Record<string, string>;
|
|
80
|
+
contrastForBase: Record<string, string>;
|
|
81
|
+
charWidth: number;
|
|
82
|
+
charHeight: number;
|
|
74
83
|
defaultColor: boolean;
|
|
75
84
|
}): void;
|
|
76
|
-
drawMismatches(ctx: CanvasRenderingContext2D, feat: LayoutFeature, props: RenderArgsDeserializedWithFeaturesAndLayout,
|
|
77
|
-
|
|
78
|
-
|
|
85
|
+
drawMismatches(ctx: CanvasRenderingContext2D, feat: LayoutFeature, props: RenderArgsDeserializedWithFeaturesAndLayout, opts: {
|
|
86
|
+
colorForBase: {
|
|
87
|
+
[key: string]: string;
|
|
88
|
+
};
|
|
89
|
+
contrastForBase: {
|
|
90
|
+
[key: string]: string;
|
|
91
|
+
};
|
|
79
92
|
mismatchAlpha?: boolean;
|
|
80
93
|
drawSNPs?: boolean;
|
|
81
94
|
drawIndels?: boolean;
|
|
@@ -87,6 +100,7 @@ export default class PileupRenderer extends BoxRendererType {
|
|
|
87
100
|
drawSoftClipping(ctx: CanvasRenderingContext2D, feat: LayoutFeature, props: RenderArgsDeserializedWithFeaturesAndLayout, config: AnyConfigurationModel, theme: Theme): void;
|
|
88
101
|
makeImageData(ctx: CanvasRenderingContext2D, layoutRecords: (LayoutFeature | null)[], props: RenderArgsDeserializedWithFeaturesAndLayout): Promise<void>;
|
|
89
102
|
layoutFeats(props: RenderArgsDeserializedWithFeaturesAndLayout): (LayoutRecord | null)[];
|
|
103
|
+
fetchSequence(renderProps: RenderArgsDeserialized): Promise<any>;
|
|
90
104
|
render(renderProps: RenderArgsDeserialized): Promise<{
|
|
91
105
|
features: Map<string, Feature>;
|
|
92
106
|
layout: import("@jbrowse/core/util/layouts").GranularRectLayout<unknown>;
|
|
@@ -2,7 +2,6 @@ import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters
|
|
|
2
2
|
import { AugmentedRegion as Region } from '@jbrowse/core/util/types';
|
|
3
3
|
import { Feature } from '@jbrowse/core/util/simpleFeature';
|
|
4
4
|
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
|
|
5
|
-
import { Observable } from 'rxjs';
|
|
6
5
|
interface SNPCoverageOptions extends BaseOptions {
|
|
7
6
|
filters?: SerializableFilterChain;
|
|
8
7
|
}
|
|
@@ -11,19 +10,12 @@ export default class SNPCoverageAdapter extends BaseFeatureDataAdapter {
|
|
|
11
10
|
subadapter: BaseFeatureDataAdapter;
|
|
12
11
|
sequenceAdapter: BaseFeatureDataAdapter | undefined;
|
|
13
12
|
}>;
|
|
14
|
-
|
|
13
|
+
fetchSequence(region: Region): Promise<any>;
|
|
14
|
+
getFeatures(region: Region, opts?: SNPCoverageOptions): import("rxjs").Observable<Feature>;
|
|
15
15
|
estimateRegionsStats(regions: Region[], opts?: BaseOptions): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
|
|
16
16
|
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
17
17
|
freeResources(): void;
|
|
18
|
-
|
|
19
|
-
* Generates coverage bins from features which details
|
|
20
|
-
* the reference, mismatches, strands, and coverage info
|
|
21
|
-
* @param features - Features of region to be passed in
|
|
22
|
-
* @param region - Region
|
|
23
|
-
* @param bpPerPx - base pairs per pixel
|
|
24
|
-
* @returns Array of nested frequency tables
|
|
25
|
-
*/
|
|
26
|
-
generateCoverageBins(features: Observable<Feature>, region: Region, opts: {
|
|
18
|
+
generateCoverageBins(features: Feature[], region: Region, opts: {
|
|
27
19
|
bpPerPx?: number;
|
|
28
20
|
colorBy?: {
|
|
29
21
|
type: string;
|