@gmod/cram 1.7.0 → 1.7.2
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/CHANGELOG.md +8 -0
- package/README.md +19 -240
- package/dist/craiIndex.d.ts +2 -2
- package/dist/cram-bundle.js +1 -1
- package/dist/cramFile/codecs/_base.d.ts +3 -3
- package/dist/cramFile/codecs/byteArrayLength.d.ts +1 -1
- package/dist/cramFile/codecs/dataSeriesTypes.d.ts +3 -3
- package/dist/cramFile/container/compressionScheme.d.ts +2 -2
- package/dist/cramFile/encoding.d.ts +11 -11
- package/dist/cramFile/file.d.ts +4 -4
- package/dist/cramFile/index.d.ts +1 -0
- package/dist/cramFile/index.js +3 -0
- package/dist/cramFile/index.js.map +1 -1
- package/dist/cramFile/record.d.ts +5 -5
- package/dist/cramFile/sectionParsers.d.ts +7 -7
- package/dist/cramFile/slice/decodeRecord.d.ts +1 -1
- package/dist/cramFile/slice/index.d.ts +1 -1
- package/dist/cramFile/util.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/indexedCramFile.d.ts +2 -2
- package/dist/sam.d.ts +1 -1
- package/dist/typescript.d.ts +2 -2
- package/esm/craiIndex.d.ts +2 -2
- package/esm/cramFile/codecs/_base.d.ts +3 -3
- package/esm/cramFile/codecs/byteArrayLength.d.ts +1 -1
- package/esm/cramFile/codecs/dataSeriesTypes.d.ts +3 -3
- package/esm/cramFile/container/compressionScheme.d.ts +2 -2
- package/esm/cramFile/encoding.d.ts +11 -11
- package/esm/cramFile/file.d.ts +4 -4
- package/esm/cramFile/index.d.ts +1 -0
- package/esm/cramFile/index.js +1 -0
- package/esm/cramFile/index.js.map +1 -1
- package/esm/cramFile/record.d.ts +5 -5
- package/esm/cramFile/sectionParsers.d.ts +7 -7
- package/esm/cramFile/slice/decodeRecord.d.ts +1 -1
- package/esm/cramFile/slice/index.d.ts +1 -1
- package/esm/cramFile/util.d.ts +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/indexedCramFile.d.ts +2 -2
- package/esm/sam.d.ts +1 -1
- package/esm/typescript.d.ts +2 -2
- package/package.json +14 -14
- package/src/cramFile/index.ts +1 -0
- package/src/index.ts +2 -2
|
@@ -7,8 +7,8 @@ declare const cramFileDefinition: {
|
|
|
7
7
|
parser: Parser<unknown>;
|
|
8
8
|
maxLength: number;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
11
|
-
export
|
|
10
|
+
export type CramTagDictionary = string[][];
|
|
11
|
+
export type CramPreservationMap = {
|
|
12
12
|
MI: boolean;
|
|
13
13
|
UI: boolean;
|
|
14
14
|
PI: boolean;
|
|
@@ -18,7 +18,7 @@ export declare type CramPreservationMap = {
|
|
|
18
18
|
SM: [number, number, number, number, number];
|
|
19
19
|
TD: CramTagDictionary;
|
|
20
20
|
};
|
|
21
|
-
export
|
|
21
|
+
export type MappedSliceHeader = {
|
|
22
22
|
refSeqId: number;
|
|
23
23
|
refSeqStart: number;
|
|
24
24
|
refSeqSpan: number;
|
|
@@ -30,7 +30,7 @@ export declare type MappedSliceHeader = {
|
|
|
30
30
|
refBaseBlockId: number;
|
|
31
31
|
md5: TupleOf<number, 16>;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
33
|
+
export type UnmappedSliceHeader = {
|
|
34
34
|
numRecords: number;
|
|
35
35
|
recordCounter: number;
|
|
36
36
|
numBlocks: number;
|
|
@@ -39,15 +39,15 @@ export declare type UnmappedSliceHeader = {
|
|
|
39
39
|
md5: TupleOf<number, 16>;
|
|
40
40
|
};
|
|
41
41
|
export declare function isMappedSliceHeader(header: MappedSliceHeader | UnmappedSliceHeader): header is MappedSliceHeader;
|
|
42
|
-
export
|
|
43
|
-
export
|
|
42
|
+
export type CompressionMethod = 'raw' | 'gzip' | 'bzip2' | 'lzma' | 'rans' | 'rans4x16' | 'arith' | 'fqzcomp' | 'tok3';
|
|
43
|
+
export type BlockHeader = {
|
|
44
44
|
compressionMethod: CompressionMethod;
|
|
45
45
|
contentType: 'FILE_HEADER' | 'COMPRESSION_HEADER' | 'MAPPED_SLICE_HEADER' | 'UNMAPPED_SLICE_HEADER' | 'EXTERNAL_DATA' | 'CORE_DATA';
|
|
46
46
|
contentId: number;
|
|
47
47
|
compressedSize: number;
|
|
48
48
|
uncompressedSize: number;
|
|
49
49
|
};
|
|
50
|
-
export
|
|
50
|
+
export type CramCompressionHeader = ParsedItem<{
|
|
51
51
|
preservation: CramPreservationMap;
|
|
52
52
|
dataSeriesEncoding: DataSeriesEncodingMap;
|
|
53
53
|
tagEncoding: Record<string, CramEncoding>;
|
|
@@ -4,7 +4,7 @@ import CramContainerCompressionScheme, { DataSeriesTypes } from '../container/co
|
|
|
4
4
|
import { CramFileBlock } from '../file';
|
|
5
5
|
import { Cursors, DataTypeMapping } from '../codecs/_base';
|
|
6
6
|
import { DataSeriesEncodingKey } from '../codecs/dataSeriesTypes';
|
|
7
|
-
export
|
|
7
|
+
export type DataSeriesDecoder = <T extends DataSeriesEncodingKey>(dataSeriesName: T) => DataTypeMapping[DataSeriesTypes[T]];
|
|
8
8
|
export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSeriesDecoder, compressionScheme: CramContainerCompressionScheme, sliceHeader: SliceHeader, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, majorVersion: number, recordNumber: number): {
|
|
9
9
|
readLength: number;
|
|
10
10
|
sequenceId: number;
|
|
@@ -2,7 +2,7 @@ import CramRecord from '../record';
|
|
|
2
2
|
import CramContainer from '../container';
|
|
3
3
|
import { CramFileBlock } from '../file';
|
|
4
4
|
import { MappedSliceHeader, UnmappedSliceHeader } from '../sectionParsers';
|
|
5
|
-
export
|
|
5
|
+
export type SliceHeader = CramFileBlock & {
|
|
6
6
|
parsedContent: MappedSliceHeader | UnmappedSliceHeader;
|
|
7
7
|
};
|
|
8
8
|
export default class CramSlice {
|
package/esm/cramFile/util.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Parser } from '@gmod/binary-parser';
|
|
3
3
|
export declare function itf8Size(v: number): 1 | 2 | 3 | 4 | 5;
|
|
4
4
|
export declare function parseItf8(buffer: Uint8Array, initialOffset: number): [number, number];
|
|
5
|
-
export
|
|
5
|
+
export type ParsedItem<T> = T & {
|
|
6
6
|
_endPosition: number;
|
|
7
7
|
_size: number;
|
|
8
8
|
};
|
package/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import CramFile from './cramFile';
|
|
1
|
+
import CramFile, { CramRecord } from './cramFile';
|
|
2
2
|
import IndexedCramFile from './indexedCramFile';
|
|
3
3
|
import CraiIndex from './craiIndex';
|
|
4
|
-
export { CramFile, IndexedCramFile, CraiIndex };
|
|
4
|
+
export { CramFile, IndexedCramFile, CraiIndex, CramRecord };
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import CramFile from './cramFile';
|
|
1
|
+
import CramFile, { CramRecord } from './cramFile';
|
|
2
2
|
import IndexedCramFile from './indexedCramFile';
|
|
3
3
|
import CraiIndex from './craiIndex';
|
|
4
|
-
export { CramFile, IndexedCramFile, CraiIndex };
|
|
4
|
+
export { CramFile, IndexedCramFile, CraiIndex, CramRecord };
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,SAAS,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}
|
package/esm/indexedCramFile.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import CramRecord from './cramFile/record';
|
|
|
3
3
|
import { SeqFetch } from './cramFile/file';
|
|
4
4
|
import { Filehandle } from './cramFile/filehandle';
|
|
5
5
|
import { Slice } from './craiIndex';
|
|
6
|
-
export
|
|
6
|
+
export type CramFileSource = {
|
|
7
7
|
cramFilehandle?: Filehandle;
|
|
8
8
|
cramUrl?: string;
|
|
9
9
|
cramPath?: string;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type CramIndexLike = {
|
|
12
12
|
getEntriesForRange: (seqId: number, start: number, end: number) => Promise<Slice[]>;
|
|
13
13
|
hasDataForReferenceSequence: (seqId: number) => Promise<boolean>;
|
|
14
14
|
};
|
package/esm/sam.d.ts
CHANGED
package/esm/typescript.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function ensureNotNullish<T>(x: T | null | undefined): T;
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never;
|
|
3
|
+
export type _TupleOf<T, N extends number, R extends unknown[]> = R['length'] extends N ? R : _TupleOf<T, N, [T, ...R]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gmod/cram",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "read CRAM files with pure Javascript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "GMOD/cram-js",
|
|
@@ -57,29 +57,29 @@
|
|
|
57
57
|
"@babel/plugin-transform-modules-commonjs": "^7.18.2",
|
|
58
58
|
"@babel/preset-typescript": "^7.17.12",
|
|
59
59
|
"@gmod/indexedfasta": "^2.0.2",
|
|
60
|
-
"@types/buffer-crc32": "^0.2.
|
|
61
|
-
"@types/jest": "^
|
|
60
|
+
"@types/buffer-crc32": "^0.2.2",
|
|
61
|
+
"@types/jest": "^29.2.4",
|
|
62
62
|
"@types/long": "^4.0.2",
|
|
63
63
|
"@types/md5": "^2.3.2",
|
|
64
64
|
"@types/pako": "^1.0.3",
|
|
65
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
66
|
-
"@typescript-eslint/parser": "^5.
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
66
|
+
"@typescript-eslint/parser": "^5.46.1",
|
|
67
67
|
"buffer": "^6.0.3",
|
|
68
|
-
"documentation": "^
|
|
69
|
-
"eslint": "^8.
|
|
68
|
+
"documentation": "^14.0.1",
|
|
69
|
+
"eslint": "^8.30.0",
|
|
70
70
|
"eslint-config-prettier": "^8.5.0",
|
|
71
71
|
"eslint-plugin-import": "^2.25.4",
|
|
72
72
|
"eslint-plugin-prettier": "^4.0.0",
|
|
73
73
|
"glob": "^8.0.3",
|
|
74
|
-
"jest": "^
|
|
75
|
-
"mock-fs": "^5.
|
|
76
|
-
"prettier": "^2.
|
|
74
|
+
"jest": "^29.3.1",
|
|
75
|
+
"mock-fs": "^5.2.0",
|
|
76
|
+
"prettier": "^2.8.1",
|
|
77
77
|
"rimraf": "^3.0.2",
|
|
78
|
-
"ts-jest": "^
|
|
79
|
-
"typescript": "^4.
|
|
78
|
+
"ts-jest": "^29.0.3",
|
|
79
|
+
"typescript": "^4.9.4",
|
|
80
80
|
"url": "^0.11.0",
|
|
81
|
-
"webpack": "5.
|
|
82
|
-
"webpack-cli": "^
|
|
81
|
+
"webpack": "5.75.0",
|
|
82
|
+
"webpack-cli": "^5.0.1"
|
|
83
83
|
},
|
|
84
84
|
"publishConfig": {
|
|
85
85
|
"access": "public"
|
package/src/cramFile/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import CramFile from './cramFile'
|
|
1
|
+
import CramFile, { CramRecord } from './cramFile'
|
|
2
2
|
import IndexedCramFile from './indexedCramFile'
|
|
3
3
|
import CraiIndex from './craiIndex'
|
|
4
4
|
|
|
5
|
-
export { CramFile, IndexedCramFile, CraiIndex }
|
|
5
|
+
export { CramFile, IndexedCramFile, CraiIndex, CramRecord }
|