@gmod/hic 1.3.2 → 2.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"hicFile.js","sourceRoot":"","sources":["../src/hicFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hicFile.js","sourceRoot":"","sources":["../src/hicFile.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,4 @@ export { HicFile, NO_DATA_FOR_RESOLUTION } from './hicFile.ts';
2
2
  export { readerFromFilehandle } from './reader.ts';
3
3
  export type { HicConfig } from './hicFile.ts';
4
4
  export type { ContactRecords } from './contactRecords.ts';
5
- export type { BaseOpts, Chromosome, HicMetadata, HicRegion, ProgressCallback, ProgressOpts, Reader, Zoom, } from './types.ts';
5
+ export type { BaseOpts, Chromosome, ExpectedValues, HicMetadata, HicRegion, ProgressCallback, ProgressOpts, Reader, Zoom, } from './types.ts';
@@ -4,10 +4,12 @@ export default class MatrixZoomData {
4
4
  chr1: Chromosome;
5
5
  chr2: Chromosome;
6
6
  zoom: Zoom;
7
+ /** the raw contacts summed over the whole map at this binsize */
8
+ sumCounts: number;
7
9
  blockBinCount: number;
8
10
  blockColumnCount: number;
9
11
  blockIndex: Record<number, BlockIndexEntry>;
10
- constructor(chr1: Chromosome, chr2: Chromosome, zoom: Zoom, blockBinCount: number, blockColumnCount: number, blockIndex: Record<number, BlockIndexEntry>);
12
+ constructor(chr1: Chromosome, chr2: Chromosome, zoom: Zoom, sumCounts: number, blockBinCount: number, blockColumnCount: number, blockIndex: Record<number, BlockIndexEntry>);
11
13
  getKey(): string;
12
14
  getBlockNumbers(region1: HicRegion, region2: HicRegion, version: number): number[];
13
15
  static parseMatrixZoomData(chr1: Chromosome, chr2: Chromosome, dis: BinaryParser): MatrixZoomData;
@@ -5,13 +5,16 @@ class MatrixZoomData {
5
5
  chr1;
6
6
  chr2;
7
7
  zoom;
8
+ /** the raw contacts summed over the whole map at this binsize */
9
+ sumCounts;
8
10
  blockBinCount;
9
11
  blockColumnCount;
10
12
  blockIndex;
11
- constructor(chr1, chr2, zoom, blockBinCount, blockColumnCount, blockIndex) {
13
+ constructor(chr1, chr2, zoom, sumCounts, blockBinCount, blockColumnCount, blockIndex) {
12
14
  this.chr1 = chr1;
13
15
  this.chr2 = chr2;
14
16
  this.zoom = zoom;
17
+ this.sumCounts = sumCounts;
15
18
  this.blockBinCount = blockBinCount;
16
19
  this.blockColumnCount = blockColumnCount;
17
20
  this.blockIndex = blockIndex;
@@ -74,7 +77,7 @@ class MatrixZoomData {
74
77
  static parseMatrixZoomData(chr1, chr2, dis) {
75
78
  const unit = dis.getString();
76
79
  const zoomIndex = dis.getInt();
77
- dis.getFloat(); // sumCounts
80
+ const sumCounts = dis.getFloat();
78
81
  dis.getFloat(); // occupiedCellCount
79
82
  dis.getFloat(); // stdDev
80
83
  dis.getFloat(); // percent95
@@ -89,7 +92,7 @@ class MatrixZoomData {
89
92
  const size = dis.getInt();
90
93
  blockIndex[blockNumber] = { filePosition, size };
91
94
  }
92
- return new MatrixZoomData(chr1, chr2, { index: zoomIndex, unit, binSize }, blockBinCount, blockColumnCount, blockIndex);
95
+ return new MatrixZoomData(chr1, chr2, { index: zoomIndex, unit, binSize }, sumCounts, blockBinCount, blockColumnCount, blockIndex);
93
96
  }
94
97
  }
95
98
  exports.default = MatrixZoomData;
@@ -1 +1 @@
1
- {"version":3,"file":"matrixZoomData.js","sourceRoot":"","sources":["../src/matrixZoomData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrixZoomData.js","sourceRoot":"","sources":["../src/matrixZoomData.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,7 @@ export default class NormalizationVector {
6
6
  private nValues;
7
7
  private dataType;
8
8
  constructor(file: Reader, filePosition: number, nValues: number, dataType: number);
9
- getValues(start: number, end: number, opts?: BaseOpts): Promise<Float64Array<ArrayBufferLike>>;
9
+ getValues(start: number, end: number, opts?: BaseOpts): Promise<Float64Array>;
10
+ private readRange;
11
+ private readValues;
10
12
  }
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const binary_ts_1 = __importDefault(require("./binary.js"));
7
7
  const DOUBLE = 8;
8
8
  class NormalizationVector {
9
+ // Holds the in-flight read, so the two concurrent `getValues` calls of a
10
+ // same-chromosome pair share one read instead of both missing.
9
11
  cache;
10
12
  file;
11
13
  filePosition;
@@ -18,48 +20,67 @@ class NormalizationVector {
18
20
  this.dataType = dataType;
19
21
  }
20
22
  async getValues(start, end, opts) {
21
- // The read below clamps to `nValues`, so the cache can never cover past it.
22
- // Compare against the clamped bound or a request that runs off the end of
23
- // the vector — reachable when the assembly's refseq is longer than the size
24
- // the `.hic` recorded for that chromosome — leaves `end > cache.end` true
25
- // forever, and every call re-reads the same range from the file.
23
+ // The read clamps to `nValues`, so the cache can never cover past it.
24
+ // Comparing against the clamped bound keeps a request running off the end
25
+ // of the vector (an assembly refseq longer than the `.hic` recorded) from
26
+ // missing forever.
26
27
  const wanted = Math.min(end, this.nValues);
27
- if (!this.cache || start < this.cache.start || wanted > this.cache.end) {
28
- const adjustedEnd = Math.min(this.nValues, end + 1000);
29
- // Clamped against `adjustedEnd`, and not merely against zero, or a window
30
- // starting past the vector produces a NEGATIVE `n` — and a negative read
31
- // length reaches the reader as `new Uint8Array(-8)`, a RangeError that
32
- // fails the whole fetch instead of the empty answer the caller below
33
- // already handles. The padding is what sets how far past is far enough:
34
- // more than 1000 bins, which at a fine binsize is not far at all.
35
- //
36
- // Reachable exactly where the comment above says: the assembly's refseq
37
- // is longer than the size the `.hic` recorded for that chromosome, so a
38
- // view of the tail of it asks for bins the vector never had.
39
- const adjustedStart = Math.min(Math.max(0, start - 1000), adjustedEnd);
40
- const startPosition = this.filePosition + adjustedStart * this.dataType;
41
- const n = adjustedEnd - adjustedStart;
42
- // Nothing to read when the window is entirely past the vector, and on a
43
- // remote file a zero-length range request is still a round trip — one per
44
- // region pair, on every fetch, for as long as the view stays there.
45
- const data = n > 0
46
- ? await this.file.read(startPosition, n * this.dataType, opts)
47
- : new ArrayBuffer(0);
48
- const parser = new binary_ts_1.default(new DataView(data));
49
- const values = new Float64Array(n);
50
- for (let i = 0; i < n; i++) {
51
- values[i] =
52
- this.dataType === DOUBLE ? parser.getDouble() : parser.getFloat();
28
+ let cache = this.cache;
29
+ const joined = !!cache && start >= cache.start && wanted <= cache.end;
30
+ if (!cache || !joined) {
31
+ cache = this.readRange(start, end, opts);
32
+ this.cache = cache;
33
+ const pending = cache;
34
+ pending.values.catch(() => {
35
+ if (this.cache === pending) {
36
+ this.cache = undefined;
37
+ }
38
+ });
39
+ }
40
+ let values;
41
+ try {
42
+ values = await cache.values;
43
+ }
44
+ catch (e) {
45
+ // The pair that started a joined read passed its own signal, so that
46
+ // pair aborting says nothing about this caller.
47
+ if (!joined || opts?.signal?.aborted) {
48
+ throw e;
53
49
  }
54
- this.cache = { start: adjustedStart, end: adjustedEnd, values };
50
+ return this.getValues(start, end, opts);
51
+ }
52
+ // A view, not a copy. Both this and `subarray` clamp a request running past
53
+ // the end; an out-of-range index reads undefined, the product goes NaN, and
54
+ // the record filter drops it.
55
+ const sliceStart = start - cache.start;
56
+ return values.subarray(sliceStart, sliceStart + (end - start));
57
+ }
58
+ readRange(start, end, opts) {
59
+ const adjustedEnd = Math.min(this.nValues, end + 1000);
60
+ // Clamped against `adjustedEnd` too, or a window starting past the vector
61
+ // gives a negative read length, which the reader turns into a RangeError
62
+ // instead of the empty answer the caller handles.
63
+ const adjustedStart = Math.min(Math.max(0, start - 1000), adjustedEnd);
64
+ const n = adjustedEnd - adjustedStart;
65
+ return {
66
+ start: adjustedStart,
67
+ end: adjustedEnd,
68
+ values: this.readValues(adjustedStart, n, opts),
69
+ };
70
+ }
71
+ async readValues(start, n, opts) {
72
+ // A zero-length range request on a remote file is still a round trip.
73
+ if (n <= 0) {
74
+ return new Float64Array(0);
75
+ }
76
+ const data = await this.file.read(this.filePosition + start * this.dataType, n * this.dataType, opts);
77
+ const parser = new binary_ts_1.default(new DataView(data));
78
+ const values = new Float64Array(n);
79
+ for (let i = 0; i < n; i++) {
80
+ values[i] =
81
+ this.dataType === DOUBLE ? parser.getDouble() : parser.getFloat();
55
82
  }
56
- // A view, not a copy: the caller only reads it, and a fetch asks for one of
57
- // these per chromosome per region pair. Both this and `slice` clamp a
58
- // request running past the end to what exists, which the caller already
59
- // handles — an out-of-range index reads undefined, making the product NaN,
60
- // which the record filter drops.
61
- const sliceStart = start - this.cache.start;
62
- return this.cache.values.subarray(sliceStart, sliceStart + (end - start));
83
+ return values;
63
84
  }
64
85
  }
65
86
  exports.default = NormalizationVector;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizationVector.js","sourceRoot":"","sources":["../src/normalizationVector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalizationVector.js","sourceRoot":"","sources":["../src/normalizationVector.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -56,6 +56,22 @@ export interface BlockIndexEntry {
56
56
  filePosition: number;
57
57
  size: number;
58
58
  }
59
+ /**
60
+ * The expected contact count for one region pair, the denominator of
61
+ * observed/expected. Within a chromosome it depends only on the distance in
62
+ * bins, so it is the expected-value vector's entries over the distances the
63
+ * pair spans: `values[|bin2 - bin1| - firstDistance]`, already divided by the
64
+ * chromosome's scale factor and holding the vector's last value past its end.
65
+ * Between chromosomes it is one number, the map's average contact.
66
+ */
67
+ export type ExpectedValues = {
68
+ kind: 'intra';
69
+ firstDistance: number;
70
+ values: Float64Array;
71
+ } | {
72
+ kind: 'inter';
73
+ average: number;
74
+ };
59
75
  export interface HicMetadata {
60
76
  version: number;
61
77
  genome: string;
@@ -33,33 +33,16 @@ export default class BufferedFile {
33
33
  const sliceStart = start - bufferStart;
34
34
  result = buf.slice(sliceStart, sliceStart + length);
35
35
  }
36
- else if (buf && start < bufferStart && end > bufferStart) {
37
- // Overlap left (unexpected in straw); we don't adjust the buffer
38
- const l1 = bufferStart - start;
39
- const a1 = await this.file.read(position, l1, opts);
40
- const l2 = length - l1;
41
- if (l2 > 0) {
42
- result = concatBuffers(a1, buf.slice(0, l2));
43
- }
44
- else {
45
- result = a1;
46
- }
47
- }
48
- else if (buf && start < bufferEnd && end > bufferEnd) {
49
- // Overlap right
36
+ else if (buf && start >= bufferStart && start < bufferEnd) {
37
+ // Overlap right. The expected-values walk only moves forward, so a
38
+ // request starting before the buffer takes the fresh read below.
50
39
  const l1 = bufferEnd - start;
51
40
  const a1 = buf.slice(this.bufferLength - l1, this.bufferLength);
52
- const l2 = length - l1;
53
- if (l2 > 0) {
54
- const next = await this.file.read(bufferEnd, this.size, opts);
55
- this.buffer = next;
56
- this.bufferStart = bufferEnd;
57
- this.bufferLength = next.byteLength;
58
- result = concatBuffers(a1, next.slice(0, l2));
59
- }
60
- else {
61
- result = a1;
62
- }
41
+ const next = await this.file.read(bufferEnd, this.size, opts);
42
+ this.buffer = next;
43
+ this.bufferStart = bufferEnd;
44
+ this.bufferLength = next.byteLength;
45
+ result = concatBuffers(a1, next.slice(0, length - l1));
63
46
  }
64
47
  else {
65
48
  // No overlap with buffer
@@ -1 +1 @@
1
- {"version":3,"file":"bufferedFile.js","sourceRoot":"","sources":["../src/bufferedFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bufferedFile.js","sourceRoot":"","sources":["../src/bufferedFile.ts"],"names":[],"mappings":"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"}
package/esm/hicFile.d.ts CHANGED
@@ -2,7 +2,7 @@ import Matrix from './matrix.ts';
2
2
  import NormalizationVector from './normalizationVector.ts';
3
3
  import type { ContactRecords } from './contactRecords.ts';
4
4
  import type MatrixZoomData from './matrixZoomData.ts';
5
- import type { BaseOpts, BlockIndexEntry, HicMetadata, HicRegion, ProgressOpts, Reader } from './types.ts';
5
+ import type { BaseOpts, BlockIndexEntry, ExpectedValues, HicMetadata, HicRegion, ProgressOpts, Reader } from './types.ts';
6
6
  import type { GenericFilehandle } from 'generic-filehandle2';
7
7
  /**
8
8
  * Prefix of the error thrown when a region pair has no matrix at the requested
@@ -27,8 +27,7 @@ export interface HicConfig {
27
27
  /**
28
28
  * Ceiling on the decompressed contacts the block cache holds, in bytes.
29
29
  * Defaults to 128 MB. Lower it where the budget is tight and re-reading is
30
- * cheaper than the memory; raising it buys nothing once a fetch's working set
31
- * fits, since the entry cap bounds the cache too.
30
+ * cheaper than the memory.
32
31
  */
33
32
  blockCacheMaxBytes?: number;
34
33
  }
@@ -37,10 +36,11 @@ interface Block {
37
36
  records: ContactRecords;
38
37
  }
39
38
  export declare class HicFile {
40
- private config;
39
+ private nvi;
41
40
  private file;
42
41
  private headerCache;
43
42
  private normVectorIndexCache;
43
+ private expectedSectionCache;
44
44
  private normVectorCache;
45
45
  private matrixCache;
46
46
  private blockCache;
@@ -49,10 +49,10 @@ export declare class HicFile {
49
49
  private version;
50
50
  private genomeId;
51
51
  private footerPosition;
52
+ private expectedValuesPosition;
52
53
  normExpectedValueVectorsPosition: number | undefined;
53
54
  private chromosomes;
54
55
  private chromosomeIndexMap;
55
- private chrAliasTable;
56
56
  private bpResolutions;
57
57
  private masterIndex;
58
58
  private meta;
@@ -63,7 +63,7 @@ export declare class HicFile {
63
63
  private readFooter;
64
64
  getMatrix(chrIdx1: number, chrIdx2: number, opts?: BaseOpts): Promise<Matrix | undefined>;
65
65
  private readMatrix;
66
- getContactRecords(normalization: string, region1: HicRegion, region2: HicRegion, units: string, binsize: number, opts?: ProgressOpts): Promise<{
66
+ getContactRecords(normalization: string, region1: HicRegion, region2: HicRegion, binsize: number, opts?: ProgressOpts): Promise<{
67
67
  records: ContactRecords;
68
68
  appliedNormalization: string;
69
69
  transposed: boolean;
@@ -81,7 +81,7 @@ export declare class HicFile {
81
81
  * of the session, so it is worth one memcpy not to pin an oversized buffer.
82
82
  */
83
83
  private parseBlockRecords;
84
- getNormalizationVector(type: string, chr: string, unit: string, binSize: number, opts?: BaseOpts): Promise<NormalizationVector | undefined>;
84
+ getNormalizationVector(type: string, chr: string, binSize: number, opts?: BaseOpts): Promise<NormalizationVector | undefined>;
85
85
  private readNormalizationVector;
86
86
  getNormVectorIndex(opts?: ProgressOpts): Promise<Record<string, BlockIndexEntry> | undefined>;
87
87
  private getParsedNormVectorIndex;
@@ -89,8 +89,21 @@ export declare class HicFile {
89
89
  getNormalizationOptions(opts?: ProgressOpts): Promise<string[]>;
90
90
  private readNormVectorIndex;
91
91
  private readNormExpectedValuesAndNormVectorIndex;
92
- private skipExpectedValues;
92
+ /**
93
+ * The expected count for a region pair at `binsize`, the denominator of
94
+ * observed/expected, as straw computes it. `normalization` must be the one
95
+ * the pair's records carry (`getContactRecords`' `appliedNormalization`),
96
+ * since each normalization has its own vector. Undefined where the file has
97
+ * no expected value for it: no vector at this binsize, or a version 5 file
98
+ * asked for a normalized one.
99
+ *
100
+ * Within a chromosome the vector is read for only the distances the pair
101
+ * spans. Between chromosomes straw divides by the map's average contact, the
102
+ * raw `sumCounts` over its bins, whatever the normalization.
103
+ */
104
+ getExpectedValues(normalization: string, region1: HicRegion, region2: HicRegion, binsize: number, opts?: ProgressOpts): Promise<ExpectedValues | undefined>;
105
+ private getExpectedSection;
106
+ private walkExpectedSection;
93
107
  private parseNormVectorEntry;
94
- getFileChrName(chrAlias: string): string;
95
108
  }
96
109
  export {};